#===============================================================
=begin
#===============================================================
Skrypt: Baza danych - zdjęcie granicy
RPG Maker: XP
Wykonawca: Woratana
Poprawki: Barmen
Wersja: 2.0
#===============================================================
CO ROBI SKRYPT?
Rozszerza on granicę 999 w bazie danych do praktycznie nieskończoności,
#===============================================================
UWAGA!
W niektórych momętach nie będzie można rozszerzyć gdyż czas na wykonanie skryptu
to kilka sekund, a po ich upływie gra sama się zamyka albo inne blokady.
#===============================================================
JAK UŻYĆ?
0. Otwórz projekt (zalecane jest zrobienie kopii zapasowej folderu "Data")
1. Wklej skrypt (zalecane przed "Main")
2. Ustaw "DLB_USE_IT =" na "true" aby użyć skryptu do bazy danych
3. Ustaw "DLB_DATA" (patrz poniżej)
4. Zapisz i włącz grę
5. Po zakończeniu ustawienia gra powinna się wyłączyć
6. Zamknij projekt (bez zapisu)
7. Otwórz projekt
8. Zmień "DLB_USE_IT =" na "false" aby nie ponawiać akcji przy następnym
urochomieniu
#===============================================================
=end
#===============================================================
DLB_USE_IT = true
#===============================================================
=begin
#===============================================================
JAK USTAWIĆ?
(podane czynności wprowadzaj pod "DLB_DATA = {")
0.Nazwa
bohaterzy - jeśli ma się zmienić ilość maksymalnych bohaterów
przełączniki - jeśli ma się zmienić ilość maksymalnych przełączników
zmienne - jeśli ma się zmienić ilość maksymalnych zmiennych
klasy - jeśli ma się zmienić ilość maksymalnych klas
umiejętności - jeśli ma się zmienić ilość maksymalnych umiejętności
bronie - jeśli ma się zmienić ilość maksymalnych broni
zbroje - jeśli ma się zmienić ilość maksymalnych zbroi
potwory - jeśli ma się zmienić ilość maksymalnych potworów
grupy_potworów - jeśli ma się zmienić ilość maksymalnych grup potworów
kondycje - jeśli ma się zmienić ilość maksymalnych kondycji
animacje - jeśli ma się zmienić ilość maksymalnych animacji
tilesety - jeśli ma się zmienić ilość maksymalnych tilesetów
atrybuty - jeśli ma się zmienić ilość maksymalnych atrybutów
1.Potem znak =>
2.Liczba do której ma być zdjęta granica
3.Przecinek
Np.:
'bohaterzy' => 1011,
#===============================================================
=end
#===============================================================
DLB_DATA = {
'bohaterzy' => 1011,
'kondycje' => 9999,
'przełączniki' => 99999,
'end' => nil # gdy koniec, gra się wyłączy
}
#========================================================
# Konfiguracja bazy danych
#========================================================
if DLB_USE_IT
start_time = Time.now # Właczenie odliczania czasu
DLB_DATA.each do |k,v|
dvar = nil
case k
when 'przełączniki'; dname = 'System'; dvar = 'switches'; dnewdata = ''
when 'zmienne'; dname = 'System'; dvar = 'variables'; dnewdata = ''
when 'atrybuty'; dname = 'System'; dvar = 'elements'; dnewdata = ''
when 'bohaterzy'; dname = 'Actors'; dnewdata = 'RPG::Actor.new'
when 'klasy'; dname = 'Classes'; dnewdata = 'RPG::Class.new'
when 'umiejętności'; dname = 'Skills'; dnewdata = 'RPG::Skill.new'
when 'przedmioty'; dname = 'Items'; dnewdata = 'RPG::Item.new'
when 'bronie'; dname = 'Weapons'; dnewdata = 'RPG::Weapon.new'
when 'zbroje'; dname = 'Armors'; dnewdata = 'RPG::Armor.new'
when 'potwory'; dname = 'Enemies'; dnewdata = 'RPG::Enemy.new'
when 'grupy_potworów'; dname = 'Troops'; dnewdata = 'RPG::Troop.new'
when 'kondycje'; dname = 'States'; dnewdata = 'RPG::State.new'
when 'animacje'; dname = 'Animations'; dnewdata = 'RPG::Animation.new'
when 'tilesety'; dname = 'Tilesets'; dnewdata = 'RPG::Tileset.new'
when 'typowe_zdarzenia'; dname = 'CommonEvents'; dnewdata = 'RPG::CommonEvent.new'
when 'end'; next
else; p 'Błędnie ustawiona bibloteka DLB_DATA.', 'Usuń/popraw nazwę niewystępującą powyżej.'
end
base_data = load_data('Data/' + dname + '.rxdata')
data = dvar.nil? ? base_data : eval('base_data.' + dvar.to_s)
unless data.size > v and v - (data.size - 1) <= 0
add_data = Array.new(v - (data.size - 1)) { eval(dnewdata) }
data.push *add_data
save_data(base_data, 'Data/' + dname + '.rxdata')
end
end
p 'Skończono w ' + (Time.now - start_time).to_s + ' sekund.'
exit
end