Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Questions Ruby
Goto page: <  1, 2, 3, 4  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
og_loc-TATOO
Membre


Joined: 11 Oct 2009
Posts: 3,383
Sailor Maniac
Localisation: noitasilacol

PostPosted: Thu 30 Aug - 23:11 (2012)    Post subject: Questions Ruby

Il est les deux pour éviter la jalousie Clin d'œil foireux
Back to top
Publicité






PostPosted: Thu 30 Aug - 23:11 (2012)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Thu 30 Aug - 23:22 (2012)    Post subject: Questions Ruby

$game_player.direction
À toi de voir quelle valeur tu veux.
Back to top
Facebook Twitter
Elric
Membre


Joined: 12 Nov 2010
Posts: 245
Alchimiste d'Etat
Localisation: Amestris

PostPosted: Fri 31 Aug - 00:43 (2012)    Post subject: Questions Ruby

J'ai un problème avec ton code. Le truc, c'est que le dummy s'affiche directement à 283, on ne le voit pas défiler ! Aurais-tu une idée du problème ?
Back to top
Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Fri 31 Aug - 00:47 (2012)    Post subject: Questions Ruby

Envois le code exacte que t'as mis.
Back to top
Facebook Twitter
Elric
Membre


Joined: 12 Nov 2010
Posts: 245
Alchimiste d'Etat
Localisation: Amestris

PostPosted: Fri 31 Aug - 00:53 (2012)    Post subject: Questions Ruby

J'ai mis exactement le même que le tien, mais voilà :

Code:

#==============================================================================
# ■ Window_Message
# Pokemon Script Project - Krosk
# 18/07/07
#-----------------------------------------------------------------------------
# Scène à ne pas modifier de préférence
#-----------------------------------------------------------------------------
#
#-----------------------------------------------------------------------------

