Krótki opis:
Skrypt powstał z myślą o wszystkich osobach które przy tworzeniu potworów
i graczy zastanawiają się jakie będzie miało to znaczenie w walce.
Poniższy skrypt przedstawia ile zaatakuje bohater i potwór w konfrontacji
1 vs 1, I ile tur obie strony potrzebują do wykończenia swojego rywala.
Można zmieniać także statystyki potwora, bohatera lub umiejętności.
Skrypt przeznaczony jest dla testerów i twórców, a nie dla graczy.
Przed użyciem zalecane jest przeczytać instrukcje w skrypcie.
Autor:
Przemusiek25
Skrypt:
Spoiler:
Kod:
#==============================================================================
# Porównanie sił 1vs1.
#--------------------------------------
# Wersja 1.9.01 << Ostatnia zmiana: Płynniejsze działanie skryptu
# Autor: Przemusiek25
# Data utworzenia: 7 Czerwiec 2012
# Data aktualizacji: 9 Czerwiec 2012
#--------------------------------------
# Skrypt powstał z myślą o wszystkich osobach które przy tworzeniu potworów
# i graczy zastanawiają się jakie będzie miało to znaczenie w walce.
#
# Poniższy skrypt przedstawia ile zaatakuje bohater i potwór w konfrontacji
# 1 vs 1, I ile tur obie strony potrzebują do wykończenia swojego rywala.
# Można zmieniać także statystyki potwora, bohatera lub umiejętności.
# Skrypt przeznaczony jest dla testerów i twórców, a nie dla graczy.
#
# Instrukcja: Aby wywołać skrypt stwórz zdarzenie i wywołaj skrypt:
# $scene = Scene_Sprawdzanie.new
#
# Sterowanie:
# Strzałka w dół i górę:
# Wybieranie
# Strzałka w prawo
# Okno zmieniania statystyk >> Dodawanie o 1
# Okno wyboru danych >> Zmiana Potwora, Lewelu, Typu Ataku, Umiejętności
# +1 ID | +1 | Umiejęt. | +1 ID |
# Strzałka w lewo
# Okno zmieniania statystyk >> Odejmowanie o 1
# Okno wyboru danych >> Zmiana Potwora, Lewelu, Typu Ataku, Umiejętności
# -1 ID | -1 | Zwykły. | -1 ID |
# Enter (przycisk C w rpgmakerze)
# Przejście do kolejnego okna
# Esc (przycisk B w rpgmakerze)
# Przejście do poprzedniego okna
#
# Kolejność okien:
# Wybór Bohatera > Wybór Danych > Zmiana Statystyk
#
# Okno zmiany statystyk zmienia statystyki zależnie od tego z jakiego okna
# go wywołujemy, jeśli podczas wyboru potwora to zmienia stat potwora, jeśli
# levelu zmienia stat bohatera, jeśli umiejętności to stat umiejętności.
#
# !!UWAGA zmieniane statystyki nie zapisują się do bazy, po wyłączniu testu
# są te same co przy jego włączeniu, jeśli chcesz zapisać zmiane statystyk
# poprostu użyj notatnika lub kartki, a następnie po wyłączeniu testu
# projektu wpisz je do bazy.
#
# Aby wyjść ze sceny wystarczy cofnąć do okna wyboru bohatera i nacisnąć Esc
#==============================================================================
class Window_Dodaj_Stat < Window_Command
#--------------------------------------------------------------------------
# * Inicjalizacja << Okno Dodawania i Odejmowania Statystyk
#--------------------------------------------------------------------------
def initialize
s1 = "Atak"
s2 = "Obrona"
s3 = "Magia"
s4 = "Max HP"
super(170, [s1, s2, s3, s4], 1, 4)
draw_item(0, true)
draw_item(1, true)
draw_item(2, true)
draw_item(3, true)
self.active = false
self.x = 374
self.y = 0
id = 0
pokaz_stat($game_party.members[0])
end # def
#--------------------------------------------------------------------------
# * Pokazywanie statystyk
# id : potwor, umiejetnosc lub bohater
#--------------------------------------------------------------------------
def pokaz_stat(id)
if id != nil and id != 0
self.contents.clear
if id.is_a?(RPG::Skill)
self.contents.draw_text(4, 0, 120, WLH, "Moc: "+(id.base_damage).to_s, 0)
self.contents.draw_text(4, WLH, 120, WLH, "Do ATK: "+(id.atk_f).to_s+"%", 0)
self.contents.draw_text(4, WLH*2, 120, WLH, "Do MAG: "+(id.spi_f).to_s+"%", 0)
self.contents.draw_text(4, WLH*3, 120, WLH, "Rozbieżność: "+(id.variance).to_s+"%", 0)
else
self.contents.draw_text(4, 0, 120, WLH, "Atak: "+(id.atk).to_s, 0)
self.contents.draw_text(4, WLH, 120, WLH, "Obrona: "+(id.def).to_s, 0)
self.contents.draw_text(4, WLH*2, 120, WLH, "Magia: "+(id.spi).to_s, 0)
self.contents.draw_text(4, WLH*3, 120, WLH, "Max HP: "+(id.maxhp).to_s, 0)
end # if
end # if
end # def
end # Window
class Potwor_Lewel_Umiejetnosc < Window_Command
#--------------------------------------------------------------------------
# * Inicjalizacja << Okno Zmiany Potwora, Lewelu, Typu Ataku oraz Umiejętności
#--------------------------------------------------------------------------
def initialize
s1 = "Potwór"
s2 = "Level"
s3 = "Zwykły Atak"
s4 = "Umiejętność"
super(234, [s1, s2, s3, s4], 1, 4)
draw_item(0, true)
draw_item(1, true)
draw_item(2, true)
draw_item(3, true)
self.active = false
self.x = 140
self.y = 0
idpotwor = 1
lewel = 1
atak = 1
umiejetnosc = 1
pokaz_dane(idpotwor,lewel,atak,umiejetnosc)
end # def
#--------------------------------------------------------------------------
# * Pokazywanie informacji
# idpotwor : ID potwora w bazie
# lewel : Level bohatera
# atak : Zwykły Atak lub Umiejętność
# umiejetnosc : ID umiejetnosci w bazie
#--------------------------------------------------------------------------
def pokaz_dane(idpotwor,lewel,atak,umiejetnosc)
self.contents.clear
self.contents.draw_text(4, 0, 204, WLH, "ID:"+idpotwor.to_s+" "+$data_enemies[idpotwor].name, 0)
self.contents.draw_text(4, WLH, 204, WLH, "Lewel: "+lewel.to_s, 0)
if atak == 1
self.contents.draw_text(4, WLH*2, 204, WLH, "Zwykły Atak ", 0)
else
self.contents.draw_text(4, WLH*2, 204, WLH, "Umiejętność ID: "+umiejetnosc.to_s, 0)
end # if
self.contents.draw_text(4, WLH*3, 204, WLH, $data_skills[umiejetnosc].name, 0)
end # def
end # Window
class Window_Bohater_Dane < Window_Base
#--------------------------------------------------------------------------
# * Inicjalizacja << Okno Wyświetla informacje o obrażeniach zadawanych
# przez Bohatera
#--------------------------------------------------------------------------
def initialize
super(0, 128, 272, 288)
refresh($game_actors[1],1)
end # def
#--------------------------------------------------------------------------
# * Odświeżanie okna, czyli pokazywanie informacji
# bohater : bohater
# idpotwor : ID potwora w bazie
# atak : Zwykły Atak lub Umiejętność
# umiejetnoscid : ID umiejetnosci w bazie
#--------------------------------------------------------------------------
def refresh(bohater,idpotwora,atak=1,umiejetnoscid=1)
self.contents.clear
if $game_party.members.size == 0
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
elsif $game_party.members.size == 1 and (bohater == $game_party.members[1] or bohater == $game_party.members[2] or bohater == $game_party.members[3])
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
elsif $game_party.members.size == 2 and (bohater == $game_party.members[2] or bohater == $game_party.members[3])
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
elsif $game_party.members.size == 3 and bohater == $game_party.members[3]
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
end # if
potwor = $data_enemies[idpotwora]
umiej = $data_skills[umiejetnoscid]
if atak == 1
obliczanie_ataku(bohater,potwor)
elsif atak == 2
obliczanie_obrazen_umiejetnosci(bohater,potwor,umiej)
end # if
self.contents.draw_text(36, 0, 232, WLH, bohater.name, 0)
self.contents.draw_text(4, WLH, 232, WLH, "Obrażenia: "+@minimum.to_s+" - "+@maximum.to_s, 0)
if atak == 1
if bohater.weapon_id != 0
bron = $data_weapons[bohater.weapon_id]
if bron.dual_attack
self.contents.draw_text(4, WLH, 232, WLH, "(x2)", 2)
end # if
end # if
ranga = 7
for atr in bohater.element_set
rang = potwor.element_ranks[atr]
if rang < ranga
ranga = rang
end # if
end # for
if ranga == 7; ranga = 3; end # if
wynik = [0,"200%","150%","100%","50%","0%","-100%"][ranga]
ranga = [0,"A: ","B: ","C: ","D: ","E: ","F: "][ranga]
self.contents.draw_text(4, 0, 232, WLH, ranga+wynik, 2)
elsif atak == 2
if umiej.scope == 3
self.contents.draw_text(4, WLH, 232, WLH, "(x2)", 2)
end # if
ranga = 7
for atr in umiej.element_set
rang = potwor.element_ranks[atr]
if rang < ranga
ranga = rang
end # if
end # for
if ranga == 7; ranga = 3; end # if
wynik = [0,"200%","150%","100%","50%","0%","-100%"][ranga]
ranga = [0,"A: ","B: ","C: ","D: ","E: ","F: "][ranga]
self.contents.draw_text(4, 0, 232, WLH, ranga+wynik, 2)
end # if
self.contents.draw_text(4, WLH*2, 232, WLH, "Pokona po: MaxHP("+(potwor.maxhp).to_s+")", 0)
self.contents.font.size = 15
minimum_tur = 0
maximum_tur = 0
for tura in 1..10
self.contents.draw_text(4, WLH*(2+tura*0.7), 232, WLH, "Tura: "+tura.to_s, 0)
hppotwora = potwor.maxhp
hppotwora -= @minimum*tura
if hppotwora <= 0
if minimum_tur == 0
self.contents.font.color = text_color(3)
minimum_tur = tura
end # if
end # if
self.contents.draw_text(4, WLH*(2+tura*0.7), 162, WLH, (@minimum*tura).to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(4, WLH*(2+tura*0.7), 187, WLH, "-", 2)
hppotwora = potwor.maxhp
hppotwora -= @maximum*tura
if hppotwora <= 0
if maximum_tur == 0
self.contents.font.color = text_color(3)
maximum_tur = tura
end # if
end # if
self.contents.draw_text(4, WLH*(2+tura*0.7), 232, WLH, (@maximum*tura).to_s, 2)
self.contents.font.color = normal_color
end #for
self.contents.font.size = Font.default_size
if maximum_tur == 0
for tura in 1..99
hppotwora = potwor.maxhp
hppotwora -= @maximum*tura
if hppotwora <= 0
if maximum_tur == 0
maximum_tur = tura
break
end # if
end # if
end # for
end # if
if minimum_tur == 0
for tura in 1..99
hppotwora = potwor.maxhp
hppotwora -= @minimum*tura
if hppotwora <= 0
if minimum_tur == 0
minimum_tur = tura
break
end # if
end # if
end # for
end # if
self.contents.draw_text(4, WLH*(2+11*0.7), 162, WLH, "Od "+maximum_tur.to_s+" Do "+minimum_tur.to_s+" tur(a)", 2)
end # def
#--------------------------------------------------------------------------
# * Obliczanie zwykłego ataku
# bohater : bohater
# potwor : potwor
#--------------------------------------------------------------------------
def obliczanie_ataku(bohater,potwor)
obrazenia = bohater.atk * 4 - potwor.def * 2
obrazenia = 0 if obrazenia < 0
ranka = 7
for atr in bohater.element_set
rank = potwor.element_ranks[atr]
if rank < ranka
ranka = rank
end # if
end # for
if ranka == 7; ranka = 3; end # if
result = [0,200,150,100,50,0,-100][ranka]
obrazenia *= result
obrazenia /= 100
@minimum = obrazenia*4/5
@maximum = obrazenia*6/5
@maximum/2 if bohater.super_guard
@minimum/2 if bohater.super_guard
if bohater.weapon_id != 0
bron = $data_weapons[bohater.weapon_id]
if bron.dual_attack
@minimum *= 2
@maximum *= 2
end # if
end # if
end # def
#--------------------------------------------------------------------------
# * Obliczanie umiejetności
# bohater : bohater
# potwor : potwor
# umiej : umiejetność
#--------------------------------------------------------------------------
def obliczanie_obrazen_umiejetnosci(bohater,potwor,umiej)
obrazenia = umiej.base_damage
if obrazenia > 0
obrazenia += bohater.atk * 4 * umiej.atk_f / 100
obrazenia += bohater.spi * 2 * umiej.spi_f / 100
unless umiej.ignore_defense
obrazenia -= potwor.def * 2 * umiej.atk_f / 100
obrazenia -= potwor.spi * 1 * umiej.spi_f / 100
end # unless
obrazenia = 0 if obrazenia < 0
elsif obrazenia < 0
obrazenia -= bohater.atk * 4 * umiej.atk_f / 100
obrazenia -= bohater.spi * 2 * umiej.spi_f / 100
end # if
ranka = 7
for atr in umiej.element_set
rank = potwor.element_ranks[atr]
if rank < ranka
ranka = rank
end # if
end # for
if ranka == 7; ranka = 3; end # if
result = [0,200,150,100,50,0,-100][ranka]
obrazenia *= result
obrazenia /= 100
@minimum = obrazenia*(100-umiej.variance)
@minimum /= 100
@maximum = obrazenia*(100+umiej.variance)
@maximum /= 100
@maximum/2 if bohater.super_guard
@minimum/2 if bohater.super_guard
if umiej.scope == 3
@minimum *= 2
@maximum *= 2
end # if
end # def
end # Window
class Window_Potwor_Dane < Window_Base
#--------------------------------------------------------------------------
# * Inicjalizacja << Okno Wyświetla informacje o obrażeniach zadawanych
# przez Potwora
#--------------------------------------------------------------------------
def initialize
super(272, 128, 272, 288)
refresh($game_actors[1],1)
end # def
#--------------------------------------------------------------------------
# * Odświeżanie okna, czyli pokazywanie informacji
# bohater : bohater
# idpotwor : ID potwora w bazie
# atak : Zwykły Atak lub Umiejętność
# umiejetnoscid : ID umiejetnosci w bazie
#--------------------------------------------------------------------------
def refresh(bohater,idpotwora,atak=1,umiejetnoscid=1)
self.contents.clear
if $game_party.members.size == 0
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
elsif $game_party.members.size == 1 and (bohater == $game_party.members[1] or bohater == $game_party.members[2] or bohater == $game_party.members[3])
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
elsif $game_party.members.size == 2 and (bohater == $game_party.members[2] or bohater == $game_party.members[3])
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
elsif $game_party.members.size == 3 and bohater == $game_party.members[3]
self.contents.draw_text(4, WLH, 272, WLH, "Brak Bohatera", 0)
return
end # if
potwor = $data_enemies[idpotwora]
umiej = $data_skills[umiejetnoscid]
if atak == 1
obliczanie_ataku(potwor,bohater)
elsif atak == 2
obliczanie_obrazen_umiejetnosci(potwor,bohater,umiej)
end # if
self.contents.draw_text(36, 0, 232, WLH, potwor.name, 0)
self.contents.draw_text(4, WLH, 232, WLH, "Obrażenia: "+@minimum.to_s+" - "+@maximum.to_s, 0)
if atak == 2
if umiej.scope == 3
self.contents.draw_text(4, WLH, 232, WLH, "(x2)", 2)
end # if
ranga = 7
for atr in umiej.element_set
rang = bohater.class.element_ranks[atr]
if rang < ranga
ranga = rang
end # if
end # for
if ranga == 7; ranga = 3; end # if
wynik = [0,"200%","150%","100%","50%","0%","-100%"][ranga]
ranga = [0,"A: ","B: ","C: ","D: ","E: ","F: "][ranga]
self.contents.draw_text(4, 0, 232, WLH, ranga+wynik, 2)
end # if
self.contents.draw_text(4, WLH*2, 232, WLH, "Pokona po: MaxHP("+(bohater.maxhp).to_s+")", 0)
self.contents.font.size = 15
minimum_tur = 0
maximum_tur = 0
for tura in 1..10
self.contents.draw_text(4, WLH*(2+tura*0.7), 232, WLH, "Tura: "+tura.to_s, 0)
hppotwora = bohater.maxhp
hppotwora -= @minimum*tura
if hppotwora <= 0
if minimum_tur == 0
self.contents.font.color = text_color(3)
minimum_tur = tura
end # if
end # if
self.contents.draw_text(4, WLH*(2+tura*0.7), 162, WLH, (@minimum*tura).to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(4, WLH*(2+tura*0.7), 187, WLH, "-", 2)
hppotwora = bohater.maxhp
hppotwora -= @maximum*tura
if hppotwora <= 0
if maximum_tur == 0
self.contents.font.color = text_color(3)
maximum_tur = tura
end # if
end # if
self.contents.draw_text(4, WLH*(2+tura*0.7), 232, WLH, (@maximum*tura).to_s, 2)
self.contents.font.color = normal_color
end # for
self.contents.font.size = Font.default_size
if maximum_tur == 0
for tura in 1..99
hppotwora = bohater.maxhp
hppotwora -= @maximum*tura
if hppotwora <= 0
if maximum_tur == 0
maximum_tur = tura
break
end # if
end # if
end # for
end # if
if minimum_tur == 0
for tura in 1..99
hppotwora = bohater.maxhp
hppotwora -= @minimum*tura
if hppotwora <= 0
if minimum_tur == 0
minimum_tur = tura
break
end # if
end # if
end # for
end # if
self.contents.draw_text(4, WLH*(2+11*0.7), 162, WLH, "Od "+maximum_tur.to_s+" Do "+minimum_tur.to_s+" tur(a)", 2)
end # def
#--------------------------------------------------------------------------
# * Obliczanie umiejetności
# bohater : bohater
# potwor : potwor
# umiej : umiejetność
#--------------------------------------------------------------------------
def obliczanie_obrazen_umiejetnosci(potwor,bohater,umiej)
obrazenia = umiej.base_damage
if obrazenia > 0
obrazenia += potwor.atk * 4 * umiej.atk_f / 100
obrazenia += potwor.spi * 2 * umiej.spi_f / 100
unless umiej.ignore_defense
obrazenia -= bohater.def * 2 * umiej.atk_f / 100
obrazenia -= bohater.spi * 1 * umiej.spi_f / 100
end # unless
obrazenia = 0 if obrazenia < 0
elsif obrazenia < 0
obrazenia -= potwor.atk * 4 * umiej.atk_f / 100
obrazenia -= potwor.spi * 2 * umiej.spi_f / 100
end # if
ranka = 7
for atr in umiej.element_set
rank = bohater.class.element_ranks[atr]
if rank < ranka
ranka = rank
end # if
end # for
if ranka == 7; ranka = 3; end # if
result = [0,200,150,100,50,0,-100][ranka]
obrazenia *= result
obrazenia /= 100
@minimum = obrazenia*(100-umiej.variance)
@minimum /= 100
@maximum = obrazenia*(100+umiej.variance)
@maximum /= 100
if umiej.scope == 3
@minimum *= 2
@maximum *= 2
end # if
end # def
end # Window
class Scene_Sprawdzanie < Scene_Base
#--------------------------------------------------------------------------
# * Start Sceny << Ustawienia wyświetlania okien oraz reakcji na naciskanie
# klawiszy
#--------------------------------------------------------------------------
def start
super
create_menu_background
tworz_wybor_bohatera
@bohater_dane_window = Window_Bohater_Dane.new
@potwor_dane_window = Window_Potwor_Dane.new
@dodaj_stat_window = Window_Dodaj_Stat.new
@glowne_window = Potwor_Lewel_Umiejetnosc.new
@bohater_dane_window.active = false
@potwor_dane_window.active = false
@bohater = 0
@idpotwora = 1
@lvlgracza = 1
@atak = 1
@umiejetnosc_id = 1
end # def
#--------------------------------------------------------------------------
# * Terminate czyli: Gdy wyjdzie ze sceny
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@wybor_bohater_window.dispose
@bohater_dane_window.dispose
@potwor_dane_window.dispose
@dodaj_stat_window.dispose
@glowne_window.dispose
end # def
#--------------------------------------------------------------------------
# * Odświeżanie
#--------------------------------------------------------------------------
def update
update_menu_background
@wybor_bohater_window.update
@bohater_dane_window.update
@potwor_dane_window.update
@dodaj_stat_window.update
@glowne_window.update
if @wybor_bohater_window.active
update_wybor_bohater_selection
elsif @dodaj_stat_window.active
dodawanie_stat
elsif @glowne_window.active
glowne_okno_aktywne
end # if
if Input.trigger?(Input::RIGHT) or Input.trigger?(Input::LEFT) or
Input.trigger?(Input::UP) or Input.trigger?(Input::DOWN)
@bohater_dane_window.refresh(@bohater,@idpotwora,@atak,@umiejetnosc_id)
@potwor_dane_window.refresh(@bohater,@idpotwora,@atak,@umiejetnosc_id)
end # if
end # def
#--------------------------------------------------------------------------
# * Tworzenie okna wyboru bohatera
#--------------------------------------------------------------------------
def tworz_wybor_bohatera
if $game_party.members.size > 0
s1 = $game_party.members[0].name
else
s1 = "Brak Bohatera"
end # if
if $game_party.members.size > 1
s2 = $game_party.members[1].name
else
s2 = "Brak Bohatera"
end # if
if $game_party.members.size > 2
s3 = $game_party.members[2].name
else
s3 = "Brak Bohatera"
end # if
if $game_party.members.size > 3
s4 = $game_party.members[3].name
else
s4 = "Brak Bohatera"
end # if
@wybor_bohater_window = Window_Command.new(140, [s1, s2, s3, s4], 1, 4)
@wybor_bohater_window.index = 0
if $game_party.members.size == 0
@wybor_bohater_window.draw_item(0, false)
end # if
if $game_party.members.size <= 1
@wybor_bohater_window.draw_item(1, false)
end # if
if $game_party.members.size <= 2
@wybor_bohater_window.draw_item(2, false)
end # if
if $game_party.members.size <= 3
@wybor_bohater_window.draw_item(3, false)
end # if
end # def
#--------------------------------------------------------------------------
# * Wybór Bohater << Gdy okno wyboru bohatera jest aktywne
#--------------------------------------------------------------------------
def update_wybor_bohater_selection
if Input.trigger?(Input::B)
Sound.play_cancel
$scene = Scene_Map.new
elsif Input.trigger?(Input::C)
if $game_party.members.size == 0 and @wybor_bohater_window.index == 0
Sound.play_buzzer
return
elsif $game_party.members.size <= 1 and @wybor_bohater_window.index == 1
Sound.play_buzzer
return
elsif $game_party.members.size <= 2 and @wybor_bohater_window.index == 2
Sound.play_buzzer
return
elsif $game_party.members.size <= 3 and @wybor_bohater_window.index == 3
Sound.play_buzzer
return
end # if
Sound.play_decision
@wybor_bohater_window.active = false
@glowne_window.active = true
end # if
@bohater = $game_party.members[@wybor_bohater_window.index]
@dodaj_stat_window.pokaz_stat(@bohater)
if $game_party.members.size == 0
@lvlgracza = 1
return
elsif $game_party.members.size == 1 and (@bohater == $game_party.members[1] or @bohater == $game_party.members[2] or @bohater == $game_party.members[3])
@lvlgracza = 1
return
elsif $game_party.members.size == 2 and (@bohater == $game_party.members[2] or @bohater == $game_party.members[3])
@lvlgracza = 1
return
elsif $game_party.members.size == 3 and @bohater == $game_party.members[3]
@lvlgracza = 1
return
end # if
@lvlgracza = $game_party.members[@wybor_bohater_window.index].level
@glowne_window.pokaz_dane(@idpotwora,@lvlgracza,@atak,@umiejetnosc_id)
end # def
#--------------------------------------------------------------------------
# * Dodawanie statystyk << gdy okno dodawania statystyk jest aktywne
#--------------------------------------------------------------------------
def dodawanie_stat
if Input.trigger?(Input::RIGHT)
Sound.play_decision
if @dodaj_stat == 3
if @atak == 1
@dodaj_stat = 2
else
@dodaj_stat = 4
end #if
end #if
if @dodaj_stat == 1
case @dodaj_stat_window.index
when 0
$data_enemies[@idpotwora].atk += 1
when 1
$data_enemies[@idpotwora].def += 1
when 2
$data_enemies[@idpotwora].spi += 1
when 3
$data_enemies[@idpotwora].maxhp += 1
end # case
@dodaj_stat_window.pokaz_stat($data_enemies[@idpotwora])
end # if
if @dodaj_stat == 2
case @dodaj_stat_window.index
when 0
@bohater.atk += 1
when 1
@bohater.def += 1
when 2
@bohater.spi += 1
when 3
@bohater.maxhp += 1
end #case
@dodaj_stat_window.pokaz_stat(@bohater)
end # if
if @dodaj_stat == 4
case @dodaj_stat_window.index
when 0
$data_skills[@umiejetnosc_id].base_damage += 1
when 1
($data_skills[@umiejetnosc_id].atk_f += 1) if $data_skills[@umiejetnosc_id].atk_f < 100
when 2
($data_skills[@umiejetnosc_id].spi_f += 1) if $data_skills[@umiejetnosc_id].spi_f < 100
when 3
($data_skills[@umiejetnosc_id].variance += 1) if $data_skills[@umiejetnosc_id].variance < 100
end # case
@dodaj_stat_window.pokaz_stat($data_skills[@umiejetnosc_id])
end # if
elsif Input.trigger?(Input::LEFT)
Sound.play_decision
if @dodaj_stat == 3
if @atak == 1
@dodaj_stat = 2
else
@dodaj_stat = 4
end #if
end #if
if @dodaj_stat == 1
case @dodaj_stat_window.index
when 0
($data_enemies[@idpotwora].atk -= 1) if $data_enemies[@idpotwora].atk > 1
when 1
($data_enemies[@idpotwora].def -= 1) if $data_enemies[@idpotwora].def > 1
when 2
($data_enemies[@idpotwora].spi -= 1) if $data_enemies[@idpotwora].spi > 1
when 3
($data_enemies[@idpotwora].maxhp -= 1) if $data_enemies[@idpotwora].maxhp > 1
end # case
@dodaj_stat_window.pokaz_stat($data_enemies[@idpotwora])
end # if
if @dodaj_stat == 2
case @dodaj_stat_window.index
when 0
(@bohater.atk -= 1) if @bohater.atk > 1
when 1
(@bohater.def -= 1) if @bohater.def > 1
when 2
(@bohater.spi -= 1) if @bohater.spi > 1
when 3
(@bohater.maxhp -= 1) if @bohater.maxhp > 1
end # case
@dodaj_stat_window.pokaz_stat(@bohater)
end # if
if @dodaj_stat == 4
case @dodaj_stat_window.index
when 0
$data_skills[@umiejetnosc_id].base_damage -= 1
when 1
($data_skills[@umiejetnosc_id].atk_f -= 1) if $data_skills[@umiejetnosc_id].atk_f > 0
when 2
($data_skills[@umiejetnosc_id].spi_f -= 1) if $data_skills[@umiejetnosc_id].spi_f > 0
when 3
($data_skills[@umiejetnosc_id].variance -= 1) if $data_skills[@umiejetnosc_id].variance > 0
end # case
@dodaj_stat_window.pokaz_stat($data_skills[@umiejetnosc_id])
end # if
elsif Input.trigger?(Input::B)
Sound.play_cancel
@glowne_window.active = true
@dodaj_stat_window.active = false
end # if
end # def
#--------------------------------------------------------------------------
# * Główne okno << Zmiana Potworów, Lewelu gracza, Typu ataku oraz Umiejętności
#--------------------------------------------------------------------------
def glowne_okno_aktywne
@przec = []
for wrogowie in $data_enemies
@przec << wrogowie
end # for
@przec.compact!
@wrogow_max = @przec.size
@umiej = []
for umiejetnosci in $data_skills
@umiej << umiejetnosci
end # for
@umiej.compact!
@umiejetnosci_max = @umiej.size
if Input.trigger?(Input::RIGHT)
Sound.play_decision
case @glowne_window.index
when 0 # Potwór
@idpotwora += 1
if @idpotwora > @wrogow_max
@idpotwora = 1
end # if
@potwor = $data_enemies[@idpotwora]
@dodaj_stat_window.pokaz_stat(@potwor)
when 1 # Lewel
@lvlgracza += 1
if @lvlgracza > 99
@lvlgracza = 1
end # if
@bohater.change_level(@lvlgracza, false)
@dodaj_stat_window.pokaz_stat(@bohater)
when 2 # Typ ataku
@atak = 2
when 3 # Umiejętnośc
@umiejetnosc_id += 1
if @umiejetnosc_id > @umiejetnosci_max
@umiejetnosc_id = 1
end # if
@umiejetnosc = $data_skills[@umiejetnosc_id]
@dodaj_stat_window.pokaz_stat(@umiejetnosc)
end #case
@glowne_window.pokaz_dane(@idpotwora,@lvlgracza,@atak,@umiejetnosc_id)
elsif Input.trigger?(Input::LEFT)
Sound.play_decision
case @glowne_window.index
when 0 # Potwór
@idpotwora -= 1
if @idpotwora < 1
@idpotwora = @wrogow_max
end # if
@potwor = $data_enemies[@idpotwora]
@dodaj_stat_window.pokaz_stat(@potwor)
when 1 # Lewel
@lvlgracza -= 1
if @lvlgracza < 1
@lvlgracza = 99
end # if
@bohater.change_level(@lvlgracza, false)
@dodaj_stat_window.pokaz_stat(@bohater)
when 2 # Typ ataku
@atak = 1
when 3 # Umiejętność
@umiejetnosc_id -= 1
if @umiejetnosc_id < 1
@umiejetnosc_id = @umiejetnosci_max
end # if
@umiejetnosc = $data_skills[@umiejetnosc_id]
@dodaj_stat_window.pokaz_stat(@umiejetnosc)
end #case
@glowne_window.pokaz_dane(@idpotwora,@lvlgracza,@atak,@umiejetnosc_id)
elsif Input.trigger?(Input::B)
Sound.play_cancel
@wybor_bohater_window.active = true
@glowne_window.active = false
@glowne_window.pokaz_dane(@idpotwora,@lvlgracza,@atak,@umiejetnosc_id)
elsif Input.trigger?(Input::C)
Sound.play_decision
case @glowne_window.index
when 0 # Potwór
@dodaj_stat = 1
@dodaj_stat_window.active = true
@glowne_window.active = false
when 1 # Level
@dodaj_stat = 2
@dodaj_stat_window.active = true
@glowne_window.active = false
when 2
@dodaj_stat = 3
@dodaj_stat_window.active = true
@glowne_window.active = false
when 3 # Umiejętność
@dodaj_stat = 4
@dodaj_stat_window.active = true
@glowne_window.active = false
end # case
@glowne_window.pokaz_dane(@idpotwora,@lvlgracza,@atak,@umiejetnosc_id)
end # if
if @glowne_window.index == 0
@potwor = $data_enemies[@idpotwora]
@dodaj_stat_window.pokaz_stat(@potwor)
elsif @glowne_window.index == 1
@dodaj_stat_window.pokaz_stat(@bohater)
elsif @glowne_window.index == 2
if @atak == 1
@dodaj_stat_window.pokaz_stat(@bohater)
elsif @atak == 2
@umiejetnosc = $data_skills[@umiejetnosc_id]
@dodaj_stat_window.pokaz_stat(@umiejetnosc)
end # if
elsif @glowne_window.index == 3
@umiejetnosc = $data_skills[@umiejetnosc_id]
@dodaj_stat_window.pokaz_stat(@umiejetnosc)
end # if
end # def
end #Scene_Sprawdzanie
Screeny:
Spoiler:
Dodatkowe informacje:
Skrypt to wersja 1.9, skrypt nadal jest otwartym projektem, jeśli macie sugestię
proszę napiszcie poniżej :)
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum