Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
320 connectés actuellement
30732122 visiteurs depuis l'ouverture
2100 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
esoterique -
posté le 25/12/2012 à 07:32:03 (20 messages postés)
| | Domaine concerné: évènement-script
Logiciel utilisé: RPG Maker VX ACE
Bonjour, je me demandais s'il y avait un moyen de faire cela
Bien évidemment c'est un exemple qui ne veut pas dire grand chose :
(
Variable compteur = 1
Début boucle
Si l'interrupteur numéro compteur est activé (donc l'interrupteur numéro 1 pour le premier tour)
Fin boucle
Sinon
Compteur += 1
Début boucle
)
En gros dans condition lorsqu'on sélectionne un interrupteur ou une variable (ou même pour leur modification) je voudrais remplacer numéro 0001, 0002 par compteur (une variable quoi), histoire de ne pas devoir les énumérer un(e) par un(e). Peut-être est-ce plus simple à faire en script ? Dans ce cas là vers ou dois-je me rediriger ? Merci.
|
esoterique -
posté le 25/12/2012 à 09:30:20 (20 messages postés)
| | Hum, quand par exemple tu cliques sur condition, tu peux choisir la variable ou l'interrupteur sur lequel tu vas fonder ta condition, lorsque tu choisis celui-ci tu es obligé de prendre l'interrupteur num 001, 002, 003... Moi ce que je voudrais c'est prendre l'interrupteur num (une certaine variable) c'est à dire si cette certaine variable vaut 1, la condition sera basé sur l'interrupteur 1, si elle vaut 2 sur l'interrupteur 2 etc.
|
Estheone -
posté le 25/12/2012 à 11:06:42 (312 messages postés)
| | il te faut faire une condition appel de script (le dernier type de condition) et tu mets :
1
| $game_switches[$game_variables[x]] == true |
en remplaçant x par le numéro de ta variable compteur.
Attention aux boucles infinies tout de même car dans ton exemple plus haut ça sort jamais de la boucle si tous les interrupteurs sont false.
|
Wandering Souls : Jeu complet / Topic sur Oniro |
esoterique -
posté le 25/12/2012 à 11:53:01 (20 messages postés)
| | Ah merci ! Une fois que sur les 100 choix ça a trouvé le 36ème par exemple j'aimerai avoir l'objet avec le même id (donc la même chose objet num (variable (donc 36)) ou encore ajouter un membre en fonction de l'id stocké dans une variable, ou même afficher un message qui m'affiche le nom d'un héro l'id étant désigné encore une fois en fonction d'une variable.
Y a t'il un recensement des commandes simples comme celle-ci ? Que je puisse le faire seul. A vrai dire ça fait pas mal de temps que je cherche donc merci encore, je me doutais que ce n'était pas si dur.
|
Estheone -
posté le 25/12/2012 à 13:54:55 (312 messages postés)
| | Je ne suis pas sûr que tu puisses trouver un recensement, en tout cas voilà les commandes en question.
Gain de 1 item dont l'id est contenue dans la variable x :
1
| $game_party.gain_item($data_items[$game_variables[x]], 1) |
Ajout d'un membre dont l'id est contenue dans la variable x :
1
| $game_party.add_actor($game_variables[x]) |
Pour l'affichage du nom d'un héros selon une variable x c'est plus chiant.
Tu rends une variable y égale au contenu de ce script :
1
| $game_actors[$game_variables[x]].name |
et tu affiches ta variable y dans le message en utilisant
dans le message.
En remplaçant x et y à chaque fois bien entendu. ^^
|
Wandering Souls : Jeu complet / Topic sur Oniro |
esoterique -
posté le 25/12/2012 à 18:16:44 (20 messages postés)
| | Merci tout marche bien. Ah et s'il te plait pour finir pourrais-tu me dire comment faire pour..
Conditions :
-Si héro num (variable) est dans l'équipe
-Si le niveau du protagoniste est plus élevé que celui de x (personnage étant crée, mais ne se trouvant pas dans l'équipe)
-Si skill num (variable) est possédé
-Ajouter un sort par id
-Oublier un sort par id
Et lors d'un combat :
-Récupérer l'ID du monstre qui a été ciblé
Voilà, désolé si ça fait beaucoup !
|
Estheone -
posté le 26/12/2012 à 03:48:35 (312 messages postés)
| | Ouais ça commence à faire beaucoup, surtout que je connais pas trop les scripts d'origine VX Ace et que les trucs que tu demandes sont pas tous simples.
Citation: -Si héro num (variable) est dans l'équipe |
En appel de script :
1
2
3
| actor = $game_actors[$game_variables[x]]
$game_variables[y] =
$game_party.members.include?(actor) |
Puis tu vérifies si la variable y est égale a true.
Note qu'il te suffit de remplacer members par battle_members pour savoir si le héros en question se trouve dans les 4 membres qui combattent.
Citation: -Si le niveau du protagoniste est plus élevé que celui de x (personnage étant crée, mais ne se trouvant pas dans l'équipe) |
Par protagoniste tu veux dire le leader de l'équipe ?
En appel de script :
1
2
3
| actor1 = $game_party.leader
actor2 = $game_actors[$game_variables[x]]
$game_variables[y] = (actor1.level>actor2.level) |
Puis tu vérifies si la variable y est égale a true.
Remplace $game_party.leader par $game_actors[$game_variables[z]] si tu veux faire la comparaison entre deux persos dont tu connais les id.
Citation: -Si skill num (variable) est possédé |
En appel de script :
1
2
| actor = $game_actors[$game_variables[x]]
$game_variables[z] = actor.skill_learn?($game_variables[y]) |
Puis tu vérifies si la variable z est égale a true.
Citation: -Ajouter un sort par id
-Oublier un sort par id |
En appel de script :
1
2
| actor = $game_variables[x]
actor.learn_skill($game_variables[y]) |
1
2
| actor = $game_variables[x]
actor.forget_skill($game_variables[y]) |
Citation: -Récupérer l'ID du monstre qui a été ciblé |
Ajoute cette fonction dans le Window_BattleEnemy :
1
2
3
4
5
6
| def select(index)
if index
self.index = index
$game_variables[x] = $game_troop.alive_members[index].enemy_id
end
end |
La prochaine info je te la fais payer.
|
Wandering Souls : Jeu complet / Topic sur Oniro |
arttroy -
posté le 26/12/2012 à 11:24:25 (2394 messages postés)
| Just working | l'explication qui calme... je suis toujours impressionné par la précision des infos que tu donnes... Il y a certains points qui vont me servir pour mon propre projet comme l'ID de l'ennemi ciblé par exemple...
Et heureusement que tu ne connais pas les scripts de base de Ace, qu'est ce que ce serait si c'était le cas...
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
esoterique -
posté le 26/12/2012 à 16:23:50 (20 messages postés)
| | J'avoue, je commençais limite à abuser de ta patience là !
Bah merci pour tout, et enfaîte, comment as-tu appris ces commandes, elles étaient plus accessibles sur les autres rpg maker c'est ça ? (Compte tenu mon avardice, on va dire que cette question n'est pas considéré comme une demande d'info !)
|
Estheone -
posté le 26/12/2012 à 16:55:44 (312 messages postés)
| | J'ai 8 ans d'expérience et 5 projets abandonnés à mon actif. A force d'expérimenter on est forcément à l'aise avec les possibilités de RPG Maker.
|
Wandering Souls : Jeu complet / Topic sur Oniro |
arttroy -
posté le 26/12/2012 à 21:37:25 (2394 messages postés)
| Just working | Non en vérité il y a des principes de base qui s'appliquent à toutes les versions de RM, tout ça c'est du script et en gros si tu es comme moi et que tu n'as aucune notion de programmation ben tu risque de galérer un peu à comprendre au début... Mais au final c'est comme les events c'est en faisant qu'on apprend à faire (pour ne pas citer le proverbe que chacun connait).
Sinon en te baladant un peu sur le net, tu trouveras facilement de quoi satisfaire ta curiosité, il y a pas mal de tutos sur youtube par exemple, les autres forum de making sont aussi une excellente source pour apprendre.
Pour le reste et pour le coup, c'est toi qui va devoir t'armer de patience si tu veux un jour caresser l'espoir d'être aussi doué que certain ici (ben non Esthéone n'est pas le seul, il y en a quelques autres très efficaces eux aussi).
Citation: J'ai 8 ans d'expérience et 5 projets abandonnés à mon actif |
Oui mais quand on voit la qualité de ce que tu sors maintenant ça ne peut que me motiver en ce qui me concerne ce genre de propos !!
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
esoterique -
posté le 27/12/2012 à 08:36:52 (20 messages postés)
| | D'accord ! Puis oui c'est sûr que c'est mieux d'avoir déjà une notion en programmation, vu qu'auparavant j'avais déjà étudié Java, je connaissais déjà à peu près le fonctionnement.
|
arttroy -
posté le 27/12/2012 à 12:09:47 (2394 messages postés)
| Just working | Ben tu devrais galérer un peu moins que moi alors... Il me semble avoir déjà lu que ça s'apparentait plus à du C ou du C++ (des trucs que je ne connais que de nom en fait...) mais tu dois déjà avoir des bases donc des automatismes que moi je n'ai toujours pas acquis. En général je n'avance dans mon projet que grâce à des gens comme Esthéone, Mack, Zeus, Cantarelle, Zou... qui m'expliquent au fur et à mesure ce que je n'arrive pas à comprendre seul.
Je galère mais petit à petit je commence à saisir un peu mieux le fonctionnement de tout ça et concrètement ça commence à se voir sur mon projet et je trouve cela vraiment gratifiant donc je m'accroche.
Et encore là on ne parle que de la partie script, en fouillant sur Oniro tu te rendras compte qu'il y a des gens compétents à n'importe quel niveau du making que ce soit (graphisme, musique, bd...).
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
esoterique -
posté le 29/12/2012 à 15:48:44 (20 messages postés)
| | Oué j'imagine bien ! Dis-toi que si t'as la foi dans 8 ans ce sera peut-être toi qui expliquera aux autres.
Estheone j'ai un problème avec ça
"
-Si skill num (variable) est possédé :
actor = $game_actors[$game_variables[x]]
$game_variables[z] = actor.skill_learn?($game_variables[y])
"
Déjà quand je le mets comme décrit ci-dessus, je reçois l'erreur "Script 'Game_Interpreter' line1409: ArgumentError occurred. Wrong number of arguments (0 for 1)" Du coup j'ai essayé diverses autres façons, et généralement ça fonctionnait, mais me renvoyait toujours false.
Un exemple qui m'affiche false dans la console :
"
actor = $game_actors[1]
print (actor.skill_learn?(3))
"
Evidemment, lorsque je déclenche l'évènement je possède le skill 3.
|
Estheone -
posté le 29/12/2012 à 16:11:44 (312 messages postés)
| | Ouaip normal ça fonctionnait pas tout à fait comme je le pensais.
1
2
| actor = $game_actors[$game_variables[x]]
$game_variables[z] = actor.skill_learn?($data_skills[$game_variables[y]]) |
Ca devrait le faire.
|
Wandering Souls : Jeu complet / Topic sur Oniro |
esoterique -
posté le 29/12/2012 à 19:12:02 (20 messages postés)
| | Exacte, merci encore !
| Index du forum > Entraide > [RPG Maker VX ACE] Boucle condition
|
|
|