Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
221 connectés actuellement
30689768 visiteurs depuis l'ouverture
10780 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Kabyi -
posté le 14/07/2020 à 18:47:22 (10 messages postés)
| | Domaine concerné: Compétences Logiciel utilisé: RMVXACE Bonjour/Bonsoir.
Cela fait un moment que je traîne sur le forum d'oniromancie pour trouver de nombreuses réponses à mes questions, mais pour le coup, je n'ai trouvé aucune réponse à mon problème actuelle, surement dû à la formulation de celui-ci, car je doutes que je sois le seul à m'être posé la question.
Bref, je travailles donc sur un jeu depuis un petit moment, et je cherche un moyen d'enclencher une Pré-animation de compétence, c'est à dire, à chaque fois que l'utilisateur lance un sort magique, ou une technique, un cercle apparaît sous-lui, comme une incantation.
Le but est donc d'enclencher deux animations à la fois. Pour les sorts ne visant que l'utilisateur, je peux tout faire en une seul animation comme tout se passe sur le même personnage, mais si celui-ci en vise un autre (un sort offensif), cela devient plus compliqué, comme le système de base de Rpg Maker VX Ace ne permet pas à une animation de viser deux endroits précis à la fois (comme l'utilisateur et l'ennemie ici en l'occurence).
Donc l'objectif a plusieurs possibilités :
- Pouvoir activer 2 compétences en une (la première serait la Pré-Animation qui n'aurait donc aucun effet)
- Que la compétence active deux animations l'une après l'autre
- Pouvoir cibler deux zones avec une même animation.
J'ai essayé de fonctionner avec des événements communs, mais cela n'a pas l'air de fonctionner.
Je précise que je ne sais pas produire de script, le script de combat n'est donc pas le mien, mais je pense que cela fonctionne a peu près pareil pour tous, je peux donc vous l'envoyer si besoin.
Je mets deux petites images toute simple au cas où je n'ai vraiment pas été clair, même si je pense que ce n'est pas très dur à comprendre x).
Merci d'avance !
|
En création d'un jeu depuis environ 2 ans, ayant abandonné le précédent. |
MrHeimer -
posté le 07/08/2020 à 14:47:56 (73 messages postés)
| | Salut, je débute personnellement, je ne sais pas si on peut convertir un pluggin de MV pour l'adapter à VX/ACE mais sur MV avec le pluggin de Yanfly Battle Engine core et ses 3 autres sous pluggins on peut créer des animations personnalisées facilement et donc enchainer deux animations d'affilées (par exemple faire une première animation, ensuite le déplacement vers l'ennemi, faire une deuxième animation de sort, puis frapper et revenir à l'emplacement initial)
|
gif -
posté le 07/08/2020 à 15:50:41 (4782 messages postés)
- | Egotrip Gigamaxé | Salut ,
Je ne sais pas quel script de combat tu utilises, donc c'est mal barré lol. Le système de combat de base de VX n'utilise pas de battler pour les héros, donc je ne peux pas te proposer de solution partant de là .
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
Kabyi -
posté le 08/08/2020 à 09:09:37 (10 messages postés)
| | Bonjour,
Voici le script de combat que j'utilise :
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
| #===============================================================================
# Jet's Viewed Battle System
# By Jet10985(Jet)
#===============================================================================
# This script will add actor sprites into the battle scene.
# This script has: 10 customization options.
#===============================================================================
# Overwritten Methods:
# Game_Actor: use_sprite?, screen_x, screen_y
# Sprite_Battler: revert_to_normal
# Scene_Battle: show_attack_animation
#-------------------------------------------------------------------------------
# Aliased methods:
# Game_Enemy: screen_x, screen_y
# Sprite_Battler: update_origin, update_bitmap
# Window_BattleEnemy: update
# Window_BattleActor: update
# Window_ActorCommand: update
#===============================================================================
=begin
Set an enemy's attack animation by using this in their notebox:
<anim: 50>
Replace 50 with the animation id.
--------------------------------------------------------------------------------
You may use a sprite for a monster instead of a regular battler by using this
notetag in the monster's notebox:
<sprite: ImageName, 0>
Replace ImageName with the name of the spritesheet, and 0 with the index on the
spritesheet you want the monster to use.
=end
module Jet
module VBS
# Which direction do actors face on the field? There are 4 options:
# :up, :down, :left, or :right. Actor's will direction chosen.
ACTOR_ORIENTATION = :left
# This will make it so actor's are centered on the screen instead of being
# placed in pre-determined lines using START_POINT and SPACE_DIFFERENCE.
CENTER_ACTORS = true
# This is the x and y starting point for actors. This option may take one of
# 2 functions. If CENTER_ACTORS is true, and ACTOR_ORIENTATION is either
# :left, or :right, then only the x value will be used as where to center
# the actors. If it is :down or :up, only the y value will be used.
# If CENTER_ACTORS is false, then this is where actor's will begin to be
# placed on screen.
START_POINT = [400, 250]
# This is how much space is between each actor on the field.
SPACE_DIFFERENCE = 50
# If you're using the :left or :right view, this will push each
# subsequent actor back by a certain number of pixels, to avoid having
# a straight line.
SIDEVIEW_PUSH_BACK = 16
# Do you want to reverse the direction and field during an ambush?
# (This is when enemies surprise the player and get the first turn)
REVERSE_FIELD_FOR_AMBUSH = false
# this is how far the actor will move forward when they are selection an
# action, as well as executing it.
SLIDE_AMOUNT = 40
# This is how far the actor will slide each frame until they reach their
# goal of SLIDE_FORWARD. Best used when this is a factor of SLIDE_FORWARD.
FRAME_SLIDE = 6
# During selecting an actor command, and during selecting an enemy target,
# would you like the selected character to flash?
DO_FLASH = true
# These are state-based sprite changes. If the actor has one of these states
# then the game will search for a sprite of the character's regular sprite
# name with the special state tag appended to it. So if Jimmy's sprite
# name was $Jimmy, and he had poison inflcted on him, and poison's id was
# listed here as ["_poison", 0], it would change Jimmy's in-battle sprite
# to $Jimmy_poison at the first sprite index.
STATE_SPRITES = {
1 => ["", 0],
2 => ["", 0]
}
# Do not touch this option.
DIR_ORIENT = {right: 6, left: 4, down: 2, up: 8}[ACTOR_ORIENTATION]
end
end
#===============================================================================
# DON'T EDIT FURTHER UNLESS YOU KNOW WHAT TO DO.
#===============================================================================
class Integer
def even?
self % 2 == 0
end
def odd?
!even?
end
end
class RPG::Enemy
def animation
(f = note.match(/<anim:[ ]*(\d+)>/i)) ? f[1].to_i : 1
end
def battle_sprite
(f = note.match(/<sprite:[ ]*(.+),[ ]*(\d+)>/i)) ? f[1..2] : false
end
end
module BattleManager
class << self
alias jet3845_on_encounter on_encounter
def on_encounter(*args, &block)
jet3845_on_encounter(*args, &block)
@true_surprise = @surprise
end
end
def self.true_surprise
@true_surprise ||= false
end
def self.player_dir
if @true_surprise && Jet::VBS::REVERSE_FIELD_FOR_AMBUSH
return 10 - Jet::VBS::DIR_ORIENT
else
return Jet::VBS::DIR_ORIENT
end
end
end
class Game_Actor
def use_sprite?
true
end
def screen_x
if [8, 2].include?(BattleManager.player_dir)
if Jet::VBS::CENTER_ACTORS
x = Graphics.width / 2
x -= 16
x += Jet::VBS::SPACE_DIFFERENCE / 2 if $game_party.members.size.even?
x -= ($game_party.members.size / 2 - index) * Jet::VBS::SPACE_DIFFERENCE
return x
else
return Jet::VBS::START_POINT[0] + Jet::VBS::SPACE_DIFFERENCE * index
end
end
return Jet::VBS::START_POINT[0]
end
alias jet3745_screen_x screen_x
def screen_x(*args, &block)
x = jet3745_screen_x(*args, &block)
case BattleManager.player_dir
when 4
x += Jet::VBS::SIDEVIEW_PUSH_BACK * index
when 6
x -= Jet::VBS::SIDEVIEW_PUSH_BACK * index
end
return x if !Jet::VBS::REVERSE_FIELD_FOR_AMBUSH
x = Graphics.width - x if BattleManager.true_surprise && [6, 4].include?(BattleManager.player_dir)
x
end
def screen_y
if [6, 4].include?(BattleManager.player_dir)
if Jet::VBS::CENTER_ACTORS
y = Graphics.height / 2
y -= 16
y += Jet::VBS::SPACE_DIFFERENCE / 2 if $game_party.members.size.even?
y -= ($game_party.members.size / 2 - index) * Jet::VBS::SPACE_DIFFERENCE
return y
else
return Jet::VBS::START_POINT[1] + Jet::VBS::SPACE_DIFFERENCE * index
end
end
return Jet::VBS::START_POINT[1]
end
alias jet3745_screen_y screen_y
def screen_y(*args, &block)
y = jet3745_screen_y(*args, &block)
return y if !Jet::VBS::REVERSE_FIELD_FOR_AMBUSH
y = Graphics.height - y if BattleManager.true_surprise && [8, 2].include?(BattleManager.player_dir)
y
end
def screen_z
101 + index
end
alias jet3745_character_name character_name
def character_name(*args, &block)
name = jet3745_character_name(*args, &block)
return name unless SceneManager.scene_is?(Scene_Battle)
states.sort {|a, b| b.priority <=> a.priority }.each {|a|
if (add = Jet::VBS::STATE_SPRITES[a.id])
return name + add[0]
end
}
return name
end
alias jet3745_character_index character_index
def character_index(*args, &block)
index = jet3745_character_index(*args, &block)
return index unless SceneManager.scene_is?(Scene_Battle)
states.sort {|a, b| b.priority <=> a.priority }.each {|a|
if (add = Jet::VBS::STATE_SPRITES[a.id])
return index + add[1]
end
}
return index
end
end
class Game_Enemy
alias jet3745_screen_x screen_x
def screen_x(*args, &block)
x = jet3745_screen_x(*args, &block)
return x if !Jet::VBS::REVERSE_FIELD_FOR_AMBUSH
x = Graphics.width - x if BattleManager.true_surprise && [6, 4].include?(BattleManager.player_dir)
x
end
alias jet3745_screen_y screen_y
def screen_y(*args, &block)
y = jet3745_screen_y(*args, &block)
return y if !Jet::VBS::REVERSE_FIELD_FOR_AMBUSH
y = Graphics.height - y if BattleManager.true_surprise && [8, 2].include?(BattleManager.player_dir)
y
end
def atk_animation_id1
enemy.animation
end
def atk_animation_id2
0
end
def bat_sprite?
!!enemy.battle_sprite
end
def character_name
enemy.battle_sprite[0]
end
def character_index
enemy.battle_sprite[1].to_i
end
alias jet3745_character_name character_name
def character_name(*args, &block)
name = jet3745_character_name(*args, &block)
return name unless SceneManager.scene_is?(Scene_Battle)
states.sort {|a, b| b.priority <=> a.priority }.each {|a|
if (add = Jet::VBS::STATE_SPRITES[a.id])
return name + add[0]
end
}
return name
end
alias jet3745_character_index character_index
def character_index(*args, &block)
index = jet3745_character_index(*args, &block)
return index unless SceneManager.scene_is?(Scene_Battle)
states.sort {|a, b| b.priority <=> a.priority }.each {|a|
if (add = Jet::VBS::STATE_SPRITES[a.id])
return index + add[1]
end
}
return index
end
end
class Sprite_Battler
alias jet3835_update_bitmap update_bitmap
def update_bitmap(*args, &block)
if @battler.actor? || @battler.bat_sprite?
actor_update_bitmap
elsif @battler.enemy?
jet3835_update_bitmap(*args, &block)
end
end
def actor_update_bitmap
@timer ||= 0
@index ||= 1
@char_index ||= @battler.character_index
@back_time ||= false
index = @index
char_index = @char_index
@timer += 1
(@index += (@back_time ? -1 : 1); @timer = 0) if @timer == 19
if @index == 3
@back_time = true
@index = 1
elsif @index == -1
@back_time = false
@index = 1
end
@char_index = @battler.character_index
bitmap = Cache.character(@battler.character_name)
return if bitmap == @bitmap && index == @index && @char_index == char_index
self.bitmap = bitmap
sign = @battler.character_name[/^[\!\$]./]
if sign && sign.include?('$')
cw = bitmap.width / 3
ch = bitmap.height / 4
else
cw = bitmap.width / 12
ch = bitmap.height / 8
end
dir = BattleManager.player_dir
dir = 10 - dir if @battler.is_a?(Game_Enemy)
sx = (@battler.character_index % 4 * 3) * cw + (cw * @index)
sy = (@battler.character_index / 4 * 4 + (dir - 2) / 2) * ch
self.src_rect.set(sx, sy, cw, ch)
end
alias jet3745_update_origin update_origin
def update_origin(*args, &block)
if @battler.actor? || @battler.bat_sprite?
actor_update_origin
elsif @battler.enemy?
jet3745_update_origin(*args, &block)
end
end
def actor_update_origin
self.ox = (@actor_ox ||= 0)
self.oy = (@actor_oy ||= 0)
end
def revert_to_normal
self.blend_type = 0
self.color.set(0, 0, 0, 0)
self.opacity = 255
if bitmap && @battler && !@battler.actor? && !@battler.bat_sprite?
self.ox = bitmap.width / 2 if bitmap
self.src_rect.y = 0
end
end
def slide_forward(amount = Jet::VBS::SLIDE_AMOUNT, frame = Jet::VBS::FRAME_SLIDE)
dir = BattleManager.player_dir
dir = 10 - dir if @battler.is_a?(Game_Enemy)
case dir
when 2
affect = :@actor_oy
frame *= -1
when 4
affect = :@actor_ox
amount *= -1
when 6
affect = :@actor_ox
frame *= -1
when 8
affect = :@actor_oy
amount *= -1
end
orig_amount = amount
until (orig_amount < 0 ? amount >= 0 : amount <= 0)
instance_variable_set(affect, instance_variable_get(affect) + frame)
amount += frame
SceneManager.scene.spriteset.update
Graphics.update
end
end
def slide_backward(amount = Jet::VBS::SLIDE_AMOUNT, frame = Jet::VBS::FRAME_SLIDE)
dir = BattleManager.player_dir
dir = 10 - dir if @battler.is_a?(Game_Enemy)
case dir
when 2
affect = :@actor_oy
amount *= -1
when 4
affect = :@actor_ox
frame *= -1
when 6
affect = :@actor_ox
amount *= -1
when 8
affect = :@actor_oy
frame *= -1
end
orig_amount = amount
until (orig_amount < 0 ? amount >= 0 : amount <= 0)
instance_variable_set(affect, instance_variable_get(affect) + frame)
amount += frame
SceneManager.scene.spriteset.update
Graphics.update
end
end
end
class Scene_Battle
attr_reader :spriteset
def show_attack_animation(targets)
show_normal_animation(targets, @subject.atk_animation_id1, false)
show_normal_animation(targets, @subject.atk_animation_id2, true)
end
alias jet3746_use_item use_item
def use_item(*args, &block)
sprite = @spriteset.battler_to_sprite(@subject)
if (@subject.actor? || @subject.bat_sprite?) && !@subject.current_action.guard?
sprite.slide_forward
end
jet3746_use_item(*args, &block)
if (@subject.actor? || @subject.bat_sprite?) && !@subject.current_action.guard?
sprite.slide_backward
end
end
end
class Spriteset_Battle
def battler_to_sprite(actor)
battler_sprites.each {|a|
return a if a.battler == actor
}
return false
end
end
class Window_BattleEnemy
alias jet3745_update update
def update(*args, &block)
jet3745_update(*args, &block)
if self.active && Jet::VBS::DO_FLASH
if Object.const_defined?(:Mouse)
$game_troop.alive_members.each {|a|
img = SceneManager.scene.spriteset.battler_to_sprite(a)
x = img.x - img.ox
y = img.y - img.oy
if Mouse.area?(x, y, img.src_rect.width, img.src_rect.height)
self.index = a.index
end
}
end
active_troop = $game_troop.alive_members[@index]
sprite = SceneManager.scene.spriteset.battler_to_sprite(active_troop)
sprite.start_effect(:whiten) if !sprite.effect?
end
end
end
class Window_BattleActor
alias jet3745_update update
def update(*args, &block)
jet3745_update(*args, &block)
if self.active && Jet::VBS::DO_FLASH
if Object.const_defined?(:Mouse)
$game_party.alive_members.each {|a|
img = SceneManager.scene.spriteset.battler_to_sprite(a)
x = img.x - img.ox
y = img.y - img.oy
if Mouse.area?(x, y, img.src_rect.width, img.src_rect.height)
self.index = a.index
end
}
end
active_troop = $game_party.members[@index]
sprite = SceneManager.scene.spriteset.battler_to_sprite(active_troop)
sprite.start_effect(:whiten) if !sprite.effect?
end
end
end
class Window_ActorCommand
alias jet3745_update update
def update(*args, &block)
jet3745_update(*args, &block)
if self.active && Jet::VBS::DO_FLASH
active_troop = @actor
sprite = SceneManager.scene.spriteset.battler_to_sprite(active_troop)
sprite.start_effect(:whiten) if !sprite.effect?
end
end
end
class Game_Action
def guard?
item == $data_skills[subject.guard_skill_id]
end
end |
Il est on ne peut plus simple, l'objectif principal étant d'avoir une sideview.
Donc si on ne peut rien faire avec celui-ci, mais qu'on peut le faire avec un autre offrant également une sideview, je prends avec plaisir.
Merci de votre aide
|
En création d'un jeu depuis environ 2 ans, ayant abandonné le précédent. |
HuLijin -
posté le 08/08/2020 à 10:18:41 (1004 messages postés)
| Yeoun, mage-archère-louve | Citation: mais je pense que cela fonctionne a peu près pareil pour tous |
Nope.
Citation: Il est on ne peut plus simple, l'objectif principal étant d'avoir une sideview. |
Tu ne devrais pas avoir de mal à l'adapter à ce que tu veux du coup !
Plus sérieusement, c'est à toi de chercher s'il existe un script de combat qui fait ce que tu veux (ou un script de combat et un "sous-script" qui fait ce que tu veux, ou encore un script d'animation compatible avec ton système de combat).
Des bouts de code à voir avec ton problème si ça peut aider Gif. Je n'ai pas VX Ace donc je ne peux pas aider davantage.
1
2
3
| # Overwritten Methods:
# ...
# Scene_Battle: show_attack_animation |
1
2
3
4
| def show_attack_animation(targets)
show_normal_animation(targets, @subject.atk_animation_id1, false)
show_normal_animation(targets, @subject.atk_animation_id2, true)
end |
Et d'autres bouts de code par-ci par-là (acquisition de l'ID du skill d'animation des ennemis)
Si la commande d'événement Force Action ne donne rien, j'ai pas d'idées autres que du script. Peut-être du script dans la formule de dégâts ?
Un truc du style show_animation(a, ID animation) (pareil, sans le code de Ace sous les yeux, je ne peux pas plus aider).
|
M.V. |
Kabyi -
posté le 08/08/2020 à 11:11:05 (10 messages postés)
| | Citation:
Cela reste du RGSS
Citation: Tu ne devrais pas avoir de mal à l'adapter à ce que tu veux du coup ! |
Ce que je voulais dire par "simple", c'est qu'il n'offre pas de contenu significatif autre qu'une sideview, je sais que d'autres scripts ont d'autres fonctionnalités qui permettent, par exemple, de faire apparaître des icônes d'items, pour des boomerang qui reviennent ou d'autres effets dans ce style. Je n'ai jamais dit que je maîtrisais parfaitement le script et donc que je pouvais l'adapter à ma guise, ton interprétation n'était pas la bonne.
Citation: Plus sérieusement, c'est à toi de chercher s'il existe un script de combat qui fait ce que tu veux (ou un script de combat et un "sous-script" qui fait ce que tu veux, ou encore un script d'animation compatible avec ton système de combat). |
J'ai déjà farfouillé tout les scripts de combats que j'ai pu trouver, j'y ai passé des heures sans aboutissements, donc c'est pour cela que j'ai crée ce topic, je ne l'aurai pas fait si ce que je recherche existait déjà et était publié, c'est logique.
Citation: Des bouts de code à voir avec ton problème si ça peut aider Gif. Je n'ai pas VX Ace donc je ne peux pas aider davantage. |
Je vais déjà étudier ça, en attendant une potentielle autre réponse, merci.
|
En création d'un jeu depuis environ 2 ans, ayant abandonné le précédent. |
gif -
posté le 08/08/2020 à 11:20:43 (4782 messages postés)
- | Egotrip Gigamaxé | Salut,
J'ai obtenu un résultat qui s'approche de ce que tu souhaites avoir :
"Pré-animation" sur le lanceur du skill/sort, avant de lancer l'animation elle-même.
Bon, j'ai pris une animation au hazard qui avait un semblant de cercle d'incantation .
Voila mon code, à placer au dessus de main :
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
| #===============================================================================
# Preanimation on skill cast
# By Oniromancie (rpg-maker.fr)
#===============================================================================
# This script will allow you to specify an animation before the cast of a skill
# Use the tag <preanim:ANIM_ID> in the skill notebox
# example : <preanim:30>
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * preAnimationId
# note : the content of the skill notebox
#--------------------------------------------------------------------------
def get_preanim_Id(note)
(f = note.match(/<preanim:[ ]*(\d+)>/i)) ? f[1].to_i : 0
end
#--------------------------------------------------------------------------
# * Show Animation ==> overwrite from Scene_Battle
# targets : Target array
# animation_id : Animation ID (-1: Same as normal attack)
#--------------------------------------------------------------------------
alias preanim_show_animation show_animation
def show_animation(targets, animation_id)
if animation_id < 0
show_attack_animation(targets)
else
# begin EDIT ---------------------------------
if @subject.actor?
preanimation_id = get_preanim_Id(@subject.current_action.item.note)
if preanimation_id > 0
print preanimation_id
show_normal_animation([@subject], preanimation_id)
wait_for_animation
end
end
# end EDIT ---------------------------------
show_normal_animation(targets, animation_id)
end
@log_window.wait
wait_for_animation
end
end |
Pour le faire fonctionner, il faut renseigner l'animation à jouer en tant que "pré-animation" dans le champ commentaire d'un skill :
Tu me dis si t'as un soucis, j'suis pas expert et dans 30 jours ma version d'évaluation de VXace expirera .
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! |
Kabyi -
posté le 08/08/2020 à 11:42:21 (10 messages postés)
| | C'est juste parfait, je te remercie infiniment
|
En création d'un jeu depuis environ 2 ans, ayant abandonné le précédent. |
Gari -
posté le 08/08/2020 à 15:38:03 (5901 messages postés)
- | | Gif, ça te dérange si on poste ton snippet dans les scripts ? (par contre il y aura ton nom dessus )
|
gif -
posté le 08/08/2020 à 16:32:21 (4782 messages postés)
- | Egotrip Gigamaxé | Okidac mais ça va avec le script partagé de kabyi du coup, Il ne donne rien tout seu! .
|
Itch.io | Twitter | Une IA qui génère des sprites de Pokémon | Cochouchou à la coupe du monde ! | le concours hebdomadaire du meilleur screen ! | Index du forum > Entraide > [RESOLU] [RMVXACE] Pré-Animation avant une compétence
|
|
|