Savez vous ce qu'est un spécial?
Sinon cliquez là
On va donc apprendre à en faire un qui ait de la gueule. (oui pas un petit laser nan mais alors )
Donc déjà vous devez savoir utiliser un minimum Paint ou autre Logi ( Photoshop ou Gimp sera nécessaire pour faire un beau Pop-up)
En making vous devez savoir:
Faire de belles anim' sinon j'aurai un petit tuyau qui pour vous peut être très pratique :p
Commençons!:
Etape 1, selectionner le perso (ha bon?)
J'ai choisi Tieff-01
Je fais toujours mes anims avec pour Template:
Donc placer bien votre perso sur toutes ses poses à la place des explosions (vous effacerez les explosions après le plaçage)
Mon résultat:
Bon, à la base j'avais mis la barre dans l'anim' mais c'est une grosse erreur à ne pas faire!
1
Faites votre anim' (200 images pour un bô pouvoir )
Voilà!
(faîtes seulement 1 perso, moi j'en ai fait trois on va apprendre comment on appelle ça et son utilité)
2
Mettez les effets sonores (chaque fois qu'il touche, safaimal)
3
Alors!
Pourquoi j'ai mis 3 persos?
C'est ce que l'on appelle une "trainée" ça simbolise la vitesse du perso.
Alors, vous êtes content?
Il faut refaire toute votre aniiiim' (aaaaaaaaaaaaaaaaaaaaaaaaaaaaah!!!!!! )
Reprenez votre anim'
Donc placer trois persos derrière celui dans l'anim en éclaircie (important sinon c'est moins estétique) vous devrez jouer avec les opacités pour plus d' estétique (important votre anim' doit pas être "trash".)
4
Les marques du coup.
Vous remarquerez une tite barre bleue dans mon anim'.
C'est important!
Ce sera la "marque du coup" (un petit exemple en screen:
Dans la première image où la barre apparait:
Petite et pas très visible
2ème:
Grossit, gagne de la visibilité et tourne (effet de rotation pour plus d'estétique, je fais chier avec l'estétique mais c'est très important :p)
3ème:
Reviens à la première
4ème:
Disparait.
Voilààà!
Vous avez quasiment fini votre spécial (il reste du boulot )
Maintenant il va falloir savoir "doser" le coup (qu'il tue pas le boss final au bout de trois fois quoi )
Donc je vous laisserai faire la compétence.....
Une fois fait prenez Photoshop ou Gimp et faîtes votre Pop-up:
L'image ne doit SURTOUT PAS dépasser les proportions suivantes: entre 60 de hauteur et 62 Largeur à 639 (obligatoire)
Une fois fini importé votre pop up.
Maintenant vous avez quasiment fini!
Une seule étape restante, l'événement commun:
Dedans vous devrez mettre: Afficher une image "pop-up" Définies par rapport au pixel central (important pour le zoom)
Au approches des coordonnées: X 320 Y 60
Sur le premier mettez:
longueur 100% hauteur 50% Opacité 162
Ensuite déplacer l'image du pop up:
toujours pixel central et même coordonnées X & Y
Longueur 100% hauteur 100% Opacité 255
(les déplacements d'images ne doivent pas être très longs car ils laguent énormément lors des combats)
Puis après ce déplacements il doit y avoir une petite attente (cf screen)
Exemple: 3 frames déplacement, je la laisse 7 frames de plus (n'oubliez pas que ça lagguera donc pas trop long, il faut pratiquer les lags)
Puis enfin faites la grossir et disparaître:
Longueur 300% largeur 300%
Même coordonnées X & Y
Pixel central
Mettez dans votre compétence:
Appelle Cet événement commun:
Pop-up compétence
Ah oui!
Une dernière chose!
Faîtes une anim' de 3 images qui servira pour la compétence:
Faîtes disparaître la "cible" (héros) pendant le nombre d'images du pouvoir
même si l'anim ne dure que 3 images elle fera disparaitre la cible autant de temps que vous lui dites (eh oui, c'est pareil pour les effets sonores et les flash )
Nommez cette anim' "MASQUER LE HEROS"
Puis dans la compétence:
Animation sur l'utilisateur: MASQUER LE HEROS
Animation sur la cible: (bah l'anim' du pouvoir)
Enfin il vous faut un script de combat style coté en voilà un tout con (pourrit) mais qui fera l'affaire (vous pourrez en prendre un autre mais IL FAUT QU' IL SOIT DE COTE vu votre anim' il faut que le perso soit à l'échelle)
A nommer: Battle_Custom
Code : Tout sélectionner
#================================================= =============================
#++?????????(?????????)ver. 1.14++
#Script by ???
#http://rpg.para.s3p.net/
#------------------------------------------------- -----------------------------
# ????????????????????????
#================================================= =============================
module SDVA
X_LINE = 500 # ????????????
Y_LINE = 200 # ????????????
X_SPACE = 15 # ?????????????
Y_SPACE = 40 # ?????????????
X_POSITION = 25 # ??[????????]????
Y_POSITION = 0 # ??[????????]????
ATTACK_MOVE = true # ???????????( true / false )
SKILL_MOVE = true # ??????????????( true / false )
ITEM_MOVE = false # ???????????????( true / false )
MOVE_STEP = 1 # ????
MOVE_PIXEL = 10 # ???????????
PARTY_POS = 1 # ?????????( 0:? / 1:? / 2:? / 3:? )
WINDOWPOS_CHANGE = true # ??????????????????????( true / false )
end
#================================================= =============================
# ? Game_Actor
#================================================= =============================
class Game_Actor < Game_Battler
#------------------------------------------------- -------------------------
# ? ????? X ?????
#------------------------------------------------- -------------------------
def screen_x
if self.index != nil
# ?????
pos = $data_classes[self.class_id].position
x_pos = pos * SDVA::X_POSITION
scr_x = self.index * SDVA::X_SPACE + SDVA::X_LINE + x_pos
# ??????????
if self.current_action.move_action == true
# ????
scr_x += @shift_x
end
return scr_x
else
return 0
end
end
#------------------------------------------------- -------------------------
# ? ????? Y ?????
#------------------------------------------------- -------------------------
def screen_y
if self.index != nil
# ?????
pos = $data_classes[self.class_id].position
y_pos = pos * SDVA::Y_POSITION
scr_y = self.index * SDVA::Y_SPACE + SDVA::Y_LINE + y_pos
# ??????????
if self.current_action.move_action == true
# ????
scr_y += @shift_y
end
return scr_y
else
return 0
end
end
#------------------------------------------------- -------------------------
# ? ????? Z ?????
#------------------------------------------------- -------------------------
def screen_z
if self.index != nil
return self.index
else
return 0
end
end
end
#================================================= =============================
# ? Game_Battler (???? 1)
#================================================= =============================
class Game_Battler
#------------------------------------------------- -------------------------
# ? ??????????
#------------------------------------------------- -------------------------
attr_reader :pattern # ??????
attr_reader :trans_x # X???????
attr_reader :moving # ??????
#------------------------------------------------- -------------------------
# ? ?????????
#------------------------------------------------- -------------------------
alias initialize_sdva initialize
def initialize
initialize_sdva
move_reset
end
#------------------------------------------------- -------------------------
# ? ??????
#------------------------------------------------- -------------------------
def move
@moving = 1
if @step < SDVA::MOVE_STEP
# ??????????
@pattern = (@pattern + 1) % 4
@step += 1
move_step
else
# ????
@pattern = 1
@moving = 2
end
end
#------------------------------------------------- -------------------------
# ? ????
#------------------------------------------------- -------------------------
def move_step
# ???????????????????
case SDVA::PARTY_POS
when 0
@shift_y = @step * SDVA::MOVE_PIXEL
when 1
@shift_x = -(@step * SDVA::MOVE_PIXEL)
when 2
@shift_x = @step * SDVA::MOVE_PIXEL
when 3
@shift_y = -(@step * SDVA::MOVE_PIXEL)
end
end
#------------------------------------------------- -------------------------
# ? ???????
#------------------------------------------------- -------------------------
def move_reset
@moving = 0
@pattern = 0
@step = 0
@shift_x = 0
@shift_y = 0
end
end
#================================================= =============================
# ? Game_BattleAction
#================================================= =============================
class Game_BattleAction
#------------------------------------------------- -------------------------
# ? ??????????
#------------------------------------------------- -------------------------
attr_accessor :move_action # ??????????
#------------------------------------------------- -------------------------
# ? ???
#------------------------------------------------- -------------------------
alias clear_sdva clear
def clear
clear_sdva
@move_action = false
end
end
#================================================= =============================
# ? Sprite_Battler
#================================================= =============================
class Sprite_Battler < RPG::Sprite
#------------------------------------------------- -------------------------
# ? ??????
#------------------------------------------------- -------------------------
alias update_sdva update
def update
# ????????????????
if @battler.is_a?(Game_Actor)
# ????????????????????
# ??????
if @battler.battler_name != @battler_name or
@battler.battler_hue != @battler_hue or
@battler.current_action.basic == 0 or
@battler.current_action.kind != 3
# ????????????
@character_name = @battler.character_name
@character_hue = @battler.character_hue
# ???????????
self.bitmap = RPG::Cache.character(@character_name, @character_hue)
cw = self.bitmap.width / 4
ch = self.bitmap.height / 4
@width = cw
@height = ch
if @battler.current_action.move_action == true
# ????
@battler.move
else
@battler.move_reset
end
# ?????????
sx = @battler.pattern * cw
sy = SDVA::PARTY_POS * ch
self.src_rect.set(sx, sy, cw, ch)
self.ox = @width / 2
self.oy = @height
# ??????????? 0 ???
if @battler.hidden
self.opacity = 0
end
end
end
update_sdva
end
end
#================================================= =============================
# ? Scene_Battle
#================================================= =============================
class Scene_Battle
#------------------------------------------------- -------------------------
# ? ????????????????????
#------------------------------------------------- -------------------------
alias phase3_setup_command_window_sdva phase3_setup_command_window
def phase3_setup_command_window
phase3_setup_command_window_sdva
if SDVA::WINDOWPOS_CHANGE
# ???????????????????
case SDVA::PARTY_POS
when 0
x_pos = @active_battler.screen_x - (@actor_command_window.width/2)
y_pos = @active_battler.screen_y
when 1
x_pos = @active_battler.screen_x - @actor_command_window.width - 16
y_pos = @active_battler.screen_y - @actor_command_window.height
when 2
x_pos = @active_battler.screen_x + 16
y_pos = @active_battler.screen_y - @actor_command_window.height
when 3
x_pos = @active_battler.screen_x - (@actor_command_window.width/2)
y_pos = @active_battler.screen_y - @actor_command_window.height - 48
end
@actor_command_window.x = x_pos >= 0 ? x_pos : 0
@actor_command_window.x = x_pos+@actor_command_window.width <= 640 ? x_pos : 640-@actor_command_window.width
@actor_command_window.y = y_pos >= 0 ? y_pos : 0
@actor_command_window.y = y_pos+@actor_command_window.height <= 480 ? y_pos : 480-@actor_command_window.height
# ??????????????????
@actor_command_window.z = 9999
end
end
#------------------------------------------------- -------------------------
# ? ?????? (??????? ???? 3 : ??????????)
#------------------------------------------------- -------------------------
alias update_phase4_step3_sdva update_phase4_step3
def update_phase4_step3
if SDVA::ATTACK_MOVE
if @active_battler.current_action.basic == 0
@active_battler.current_action.move_action = true
end
end
if SDVA::SKILL_MOVE
if @active_battler.current_action.kind == 1
@active_battler.current_action.move_action = true
end
end
if SDVA::ITEM_MOVE
if @active_battler.current_action.kind == 2
@active_battler.current_action.move_action = true
end
end
# ??????????????????????
if @active_battler.is_a?(Game_Actor) and
@active_battler.current_action.move_action
# ?????
if @active_battler.moving == 2
update_phase4_step3_sdva
end
elsif @active_battler.moving == 0
update_phase4_step3_sdva
end
end
#------------------------------------------------- -------------------------
# ? ?????? (??????? ???? 6 : ??????)
#------------------------------------------------- -------------------------
alias update_phase4_step6_sdva update_phase4_step6
def update_phase4_step6
@active_battler.current_action.move_action = false
@active_battler.move_reset
update_phase4_step6_sdva
end
end
#================================================= =============================
# ? Spriteset_Battle
#================================================= =============================
class Spriteset_Battle
#------------------------------------------------- -------------------------
# ? ?????????
#------------------------------------------------- -------------------------
alias initialize_sdva initialize
def initialize
initialize_sdva
@viewport2.z = 1
end
end
#================================================= =============================
# ? Arrow_Actor
#================================================= =============================
class Arrow_Actor < Arrow_Base
#------------------------------------------------- -------------------------
# ? ??????
#------------------------------------------------- -------------------------
alias update_sdva update
def update
update_sdva
# ?????
if Input.repeat?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
@index += 1
@index %= $game_party.actors.size
end
# ?????
if Input.repeat?(Input::UP)
$game_system.se_play($data_system.cursor_se)
@index += $game_party.actors.size - 1
@index %= $game_party.actors.size
end
end
end
#================================================= =============================
# ? Arrow_Enemy
#================================================= =============================
class Arrow_Enemy < Arrow_Base
#------------------------------------------------- -------------------------
# ? ??????
#------------------------------------------------- -------------------------
alias update_sdva update
def update
update_sdva
# ?????
if Input.repeat?(Input::DOWN)
$game_system.se_play($data_system.cursor_se)
$game_troop.enemies.size.times do
@index += 1
@index %= $game_troop.enemies.size
break if self.enemy.exist?
end
end
# ?????
if Input.repeat?(Input::UP)
$game_system.se_play($data_system.cursor_se)
$game_troop.enemies.size.times do
@index += $game_troop.enemies.size - 1
@index %= $game_troop.enemies.size
break if self.enemy.exist?
end
end
end
end
Vous savez faire vos pouvoirs spéciaux maintenant, faîtes les coutés chers en PM