Teraz nastÄpny skrypt, dĹugo go tĹumaczyĹem ale udaĹo mi siÄ. Na szczÄĹcie ktoĹ mi pomĂłgĹ.
PS: DziÄki Cyklop!!!!!!!!!!!!!!!!
DziÄki niemu bÄdziemy mogli dawaÄ prezenty innym NPC. MoĹźemy teĹź wymyĹleÄ inne zastosowania. Najlepiej najpierw przetestowaÄ dziaĹanie tego skryptu.
INSTRUKCJA:
wszystko w skrypcie.
DEMO i SCREENY:
niepotrzebne.
Spoiler:
Kod:
#====================================================
# TytuĹ: Okno PrezentĂłw
# Oryginalny tytuĹ: Evidence Locker
# Wersja: 1.0
# Autor: modern algebra (rmrk.net)
# Data: 2 SierpieĹ 2008
# TĹumaczenie: Marcin (www.ultimateam.pl)
# Data tĹumaczenia: 16 Grudnia 2009r.
#
#
# ~~PODIÄKOWANIA~~
# Chce podziekowaÄ Cyklopowi (www.ultimateam.pl) za pomoc w zrozumieniu tego skryptu.
# Wielkie DziÄki!!!!!!!!
#
# PS: Wiem, Ĺźe podziÄkowania umieszcza siÄ na koĹcu, ale wtedy nigdy byĹcie tego nie przeczytali.
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# INSTRUKCJA:
# ~~WSTÄP~~
# Autor tego skryptu stworzyĹ go z myĹlÄ o Ĺledztwach, "Evidence Locker" oznacza z angielskiego mniej
# wiÄcej "'coĹ tam' dowody". ja natomiast uĹźywam go do dawania prezentĂłw innym NPC podczas gry.
# JeĹźeli chcecie mieÄ wiÄcej takich okienek np: jedno do dawania prezentĂłw, drugie do tworzenia mikstur z
# moĹźliwoĹciÄ eksperymentowania jak w WiedĹşminie, to przekopiujcie ten skrypt, wklejcie kopie nad "Main" i
# zamieĹcie wszystkie sĹowa "evidence" na np: Alchemia
#
# ~~NOTE/NOTATKI~~
# By ten skrypt dziaĹaĹ trzeba napisaÄ w notatkach (note) danego przedmiotu to:
# \evidence
# Wg autora mamy w notatniku dodatkowo wpisaÄ jednÄ lub kilka z
# poniĹźszych linijek, ja tego nie robiĹem i zawsze uzyskaĹem ten efekt, ktĂłry chciaĹem:
# $game_temp.evidence_w zamiast "w" naleĹźy wpisaÄ nazwÄ przedmiotu.
# $game_temp.evidence_x zamiast x naleĹźy wpisaÄ liczbÄ przedmiotĂłw.
# $game_temp.evidence_type zamiast type wpisujemy numer od 0 do 2 (0 = Item, 1 = Weapon, 2 = Armor)
# $game_temp.evidence_id zamiast "id" wpisujemy id ikonki
#
# ~~ZDARZENIE~~
# By wywoĹaÄ menu dawania prezentĂłw wywoĹaj skrypt:
# $scene = Scene_Evidence.new
# Potem wstaw polecenie czekaj/wait 1 frame
# Teraz wpisz polecenie: "conditional branch/ustaw warunek" uĹźywajÄ c jednego z tych skryptĂłw.
# $game_temp.evidence_name == "nazwa przedmiotu"
# $game_temp.evidence_amount == liczba przedmiotu
# $game_temp.evidence_type == typ od 0 do 2,
# $game_temp.evidence_id == id ikonki
#
# ~~ZAKOĹCZENIE~~
# JeĹźeli chcemy ustawiÄ warunek np: musimy podarowaÄ komuĹ "X" przedmiotĂłw o nazwie "Y"
# Wpisujemy w Conditional Branch to:
# $game_temp.evidence_amount == X && $game_temp.evidence_name == "Y"
# JeĹźeli bohater nie ma przedmiotu w plecaku, to ten przedmiot nie wyĹwietli siÄ w Oknie PrezentĂłw.
#
# WIELKOĹÄ LITER MA ZNACZENIE!!!!!!!!!!!!!!!!!
#=========================================================
#=========================================================
# ** RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# new method - evidence?
#=========================================================
class RPG::BaseItem
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Evidence?
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def evidence?
return true if self.note[/\\evidence/i] != nil
return false
end
end
#=========================================================
# ** Game_Temp
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Summary of Changes:
# new public instance variables - evidence_name, evidence_type, evidence_id
#=========================================================
class Game_Temp
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Public Instance Variables
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
attr_accessor :evidence_type # 0 => Item, 1 => Weapon, 2 => Armor
attr_accessor :evidence_id # Item ID
attr_accessor :evidence_name # The name of the evidence
attr_accessor :evidence_amount # The amount of that evidence in possession
end
class Window_Item
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Include?
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_dragon9_request_evince_selct_incl_8b4s include?
def include?(item)
return (item == nil ? false : item.evidence?) if $scene.is_a? (Scene_Evidence)
modalg_dragon9_request_evince_selct_incl_8b4s (item)
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Enable?
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
alias modalg_drgdd9_req_evidnc_954n enable?
def enable? (item)
return true if $scene.is_a? (Scene_Evidence)
return modalg_drgdd9_req_evidnc_954n (item)
end
end
#=========================================================
# ** Scene_Evidence
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# This class is a subclass of Scene_Item. Instead of using a selected item,
# this script reserves it in a variable to be used in an event.
#=========================================================
class Scene_Evidence < Scene_Item
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Return Scene
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def return_scene
$scene = Scene_Map.new
end
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# * Update Item Selection
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def update_item_selection
if Input.trigger?(Input::B)
Sound.play_cancel
# Clear evidence variables
$game_temp.evidence_type = nil
$game_temp.evidence_id = nil
$game_temp.evidence_name = nil
$game_temp.evidence_amount = nil
return_scene
elsif Input.trigger?(Input::C)
@item = @item_window.item
if @item == nil
Sound.play_buzzer
else
# Set evidence variables to the item chosen
$game_temp.evidence_type = @item.is_a? (RPG::Item) ? 0 : @item.is_a? (RPG::Weapon) ? 1 : 2
$game_temp.evidence_id = @item.id
$game_temp.evidence_name = @item.name
$game_temp.evidence_amount = $game_party.item_number (@item)
return_scene
end
end
end
end
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Wto 22 Gru, 2009 01:56
CaĹkiem przydatny skrypcik, choÄ wolaĹabym osobiĹcie uĹźyÄ go wĹaĹnie do celu "Evidence Locker". WpadĹam na pomysĹ wykorzystania go w swoim projekcie Dobra robota
Ew. moĹźna zastosowaÄ cos takiego jak hm... lubienie nas przez kluczowe postacie(?).
Nie bÄdÄ siÄ tu rozpisywaĹ jak to zrobiÄ, bo nie od tego jest ten temat :P
MoĹźe powiem, Ĺźe coĹ jak Dragon Age :D
A skrypcik naprawdÄ fajny... moĹźe go wykorzystam
mam podobny problem jak CrasheR tyle, Ĺźe mi to ani itemu nie odejmuje ani nie mam jak wybraÄ komu chcÄ ten cholerny prezent daÄ. niby wywoĹujÄ to :
$scene = Scene_Evidence.new
pod przedmiotem teĹź mam komendÄ
/evidence
ale jak kliknÄ na przedmiot to pokazuje mi siÄ okno postaci i po kilku klatkach (nie caĹa sekunda) mi siÄ zamyka a przedmiot jak byĹ tak jest... Czy w przedmoiocie trza dodatkowo coĹ ustawiÄ ?
________________________ PomyĹl, o czym myĹlisz i przemyĹl czy warto sobie zajmowaÄ tym czas
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