class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  #
  #--------------------------------------------------------------------------
  def initialize
    # Redéfinition taille du cadre
    super(21, 342, 597, 126)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.z = 9998
    self.opacity = 0
    @dummy = Sprite.new
    @dummy.bitmap = RPG::Cache.picture(POKEMON_S::MSG)
    @dummy.visible = false
    @dummy.z = 9997
    @fade_in = false
    @fade_out = false
    @contents_showing = false
    @cursor_width = 0
    @speed_defilement = POKEMON_S::SPEED_MSG
    self.active = false
    self.index = -1
  end
  #--------------------------------------------------------------------------
  #
  #--------------------------------------------------------------------------
  def reset_window
    # Redéfinition
    if $game_temp.in_battle
      self.y = 342
      @dummy.y = 336
    else
      case $game_system.message_position
      when 0  # 上
        self.y = 6
        @dummy.y = 0
      when 1  # 中
        self.y = 166
        @dummy.y = 160
      when 2  # Redéfinition position du cadre inférieur
        self.y = 342
        @dummy.y = 336
        336.step(283,-1) do |i| 
          @dummy.y=i #A remplacer par la bonne variable 
          Graphics.update 
        end
      when 3
        self.y = $position + 6
        @dummy.y = $position
        $game_system.message_position = 2
      end
    end
    case $game_system.message_frame
    when 0
      #self.opacity = 255
      @dummy.opacity = 255
    when 1
      #self.opacity = 0
      @dummy.opacity = 0
    when 2
      #self.opacity = $opacite
      @dummy.opacity = $opacite
      $game_system.message_frame = 0
    else
      #self.opacity = 0
      @dummy.opacity = 0
    end
    self.back_opacity = 255
  end
  #--------------------------------------------------------------------------
  #
  #-------------------------------------------------------------------------- 
  def update
    super
    # フェードインの場合
    if @fade_in
      self.contents_opacity += 24
      if @input_number_window != nil
        @input_number_window.contents_opacity += 24
      end
      if self.contents_opacity == 255
        @fade_in = false
        if @speed_defilement != 0
          refresh
        end
      end
      return
    end
    # 数値入力中の場合
    if @input_number_window != nil
      @input_number_window.update
      # 決定
      if Input.trigger?(Input::C)
        $game_system.se_play($data_system.decision_se)
        $game_variables[$game_temp.num_input_variable_id] = @input_number_window.number
        $game_map.need_refresh = true
        # 数値入力ウィンドウを解放
        @input_number_window.dispose
        @input_number_window = nil
        $nb_min = nil
        $nb_max = nil
        terminate_message
      end
      return
    end
    # メッセージ表示中の場合
    if @contents_showing
      # 選択肢の表示中でなければポーズサインを表示
      if $game_temp.choice_max == 0
        self.pause = true
      end
      # キャンセル
      if Input.trigger?(Input::B)
        if $game_temp.choice_max > 0 and $game_temp.choice_cancel_type > 0
          $game_system.se_play($data_system.cancel_se)
          $game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
          terminate_message
        end
      end
      # 決定
      if Input.trigger?(Input::C)
        if $game_temp.choice_max > 0
          $game_system.se_play($data_system.decision_se)
          $game_temp.choice_proc.call(self.index)
        end
        terminate_message
      end
      return
    end
    # フェードアウト中以外で表示待ちのメッセージか選択肢がある場合
    if @fade_out == false and $game_temp.message_text != nil
      @contents_showing = true
      $game_temp.message_window_showing = true
      reset_window
      if @speed_defilement == 0
        refresh
      end
      self.visible = true
      @dummy.visible = true
      Graphics.frame_reset
      self.contents_opacity = 0
      if @input_number_window != nil
        @input_number_window.contents_opacity = 0
      end
      @fade_in = true
      return
    end
    # 表示すべきメッセージがないが、ウィンドウが可視状態の場合
    if self.visible
      @fade_out = true
      @dummy.opacity = 0
      #self.opacity -= 48
      if @dummy.opacity == 0 #self.opacity == 0
        self.visible = false
        @dummy.visible = false
        @fade_out = false
        $game_temp.message_window_showing = false
      end
      return
    end
  end
  #--------------------------------------------------------------------------
  #
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    text_count = 0
    x = y = 0
    push = false
    @cursor_width = 0
    # 選択肢なら字下げを行う
    if $game_temp.choice_start == 0
      x = 8
    end
    # 表示待ちのメッセージがある場合
    if $game_temp.message_text != nil
      text = $game_temp.message_text
      # 制御文字処理
      begin
        last_text = text.clone
        text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
        # MODIF
        text.gsub!(/\\[Pp]\[([0-9]+)\]/) { $string[$1.to_i] }
      end until text == last_text
      text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
      end
      # 便宜上、"\\\\" を "\000" に変換
      text.gsub!(/\\\\/) { "\000" }
      # "\\C" を "\001" に、"\\G" を "\002" に変換
      text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
      text.gsub!(/\\[Gg]/) { "\002" }
      # c に 1 文字を取得 (文字が取得できなくなるまでループ)
      while ((c = text.slice!(/./m)) != nil)
        # \\ の場合
        if c == "\000"
          # 本来の文字に戻す
          c = "\\"
        end
        # \C[n] の場合
        if c == "\001"
          # 文字色を変更
          text.sub!(/\[([0-9]+)\]/, "")
          color = $1.to_i
          if color >= 0 and color <= 7
            self.contents.font.color = text_color(color)
          end
          # 次の文字へ
          next
        end
        # \G の場合
        if c == "\002"
          # ゴールドウィンドウを作成
          if @gold_window == nil
            @gold_window = Window_Gold.new
            @gold_window.x = 560 - @gold_window.width
            if $game_temp.in_battle
              @gold_window.y = 192
            else
              @gold_window.y = self.y >= 128 ? 32 : 384
            end
            @gold_window.opacity = 255
            @gold_window.back_opacity = 255
          end
          # 次の文字へ
          next
        end
        # 改行文字の場合
        if c == "\n"
          # 選択肢ならカーソルの幅を更新
          if y >= $game_temp.choice_start
            @cursor_width = [@cursor_width, x].max
          end
          # y に 1 を加算
          y += 1
          x = 0
          # 選択肢なら字下げを行う
          if y >= $game_temp.choice_start
            x = 8
          end
          # 次の文字へ
          next
        end
        # 文字を描画
        self.contents.draw_text(4 + x, 32 * y, 40, 32, c)
        text_count += 1
        Input.update
        if Input.trigger?(Input::C)
          push = true
        end
        if text_count == @speed_defilement and @speed_defilement != 0 and push == false
          Graphics.update
          #$game_map.update
          $scene.update#spriteset.update
          text_count = 0
        end
        # x に描画した文字の幅を加算
        x += self.contents.text_size(c).width
      end
    end
    # 選択肢の場合
    if $game_temp.choice_max > 0
      @item_max = $game_temp.choice_max
      self.active = true
      self.index = 0
    end
    # 数値入力の場合
    if $game_temp.num_input_variable_id > 0
      @input_number_window = Window_InputNumber.new($game_temp.num_input_digits_max)
      @input_number_window.x = self.x + 8
      @input_number_window.y = self.y + $game_temp.num_input_start * 32
    end
  end
  #--------------------------------------------------------------------------
  #
  #-------------------------------------------------------------------------- 
  def update_cursor_rect
    if @index >= 0
      n = $game_temp.choice_start + @index
      self.cursor_rect.set(0, n * 32, 32, 32)
    else
      self.cursor_rect.empty
    end
  end
