|
|
|
|
Configuration: Windows XP Internet Explorer 7.0
Il n'y en a pas encore pour RPG Maker Vx (à ma connaissance) mais il y en a un pour RPG Maker Xp (mais bonne chance, c'est long)
Lien pour RPG Maker Xp: http://www.rpg-maker.fr/index.php?page=programmes&type=1 (il faut télécharger et RPG Maker Xp 1.01, et le RGSS de Xp=>sinon ça fonctionne pas) Lien Pour le script a-rpg: http://www.rpgmakeronline.com/forum/viewtopic.php?f=42&t=15 J'espère que je t'ai aidé. |
Je viens de trouver un logiciel rien que pour fait des a-rpg => ZQuest et Zelda Classic
Lien: http://guelnika.alexzone.net/?cell=telechargement&dir=prog |
J'ai le scripte que tu cherche pour rpg maker vx
le voila: il est en 2 partie a mettre diferrament partie1: #============================================================================= # Window Hud #============================================================================= class Window_Hud < Window_Base def initialize super(0,0,128,96) self.opacity = 0 # self.visible = false refresh end def refresh self.contents.clear actor = $game_actors[1] draw_actor_hp(actor, 0, 0, 96) draw_actor_mp(actor, 0, 32, 96) end def update # self.visible = true if $game_switches[1] == true # 1=interruptor que activa y desactiva el HUD refresh end end class Scene_Map alias hud_main main alias hud_update update alias hud_terminate terminate def main @hud = Window_Hud.new hud_main end def update @hud.update hud_update end def terminate @hud.dispose end end partie 2: #=================================== # Vlad ABS #=================================== #-------------------------------------------------------------- # Créditos a Vlad #-------------------------------------------------------------- # Para Crear un Enemigo, coloca las siguientes anotaciones: # Enemy ID - donde ID es la ID del enemigo en la base de datos. # Die X - donde X = 1 o 2 (1 borra el evento de enemigo, 2 pasa al interruptor local 'A') # Follow - Para que el evento siga al personaje automáticamente. #-------------------------------------------------------------- # Configuración General #-------------------------------------------------------------- #-------------------------------------------------------------- # Tecla de Ataque, cambia X por la letra que quieras: Attack_Button = Input::X #-------------------------------------------------------------- # Tecla de Habilidad, cambia Y por la letra que quieras: Skill_Button = {Input::Y => 0} #-------------------------------------------------------------- # Animación cuando el Héroe sube de Nivel: LevelUp_Ani = 40 #-------------------------------------------------------------- # Animación de ataque del enemigo, copia Enemy_atk_ani[2] = 13 # y cambia el 2 por la ID del enemigo, y el 13 por la ID de animación. Enemy_atk_ani = {} Enemy_atk_ani[2] = 13 #-------------------------------------------------------------- #-------------------------------------------------------------- # Game Character #-------------------------------------------------------------- class Game_Character attr_accessor :hp attr_accessor :mp attr_accessor :damage attr_accessor :critical attr_accessor :wait_ataque attr_accessor :die alias vlad_abs_gchar_initialize initialize def initialize @hp = 0 @mp = 0 @die = 0 $skill_for_use = 0 @wait_ataque = 0 @damage = nil @critical = false vlad_abs_gchar_initialize end def recebe_atk(attacker) attacker_status = (attacker.is_a?(Game_Event) ? attacker.enemy_status : $game_actors[1]) receptor_status = (self.is_a?(Game_Event) ? self.enemy_status : $game_actors[1]) self.damage = attacker_status.atk - receptor_status.def self.damage *= attacker_status.elements_max_rate(attacker_status.element_set) self.damage /= 100 self.damage = 0 if self.damage < 0 self.critical = (rand(100) < 4) self.damage *= 2 if self.critical if self.is_a?(Game_Player) $game_actors[1].hp -= self.damage if $game_actors[1].hp <= 0 $scene = Scene_Gameover.new end elsif self.is_a?(Game_Event) self.hp -= self.damage if self.hp <= 0 self.animation_id = 88 $game_actors[1].gain_exp(enemy_status.exp, 1) if @die == 1 self.erase elsif @die == 2 key = [$game_map.map_id, self.id, "A"] $game_self_switches[key] = true end refresh end end end def recebe_skl(attacker) for key in Skill_Button.keys sklid = Skill_Button[key] attacker_status = (attacker.is_a?(Game_Event) ? attacker.enemy_status : $game_actors[1]) receptor_status = (self.is_a?(Game_Event) ? self.enemy_status : $game_actors[1]) self.damage = $data_skills[sklid].atk_f - receptor_status.def self.damage *= attacker_status.elements_max_rate(attacker_status.element_set) self.damage /= 100 self.damage = 0 if self.damage < 0 self.critical = (rand(100) < 4) self.damage *= 2 if self.critical attacker_status.mp -= $data_skills[sklid].mp_cost if self.is_a?(Game_Player) $game_actors[1].hp -= self.damage $scene = Scene_Gameover.new if $game_actors[1].hp <= 0 elsif self.is_a?(Game_Event) self.hp -= self.damage if self.hp <= 0 $game_actors[1].gain_exp(enemy_status.exp, 1) if @die == 1 self.erase elsif @die == 2 key = [$game_map.map_id, self.id, "A"] $game_self_switches[key] = true end refresh end end end end def follow_hero(dx, dy) sx = @x - dx sy = @y - dy if sx == 0 and sy == 0 return end abs_sx = sx.abs abs_sy = sy.abs if abs_sx == 0 sy > 0 ? move_up : move_down if not moving? and sx != 0 sx > 0 ? move_left : move_right end return elsif abs_sy == 0 sx > 0 ? move_left : move_right if not moving? and sy != 0 sy > 0 ? move_up : move_down end return end if abs_sx == abs_sy rand(2) == 0 ? abs_sx += 1 : abs_sy += 1 end if abs_sx > abs_sy sx > 0 ? move_left : move_right if not moving? and sy != 0 sy > 0 ? move_up : move_down end else sy > 0 ? move_up : move_down if not moving? and sx != 0 sx > 0 ? move_left : move_right end end end def raio(dx, dy) ax = (@x - dx) ** 2 ay = (@y - dy) ** 2 return Math.sqrt(ax + ay) end end #-------------------------------------------------------------- # Game Event #-------------------------------------------------------------- class Game_Event < Game_Character attr_reader :inimigo attr_reader :enemy_status alias vlad_abs_gevent_initialize initialize alias vlad_abs_gevent_update update alias vlad_abs_gevent_refresh refresh def initialize(map_id, event) @inimigo = false @automove = false vlad_abs_gevent_initialize(map_id, event) end def check_com(comentario) return false if @list.nil? or @list.size <= 0 for item in @list if item.code == 108 or item.code == 408 if item.parameters[0].downcase.include?(comentario.downcase) return true end end end end def check_comment(comentario) com = comentario.downcase return 0 if @list.nil? or @list.size <= 0 for item in @list if item.code == 108 or item.code == 408 if item.parameters[0].downcase =~ /#{com}[ ]?(\d+)?/ return $1.to_i end end end return 0 end def update vlad_abs_gevent_update if @inimigo new_x = (@x + (@direction == 4 ? -1 : @direction == 6 ? 1 : 0)) new_y = (@y + (@direction == 8 ? -1 : @direction == 2 ? 1 : 0)) if self.wait_ataque > 0 self.wait_ataque -= 1 elsif $game_player.x == new_x and $game_player.y == new_y $game_player.recebe_atk(self) $game_player.animation_id = self.enemy_atk_animation_id $game_player.jump(0,0) self.wait_ataque = 60 end end if @automove unless moving? self.follow_hero($game_player.x, $game_player.y) end end end def refresh vlad_abs_gevent_refresh @inimigo = false @enemy_id = check_comment("Enemy") @automove = true if check_com("Follow") == true @die = check_comment("Die") if @enemy_id > 0 @inimigo = true @enemy_status = Game_Enemy.new(@enemy_id, @enemy_id) self.hp = @enemy_status.maxhp self.mp = @enemy_status.maxmp end end def enemy_atk_animation_id if Enemy_atk_ani[@enemy_id] return (@enemy_status.nil? ? 0 : Enemy_atk_ani[@enemy_id]) else return (@enemy_status.nil? ? 0 : 1) end end def Enemy_atk_ani return Enemy_atk_ani end end #-------------------------------------------------------------- # Game Player #-------------------------------------------------------------- class Game_Player < Game_Character alias vlad_abs_gplayer_update update alias vlad_abs_gplayer_refresh refresh def update vlad_abs_gplayer_update if self.wait_ataque > 0 self.wait_ataque -= 1 end def refresh vlad_abs_gplayer_refresh self.hp = $game_actors[1].hp self.mp = $game_actors[1].mp end if Input.trigger?(Attack_Button) and self.wait_ataque <= 0 new_x = (@x + ($game_player.direction == 4 ? -1 : $game_player.direction == 6 ? 1 : 0)) new_y = (@y + ($game_player.direction == 8 ? -1 : $game_player.direction == 2 ? 1 : 0)) for event in $game_map.events.values if event.inimigo if event.x == new_x and event.y == new_y event.recebe_atk(self) event.animation_id = self.player_atk_animation_id event.jump(0,0) self.wait_ataque = 30 break end end end end for key in Skill_Button.keys if Input.trigger?(key) and Skill_Button[key] != nil and Skill_Button[key] != 0 and $game_actors[1].mp >= $data_skills[Skill_Button[key]].mp_cost and self.wait_ataque <= 0 new_x = (@x + ($game_player.direction == 4 ? -1 : $game_player.direction == 6 ? 1 : 0)) new_y = (@y + ($game_player.direction == 8 ? -1 : $game_player.direction == 2 ? 1 : 0)) for event in $game_map.events.values if event.inimigo if event.x == new_x and event.y == new_y event.recebe_skl(self) event.animation_id = self.player_skl_animation_id event.jump(0,0) self.wait_ataque = 60 break end end end end end def player_atk_animation_id return ($game_actors[1].nil? ? 0 : $game_actors[1].atk_animation_id) end def player_skl_animation_id for key in Skill_Button.keys sklid = Skill_Button[key] return ($game_actors[1].nil? ? 0 : $data_skills[sklid].animation_id) end end def Attack_Button return Attack_Button end def Skill_Button return Skill_Button end end end #-------------------------------------------------------------- # Game Actor #-------------------------------------------------------------- class Game_Actor alias vlad_abs_change_exp change_exp def change_exp(exp, show) last_level = @level last_skills = skills @exp = [[exp, 9999999].min, 0].max while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0 level_up end while @exp < @exp_list[@level] level_down end @hp = [@hp, maxhp].min @mp = [@mp, maxmp].min if show and @level > last_level show_level_up end vlad_abs_change_exp(exp,show) end def show_level_up $game_player.animation_id = LevelUp_Ani $game_actors[1].hp = $game_actors[1].maxhp $game_actors[1].mp = $game_actors[1].maxmp end def LevelUp_Ani return LevelUp_Ani end end #-------------------------------------------------------------- # Sprite Base #-------------------------------------------------------------- class Sprite_Base alias animation animation_set_sprites def animation_set_sprites(frame) cell_data = frame.cell_data for i in 0..15 sprite = @animation_sprites[i] next if sprite == nil pattern = cell_data[i, 0] if pattern == nil or pattern == -1 sprite.visible = false next end if pattern < 100 sprite.bitmap = @animation_bitmap1 else sprite.bitmap = @animation_bitmap2 end sprite.visible = true sprite.src_rect.set(pattern % 5 * 192, pattern % 100 / 5 * 192, 192, 192) if @animation_mirror sprite.x = @animation_ox - cell_data[i, 1] / 2 sprite.y = @animation_oy - cell_data[i, 2] / 2 sprite.angle = (360 - cell_data[i, 4]) sprite.mirror = (cell_data[i, 5] == 0) else sprite.x = @animation_ox + cell_data[i, 1] / 2 sprite.y = @animation_oy + cell_data[i, 2] / 2 sprite.angle = cell_data[i, 4] sprite.mirror = (cell_data[i, 5] == 1) end sprite.z = self.z + 300 sprite.ox = 96 sprite.oy = 96 sprite.zoom_x = cell_data[i, 3] / 200.0 sprite.zoom_y = cell_data[i, 3] / 200.0 sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 sprite.blend_type = cell_data[i, 7] end end end #-------------------------------------------------------------- # Sprite Character #-------------------------------------------------------------- class Sprite_Character < Sprite_Base alias vlad_abs_spchar_update update def initialize(viewport, character = nil) super(viewport) @character = character @balloon_duration = 0 @_damage_duration = 0 update end def update super if @_damage_duration > 0 @_damage_duration -=1 @_damage_sprite.x = self.x if @_damage_duration <= 0 dispose_damage end end if @character != nil and @character.damage != nil damage(@character.damage, @character.critical) @character.damage = nil @character.critical = false end vlad_abs_spchar_update end def damage(value, critical) dispose_damage if value.is_a?(Numeric) damage_string = value.abs.to_s else damage_string = value.to_s end bitmap = Bitmap.new(160, 48) bitmap.font.name = "Georgia" bitmap.font.size = 22 bitmap.font.italic = true if value.is_a?(Numeric) and value <= 0 bitmap.font.color.set(0, 0, 0) bitmap.draw_text(1, 13, 160, 36, "Fallo", 1) bitmap.font.color.set(255, 245, 155) bitmap.draw_text(0, 12, 160, 36, "Fallo", 1) else bitmap.font.color.set(0, 0, 0) bitmap.draw_text(1, 13, 160, 36, damage_string, 1) bitmap.font.color.set(255, 255, 255) bitmap.draw_text(0, 12, 160, 36, damage_string, 1) end if critical bitmap.font.color.set(0, 0, 0) bitmap.draw_text(1, 6, 160, 20, "Crítico", 1) bitmap.font.color.set(255, 245, 155) bitmap.draw_text(0, 5, 160, 20, "Crítico", 1) end @_damage_sprite = ::Sprite.new(self.viewport) @_damage_sprite.bitmap = bitmap @_damage_sprite.ox = 80 @_damage_sprite.oy = 20 @_damage_sprite.x = self.x @_damage_sprite.y = self.y - self.oy / 2 - 40 @_damage_sprite.z += 99999 @_damage_duration = 30 end def show_text(string, size=16, color=0) dispose_damage damage_string = string if string.is_a?(Array) array = true else array = false end bitmap = Bitmap.new(160, 48) bitmap.font.name = "Georgia" bitmap.font.size = size bitmap.font.italic = true if array for i in 0..string.size next if damage_string[i] == nil bitmap.font.color.set(96, 96-20, 0) if color == 0 bitmap.font.color.set(0, 0, 0) if color != 0 bitmap.draw_text(-1, (12+(16*i)-1)-16, 160, 36, damage_string[i], 1) bitmap.draw_text(+1, (12+(16*i)-1)-16, 160, 36, damage_string[i], 1) bitmap.draw_text(-1, (12+(16*i)+1)-16, 160, 36, damage_string[i], 1) bitmap.draw_text(+1, (12+(16*i)+1)-16, 160, 36, damage_string[i], 1) bitmap.font.color.set(255, 245, 155) if color == 0 bitmap.font.color.set(144, 199, 150) if color == 1 bitmap.font.color.set(197, 147, 190)if color == 2 bitmap.font.color.set(138, 204, 198)if color == 3 bitmap.draw_text(0, (12+(16*i))-16, 160, 36, damage_string[i], 1) end else bitmap.font.color.set(96, 96-20, 0) if color == 0 bitmap.font.color.set(0, 0, 0) if color != 0 bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1) bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1) bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1) bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1) bitmap.font.color.set(255, 245, 155) if color == 0 bitmap.font.color.set(144, 199, 150) if color == 1 bitmap.font.color.set(197, 147, 190)if color == 2 bitmap.font.color.set(138, 204, 198)if color == 3 bitmap.draw_text(0, 12, 160, 36, damage_string, 1) end @_damage_sprite = ::Sprite.new(self.viewport) @_damage_sprite.bitmap = bitmap @_damage_sprite.ox = 80 @_damage_sprite.oy = 20 @_damage_sprite.x = self.x @_damage_sprite.y = self.y - self.oy / 2 @_damage_sprite.z = 3000 @_damage_duration = 30 end def dispose_damage if @_damage_sprite != nil @_damage_sprite.dispose @_damage_sprite = nil end end end #-------------------------------------------------------------- # Window Skill #-------------------------------------------------------------- class Scene_Skill alias vlad_abs_sskill_initialize initialize alias vlad_abs_sskill_update update def initialize(actor_index = 0, equip_index = 0) @memory = Window_Command.new(150, ["¡Memorizada!"]) @memory.active = false @memory.visible = false @memory.x = (544 - @memory.width) / 2 @memory.y = (416 - @memory.height) / 2 @memory.z = 1500 vlad_abs_sskill_initialize end def update update_skill @memory.update if @memory.active return update_memory if @memory.active vlad_abs_sskill_update end def update_skill for key in Skill_Button.keys if Input.trigger?(key) Sound.play_decision Skill_Button[key] = @skill_window.skill.id @memory.active = @memory.visible = true @skill_window.active = false end end end def update_memory if Input.trigger?(Input::C) Sound.play_decision @memory.active = @memory.visible = false @skill_window.active = true end end def Skill_Button return Skill_Button end end #-------------------------------------------------------------- # Fin del ABS #-------------------------------------------------------------- |
Résultats pour Logiciel pour créer un A RPG ( zelda...)
Résultats pour Logiciel pour créer un A RPG ( zelda...)
Résultats pour Logiciel pour créer un A RPG ( zelda...)
Résultats pour Logiciel pour créer un A RPG ( zelda...)
Résultats pour Logiciel pour créer un A RPG ( zelda...)