Chyba dobrze przetłumaczyłem, choć mogą być drobne błędy. Skrypt nie wydaje się jakiś skomplikowany.
#===============================================================================
# Hunger & Thirst
#===============================================================================
# Written by Synthesize & Translated by Yoroiookami
# March 1, 2008
# Version 1.0.1
#===============================================================================
module SynHT
Default_hunger = 0 # Domyślny Głód
Default_thirst = 0 # Domyślne Pragnienie
Frames_hunger_down = 40 # # klatek przed wzrośnięciem głodu
Frames_thirst_down = 250 # # klatek przed wzrośnięciem pragnienia
Call_event_hunger = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 200% Głodu(Śmierć), 175% Głodu, 150% Głodu, 125% Głodu, 100% Głodu
# 75% Głodu, 50% Głodu, 25% Głodu, 0% Głodu.
Call_event_thirst = [10, 11, 12, 13, 14, 15, 16, 17, 18]
# 200% Pragnienia(Śmierć), 175% Pragnienia, 150% Pragnienia, 125% Pragnienia,
# 100% Pragnienia, 75% Pragnienia, 50% Pragnienia, 25% Pragnienia, 0% Pragnienia.
end
=begin
#-------------------------------------------------------------------------------
# Dokumentacja
#-------------------------------------------------------------------------------
# Wstęp
#-------------------------------------------------------------------------------
Ten skrypt zostal zaprojektowany pod RPG Maker XP. Jednakże działa także w
RPG Makerze VX po kilku małych zmianach. Co ten skrypt robi? Pozwala każdej
postaci na posiadanie własnych punktów głodu i pragnienia, które spadają powoli z
czasem. Punkty te można odzyskać przez nomnomowanie jedzenia i picie napojów.
W przyszłych wersjach, jeśli jakiekolwiek będą, spodziewajcie się większych dodatków.
#-------------------------------------------------------------------------------
# Kompatybilność
#-------------------------------------------------------------------------------
Skrypt powinien być kompatybilny z większością innych skryptów.
#-------------------------------------------------------------------------------
# Użycie:
#-------------------------------------------------------------------------------
Umieść jako nowy skrypt nad "main". Dostosuj opcje na górze skryptu według
własnych zachcianek.
Default_hunger = 0 to głód domyślny z którym każdy bohater zaczyna.
Default_thirst = 0 to pragnienie domyślne z którym każdy bohater zaczyna.
Frames_hunger_down = 500 liczba klatek po których głód postaci zaczyna rosnąć.
Frames_thirst_down = 250 podobnie jak wyżej(pragnienie).
Call_event_hunger = [x,x,x,x,x,x,x,x,x] używa common event/zwykłe zdarzenie/
/zdarzenie globalne) (x) kiedy głód dochodzi do pewnego procentu.
Call_event_thirst = [], podobnie jak powyżej(pragnienie).
#-------------------------------------------------------------------------------
# Tworzenie itemków które 'odnawiają' Głód/Pragnienie postaci.
#-------------------------------------------------------------------------------
Najpierw, stwórz przedmiot w Bazie Danych(items), ustaw ikonkę.
Następnie kliknij "call a common event" (użycie zdarzenia zwykłego w przedmiocie)
i wybierz zdarzenie odpowiedzialne za ten przedmiot.
Czyli na przykład, jeśli masz przedmiot o nazwie 'Jabłko', to stwórz nowy
common event(zdarzenie zwykłe) o nazwie 'Jabłko' i użyj tego
zdarzenia w przedmiocie.
Na stronie "common event" jabłka możesz dodać jakikolwiek tekst i animację.
Żeby następnie zmniejszyć głód/pragnienie, dodasz jedno z wielu poleceń w
zmiennej globalnej $HTS używając polecenia wywołania skryptu.
#-------------------------------------------------------------------------------
# Klasa HTS
#-------------------------------------------------------------------------------
Klasa HTS pozwala każdemu z doświadczeniem w -RGSS i innym- na łatwym
ustawieniu skryptu z łatwymi do zrozumienia poleceniami. Możesz wezwać polecenia
HTS używając polecenia "Call script"(wywołanie skryptu) i wielu innych poleceń
wypisanych poniżej:
$HTS.
add_hunger(liczba, członek drużyny)
add_thirst(liczba, członek drużyny)
remove_hunger(liczba, członek drużyny)
remove_thirst(liczba, członek drużyny)
set_hunger(liczba, członek drużyny)
set_thirst(liczba, członek drużyny)
check_hunger(liczba, członek drużyny, napis)
check_thirst(liczba, członek drużyny, napis)
print_hunger
print_thirst
Gdzie:
Liczba = Wartość liczbowa
Członek Drużyny = Pozycja członka drużyny -1 (Pozycja 1-1 = 0)
Napis = "<",">","=","!"
"<" = Mniej niż
">" = Więcej niż
"=" = Równe
"!" = Nierówne
=end
#-------------------------------------------------------------------------------
# Game_Actor:: Tworzenie punktów Głodu/Pragnienia
#-------------------------------------------------------------------------------
class Game_Actor < Game_Battler
attr_accessor :hunger
attr_accessor :thirst
alias syn_ht_setup setup
def setup(actor_id)
syn_ht_setup(actor_id)
@hunger = SynHT::Default_hunger
@thirst = SynHT::Default_thirst
end
end
#-------------------------------------------------------------------------------
# Scene_Map:: Redukcja punktów Głodu/Pragnienia
#-------------------------------------------------------------------------------
class Scene_Map
alias syn_ht_update update
#-----------------------------------------------------------------------------
# Początkowe zmienne
#-----------------------------------------------------------------------------
def initialize
@wait_time = 0
@wait_time_thirst = 0
end
#-----------------------------------------------------------------------------
# Update:: Updates the surrent scene (Nadpisuje obecną scenę?)
#-----------------------------------------------------------------------------
def update
syn_ht_update
wait(1, true) if @wait_time != SynHT::Frames_hunger_down
wait(1, false) if @wait_time_thirst != SynHT::Frames_thirst_down
if @wait_time == SynHT::Frames_hunger_down or @wait_time2 == SynHT::Frames_thirst_down
for i in 0...$game_party.actors.size
$game_party.actors[i].hunger += 1 if @wait_time == SynHT::Frames_hunger_down
$game_party.actors[i].thirst += 1 if @wait_time2 == SynHT::Frames_thirst_down
call_ht_event(0, 0) if $game_party.actors[i].hunger == 200
call_ht_event(1, 0) if $game_party.actors[i].hunger == 175
call_ht_event(2, 0) if $game_party.actors[i].hunger == 150
call_ht_event(3, 0) if $game_party.actors[i].hunger == 125
call_ht_event(4, 0) if $game_party.actors[i].hunger == 100
call_ht_event(5, 0) if $game_party.actors[i].hunger == 75
call_ht_event(6, 0) if $game_party.actors[i].hunger == 50
call_ht_event(7, 0) if $game_party.actors[i].hunger == 25
call_ht_event(8, 0) if $game_party.actors[i].hunger == 0
call_ht_event(0, 1) if $game_party.actors[i].thirst == 200
call_ht_event(1, 1) if $game_party.actors[i].thirst == 175
call_ht_event(2, 1) if $game_party.actors[i].thirst == 150
call_ht_event(3, 1) if $game_party.actors[i].thirst == 125
call_ht_event(4, 1) if $game_party.actors[i].thirst == 100
call_ht_event(5, 1) if $game_party.actors[i].thirst == 75
call_ht_event(6, 1) if $game_party.actors[i].thirst == 50
call_ht_event(7, 1) if $game_party.actors[i].thirst == 25
call_ht_event(8, 1) if $game_party.actors[i].thirst == 0
end
end
@wait_time = 0 if @wait_time == SynHT::Frames_hunger_down
@wait_time2 = 0 if @wait_time2 == SynHT::Frames_thirst_down
end
#-----------------------------------------------------------------------------
# Wait:: Allows Wait Times (Zezwala na czas czekania?)
#-----------------------------------------------------------------------------
def wait(duration, variable)
for i in 0...duration
@wait_time += 1 if variable
@wait_time_thirst if variable == false
break if i >= duration / 2
end
end
#-----------------------------------------------------------------------------
# Call_HT_Event:: Używa konkretnego Common Event(Zwykłego Zdarzenia)
#-----------------------------------------------------------------------------
def call_ht_event(event_id, mode)
case mode
when 0
$game_temp.common_event_id = SynHT::Call_event_hunger[event_id]
when 1
$game_temp.common_event_id = SynHT::Call_event_thirst[event_id]
end
end
end
#-------------------------------------------------------------------------------
# HT_Data:: Modyfikuje punkty Głodu/Pragnienia każdej postaci.
#-------------------------------------------------------------------------------
class HT_Data
#-----------------------------------------------------------------------------
# Dodaj Głód
#-----------------------------------------------------------------------------
def add_hunger(amount, member)
$game_party.actors[member].hunger += amount
end
#-----------------------------------------------------------------------------
# Dodaj Pragnienie
#-----------------------------------------------------------------------------
def add_thirst(amount, member)
$game_party.actors[member].thirst += amount
end
#-----------------------------------------------------------------------------
# Usuń Głód
#-----------------------------------------------------------------------------
def remove_hunger(amount, member)
add_hunger(-amount, member)
end
#-----------------------------------------------------------------------------
# Usuń Pragnienie
#-----------------------------------------------------------------------------
def remove_thirst(amount, member)
add_thirst(-amount, member)
end
#-----------------------------------------------------------------------------
# Ustaw Głód
#-----------------------------------------------------------------------------
def set_hunger(amount, memebr)
$game_party.actors[member].hunger = amount
end
#-----------------------------------------------------------------------------
# Ustaw Pragnienie
#-----------------------------------------------------------------------------
def set_thirst(amount, member)
$game_party.actors[member].thirst = amount
end
#-----------------------------------------------------------------------------
# Sprawdź Głód
#-----------------------------------------------------------------------------
def check_hunger(amount, member, sign)
case sign
when ">"
if $game_party.actors[member].hunger >= amount
return true
else
return false
end
when "<"
if $game_party.actors[member].hunger <= amount
return true
else
return false
end
when "!"
if $game_party.actors[member].hunger != amount
return true
else
return false
end
when "="
if $game_party.actors[member].hunger == amount
return true
else
return false
end
end
end
#-----------------------------------------------------------------------------
# Sprawdź Pragnienie
#-----------------------------------------------------------------------------
def check_thirst(amount, member, sign)
case sign
when ">"
if $game_party.actors[member].thirst >= amount
return true
else
return false
end
when "<"
if $game_party.actors[member].thirst <= amount
return true
else
return false
end
when "!"
if $game_party.actors[member].thirst != amount
return true
else
return false
end
when "="
if $game_party.actors[member].thirst == amount
return true
else
return false
end
end
end
#-----------------------------------------------------------------------------
# Pokaż Głód
#-----------------------------------------------------------------------------
def print_hunger
p $game_party.actors[0].hunger
end
#-----------------------------------------------------------------------------
# Pokaż Pragnienie
#-----------------------------------------------------------------------------
def print_thirst
p $game_party.actors[0].thirst
end
end
#-------------------------------------------------------------------------------
# Przedefiniuj globalną zmienną $HTS
#-------------------------------------------------------------------------------
class Game_System
alias syn_ht_update update
def update
syn_ht_update
$HTS = HT_Data.new
end
end
#===============================================================================
# Written by Synthesize & Translated by Yoroiookami
# Version 1.0.1
# March 1, 2008
#===============================================================================
# Hunger and Thirst
#===============================================================================