Code: |
attr_accessor |
Sphinx a écrit: |
Tu t'attaques à la gestion des accès aux attributs d'une classe Tu peux trouver 4 règles d'accès : rien : L'attribut n'est pas visible depuis l'extérieur de la classe attr_reader : L'attribut est accessible en lecture seule (il sera impossible de le modifier depuis l'extérieur de la classe) attr_writer : L'attribut est accessible en écriture seule (il sera impossible de le lire depuis l'extérieur de la classe) attr_accessor : L'attribut est accessible en lecture/écriture Enjoy it |
Code: |
$variable=$game_switches[id] #si l'interrupteur est activé la variable le sera si c'est pas le cas la variable ne le sera pas. |
Yuri-岼 a écrit: | ||
J'ai pas trop compris ... Je vais répondre ce que je pense avoir compris :
|
Yuri-岼 a écrit: | ||
|
Sakura31 a écrit: |
bonjour ca serait pour savoir quel est le code à utilisé pour activer une variable à partir d'un interrupteur. |
Code: |
if $game_switches[idi] # si l'interrupeur idi est actif $game_variables[idv] = X #la variable idv aura la valeur X (X etant la valeur voulu) else # sinon $game_variables[idv] = 0 #la variable idv aura la valeur 0 end #fin de si |
Slash a écrit: | ||||
|
Code: |
class Game_Player < Game_Character SPEED_DASH = 5 # ??????????(??????Input: :( ???)) #(????????????????????????) KEY_DASH = Input::A # "_dash"??????????????????????( true:?? / false:??? ) NO_FILE_DASH = true # ??????????????ID # (????????????????????????????ON??????? # ??????????????) NO_DASH_SWITCH = 999 end #============================================================================== # ¦ Game_Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_update update def update # ????????????????????? # ??????????????????????? unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if !($game_switches[NO_DASH_SWITCH]) # ???? if Input.press?(KEY_DASH) if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH) # ?????????????? if @move_speed != SPEED_DASH @move_speed = 5 @dash_on = true $game_player.refresh end end elsif @dash_on == nil or @dash_on #Pour ne pas bugger le mode Vélo, voici des instructions modifiées par Luzert if @move_speed == 5 and @dash_on == nil #Si vous courez mais #que (voir plus haut) la touche de course n'est pas pressée @move_speed = 4 #Alors on remet la vitesse à 4. else #Très important ici! Si la vitesse est 4 sans l'appui de la #touche dash, alors on ne fait rien. L'ancien bug était #qu'en vélo, la vitesse 4 était appliquée sur le vélo! #Maintenant, le bug ne surviendra plus sauf si la touche MAJ #est pressée en vélo, je réflechis à une solution. end @dash_on = nil $game_player.refresh end end end dash_update end #-------------------------------------------------------------------------- # ? ?????????????????? #-------------------------------------------------------------------------- def dash_graphic_exist?(actor) # ??????? begin RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false end return true end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_refresh refresh def refresh dash_refresh # ??????? 0 ?????? if $game_party.actors.size != 0 actor = $game_party.actors[0] # ?????????????????? if @dash_on and dash_graphic_exist?(actor) fileplus = "_dash" else fileplus = "" end @character_name = actor.character_name + fileplus @character_hue = actor.character_hue end end end |
Code: |
if $game_switches[0010] class Game_Player < Game_Character SPEED_DASH = 5 # ??????????(??????Input: :( ???)) #(????????????????????????) KEY_DASH = Input::A # "_dash"??????????????????????( true:?? / false:??? ) NO_FILE_DASH = true # ??????????????ID # (????????????????????????????ON??????? # ??????????????) NO_DASH_SWITCH = 999 end end else $game_switches[0010] = false end #============================================================================== # ¦ Game_Player #============================================================================== if $game_switches[0010] class Game_Player < Game_Character #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_update update def update # ????????????????????? # ??????????????????????? unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if !($game_switches[NO_DASH_SWITCH]) # ???? if Input.press?(KEY_DASH) if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH) # ?????????????? if @move_speed != SPEED_DASH @move_speed = 5 @dash_on = true $game_player.refresh end end elsif @dash_on == nil or @dash_on #Pour ne pas bugger le mode Vélo, voici des instructions modifiées par Luzert if @move_speed == 5 and @dash_on == nil #Si vous courez mais #que (voir plus haut) la touche de course n'est pas pressée @move_speed = 4 #Alors on remet la vitesse à 4. else #Très important ici! Si la vitesse est 4 sans l'appui de la #touche dash, alors on ne fait rien. L'ancien bug était #qu'en vélo, la vitesse 4 était appliquée sur le vélo! #Maintenant, le bug ne surviendra plus sauf si la touche MAJ #est pressée en vélo, je réflechis à une solution. end @dash_on = nil $game_player.refresh end end end dash_update end #-------------------------------------------------------------------------- # ? ?????????????????? #-------------------------------------------------------------------------- def dash_graphic_exist?(actor) # ??????? begin RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false end return true end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_refresh refresh def refresh dash_refresh # ??????? 0 ?????? if $game_party.actors.size != 0 actor = $game_party.actors[0] # ?????????????????? if @dash_on and dash_graphic_exist?(actor) fileplus = "_dash" else fileplus = "" end @character_name = actor.character_name + fileplus @character_hue = actor.character_hue end end end end else $game_switches[0010] = false end |
Code: |
class Game_Player < Game_Character if $game_switches[0010] SPEED_DASH = 5 else SPEED_DASH = 4 end #... la suite du scripte de base |
Slash a écrit: | ||
c'est parfaitement logique tu demande une codition avant de créé ta classe ds ton cas if $game_switches[0010] class Game_Player < Game_Character cela ne pourra jamais marcher par contre essaye un truc comme ca avec ton script de base
si cela ne marche pas , cherche un def update ds cette meme classe et copie les lignes de if a end ds cette definition |
Code: |
class Game_Player < Game_Character if $game_switches[0010] SPEED_DASH = 5 end else SPEED_DASH = 4 end # ??????????(??????Input: :( ???)) #(????????????????????????) KEY_DASH = Input::A # "_dash"??????????????????????( true:?? / false:??? ) NO_FILE_DASH = true # ??????????????ID # (????????????????????????????ON??????? # ??????????????) NO_DASH_SWITCH = 999 end #============================================================================== # ¦ Game_Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_update update def update # ????????????????????? # ??????????????????????? unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if !($game_switches[NO_DASH_SWITCH]) # ???? if Input.press?(KEY_DASH) if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH) # ?????????????? if @move_speed != SPEED_DASH @move_speed = 5 @dash_on = true $game_player.refresh end end elsif @dash_on == nil or @dash_on #Pour ne pas bugger le mode Vélo, voici des instructions modifiées par Luzert if @move_speed == 5 and @dash_on == nil #Si vous courez mais #que (voir plus haut) la touche de course n'est pas pressée @move_speed = 4 #Alors on remet la vitesse à 4. else #Très important ici! Si la vitesse est 4 sans l'appui de la #touche dash, alors on ne fait rien. L'ancien bug était #qu'en vélo, la vitesse 4 était appliquée sur le vélo! #Maintenant, le bug ne surviendra plus sauf si la touche MAJ #est pressée en vélo, je réflechis à une solution. end @dash_on = nil $game_player.refresh end end end dash_update end #-------------------------------------------------------------------------- # ? ?????????????????? #-------------------------------------------------------------------------- def dash_graphic_exist?(actor) # ??????? begin RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false end return true end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_refresh refresh def refresh dash_refresh # ??????? 0 ?????? if $game_party.actors.size != 0 actor = $game_party.actors[0] # ?????????????????? if @dash_on and dash_graphic_exist?(actor) fileplus = "_dash" else fileplus = "" end @character_name = actor.character_name + fileplus @character_hue = actor.character_hue end end end |
Code: |
class Game_Player < Game_Character if $game_switches[0010] SPEED_DASH = 5 else SPEED_DASH = 4 end # ??????????(??????Input: :( ???)) #(????????????????????????) KEY_DASH = Input::A # "_dash"??????????????????????( true:?? / false:??? ) NO_FILE_DASH = true # ??????????????ID # (????????????????????????????ON??????? # ??????????????) NO_DASH_SWITCH = 999 end #============================================================================== # ¦ Game_Player #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_update update def update # ????????????????????? # ??????????????????????? unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if !($game_switches[NO_DASH_SWITCH]) # ???? if Input.press?(KEY_DASH) if (dash_graphic_exist?($game_party.actors[0]) or NO_FILE_DASH) # ?????????????? if @move_speed != SPEED_DASH @move_speed = 5 @dash_on = true $game_player.refresh end end elsif @dash_on == nil or @dash_on #Pour ne pas bugger le mode Vélo, voici des instructions modifiées par Luzert if @move_speed == 5 and @dash_on == nil #Si vous courez mais #que (voir plus haut) la touche de course n'est pas pressée @move_speed = 4 #Alors on remet la vitesse à 4. else #Très important ici! Si la vitesse est 4 sans l'appui de la #touche dash, alors on ne fait rien. L'ancien bug était #qu'en vélo, la vitesse 4 était appliquée sur le vélo! #Maintenant, le bug ne surviendra plus sauf si la touche MAJ #est pressée en vélo, je réflechis à une solution. end @dash_on = nil $game_player.refresh end end end dash_update end #-------------------------------------------------------------------------- # ? ?????????????????? #-------------------------------------------------------------------------- def dash_graphic_exist?(actor) # ??????? begin RPG::Cache.character(actor.character_name.to_s + "_dash", actor.character_hue) rescue return false end return true end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- alias dash_refresh refresh def refresh dash_refresh # ??????? 0 ?????? if $game_party.actors.size != 0 actor = $game_party.actors[0] # ?????????????????? if @dash_on and dash_graphic_exist?(actor) fileplus = "_dash" else fileplus = "" end @character_name = actor.character_name + fileplus @character_hue = actor.character_hue end end end |
Code: |
if bla end else bla end |
Code: |
if var==0 #code elsif var=="j" #code else #si aucune des conditions sont vraie. end |
Code: |
# 1° possibilité : if / end if CONDITION # Sera réalisé si CONDITION vaut true (vrai) end # Rien ne sera fait si CONDITION vaut false (faux) # 2° possibilité : if / else / end if CONDITION # Sera réalisé si CONDITION vaut true (vrai) else # Sera réalisé si CONDITION vaut false (faux) end # 3° possibilité : if / elsif / end if CONDITION1 # Sera réalisé si CONDITION1 vaut true (vrai) elsif CONDITION2 # Sera réalisé si CONDITION2 vaut true (vrai) # Tu peux rajouter autant de elsif que tu veux ^^ Mais faut le faire ici end # Rien ne sera fait si toutes les conditions précédentes valent false (faux) # 4° possibilité : if / elsif / else / end if CONDITION1 # Sera réalisé si CONDITION1 vaut true (vrai) elsif CONDITION2 # Sera réalisé si CONDITION2 vaut true (vrai) # Tu peux rajouter autant de elsif que tu veux ^^ Mais faut le faire ici else # Sera réalisé si toutes les conditions précédentes valent false (faux) end |
Sphinx a écrit: | ||
Tu as plusieurs structures pour les conditions :
|