SG Bonus Kill Experience
Publicado em 14 de dezembro de 2011.Script criado por sandgolem para o RPG Maker XP que ao inserido em um game ou projeto deste maker, que cada vez que o jogador mata um inimigo ou monstro, ele ganha um bônus em XP além do padrão configurado nos inimigos do RMXP.
O bônus, por padrão, é a quantidade de XP do inimigo dividida pelo SG_KillBonus_Divisor, valor que está definido como 3, na linha: Scene_Battle::SG_KillBonus_Divisor = 3
Eu ACHO que o bônus pode ser alterado conforme o número de vezes que se mata inimigos, por causa do SG Bonus Kill Experience precisar do SG Actor Kill Counter, instalado. Vamos pesquisar isso e atualizar aqui quando pudermos! Aliás, se alguém com experiência em RGSS puder ajudar, por favor!
Para usar o código, você deve adiciona-lo acima do Main, mas abaixo dos scripts padrões, e do SDK, se você está usando. O SG Actor Kill Counter precisa estar acima do SG Bonus Kill Experience.
#==========================================================================
# ** SG Bonus Kill Experience
#==========================================================================
# sandgolem
# Version 1
# 26.06.06
#==========================================================================
Scene_Battle::SG_KillBonus_Divisor = 3
#==========================================================================
#
# To use this script, copy it and insert it in a new section above "Main",
# but under the default scripts and the SDK (if using).
#
# SG Actor Kill Counter is required for this script and must be above.
#
#==========================================================================
begin
SDK.log('SG Bonus Kill Experience', 'sandgolem', 1, '26.06.06')
if SDK.state('SG Bonus Kill Experience') != true
@sg_bonuskillexp_disabled = true
end
rescue
end
if !@sg_bonuskillexp_disabled
#--------------------------------------------------------------------------
class Game_Actor < Game_Battler
attr_accessor :sg_killbonus_exp
end
class Scene_Battle
alias sg_bonusskillexp_killadd sg_killcheck_add
def sg_killcheck_add(enemy)
if @active_battler.sg_killbonus_exp == nil
@active_battler.sg_killbonus_exp = enemy.exp / SG_KillBonus_Divisor
else
@active_battler.sg_killbonus_exp += enemy.exp / SG_KillBonus_Divisor
end
sg_bonusskillexp_killadd(enemy)
end
alias sandgolem_bonuskillxp_battle_startph5 start_phase5
def start_phase5
sandgolem_bonuskillxp_battle_startph5
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
if !actor.cant_get_exp?
if actor.sg_killbonus_exp != nil
last_level = actor.level
actor.exp += actor.sg_killbonus_exp
actor.sg_killbonus_exp = nil
if actor.level > last_level
@status_window.level_up(i)
end
end
end
end
end
end
#--------------------------------------------------------------------------
endInformações adicionais
- Categoria: Programação XP
- Adicionado por: LichKing
- Acessos: 47
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!
