Alucard_2
Membro Especial
Postagens : 6 Data de inscrição : 29/01/2010
| Assunto: [RGSS2]Skills que custam HP! Sex Jan 29, 2010 8:14 pm | |
| Introdução Este tutorial vai te ensinar como criar técnicas que custam HP ao invés de MP. Este sistema é baseado em certas skills de Persona, que retiram HP do utilizador ao invés de MP. Tutorial Passo: 1º - Abra o Editor de Scripts; 2º - Vá no script "Scene_Battle"; 3º - Na linha 890 a 892, você vai encontrar algo assim: - Citação :
- display_animation(targets, skill.animation_id)
@active_battler.mp -= @active_battler.calc_mp_cost(skill) $game_temp.common_event_id = skill.common_event_id
4º - Substitua por: - Citação :
- display_animation(targets, skill.animation_id)
if skill.id == 73 @active_battler.hp -= (@active_battler.hp / 100 * 5) else @active_battler.mp -= @active_battler.calc_mp_cost(skill) end $game_temp.common_event_id = skill.common_event_id
Legenda: Vermelho: ID da skill que gastará HP. Marrom: Porcentagem de quanto de HP será retirado do utilizador. 5º - Teste o jogo com alguém que já possa utilizar a técnica, deu certo? Aplausos! Não deu certo?[s]Descontem no Thanatos666![/s] Então tentem denovo! Adicionais Colocando mais de uma Skill que custe HP.1º - Pegue o que você fez anteriormente: - Citação :
- display_animation(targets, skill.animation_id)
if skill.id == 73 @active_battler.hp -= (@active_battler.hp / 100 * 5) else @active_battler.mp -= @active_battler.calc_mp_cost(skill) end $game_temp.common_event_id = skill.common_event_id
2º - Acrescente um "elsif", ficará mais ou menos assim: - Citação :
- if skill.id == 73
@active_battler.hp -= (@active_battler.hp / 100 * 5) elsif skill.id == 74 @active_battler.hp -= (@active_battler.hp / 100 * 5) else @active_battler.mp -= @active_battler.calc_mp_cost(skill) end $game_temp.common_event_id = skill.common_event_id
Legenda: Verde: ID de outra Skill que use HP. Marrom: Explicado anteriormente. 3º - Acrescente quantos elsifs você quiser, como eu fiz: - Citação :
- if skill.id == 73
@active_battler.hp -= (@active_battler.hp / 100 * 5) elsif skill.id == 74 @active_battler.hp -= (@active_battler.hp / 100 * 5) elsif skill.id == 75 @active_battler.hp -= (@active_battler.hp / 100 * 12) elsif skill.id == 76 @active_battler.hp -= (@active_battler.hp / 100 * 12) else @active_battler.mp -= @active_battler.calc_mp_cost(skill) end $game_temp.common_event_id = skill.common_event_id
Pronto! Colocando para aparecer se gasta HP ou não.1º - Vá no script "Window_Skill" 2º - Na linha 58, você vai encontrar o seguinte: - Citação :
- self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
3º - Substitua para: - Citação :
- if skill.id == 73
self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) self.contents.draw_text(rect.x+35, rect.y, rect.width, rect.height, "%HP", 2) else self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2)
Legenda: Vermelho: ID da skill que utiliza HP. 4º - Para adicionar mais, faça como no Scene_Battle, adicione os elsifExemplo: - Citação :
- if skill.id == 73
self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) self.contents.draw_text(rect.x+35, rect.y, rect.width, rect.height, "%HP", 2) elsif skill.id == 74 self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) self.contents.draw_text(rect.x+35, rect.y, rect.width, rect.height, "%HP", 2) elsif skill.id == 75 self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) self.contents.draw_text(rect.x+35, rect.y, rect.width, rect.height, "%HP", 2) elsif skill.id == 76 self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) self.contents.draw_text(rect.x+35, rect.y, rect.width, rect.height, "%HP", 2) else self.contents.draw_text(rect, @actor.calc_mp_cost(skill), 2) end
Pronto, tudo certinho! Gostou? Aplausos! |
|