end

class Interpreter
  def setup_choices(parameters)
    # Redéfinition
    # choice_max に選択肢の項目数を設定
    $game_temp.choice_max = parameters[0].size
    # message_text に選択肢を設定
    for text in parameters[0]
      # Espaces supplémentaires
      $game_temp.message_text += "  " + text + "\n"
    end
    # キャンセルの場合の処理を設定
    $game_temp.choice_cancel_type = parameters[1]
    # コールバックを設定
    current_indent = @list[@index].indent
    $game_temp.choice_proc = Proc.new { |n| @branch[current_indent] = n }
  end
end

Back to top
Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
The_Doctor
Membre


Joined: 08 Jul 2012
Posts: 261
Tueur de 2e zone
Localisation: quelque part dans l'univers

PostPosted: Fri 31 Aug - 08:37 (2012)    Post subject: Questions Ruby

Bon j'ai 2 autres requête a te faire Nyuky les voici :

-1 comment mettre le nom du premier pokemon de l’équipe en script ( je sais comment faire dans les message d'event mais je suis pas sur que c'est pareil )
-2 comment mettre en condition l'appui d'une touche ( du style " si le héros appui sur "C" ça fait telle ou telle truc " )

voila j’espère que c'est pas trop

merci d'avance

EDIT pas très visible : Quelle partit de

Code:
name=String.new 
 
name<<$pokemon_party.actors[0].name if $pokemon_party.size>0


