Tuto n°2 : petites astuces de programmation sous RM + Vocabulaire
2 participants
Page 1 sur 1
Tuto n°2 : petites astuces de programmation sous RM + Vocabulaire
L'éditeur sous RM est super, il met en couleur les différents types...etc
Mais il n'a pas que ça comme fonctionnalités! Il dispose d'un moteur de recherche, accessible en faisant ctrl + f.
Utile lorsque vous souhaitez faire des modifications dans 1000 lignes de code sans aération et sans indentation.
En parlant d'indentation Oo c'est quoi s'te chose?!
Et bien, l'indentation, c'est le fait de laisser un alinéa afin de structurer son code.
si je vous met
Je rigole à l'idée de la manière dont on regarderait combien de end il faut mettre...
En revanche:
Ca c'est déjà un peu plus joli!
Ensuite, dans mon premier tuto, je parlais de l'incrémentation et de la décrémentation... Oulah... c'est quoi ces noms barbares?!
Rassurer vous, ça veut juste dire augmenter/diminuer.
Pour par exemple augmenter une variable de 1, on devrais faire:
$mavariable = $mavariable + 1
Un peu chiant quand même de réécrire $mavariable une deuxième fois... Surtout imaginez un nom de variable:
$anticonstitutionnellementestlemotlepluslongdelalanguefrançaise = ... Faut être con mais bon, ça revient au même que d'écrire plusieurs fois $mavariable.
C'est pourquoi il y a l'incrémentation syntaxique: $mavariable += 1 signifie que l'on va augmenter $mavariable de 1
$mavariable+=21002 ...etc
Idem pour $mavariable -= 1, sauf qu'on décrémente cette fois-ci, donc on diminue sa valeur...
Voici maintenant quelques commandes pour compléter le tuto précédent:
Pour afficher une image rm en jeu: (le code est exprès sur deux lignes car la ligne ne rentre pas sur 1 seule ligne dans RM)
Pourquoi passer par ça alors qu'on a la commande RM qui le fais direct en event? Car tout simplement on ne peut pas afficher d'image en fonction d'une valeur d'une variable simplement. Imaginez une variable qui prend une valeur aléatoire de 0 à 9. Vous devez afficher une image différente par valeur... Vous allez faire 10 conditions? Non! Il suffit simplement d'utiliser la commande ci-dessous,tout en mettant à la place du nom (on supprimes les guillemets car cette fois ce n'est pas du texte!) $game_variables[X].to_s (ne pas oublier la conversion en type string)
Une seule commande pour éviter 10 conditions,et 10 réglages... Moi je dis: j'aime!
Vous souhaitez enregistrer le nom de l'apparence sur la mappe du héros (pour les systèmes de multi-apparence généralement), ou votre héros doit changer de temps à autre de charsets comme lorsqu'il va faire trempette ou autre?
Pas de soucis! Insérez ceci avant de changer le charsets du héros:
Déjà, voici la commande pour enregistrer le nom d'un event en variable:
déplacer modifier un événement: cet événement: insérer un script:
Hop, vous avez le nom de l'event!
Pour changer le nom de l'event, il suffit:
déplacer modifier un événement: cet événement: insérer un script:
Une fois que vous parlez à un personnage par exemple et qu'il vous donne un bonus, vous changez l'apparence de l'event, vous changez son nom, et vous mettez une condition: si : le script :
Sinon:
"Je n'ai plus rien à te dire!"
fin
Hum, de quoi économiser pas mal d'interrupteurs!
Bon bah voilà je m'arrête un petit peu là ^^ je re-poste un tuto quand je peu. Je pense que j'éditerais ce post car je
sens que j'ai oublié de parler de pas mal de choses... --'
Enfin bon, sur ce, bon making!
Mais il n'a pas que ça comme fonctionnalités! Il dispose d'un moteur de recherche, accessible en faisant ctrl + f.
Utile lorsque vous souhaitez faire des modifications dans 1000 lignes de code sans aération et sans indentation.
En parlant d'indentation Oo c'est quoi s'te chose?!
Et bien, l'indentation, c'est le fait de laisser un alinéa afin de structurer son code.
si je vous met
- Spoiler:
- Code:
if tesouro != nil
@chancealeadrop = rand(100)
@chancedrop = 0
for i in 0..(tesouro.size - 1)
if treasure == nil
item_2treasure = tesouro[i]
treasure_type = item_2treasure[0]
treasure_id = item_2treasure[1]
treasure_prob = item_2treasure[2]
treasure_pp = item_2treasure[3]
@chancedrop += treasure_prob
if @chancealeadrop < @chancedrop
if $game_variables[60] >= treasure_pp
if treasure_type == 0
treasure = $data_items[treasure_id]
end
if treasure_type == 1
treasure = $data_weapons[treasure_id]
end
if treasure_type == 2
treasure = $data_armors[treasure_id]
end
end
end
end
end
end
Je rigole à l'idée de la manière dont on regarderait combien de end il faut mettre...
En revanche:
- Spoiler:
- Code:
tesouro = XAS_BA_ENEMY::ENEMY_MULTI_TREASURE[enemy.id]
if tesouro != nil
@chancealeadrop = rand(100)
@chancedrop = 0
for i in 0..(tesouro.size - 1)
if treasure == nil
item_2treasure = tesouro[i]
treasure_type = item_2treasure[0]
treasure_id = item_2treasure[1]
treasure_prob = item_2treasure[2]
treasure_pp = item_2treasure[3]
@chancedrop += treasure_prob
if @chancealeadrop < @chancedrop
if $game_variables[60] >= treasure_pp
if treasure_type == 0
treasure = $data_items[treasure_id]
end
if treasure_type == 1
treasure = $data_weapons[treasure_id]
end
if treasure_type == 2
treasure = $data_armors[treasure_id]
end
end # de la pp
end
end # de la condition
end # du for
end # du if
Ca c'est déjà un peu plus joli!
Ensuite, dans mon premier tuto, je parlais de l'incrémentation et de la décrémentation... Oulah... c'est quoi ces noms barbares?!
Rassurer vous, ça veut juste dire augmenter/diminuer.
Pour par exemple augmenter une variable de 1, on devrais faire:
$mavariable = $mavariable + 1
Un peu chiant quand même de réécrire $mavariable une deuxième fois... Surtout imaginez un nom de variable:
$anticonstitutionnellementestlemotlepluslongdelalanguefrançaise = ... Faut être con mais bon, ça revient au même que d'écrire plusieurs fois $mavariable.
C'est pourquoi il y a l'incrémentation syntaxique: $mavariable += 1 signifie que l'on va augmenter $mavariable de 1
$mavariable+=21002 ...etc
Idem pour $mavariable -= 1, sauf qu'on décrémente cette fois-ci, donc on diminue sa valeur...
Voici maintenant quelques commandes pour compléter le tuto précédent:
Pour afficher une image rm en jeu: (le code est exprès sur deux lignes car la ligne ne rentre pas sur 1 seule ligne dans RM)
- Code:
$game_screen.pictures[A
].show("B", C, D, E,F, G, H, I)
Pourquoi passer par ça alors qu'on a la commande RM qui le fais direct en event? Car tout simplement on ne peut pas afficher d'image en fonction d'une valeur d'une variable simplement. Imaginez une variable qui prend une valeur aléatoire de 0 à 9. Vous devez afficher une image différente par valeur... Vous allez faire 10 conditions? Non! Il suffit simplement d'utiliser la commande ci-dessous,tout en mettant à la place du nom (on supprimes les guillemets car cette fois ce n'est pas du texte!) $game_variables[X].to_s (ne pas oublier la conversion en type string)
Une seule commande pour éviter 10 conditions,et 10 réglages... Moi je dis: j'aime!
Vous souhaitez enregistrer le nom de l'apparence sur la mappe du héros (pour les systèmes de multi-apparence généralement), ou votre héros doit changer de temps à autre de charsets comme lorsqu'il va faire trempette ou autre?
Pas de soucis! Insérez ceci avant de changer le charsets du héros:
- Code:
$game_variables[X
] = $game_player.character_name
- Code:
@character_name = $game_variables[X]
Déjà, voici la commande pour enregistrer le nom d'un event en variable:
déplacer modifier un événement: cet événement: insérer un script:
- Code:
i = @id
- Code:
$game_variables[X] = $game_map.map.events[i].name
Hop, vous avez le nom de l'event!
Pour changer le nom de l'event, il suffit:
déplacer modifier un événement: cet événement: insérer un script:
- Code:
i = @id
- Code:
"$game_map.map.events[i].name = "nouveaunom"
Une fois que vous parlez à un personnage par exemple et qu'il vous donne un bonus, vous changez l'apparence de l'event, vous changez son nom, et vous mettez une condition: si : le script :
- Code:
$game_map.map.events[A].name == "premiernom"
Sinon:
"Je n'ai plus rien à te dire!"
fin
Hum, de quoi économiser pas mal d'interrupteurs!
Bon bah voilà je m'arrête un petit peu là ^^ je re-poste un tuto quand je peu. Je pense que j'éditerais ce post car je
sens que j'ai oublié de parler de pas mal de choses... --'
Enfin bon, sur ce, bon making!
Larcange- Soldat Lv.27
- Messages : 796
Age : 32
Fiche
Palmarès:
Spécialité: Scripteur/Event Maker
Avertissements: Aucun
Re: Tuto n°2 : petites astuces de programmation sous RM + Vocabulaire
- Code:
$game_variables[X] = $game_map.map.events[i].name
$game_map.map.events[i].name = "nouveaunom"
C'est sympa de faire ces tutos. Je n'ai vraiment lu que la seconde moitié de celui là, mais j'ai survolé le reste et ça a l'air bien fait et bien expliqué.
Kaila- Membre-qui-reste Lv.8
- Messages : 66
Fiche
Palmarès: Aucun
Spécialité:
Avertissements: Aucun
Re: Tuto n°2 : petites astuces de programmation sous RM + Vocabulaire
Ah oui tiens merci Kaila j'avais zaapé!
Larcange- Soldat Lv.27
- Messages : 796
Age : 32
Fiche
Palmarès:
Spécialité: Scripteur/Event Maker
Avertissements: Aucun
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|