Aller à la page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
Reprise du message précédent:
Anton_ -
posté le 04/05/2016 à 18:03:17 (1537 messages postés)
| | peut être en utilisant une variable genre "Last_choice"
1
2
3
4
5
6
7
8
9
10
11
12
| Choix multiple [...]
Si : Manger Frites
Last_choice = 1
(autres actions)
Si : Ouvrir menu
Last_choice = 2
(...)
Si : Pas ouvrir menu
Last_choice = 3
(...) |
|
Raetribution | Megamike || tutos : 1 2 || Une bonne dose de maths pour la route | Suite du sujet:
Sou -
posté le 05/05/2016 à 08:55:14 (396 messages postés)
| On a jamais assez de munitions | Merci pour ta réponse rapide Anton_
Mais je me suis mal exprimé du coup, car oui, on peut marqué l'endroit avec une variable comme tu l'as fais, mais comment forcer le positionnement du curseur?
|
Je suis Sou et c'est tout. |
arttroy -
posté le 05/05/2016 à 13:47:06 (2394 messages postés)
| Just working | Créés un interrupteur "optionnal choice list", va ligne 153 du Window_Message et met ça à la place de la ligne (remplace x par le numéro de ton interrupteur):
1
2
3
4
5
6
| if $game_switches[x] == true
self.index = 1
else
self.index = 0
end
|
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
Sou -
posté le 05/05/2016 à 13:52:38 (396 messages postés)
| On a jamais assez de munitions | Merci arttroy de ta réponse, et de son edit (oui j'ai vu ta première réponse ).
Si je ne dis pas de bêtises, je vais pouvoir créer 4 interrupteurs (car 4 choix max), afin de recycler ta solution dans d'autre cas où j'aurai besoin d'un positionnement de curseur.
Merci encore
Edit:
Pourquoi un interrupteur, et pas une variable au fait?
=> Ta solution fonctionne au poil
|
Je suis Sou et c'est tout. |
arttroy -
posté le 05/05/2016 à 14:23:27 (2394 messages postés)
| Just working | Les deux fonctionnent mais si tu veux dupliquer le truc utilise plutôt une variable
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
Sou -
posté le 05/05/2016 à 14:37:40 (396 messages postés)
| On a jamais assez de munitions | Peux-tu me donner l'appel d'une variable via script stp?
C'est quelque chose comme var[x] je suppose^^
Edit: j'ai trouvé *_*
$game_variables[x]
Encore un merci pour la route arttroy
|
Je suis Sou et c'est tout. |
arttroy -
posté le 06/05/2016 à 16:29:13 (2394 messages postés)
| Just working | Ah tu a été plus rapide à trouver que moi à te répondre ^^ Si tu jettes un oeil aux scripts tu verras que cette syntaxe est souvent utilisée :
$game_xx
genre :
$game_party.members[0] ou $game_party.leader pour définir le premier héros du groupe par exemple. Content d'avoir pu t'aider en tous cas.
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
Sou -
posté le 09/05/2016 à 10:16:11 (396 messages postés)
| On a jamais assez de munitions | C'est vrai, je m'en était aperçut mais je pose souvent des questions trop vite --'
Merci en tout cas, et tu aides souvent la communauté ça c'est pas nouveau
|
Je suis Sou et c'est tout. |
Cactus -
posté le 27/05/2016 à 09:09:07 (681 messages postés)
| Pikactus | Bonjour !
Support: RMVXace
Question:
Est-il possible de faire une compétence qui achève les ennemies ne possédant qu'1 pv ?
Explication:
=> Le joueur doit faire baisser la vie de l'ennemi a 1pv pour pouvoir l'achever avec une compétence spécial.
=> Impossible d'achever l'ennemi avec une attaque normal (les pv reste bloqué a 1)
=> Impossible d'enlever de la vie avec la compétence spécial tant que les pv du monstre sont au dessus de 1
Pour résumer il faut switcher d'attaque pour retirer le dernier pv .
Merci
|
Ephy -
posté le 27/05/2016 à 09:29:09 (30119 messages postés)
- | [BIG SHOT] | Dans le calcul des formules de dégâts c'est certainement possible de faire un calcul avec les maxhp et les hp courants. De manière à ce qu'on soit à 1 seulement quand il reste 1 hp et zéro le reste du temps (ou un truc inférieur à 1 pour que ça soit ramené à 0).
Vite fait j'ai trouvé ça comme formule:
((maxhp-(currenthp-1))/maxhp.
Si currenthp > 1, le tout est toujours inférieur à 1. Si currenthp = 1, le résultat est égal à 1.
Après t'as juste à multiplier ça par les dégâts que tu veux faire.
Pour le reste de tes compétences il doit y avoir une formule similaire pour avoir le résultat contraire.
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Cactus -
posté le 27/05/2016 à 10:24:25 (681 messages postés)
| Pikactus | Merci pour ta réponse Ephy
Donc j'ai fait ça:
1
| ((b.mhp-(b.hp - 1))/b.mhp |
Citation: b=cible
mhp=Max hp
hp= hp courant |
et j'ai le droit a un lorsque j'attaque
Citation:
Script 'Game_Battler' line 352: SyntaxError occured
unexpected $end, expecting ')'
( (b.mhp-(b.hp - 1) )/b.mhp |
Apparemment y'a un truc qui bloque au niveau de la parenthèse
j'ai testé en l’espaçant mais nop, ça bloque
|
Ephy -
posté le 27/05/2016 à 10:33:41 (30119 messages postés)
- | [BIG SHOT] | Ha nan je me suis juste foiré en fait, y'a une parenthèse en trop au début. Ça doit donner ça en fait:
1
| (b.mhp-(b.hp - 1))/b.mhp |
J'ai pas testé dans RM en fait, juste par calcul avec quelques valeurs. Mais selon mes observations des formules de calcul, ça doit marcher nickel maintenant que c'est bien écrit.
D'ailleurs le message d'erreur l'explique clairement. La fin de la formule est fausse et il attend un ")".
(ça peut toujours servir de le savoir si jamais tu rencontre de nouveau ce souci).
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Cactus -
posté le 27/05/2016 à 10:53:31 (681 messages postés)
| Pikactus | Ah mais oui !
Je sais pas comment j'ai fait pour ne pas voir la parenthèse en trop
Par contre si je comprend bien le code l'attaque ne fait pas de dégât.
Dsl j'ai vraiment du mal avec les formule de dégât
|
Ephy -
posté le 27/05/2016 à 11:00:17 (30119 messages postés)
- | [BIG SHOT] | En fait le code ne gère pas les dégâts de l'attaque. C'est un multiplicateur à appliquer aux dégâts de l'attaque.
Du genre ça:
1
| ((b.mhp-(b.hp - 1))/b.mhp) * a.atk |
Là, si l'ennemi a plus de 1pv, l'attaque fera 0*(attaque du perso) c'est à dire rien du tout. Si il reste juste 1pv à l'ennemi, l'attaque fera 1*(attaque du perso) soit des dégâts équivalents à l'attaque du perso.
Mais théoriquement en gardant juste
1
| ((b.mhp-(b.hp - 1))/b.mhp) |
l'attaque devrait faire 1 dégât si l'ennemi n'a qu'un pv.
Si j'ai bien compris ce que tu veux, c'est exactement ça.
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Cactus -
posté le 27/05/2016 à 11:13:49 (681 messages postés)
| Pikactus | Je viens de tester ça fonctionne
Un grand MERCI Ephy pour tes réponses rapides et claires !
Ça me permet de comprendre un peu plus la logique du logiciel.
|
Cactus -
posté le 27/05/2016 à 23:10:17 (681 messages postés)
| Pikactus | Par contre je ne vois vraiment pas comment faire l'inverse (attaque non létale)
Ça fait 2 heures que je me crame le cerveau (il est pas fait pour le calcul le pauvre )
J'ai essayé de plusieurs façons mais à chaque fois j'achevais la cible.
En faire j'ai du mal a recrée la condition "si la cible a plus de 1hp"
|
arttroy -
posté le 28/05/2016 à 00:00:52 (2394 messages postés)
| Just working | (b.hp + 1)-b.hp
Comme ça ça te laissera pile un hp (genre fauchage dans pokemon).
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
Ephy -
posté le 28/05/2016 à 00:10:22 (30119 messages postés)
- | [BIG SHOT] | Essaye ça comme multiplicateur:
1
| [(b.hp/((b.mhp-(b.hp - 1)))-1), 1].min |
Pour résumer, on divise les current hp par le calcul utilisé plus haut et on retire 1. Si current hp = 1, ça vaut 0. Si current hp >= 2, ça vaut 1 ou plus.
Après on utilise [a, b].min pour récupérer la valeur la plus petite entre a et b.
Ici a c'est notre gros calcul compliqué qui peut prendre des valeurs énormes et b est égal à 1.
Avec ça, si nos les hp sont à 1, a sera égal à 0 et le calcul sera égal à 0, si les hp >= 2, ça sera toujours égal à 1.
J'ai pas testé pour le zéro mais normalement ça devrait marcher.
A mon avis il y a un calcul plus simple mais le principal c'est que ça marche non?
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Cactus -
posté le 28/05/2016 à 00:33:42 (681 messages postés)
| Pikactus | Merci pour vos reponses:
arttroy> ça marche pas, ça enlève 1hp par 1 hp e acheve la cible
L'attaque faux-chage de Pokémon se résumerait plus a ça:
non?
Ephy> Ah, c'est presque bon, j'ai test avec un ennemi de 5hp et une attaque de 1 de dégât ça marche mais sa vie ne descend pas en dessous de 3hp
avec un ennemi de 10hp la vie ne descend pas en dessous de 7
|
Sou -
posté le 28/05/2016 à 00:56:50 (396 messages postés)
| On a jamais assez de munitions | Bonsoir, je ne suis pas sous mv, mais j'aimerai comprendre, pour ta première question pourquoi ne pas faire une condition du type:
If hp=1
If interup attaque spéciale ON (ton attaque spéciale appel un évén qui switch l'interrupteur)
dgt = 1 (pour finir le dernier pv)
interrup attaque spéciale = Off
Else
dgt =0
Else
dgt = calcul normal
Et pour reprendre arttroy avec son:
Citation:
Pourquoi pas plutôt:
hp - hp +1 ?
Désolé, je ne sais pas si j'ai bien saisie ta question, et comme je ne suis pas sous Mv du coup je dis peut-être des bêtises (en plus je vulgarise les calculs puisque je ne connais pas les termes mv).
|
Je suis Sou et c'est tout. |
Ephy -
posté le 28/05/2016 à 01:30:54 (30119 messages postés)
- | [BIG SHOT] | Cactus> Essaye avec celle-ci:
1
| [(-(b.mhp/(b.hp*b.mhp))*10+10), 1].min |
J'ai essayé sur un ennemi de 5 hp, ça fonctionne.
La précédente ne risquait pas de fonctionner en fait (bon déjà parce que j'avais oublié un morceau) parce que ça utilise le résultat du premier calcul comme diviseur. Or dans le premier calcul si les hp sont supérieurs à 1 le résultat vaut 0,quelquechose soit 0 pour RM. Donc en théorie ça fonctionne mais dans RM ça fait toujours zéro vu que les nombres à virgule sont tronqués.
Là... ben on a le même principe un peu. Et on fait *10 pour éviter les 0.quelquechose. Et +10 pour pas être en négatif.
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
arttroy -
posté le 28/05/2016 à 12:05:00 (2394 messages postés)
| Just working | Ah ouais ok maintenant que tu le dis c'est évident que ça le ferai pas... Désolé ^^
Content que tu ais eu de l'aide quand même.
|
Anti-inconstructivité / Pétition pour que le mot making soit inscrit dans le dictionnaire ? |
Ephy -
posté le 28/05/2016 à 13:30:50 (30119 messages postés)
- | [BIG SHOT] | Sinon j'ai pas testé mais plus simplement:
Ça prend la plus petite valeur entre les hp actuels-1 et 1. Si les hp sont égaux à 1, 1-1=0. Sinon ça sera supérieur à 1 et le min prendra 1.
C'était vraiment bête en fait
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Cactus -
posté le 28/05/2016 à 13:58:30 (681 messages postés)
| Pikactus | Oh merde !
La taille du calcul est tellement ridicule que j'ai failli m’étouffer.
Ça marche !
Mais a quoi correspond le .min? c'est une condition si une valeur est minimum ?
Encore merci Ephy ! et aussi a arttroy et Sou !
|
Ephy -
posté le 28/05/2016 à 18:14:48 (30119 messages postés)
- | [BIG SHOT] | En fait [a,b].min ça récupère juste la valeur minimum entre a et b. T'as pareil avec [a,b].max qui récupère la valeur maximum.
En général ça sert pour faire des seuils comme là.
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Aller à la page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48Index du forum > Entraide > Questions idiotes sur RM [PAS Script]
|