Lockpick Minigame - Add-On "PickLock"
Autor
Wiadomość
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Czw 19 Sty, 2012 13:11
Lockpick Minigame - Add-On "PickLock"
~ Lockpick Minigame - Add-On "PickLock" ~
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.
Mateusz SSJ8
Preferowany:
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.
artekwnc
Preferowany:
Dołączył: 11 Paź 2009 Posty: 110
Wysłany: Czw 19 Sty, 2012 20:24
PrĂłbowaĹem - w czasie mini gry stoper nie odlicza czasu...
________________________ Quantino
Melvin
Preferowany:
Ranga RM:
Pomógł: 35 razy Dołączył: 23 Paź 2009 Posty: 1063
Wysłany: Czw 19 Sty, 2012 20:35
Mateusz SSJ8 , przecieĹź to inna klasa. Trzeba by jÄ
tak czy inaczej edytowaÄ, dodajÄ
c $game_system.update i warunek, co siÄ stanie jeĹli czas = 0.
________________________ MelvinClass: