Alors voila ce script conçerne les combats et marche tres bien dailleurs.
Le script a pour but de faire bouger l'image des dresseurs adverses au début des combats a la pkmn platine.
Tout dabord,pour que cela marche,tu dois posseder trois position du dresseurs adverses ou plus si tu le souhaite
plus y'en auras mieux sera l'animation.par exemple :
tu devras insérer les images des dresseurs que tu veux faire bouger dans le dossier Pictures.
Deuxiemement dans le script battlecore1
a la ligne 94 par exemple la ou vous avez de la place dans fenetre d'action.
ajoute tes trois images .exemple:
|
+Agrandir|
-Réduire|
version texte|
copier le code|
imprimer|
?- @enemy_battlercom = Sprite.new
-
- if $game_variables[96]==1
-
- @enemy_battlercom.bitmap = RPG::Cache.picture("mouvement_1.png")
-
- end
-
- @enemy_battlercom.x = 380
-
- @enemy_battlercom.y = 45
-
- @enemy_battlercom.z = @z_level + 16
-
- @enemy_battlercom.visible = false
-
- @enemy_battlercom1 = Sprite.new
-
- if $game_variables[96]==1
-
- @enemy_battlercom1.bitmap = RPG::Cache.picture("mouvement_2.png")
-
- end
-
- @enemy_battlercom1.x = 380
-
- @enemy_battlercom1.y = 45
-
- @enemy_battlercom1.z = @z_level + 16
-
- @enemy_battlercom1.visible = false
-
- @enemy_battlercom2 = Sprite.new
-
- if $game_variables[96]==1
-
- @enemy_battlercom2.bitmap = RPG::Cache.picture("mouvement_3.png")
-
- end
-
- @enemy_battlercom2.x = 380
-
- @enemy_battlercom2.y = 45
-
- @enemy_battlercom2.z = @z_level + 16
-
- @enemy_battlercom2.visible = false
@enemy_battlercom = Sprite.new
if $game_variables[96]==1
@enemy_battlercom.bitmap = RPG::Cache.picture("mouvement_1.png")
end
@enemy_battlercom.x = 380
@enemy_battlercom.y = 45
@enemy_battlercom.z = @z_level + 16
@enemy_battlercom.visible = false
@enemy_battlercom1 = Sprite.new
if $game_variables[96]==1
@enemy_battlercom1.bitmap = RPG::Cache.picture("mouvement_2.png")
end
@enemy_battlercom1.x = 380
@enemy_battlercom1.y = 45
@enemy_battlercom1.z = @z_level + 16
@enemy_battlercom1.visible = false
@enemy_battlercom2 = Sprite.new
if $game_variables[96]==1
@enemy_battlercom2.bitmap = RPG::Cache.picture("mouvement_3.png")
end
@enemy_battlercom2.x = 380
@enemy_battlercom2.y = 45
@enemy_battlercom2.z = @z_level + 16
@enemy_battlercom2.visible = false
comme tu as pus le remarquer(enfin,je pense)le battller que tu voudras faire bouger aura un numéro de variable par exemple les trois images du haut sont de la variable96=1
si tu veux mettre des différents battlers animé remet le meme morceau de script en mettant par exemple variable96=2
par exemple variable 96=battler,si var_96=1 alors sa sera le battler mouvement_qui effectueras c'est trois étape.si var_96 =2alors autres battllereffectuement un mouvement.
sache que dans la base de donnés dans rencontre dresseurs tu devras enlever le battler adverse si tu veux mettre l'animation de mouvement.
bon,pour l'animation en combat inseres ce code dans le script_pokemon_battle_trainer:
|
+Agrandir|
-Réduire|
version texte|
copier le code|
imprimer|
?- # Dessin
-
- Graphics.freeze
-
- @background.bitmap = RPG::Cache.battleback(@battleback_name)
-
- @message_background.bitmap = RPG::Cache.battleback(BATTLE_MSG)
-
- @enemy_sprite.bitmap = RPG::Cache.battler(@start_enemy_battler, 0)
-
- @enemy_sprite.ox = @enemy_sprite.bitmap.width / 2
-
- @enemy_sprite.oy = @enemy_sprite.bitmap.height * 2 / 3
-
- @enemy_battlercom.visible = true
-
- @enemy_battlercom.x -= 782
-
- @enemy_sprite.x -= 782
-
- @enemy_ground.bitmap = RPG::Cache.battleback(@ground_name)
-
- @enemy_ground.ox = @enemy_ground.bitmap.width / 2
-
- @enemy_ground.oy = @enemy_ground.bitmap.height / 2
-
- @enemy_ground.zoom_x = @enemy_ground.zoom_y = 2.0/2.5
-
- @enemy_ground.x -= 782
-
- @actor_ground.bitmap = RPG::Cache.battleback(@ground_name)
-
- @actor_ground.ox = @actor_ground.bitmap.width / 2
-
- @actor_ground.oy = @actor_ground.bitmap.height
-
- @actor_ground.x += 782
-
- @actor_sprite.bitmap = RPG::Cache.battler(@start_actor_battler, 0)
-
- @actor_sprite.ox = @actor_sprite.bitmap.width / 2
-
- @actor_sprite.oy = @actor_sprite.bitmap.height
-
- @actor_sprite.x += 782
-
- Graphics.transition(50, "Graphics/Transitions/battle0.png")
-
- end
-
-
-
- def pre_battle_animation
-
- # Glissement des sprites
-
- loop do
-
- @enemy_battlercom.x += 17
-
- @enemy_sprite.x += 17
-
- @enemy_ground.x += 17
-
- @actor_sprite.x -= 17
-
- @actor_ground.x -= 17
-
- Graphics.update
-
- if @enemy_sprite.x == 464
-
- break
-
- end
-
- end
-
-
-
- # Confrontation des joueurs avec affichage des balls
-
- @vent_defile.visible = false
-
- draw_text("Un combat est lancé", "par "+ Trainer_Info.string(@trainer_id) + "!")
-
- wait(25)
-
- @enemy_battlercom.visible = false
-
- @enemy_battlercom1.visible = true
-
- wait(25)
-
- @enemy_battlercom1.visible = false
-
- @enemy_battlercom2.visible = true
-
- wait(25)
-
- @actor_party_status.reset_position
-
- @enemy_party_status.reset_position
-
- @actor_party_status.visible = true
-
- @enemy_party_status.visible = true
-
- @actor_party_status.active = true
-
- @enemy_party_status.active = true
-
- @actor_party_status.x += 400
-
- @enemy_party_status.x -= 400
-
- @enemy_party_status.y -= -40
-
- Graphics.update
# Dessin
Graphics.freeze
@background.bitmap = RPG::Cache.battleback(@battleback_name)
@message_background.bitmap = RPG::Cache.battleback(BATTLE_MSG)
@enemy_sprite.bitmap = RPG::Cache.battler(@start_enemy_battler, 0)
@enemy_sprite.ox = @enemy_sprite.bitmap.width / 2
@enemy_sprite.oy = @enemy_sprite.bitmap.height * 2 / 3
@enemy_battlercom.visible = true
@enemy_battlercom.x -= 782
@enemy_sprite.x -= 782
@enemy_ground.bitmap = RPG::Cache.battleback(@ground_name)
@enemy_ground.ox = @enemy_ground.bitmap.width / 2
@enemy_ground.oy = @enemy_ground.bitmap.height / 2
@enemy_ground.zoom_x = @enemy_ground.zoom_y = 2.0/2.5
@enemy_ground.x -= 782
@actor_ground.bitmap = RPG::Cache.battleback(@ground_name)
@actor_ground.ox = @actor_ground.bitmap.width / 2
@actor_ground.oy = @actor_ground.bitmap.height
@actor_ground.x += 782
@actor_sprite.bitmap = RPG::Cache.battler(@start_actor_battler, 0)
@actor_sprite.ox = @actor_sprite.bitmap.width / 2
@actor_sprite.oy = @actor_sprite.bitmap.height
@actor_sprite.x += 782
Graphics.transition(50, "Graphics/Transitions/battle0.png")
end
def pre_battle_animation
# Glissement des sprites
loop do
@enemy_battlercom.x += 17
@enemy_sprite.x += 17
@enemy_ground.x += 17
@actor_sprite.x -= 17
@actor_ground.x -= 17
Graphics.update
if @enemy_sprite.x == 464
break
end
end
# Confrontation des joueurs avec affichage des balls
@vent_defile.visible = false
draw_text("Un combat est lancé", "par "+ Trainer_Info.string(@trainer_id) + "!")
wait(25)
@enemy_battlercom.visible = false
@enemy_battlercom1.visible = true
wait(25)
@enemy_battlercom1.visible = false
@enemy_battlercom2.visible = true
wait(25)
@actor_party_status.reset_position
@enemy_party_status.reset_position
@actor_party_status.visible = true
@enemy_party_status.visible = true
@actor_party_status.active = true
@enemy_party_status.active = true
@actor_party_status.x += 400
@enemy_party_status.x -= 400
@enemy_party_status.y -= -40
Graphics.update
et quand tu gagne un combat :
|
+Agrandir|
-Réduire|
version texte|
copier le code|
imprimer|
?- @enemy_sprite.opacity = 255
-
- @enemy_sprite.zoom_x = 1
-
- @enemy_sprite.zoom_y = 1
-
- @enemy_sprite.visible = true
-
- @enemy_sprite.bitmap = RPG::Cache.battler(@start_enemy_battler, 0)
-
- @enemy_sprite.ox = @enemy_sprite.bitmap.width / 2
-
- @enemy_sprite.oy = @enemy_sprite.bitmap.height / 2
-
- @enemy_battlercom.visible = true
-
- @enemy_battlercom.x = 723
-
- @enemy_sprite.x = 723
-
- @enemy_sprite.y -= @enemy_sprite.bitmap.height / 2
-
- loop do
-
- @enemy_battlercom.x -= 10
-
- @enemy_sprite.x -= 10
-
- Graphics.update
-
- if @enemy_sprite.x <= 464
-
- break
-
- end
-
- end
-
- wait_hit
-
-
-
-
-
- list_string = Trainer_Info.string_victory(@trainer_id)
-
- draw_text(list_string)
-
- wait_hit
-
-
-
-
-
- $battle_var.money = Trainer_Info.money(@trainer_id)
-
- draw_text(Player.name + " remporte " + ($battle_var.money).to_s + "$!")
-
- $pokemon_party.add_money($battle_var.money)
-
- wait(40)
-
-
-
- wait(30)
-
-
-
- $game_system.bgm_play($game_temp.map_bgm)
-
- for actor in @evolve_checklist
-
- info = actor.evolve_check
-
- if info != false
-
- scene = Pokemon_Evolve.new(actor, info, @z_level + 200)
-
- scene.main
-
- end
-
- end
-
-
-
- end_battle
-
- @enemy_battlercom.visible = false
-
- end
-
-
-
-
-
- end
-
-
-
- end
@enemy_sprite.opacity = 255
@enemy_sprite.zoom_x = 1
@enemy_sprite.zoom_y = 1
@enemy_sprite.visible = true
@enemy_sprite.bitmap = RPG::Cache.battler(@start_enemy_battler, 0)
@enemy_sprite.ox = @enemy_sprite.bitmap.width / 2
@enemy_sprite.oy = @enemy_sprite.bitmap.height / 2
@enemy_battlercom.visible = true
@enemy_battlercom.x = 723
@enemy_sprite.x = 723
@enemy_sprite.y -= @enemy_sprite.bitmap.height / 2
loop do
@enemy_battlercom.x -= 10
@enemy_sprite.x -= 10
Graphics.update
if @enemy_sprite.x <= 464
break
end
end
wait_hit
list_string = Trainer_Info.string_victory(@trainer_id)
draw_text(list_string)
wait_hit
$battle_var.money = Trainer_Info.money(@trainer_id)
draw_text(Player.name + " remporte " + ($battle_var.money).to_s + "$!")
$pokemon_party.add_money($battle_var.money)
wait(40)
wait(30)
$game_system.bgm_play($game_temp.map_bgm)
for actor in @evolve_checklist
info = actor.evolve_check
if info != false
scene = Pokemon_Evolve.new(actor, info, @z_level + 200)
scene.main
end
end
end_battle
@enemy_battlercom.visible = false
end
end
end
donc pur changer de trainer animé tu mettras dans un événement avant le combat le numéro de sa variable par exmple 96=1 et tu auras mouvement_1,2,3voili,voili,voila
regarde le résultat en vidéo :
object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/J4OIQLKtNHs&hl=fr&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
</object>