Fla ^~^
The King
Mensagens : 69 Créditos : 6 Data de inscrição : 03/02/2010 Idade : 30
| Assunto: Retornar ao Morrer Qui Fev 04, 2010 3:46 pm | |
| Esse script permite que o player reviva ao morrer onde foi salvo^^ - Código:
-
#============================================================================== # * Retornar ao Morrer #------------------------------------------------------------------------------ # Tradução e Melhorias por br_lemes - 2008-04-12 # Original por SephirothSpawn # Version 2 # 2006-03-04 #------------------------------------------------------------------------------ # * Descrição : # # Este script serve para retornar para o local onde o jogo foi # salvo, ao invés de voltar ao título. Ele permite que você salve o local # ao teletransportar ou salvar o jogo. # Também permite recuperar uma percentagem do seu HP ou SP e perder uma # percentagem do dinheiro ou experiência. #------------------------------------------------------------------------------ # * Instruções : # Cole o script abaixo de Scene_Debug e acima de Main. # Para configurar, veja as instruções de configuração. # Veja Sintaxe para instruções de salvar o local #------------------------------------------------------------------------------ # * Configurações : # # GoInn_Save_When_Transfer = true (LIGADO) ou false (DESLIGADO) # - Descrição : Salva o local de retorno ao teletransportar # GoInn_Save_When_Save = true # - Descrição : Salva o local de retorno ao salvar o jogo # GoInn_HP_Recovery_Percent = 1.0 # - Descrição : Percentagem de maxhp recuperado para todos ou cada personagem # GoInn_SP_Recovery_Percent = 0.75 # - Descrição : Percentagem de maxsp recuperado para todos ou cada personagem # GoInn_Gold_Loss_Percent = 0.5 # - Descrição : Percentagem de perda de dinheiro # GoInn_Expr_Loss_Percent = 0 # - Descrição : Percentagem de perda de experiência para todos ou cada p. # # Se a percentagem de HP, SP ou Experiência for um array, os valores serão # individuais para cada personagem. #------------------------------------------------------------------------------ # * Sintaxe : # # Salvar o local # Chamar script: save_goinn_parameters # # Controle das posições de retorno # - $game_system.gameover_return_parameters[0] = map_id # - $game_system.gameover_return_parameters[1] = player_x # - $game_system.gameover_return_parameters[2] = player_y # - $game_system.gameover_return_parameters[3] = direction #==============================================================================
# Dependência do SDK removido
#============================================================================== # * Game_System #==============================================================================
class Game_System #-------------------------------------------------------------------------- # * Opções #-------------------------------------------------------------------------- GoInn_Save_When_Transfer = true GoInn_Save_When_Save = true GoInn_HP_Recovery_Percent = 1.0 GoInn_SP_Recovery_Percent = 0.75 GoInn_Gold_Loss_Percent = 0.5 GoInn_Expr_Loss_Percent = 0 #-------------------------------------------------------------------------- attr_accessor :gameover_return_parameters alias seph_goinn_gmsys_init initialize def initialize seph_goinn_gmsys_init @gameover_return_parameters = [nil, 0, 0, 2] end end
#============================================================================== # * Interpretador #==============================================================================
class Interpreter #-------------------------------------------------------------------------- # * Teletransporte #-------------------------------------------------------------------------- alias seph_goinn_int_c201 command_201 def command_201 seph_goinn_int_c201 if Game_System::GoInn_Save_When_Transfer $game_system.gameover_return_parameters[0] = $game_temp.player_new_map_id $game_system.gameover_return_parameters[1] = $game_temp.player_new_x $game_system.gameover_return_parameters[2] = $game_temp.player_new_y $game_system.gameover_return_parameters[3] = $game_temp.player_new_direction end return false end #-------------------------------------------------------------------------- # * Salvar parâmetros #-------------------------------------------------------------------------- def save_goinn_parameters $game_system.gameover_return_parameters[0] = $game_map.map_id $game_system.gameover_return_parameters[1] = $game_player.x $game_system.gameover_return_parameters[2] = $game_player.y $game_system.gameover_return_parameters[3] = $game_player.direction end end
#============================================================================== # * Scene_Save #==============================================================================
class Scene_Save < Scene_File #-------------------------------------------------------------------------- # * Salva o jogo e parâmetros do local #-------------------------------------------------------------------------- alias seph_goinn_scnsv_init initialize def initialize if Game_System::GoInn_Save_When_Save $game_system.gameover_return_parameters[0] = $game_map.map_id $game_system.gameover_return_parameters[1] = $game_player.x $game_system.gameover_return_parameters[2] = $game_player.y $game_system.gameover_return_parameters[3] = $game_player.direction end seph_goinn_scnsv_init end end
#============================================================================== # * Scene Gameover #==============================================================================
class Scene_Gameover alias seph_goinn_scngo_update update def update if Input.trigger?(Input::C) unless $game_system.gameover_return_parameters[0].nil? # Recupera HP if Game_System::GoInn_HP_Recovery_Percent.type == Array for i in 0..3 if $game_party.actors[i] != nil $game_party.actors[i].hp += Integer($game_party.actors[i].maxhp * Game_System::GoInn_HP_Recovery_Percent[i]) end end else for actor in $game_party.actors actor.hp += Integer(actor.maxhp * Game_System::GoInn_HP_Recovery_Percent) end end # Recupera SP if Game_System::GoInn_SP_Recovery_Percent.type == Array for i in 0..3 if $game_party.actors[i] != nil $game_party.actors[i].sp += Integer($game_party.actors[i].maxsp * Game_System::GoInn_SP_Recovery_Percent[i]) end end else for actor in $game_party.actors actor.sp += Integer(actor.maxsp * Game_System::GoInn_SP_Recovery_Percent) end end # Perder dinheiro e experiência $game_party.lose_gold(Integer($game_party.gold * Game_System::GoInn_Gold_Loss_Percent)) if Game_System::GoInn_Expr_Loss_Percent.type == Array for i in 0..3 if $game_party.actors[i] != nil $game_party.actors[i].exp -= Integer($game_party.actors[i].exp * Game_System::GoInn_Expr_Loss_Percent[i]) end end else for actor in $game_party.actors actor.exp -= Integer(actor.exp * Game_System::GoInn_Expr_Loss_Percent) end end # Limpa Flags Gameover e In Battle $game_temp.gameover = false $game_temp.in_battle = false # Move o jogador para o local salvo $game_map.setup($game_system.gameover_return_parameters[0]) $game_player.moveto($game_system.gameover_return_parameters[1], $game_system.gameover_return_parameters[2]) # Define a direção do jogador case $game_system.gameover_return_parameters[3] when 2 ; $game_player.turn_down when 4 ; $game_player.turn_left when 6 ; $game_player.turn_right when 8 ; $game_player.turn_up end $game_player.straighten $game_map.update $scene = Scene_Map.new return end end seph_goinn_scngo_update end end
Tutorial: - Spoiler:
Tutorial : Cole o script abaixo de Scene_Debug e acima de Main. Para configurar procure o trecho que diz "# * Opções" e modifique da seguinte forma:
GoInn_Save_When_Transfer = true (LIGADO) ou false (DESLIGADO) - Descrição : Salva o local de retorno ao teletransportar GoInn_Save_When_Save = true - Descrição : Salva o local de retorno ao salvar o jogo GoInn_HP_Recovery_Percent = 1.0 - Descrição : Percentagem de maxhp recuperado para todos ou cada personagem GoInn_SP_Recovery_Percent = 0.75 - Descrição : Percentagem de maxsp recuperado para todos ou cada personagem GoInn_Gold_Loss_Percent = 0.5 - Descrição : Percentagem de perda de dinheiro GoInn_Expr_Loss_Percent = 0 - Descrição : Percentagem de perda de experiência para todos ou cada p.
Se a percentagem de HP, SP ou Experiência for um array, os valores serão individuais para cada personagem. Exemplo: GoInn_HP_Recovery_Percent = [0.5,0.75,1,0.25] O primeiro membro do grupo vai recuperar 50%, o segundo 75%, o terceiro 100% e quarto 25%
Para salvar o lugar de retorno em um evento qualquer, é só Chamar script: save_goinn_parameters
Créditos: br_lemes,Original por SephirothSpawn.,/Rpg brasil |
|