Teyan - Pon 14 Gru, 2009 10:23 Temat postu: Bonus HP/MP z itemówKolejny krótki i prosty w użyciu skrypt, który przetłumaczyłem. Możemy dzięki niemu zwiększać HP bohatera, który nosi dany przedmiot.
INSTRUKCJA:
wszystko w skrypcie.
DEMO i SCREENY:
niepotrzebne.
Spoiler:
Kod:
#==============================================================================
# Itemy dodające HP/MP
# Wersja: 1.0
# Autor: modern algebra
# Data: July 7, 2008
# Tłumaczenie: Marcin (www.ultimateam.pl)
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# INSTRUKCJA:
#
# Po prostu wpisz poniższy kod w notatkach/note danego przedmiotu:
# Jeżeli chcesz dodać/odjąć HP:
# \maxhp[x] (x - liczba, o której wartość zmienia się HP, może być ujemna lub dodatnia)
#
# Jeżeli chcesz dodać/odjąć MP:
# \maxmp[x] (x - liczba, o której wartość zmienia się MP, może być ujemna lub dodatnia)
#
#==============================================================================
# Nie zmieniaj poniżej tego skryptu, chyba że wiesz co robisz (ja go nawet nie tłumaczyłem, myśle,
# że dla tych, którzy chcą zmienić ten skrypt angielskie wyjaśnienia będą bardziej zrozumiałe
# niż moje "transmówki").
#==============================================================================
# ** RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# new methods - maxhp, maxmp
#==============================================================================
class RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * MaxHP Bonus
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def maxhp
return $1.to_i if self.note[/\\maxhp\[(-*\d+)\]/i] != nil
return 0
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * MaxMP Bonus
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def maxmp
return $1.to_i if self.note[/\\maxmp\[(-*\d+)\]/i] != nil
return 0
end
end
class Game_Actor
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Setup
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_levent_hpmpmax_upd_equipment_stup setup
def setup (actor_id)
# Run Original method
modalg_levent_hpmpmax_upd_equipment_stup (actor_id)
equips.each_index { |i| calc_hpmp_bonuses (equips[i]) }
self.hp = self.maxhp
self.mp = self.maxmp
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Change Equip
#--------------------------------------------------------------------------
# Adds and subtracts maxhp upon equip
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_levnthn_maxhpmp_equip_change_9nej change_equip
def change_equip (equip_type, item, test = false)
calc_hpmp_bonuses (equips[equip_type], false)
# Run Original Method
modalg_levnthn_maxhpmp_equip_change_9nej (equip_type, item, test)
calc_hpmp_bonuses (item)
self.hp = [self.hp, self.maxhp].min
self.mp = [self.mp, self.maxmp].min
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Add HPMP Bonuses
# item : the item in question
# sign : true => add, false => subtract
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def calc_hpmp_bonuses (item = nil, sign = true)
return if item == nil
hp = sign ? item.maxhp : -item.maxhp
@maxhp_plus += hp
mp = sign ? item.maxmp : -item.maxmp
@maxmp_plus += mp
end
end
MrBoomGood - Wto 03 Maj, 2011 15:30 Działa! Super szukałem czegoś takiego :)Marson - Pią 02 Wrz, 2011 12:25 Dobre, działa, ale przydał by się jeszcze +ZR +INT itp.SaE - Sob 03 Wrz, 2011 19:59 A nie można ustawić agility plus i spirit plus dla ekwipunku? Coś mi się zdaje że nie jest potrzebny żaden skrypt ^^kolkav5 - Czw 21 Cze, 2012 11:00 Super skrypt.
Jeden z najlepszych!
Bardzo go polecam!
Użyję go w swojej grze.
P R O. BezimiennyKot1 - Czw 21 Cze, 2012 11:02 Może się przydać... Użyję Laura - Wto 02 Paź, 2012 12:50 Dzięki za skrypt