Zalety:
- Nie powinien kolidować z innymi skryptami.
- Możliwość dodania nieskończonej liczby zadań.
- Podział na nieukończone i ukończone.
- Gracz na początku gry nie widzi wszystkich zadań.
- Miejsce na krótki opis.
- Miejsce na opis nagrody.
- Tytuł.
- Duży opis po wejściu w tytuł zadania.
Wady:
- Trudny w konfiguracji.
- Wymaga dużo zmiennych do poprawnego działania.
Autor skryptu
Melvin
Kompatybilność
Tylko XP
Skrypt
Spoiler:
Kod:
#==============================================================================
# Scene_Zadania_Menu
#------------------------------------------------------------------------------
# Dziennik zadań by Melvin (v3.0)
#==============================================================================
class Scene_Zadania_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
if $game_switches[02] == true
s1 = "Przeprawa"
else
s1 = "???"
end
s2 = "???"
@command_window = Window_Command.new(175, [s1, s2])
@command_window.height = 15 * 32
@quests_window = Window_Zadania_Nazwa.new
@nagroda_window = Window_Zadania_Nagroda.new
@opis1_window = Window_Zadania_Informacja1.new
@opis2_window = Window_Zadania_Informacja2.new
@opis3_window = Window_Zadania_Informacja3.new
@opis4_window = Window_Zadania_Informacja4.new
@opis5_window = Window_Zadania_Informacja5.new
@opis6_window = Window_Zadania_Informacja6.new
@opis7_window = Window_Zadania_Informacja7.new
@opis8_window = Window_Zadania_Informacja8.new
@quests_window.update("")
@nagroda_window.update("")
@opis1_window.update("")
@opis2_window.update("")
@opis3_window.update("")
@opis4_window.update("")
@opis5_window.update("")
@opis6_window.update("")
@opis7_window.update("")
@opis8_window.update("")
@quests_window.x = 175
@quests_window.y = 0
@opis1_window.x = 175
@opis1_window.y = 70
@opis2_window.x = 175
@opis2_window.y = 70
@opis3_window.x = 175
@opis3_window.y = 70
@opis4_window.x = 175
@opis4_window.y = 70
@opis5_window.x = 175
@opis5_window.y = 70
@opis6_window.x = 175
@opis6_window.y = 70
@opis7_window.x = 175
@opis7_window.y = 70
@opis8_window.x = 175
@opis8_window.y = 70
@nagroda_window.x = 175
@nagroda_window.y = 350
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@quests_window.dispose
@opis1_window.dispose
@opis2_window.dispose
@opis3_window.dispose
@opis4_window.dispose
@opis5_window.dispose
@opis6_window.dispose
@opis7_window.dispose
@opis8_window.dispose
@nagroda_window.dispose
end
def update
case @command_window.index
when 0
@quests_window.update("???")
@nagroda_window.update("Nagroda: ???")
@opis1_window.update("???")
@opis2_window.update("")
@opis3_window.update("")
@opis4_window.update("")
@opis5_window.update("")
@opis6_window.update("")
@opis7_window.update("")
@opis8_window.update("")
if $game_switches[02] == true
if $game_switches[01] == true
@quests_window.update(" Zadanie - Ukończone (Dokładny opis)")
@nagroda_window.update("Nagroda: Całkowite wyleczenie")
@opis1_window.update("Dostań się na drugi brzeg")
@opis2_window.update("I dojdź do portalu.")
@opis3_window.update("Musisz wykonać:")
@opis4_window.update("- Przejdź przez rzekę")
@opis5_window.update("- Dostań się do portalu")
@opis6_window.update("To jest główne zadanie")
@opis7_window.update("- Brak")
@opis8_window.update("Dziennik zadań by Melvin (v3.0)")
else
@quests_window.update(" Zadanie - Nieukończone (Dokładny opis)")
@nagroda_window.update("Nagroda: Całkowite wyleczenie")
@opis1_window.update("Dostań się na drugi brzeg")
@opis2_window.update("I dojdź do portalu.")
@opis3_window.update("Zadaniea główne")
@opis4_window.update("- Przejdź przez rzekę")
@opis5_window.update("- Dostań się do portalu")
@opis6_window.update("Zadania dodatkowe")
@opis7_window.update("- Brak")
@opis8_window.update("Dziennik zadań by Melvin (v3.0)")
end
end
when 1
@quests_window.update("???")
@nagroda_window.update("Nagroda: ???")
@opis1_window.update("???")
@opis2_window.update("")
@opis3_window.update("")
@opis4_window.update("")
@opis5_window.update("")
@opis6_window.update("")
@opis7_window.update("")
@opis8_window.update("")
end
@command_window.update
if @command_window.active
update_command
return
end
if @quests_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Menu.new(4)
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
if $game_switches[02] == true
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@quests_window.active = true
@quests_window.index = 0
else
$game_system.se_play($data_system.buzzer_se)
end
when 1
$game_system.se_play($data_system.buzzer_se)
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@quests_window.active = false
@quests_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 0
if $game_switches[02] == true
$game_system.se_play($data_system.decision_se)
$scene = Scene_Zadanie_1.new
end
end
return
end
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Nazwa
#------------------------------------------------------------------------------
class Window_Zadania_Nazwa < Window_Selectable
def initialize
super(0, 0, 465, 70)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 32
self.back_opacity = 255
refresh
self.active = false
self.index = -1
end
def update(text1)
self.contents.clear
self.contents.draw_text(0, 0, 440, 30, text1)
end
def refresh
self.contents.clear
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 116, self.width - 32, 30)
end
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Nagroda
#------------------------------------------------------------------------------
class Window_Zadania_Nagroda < Window_Base
def initialize
super(0, 0, 465, 70)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text2)
self.contents.clear
self.contents.draw_text(0, 0, 440, 32, text2)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis1 (Linijka 1)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja1 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text3)
self.contents.clear
self.contents.draw_text(4, 0, 640, 32, text3)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis2 (Linijka 2)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja2 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text4)
self.contents.clear
self.contents.draw_text(4, 0, 640, 94, text4)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis3 (Linijka 3)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja3 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text5)
self.contents.clear
self.contents.draw_text(4, 0, 640, 156, text5)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis4 (Linijka 4)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja4 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text6)
self.contents.clear
self.contents.draw_text(4, 0, 640, 218, text6)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis5 (Linijka 5)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja5 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text7)
self.contents.clear
self.contents.draw_text(4, 0, 640, 280, text7)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis6 (Linijka 6)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja6 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text8)
self.contents.clear
self.contents.draw_text(4, 0, 640, 342, text8)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis7 (Linijka 7)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja7 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text9)
self.contents.clear
self.contents.draw_text(4, 0, 640, 404, text9)
end
end
#------------------------------------------------------------------------------
# Window_Zadania_Opis8 (Linijka 8)
#------------------------------------------------------------------------------
class Window_Zadania_Informacja8 < Window_Base
def initialize
super(0, 0, 465, 280)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 30
self.back_opacity = 255
end
def update(text10)
self.contents.clear
self.contents.draw_text(4, 0, 640, 466, text10)
end
end
#==============================================================================
# Scene_Zadania
#==============================================================================
#--------------------------------------------------------------------------
# Scene_Zadanie_1
#--------------------------------------------------------------------------
class Scene_Zadanie_1
def main
@status_window = Window_Zadanie_1.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@status_window.dispose
end
def update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Zadania_Menu.new(0)
return
end
end
end
#--------------------------------------------------------------------------
# Window_Zadanie_1
#--------------------------------------------------------------------------
class Window_Zadanie_1 < Window_Base
def initialize
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "Comic Sans MS"
self.contents.font.size = 24
self.back_opacity = 255
refresh
end
def refresh
self.contents.draw_text(4, 0, 640, 32, "Znajdź sposób na dostanie się na drugi brzeg i dojdź do portalu czasu.", 0)
end
end
Dodatki
Brak
Screenshot
Spoiler:
Brak zadań:
Zadanie "Przeprawa" jest nieukończone:
Zadanie "Przeprawa" jest ukończone:
Zaznaczone jest puste zadanie:
Dokładny opis zadania:
Demo 876.25 KB
Instalacja skryptu
1 - Wkleić skrypt nad main w edytorze skryptów.
Dalsza instalacja: (Instalacja pozycji w menu)
Skrypt fajny, ale powiedz Melvinowi, żeby dał też jakieś okno na obrazek to było by dobrze.
Typ obrazka:
- Postać od, której się dostało misję
- screen przedstawiający misję
- Przedmiot do zdobycia
- Nagroda
Pzdr.
________________________ ...Amelanduil & FireBlade words will be remembered... ...Amelanduil & FireBlade acts will be remembered... ...Amelanduil & FireBlade never gonna die...
Narazie wogóle go nie sprawdzałem, ale widziałem, że były tam znaki zapytania...
Nie znam ruby, ale skrypt skonfigurować umiem...
Czy da się to przestawić w opcjach czy coś?
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