UltimaForum

Skrypty [VXAce] - Ukrycie umiejętności [VXAce]

Ayene - Pon 16 Sty, 2012 15:16
Temat postu: Ukrycie umiejętności [VXAce]
~ Ukrycie umiejętności [VXAce] ~


Krótki opis:
Skrypt pozwala ukryć umiejętności tak, by nie wyświetlały się w menu i/lub podczas walki.

Autor:
Ayene [yurika@o2.pl], KGC [http://ytomy.sakura.ne.jp/]

Kompatybilność:
RPG Maker VX Ace

Skrypt:
Spoiler:

Kod:
#==============================================================================
#  Ukrycie umiejętności [VXAce]
#  Autorzy: Ayene, KGC (wersja VX)
#------------------------------------------------------------------------------
#  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

      HIDDEN = /<(?:ukryty|UKRYTY)\s*
                (menu|walka|MENU|WALKA)?>/ix

end

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_SkillList < Window_Selectable
  alias include_HiddenSkill? include? if method_defined?(:include?) unless $@
 
  def include?(item)
    return false if item == nil
    if defined?(include_HiddenSkill?)
      return false unless include_HiddenSkill?(item)
    end
    if SceneManager.scene_is?(Scene_Battle)
      return false if item.hidden_in_battle?
    else
      return false if item.hidden_in_menu?
    end
    return item && item.stype_id == @stype_id
  end 
end
# ----------------------------- KONIEC SKRYPTU --------------------------------


Dodatkowe informacje:
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Piszcie w razie problemów.

SaNq - Sro 18 Sty, 2012 11:48

heh Ayene ty robisz 10skryptów dziennie czy co ? xD tak szybko robisz te skrypty
a po 2 skrypt sie przyda

matitus09 - Sob 10 Mar, 2012 13:58

Co dokładniej robi ten skrypt?
PaKiTos - Nie 11 Mar, 2012 18:58

Cytat:
Skrypt pozwala ukryć umiejętności tak, by nie wyświetlały się w menu i/lub podczas walki.

:kable:

matitus09 - Wto 13 Mar, 2012 08:46

Wkleiłem skrypt i nic.
Domilos - Wto 13 Mar, 2012 09:23

Ayene napisał/a:
2. Reszta instrukcji znajduje się w treści skryptu.


Kod:
#  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>


:kable:

matitus09 - Pią 16 Mar, 2012 07:32

Dzięki. :mrgreen:
Mateusz SSJ8 - Pią 16 Mar, 2012 12:34

Można to zrobić prościej. Każdy atak ma przecież ustawione, gdzie może być wykonany (Menu, Walka, Oba, Nigdzie). Zwykle jest to pod zmienną @occassion
Cytat:
0 = Walka i menu
1 = Walka
2 = Menu
3 = Nieużywane

Działa w RPG Makerze XP i nowszym

Malinex - Pon 30 Kwi, 2012 10:36

Hej! A da się żeby ukryta zostałą komenda atakuj podczas walki?
PaKiTos - Pon 30 Kwi, 2012 12:30

Da się.
Spoiler:

Kod:
#==============================================================================
# Hide-What-You-Want
# Wersja: 1.0
#------------------------------------------------------------------------------
# By PaKiTos (FanMarioPL)
# Można używać w grach komercyjnych, jak i niekomercyjnych.
# Jednak w grach komercyjnych musisz dać mnie do listy autorów.
#------------------------------------------------------------------------------
# Skrypt pozwala usunąć niektóre komendy w walce.
#==============================================================================
# KONFIGURACJA
#==============================================================================
ATTACK = false # czy pokazywać "atak"? true pokazuje, false ukrywa
SKILL = true # czy pokazywać "zdolności"? true pokazuje, false ukrywa
DEF = true # czy pokazywać "obrona"? true pokazuje, false ukrywa
ITEM = true # czy pokazywać "rzeczy"? true pokazuje, false ukrywa
#==============================================================================

class Window_ActorCommand < Window_Command
  def make_command_list
    return unless @actor
    if ATTACK == true
          add_attack_command
        end
            if SKILL == true
    add_skill_commands
  end
  if DEF == true
    add_guard_command
  end
  if ITEM == true
    add_item_command
    end
  end
  end


Malinex - Pon 30 Kwi, 2012 15:10

Wielkie dzięki PaKiTos ! :mrgreen: Tego szukałem! :-D

Powered by phpBB modified by Przemo © 2003 phpBB Group