Ayene - Wto 17 Lis, 2009 21:37 Temat postu: Ukrycie umiejętności
~ Ukrycie umiejętności ~
Krótki opis
Skrypt pozwala ukryć umiejętności tak, by nie wyświetlały się w menu i podczas walki. Na pierwszy rzut oka skrypt wydaje się być niepotrzebny, jest jednak przydatny, gdy chcemy przerobić komendy podczas walki (by odpowiadały konkretnym umiejętnościom).
Autor skryptu
KGC [http://ytomy.sakura.ne.jp/]
Tłumaczenie i korekta
Ayene [yurika@o2.pl]
Kompatybilność
Tylko VX.
Skrypt
Spoiler:
Kod:
#==============================================================================
# Ukrycie umiejętności by KGC [http://ytomy.sakura.ne.jp/]
# Tłumaczenie i korekta by Ayene [ www.ultimateam.pl]
#------------------------------------------------------------------------------
# Skrypt pozwala ukryć umiejętności tak, by nie wyświetlały się w menu
# i podczas walki.
# Wystarczy wpisać przy wybranej umiejętności w miejscu 'Note' w Bazie Danych:
# - aby ukryć ją w menu:
# <ukryty menu> lub <UKRYTY MENU>
# - aby ukryć ją w walce:
# <ukryty walka> lub <UKRYTY WALKA>
# Umieść skrypt nad Main.
#==============================================================================
# --------------------------- POCZĄTEK SKRYPTU -------------------------------
module HiddenSkill
class RPG::Skill < RPG::UsableItem
#--------------------------------------------------------------------------
# Jeśli umiejętność nie jest ukryta...
#--------------------------------------------------------------------------
def create_hidden_skill_cache
@__hidden_in_menu = false
@__hidden_in_battle = false
self.note.each_line { |line|
case line
when HiddenSkill::HIDDEN
case $1
when /^menu|MENU/i
@__hidden_in_menu = true
when /^walka|WALKA/i
@__hidden_in_battle = true
when nil
@__hidden_in_menu = true
@__hidden_in_battle = true
end
end
}
end
#--------------------------------------------------------------------------
# Ukrycie w menu
#--------------------------------------------------------------------------
def hidden_in_menu?
create_hidden_skill_cache if @__hidden_in_menu == nil
return @__hidden_in_menu
end
#--------------------------------------------------------------------------
# Ukrycie podczas walki
#--------------------------------------------------------------------------
def hidden_in_battle?
create_hidden_skill_cache if @__hidden_in_battle == nil
return @__hidden_in_battle
end
end
class Window_Skill < Window_Selectable
unless $@
alias include_HiddenSkill? include? if method_defined?(:include?)
end
def include?(skill)
return false if skill == nil
if defined?(include_HiddenSkill?)
return false unless include_HiddenSkill?(skill)
end
if $game_temp.in_battle
return false if skill.hidden_in_battle?
else
return false if skill.hidden_in_menu?
end
return true
end
def refresh
@data = []
for skill in @actor.skills
next unless include?(skill)
@data.push(skill)
if skill.id == @actor.last_skill_id
self.index = @data.size - 1
end
end
@item_max = @data.size
create_contents
for i in 0...@item_max
draw_item(i)
end
end
end
# ----------------------------- KONIEC SKRYPTU --------------------------------
Demo
niepotrzebne
Screenshot
Spoiler:
Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.
Piszcie w razie problemów.pro14ab - Pią 17 Cze, 2011 22:47 Hmmm... mi się chyba nie przyda :D ale może innym Aesen - Czw 12 Sty, 2012 19:13 Coś mi nie działa wklejam skrypt pisze <ukryty> i nadal on jest Ayene - Czw 12 Sty, 2012 20:49 Zrobiłam korektę skryptu i zaktualizowałam pierwszy post. Teraz powinno działać