jne doit modifier par name que je souhaite ( je n'ait pas trop comprit ta phrase )


Last edited by The_Doctor on Fri 31 Aug - 09:44 (2012); edited 1 time in total
Back to top
Elric
Membre


Joined: 12 Nov 2010
Posts: 245
Alchimiste d'Etat
Localisation: Amestris

PostPosted: Fri 31 Aug - 16:52 (2012)    Post subject: Questions Ruby

Merci Nyuki, ça marche parfaitement bien.

EDIT : J'aurais une autre question :

Comment on fait, en script, pour dire : si l'objet "Potion" est possédé ?
Back to top
Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
The_Doctor
Membre


Joined: 08 Jul 2012
Posts: 261
Tueur de 2e zone
Localisation: quelque part dans l'univers

PostPosted: Fri 31 Aug - 16:59 (2012)    Post subject: Questions Ruby

Ah moi je sais Imbécile heureux

Code:
$pokemon_party.item_got(id)



et tu remplace par l'id de l'objet ici ce sera :

Code:
$pokemon_party.item_got(13)


Je n'en suis pas sur mais je le suis presque

PS J'ai trouvé le code sur ce sujet : http://pokemonscriptproject.xooit.fr/t3687-Script-Liste-de-commandes-utiles…
Back to top
Xyrram
Membre


Joined: 24 Jun 2012
Posts: 464
Dresseur confirmé
Localisation: A Unys
Masculin

PostPosted: Fri 31 Aug - 17:30 (2012)    Post subject: Questions Ruby

J'ai fait comme me l'a dit yuki pour les condition et sa a donner sa:
Code:

if Input.trigger?(Input::C)
  case $pokemon_party.actors[id].loyalty # Où id est l'id du Pokémon
 when  >=70
   draw_text_contour(189, 293, 50, 25, "Moyen", 0)
  when  >=120
   draw_text_contour(189, 293, 50, 25, "Bon", 0)
    when  >=160
      draw_text_contour(189, 293, 50, 25, "Tres bon", 0)
      when >=180
        draw_text_contour(189, 293, 50, 25, "Exelent", 0)
        when  >=250
         draw_text_contour(189, 293, 50, 25, "Symbiose", 0)
       end
     end

Mais il y a une erruere de syntaxe avant when
Que dois-je faire?
Back to top
The_Doctor
Membre


Joined: 08 Jul 2012
Posts: 261
Tueur de 2e zone
Localisation: quelque part dans l'univers

PostPosted: Fri 31 Aug - 17:54 (2012)    Post subject: Questions Ruby

J'ai légèrement modifier le script ca ne met plus d'erreur de syntax mais ca marche pas si j'appuis sur C ca ne fait rien

Code:
#-----------------------------------------------------------------------------
# ● Bonheur
# Le bonheur est comme dans HG/SS
# Partie modifiable a loisir
#-----------------------------------------------------------------------------
if Input.trigger?(Input::C)
  case $pokemon_party.actors[0].loyalty
  when 0..70
     draw_text_contour(189, 293, 50, 25, "Il ne vous aime pas trop", 0) 
  when 71..120 
     draw_text_contour(189, 293, 50, 25, "Il vous aime un peu mais se méfie", 0) 
  when 121..160 
     draw_text_contour(189, 293, 50, 25, "Il vous aime beaucoup", 0) 
  when 161..180 
     draw_text_contour(189, 293, 50, 25, "Il chante et dance un peu", 0) 
  when 181..255 
     draw_text_contour(189, 293, 50, 25, "Il est super heureux avec vous", 0) 
  end 
end



J'ai aussi modifier les parole pour mon projet mais on peut les modifier
Back to top
Xyrram
Membre


Joined: 24 Jun 2012
Posts: 464
Dresseur confirmé
Localisation: A Unys
Masculin

PostPosted: Fri 31 Aug - 18:04 (2012)    Post subject: Questions Ruby

He bien il faudrait que tu fasse >=70 je pense
Back to top
The_Doctor
Membre


Joined: 08 Jul 2012
Posts: 261
Tueur de 2e zone
Localisation: quelque part dans l'univers

PostPosted: Fri 31 Aug - 18:07 (2012)    Post subject: Questions Ruby

Non mais j'ai essayer ca et ca marche pas il faut le truc des 2 petit points

Sinon j'ai une question : où es-ce que tu le met le script pour le bonheur moi je l'ai mit a la fin du script follow me de Brendan
Back to top
Xyrram
Membre


Joined: 24 Jun 2012
Posts: 464
Dresseur confirmé
Localisation: A Unys
Masculin

PostPosted: Fri 31 Aug - 18:11 (2012)    Post subject: Questions Ruby

Moi aussi^^ mais je ne pense pas que se soit ça
Back to top
Elric
Membre


Joined: 12 Nov 2010
Posts: 245
Alchimiste d'Etat
Localisation: Amestris

PostPosted: Fri 31 Aug - 18:45 (2012)    Post subject: Questions Ruby

Merci dab777, ça devrait marcher compte tenu de ta source !
Back to top
Skype Facebook Twitter Yahoo Messenger ICQ AIM GTalk/Jabber
The_Doctor
Membre


Joined: 08 Jul 2012
Posts: 261
Tueur de 2e zone
Localisation: quelque part dans l'univers

PostPosted: Fri 31 Aug - 18:54 (2012)    Post subject: Questions Ruby

logique c'est Nyuky la source mais sinon quelqu'un pourrait nous aidé ou bien je fait un autre sujet pour arréter un peu de HS
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts All times are GMT + 1 Hour
Goto page: <  1, 2, 3, 4  >
Page 2 of 4

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)