Krótki opis:
Pozwala na ustalenie czasu otwierania zamku. Dodaje też opcję wytrycha.
Autor:
Melvin
Kompatybilność:
RPG Maker XP
Skrypt:
Spoiler:
Kod:
#=========================================================================
# === SCRIPT ADD-ON ===
#-------------------------------------------------------------------------
# Name: Lockpick Minigame - Add-on "PickLock"
# Author: Melvin
# Version: 1.1
#-----------------
# HISTORIA ZMIAN
#-----------------
# 1.1:
# Dodano okno informacyjne o końcu czasu.
#=========================================================================
# INSTRUKCJA
#=========================================================================
# Wklejić pod skryptem "Lockpick Minigame", nad main.
# Aby wyświetlić ile pozostało czasu do wyłączenia, należy nacisnąć
# "Shift"(A). Działa tylko w trybie testowym.
#-------------------------------------------------------------------------
# W zdarzeniu umieścić warunek, "Jeśli wytrych jest w ekwipunku":
# Wtedy uruchomi się Lockpick.
#=========================================================================
# KONFIGURACJA
#=========================================================================
module Melvin
# ID wytrycha:
PickLockID = 33
# Ograniczony czas otwierania: (po upływie nastąpi powrót do mapy)
Time = true # false
# Utrata wytrycha po wyjściu z minigry:
LoseEsc = false # true
# Utrata wytrycha po skończeniu się czasu:
LoseTime = true # false
# Pokazanie okna informacyjnego:
Info = true # false
# Tekst na oknie informacji:
InfoText = "Wytych został uszkodzony!"
#-------------------------------------
# Zaawansowane
#-------------------------------------
# Przedział losowania czasu:
Rand = 3750 # nil - do opcji niżej
# 0 + 3750 = 3750, 3750 + 3750 = 7500
# Zakres = 3750 - 7500
# 5000 = ~2 min
#-------------------------------------
# Jeśli "Rand = nil":
#-------------------------------------
# Główny zakres:
Rand1 = 3750
# Dodaje do obu stron liczbę:
Rand2 = 3750
#-------------------------------------
# Czas do pokazania okna informacji:
InfoTime = 50
#-------------------------------------
end
#=========================================================================
class Game_System
attr_accessor :timer_lock
alias gs_ini_mel initialize
def initialize
gs_ini_mel
@timer_lock = 0
end
alias gs_up_mel update
def update
gs_up_mel
if Melvin::Time == true and @timer_lock > 0
@timer_lock -= 1
end
end
end
class Scene_LockpickMinigame < SDK::Scene_Base
alias lm_mv_mel main_variable
def main_variable
lm_mv_mel
if Melvin::Time == true
if Melvin::Rand != nil
@rand = Melvin::Rand
@random_time = rand(@rand)+@rand
else
@random_time = rand(Melvin::Rand1)+Melvin::Rand2
end
$game_system.timer_lock = @random_time
end
end
alias lm_mw_mel main_window
def main_window
@info_window = Window_LockInfo.new
@info_window.back_opacity = 160
@info_window.visible = false
lm_mw_mel
end
alias lm_up_mel update
def update
if Input.trigger?(Input::B)
if Melvin::LoseEsc == true
$game_party.lose_item(Melvin::PickLockID, 1)
end
$scene = Scene_Map.new
end
if @info_window.visible == false
if Melvin::Time == true
if Melvin::Info == true and Melvin::LoseTime == true
if $game_system.timer_lock == Melvin::InfoTime
@info_window.visible = true
end
end
end
lm_up_mel
end
if Melvin::Time == true
$game_system.update
if $game_system.timer_lock == 0
if Melvin::LoseTime == true
$game_party.lose_item(Melvin::PickLockID, 1)
end
$scene = Scene_Map.new
end
if $DEBUG and Input.press?(Input::A)
print "Time: #{$game_system.timer_lock}"
end
end
end
end
class Window_LockInfo < Window_Base
def initialize
super(140, 240, 380, 64)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(0, 0, 380, 32, Melvin::InfoText)
end
end
Dodatkowe informacje:
1. Wklej skrypt nad "Main", pod "Lockpick Minigame" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
Pomógł: 1 raz Dołączył: 07 Sty 2012 Posty: 46 Skąd: Polska
Wysłany: Czw 19 Sty, 2012 20:10
Do ograniczenia czasu na otwarcie zamków można też użyć standardowego stopera i zrobić to na mapie. Główne przełączniki się do tego nadają. Ale ogólnie skrypt wygląda na świetny dla kogoś, kto nie chce użyć standardowej mapy.
________________________ Ryzykując, że zrobisz super gniota, możesz zrobić super hit lub super gniota.
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