Warunek używania danej broni
Aktualny czas: 28-04-26, 21:28 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VXAce] Warunek używania danej broni
X-Tech Offline


Liczba postów: 876
Dołączył: 03-05-13

Pomógł: 23



Post: #1
Warunek używania danej broni

Czy da się jakoś sprawdzać jako warunek używania danej broni -
Czy broń wybranego typu znajduje się w innym slocie na broń (dual-wield) ? np: nie mogę ekwipować broni jeśli w drugim slocie na broń nie ma broni typu bla, bla, bla. Dzięki temu można by robić różne typy amunicji do jednej broni.
(Ten post był ostatnio modyfikowany: 22-08-14 13:01 przez X-Tech.)
22-08-14 12:44
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #2
RE: Wymagania broni i pancerza

Innymi słowy - chcesz wybrać typy broni (tabela z id typów), które - w chwili, gdy są w drugim slocie - zablokują możliwość ekwipowania broni w pierwszym slocie?

[Obrazek: aye_furniture_pres.png]
22-08-14 13:50
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): duganhack
X-Tech Offline


Liczba postów: 876
Dołączył: 03-05-13

Pomógł: 23



Post: #3
RE: Warunek używania danej broni

Jak to napisać XD


Załóżmy, że w Armor Ustawię sobie jakąś zbroję i nazwę ją "Działo X"

Teraz. Odkąd "Działo X" będzie zajmować armor - armor będzie wywalać wszystko ze slotów weapon poza broniami o typie, który podam w "Działo X"


W ten sposób mój armor robi coś na zasadzie broni, która ma dwa rodzaje amunicji, której typami są weapon 1 slot i weapon 2 slot.



Albo inny cyk:


Weapon 1 będzie wywalać wszystko z weapon 2 jeśli w weapon 2 -nie jest typu jaki podam w notetag weapon 1 w ten sposób moge zrobić bron z jednym dodatkowym rodzajem amunicji. To też dobry myk xd
(Ten post był ostatnio modyfikowany: 22-08-14 14:32 przez X-Tech.)
22-08-14 14:11
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #4
RE: Warunek używania danej broni

Mhm... spróbuję coś wieczorem pokombinować. Myślę, że - jak prawie wszystko w RGSS - skrypt taki jest wykonalny.

[Obrazek: aye_furniture_pres.png]
23-08-14 13:19
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): duganhack
Ayene Offline
*


Liczba postów: 758
Dołączył: 09-04-13

Pomógł: 112



Post: #5
RE: Warunek używania danej broni

Możesz sprawdzić to:
module AYENE  
  TAKE_W_OFF = /<(?:TAKE_W_OFF|take_w_off)[ ]*(\d+(?:[ ]*,[ ]*\d+)*)>/i
  TAKE_A_OFF = /<(?:TAKE_A_OFF|take_a_off)[ ]*(\d+(?:[ ]*,[ ]*\d+)*)>/i
end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Check Types in Weapons
  #--------------------------------------------------------------------------
  def weapon_types
    types = []
    for equip in equips
      unless equip.nil?
        equip.note.split(/[\r\n]+/).each { |line|
          if line =~ AYENE::TAKE_W_OFF
            $1.scan(/\d+/).each { |num| types.push(num.to_i)}
          end
        }
      end
    end
    return types
  end
  #--------------------------------------------------------------------------
  # * Check Types in Armors
  #--------------------------------------------------------------------------
  def armor_types
    types = []
    for equip in equips
      unless equip.nil?
        equip.note.split(/[\r\n]+/).each { |line|
          if line =~ AYENE::TAKE_A_OFF
            $1.scan(/\d+/).each { |num| types.push(num.to_i)}
          end
        }
      end
    end
    return types
  end
  #--------------------------------------------------------------------------
  # * Change Equipment
  #--------------------------------------------------------------------------
  alias aye_gmactor_change_equip change_equip
  def change_equip(*args)
    aye_gmactor_change_equip(*args)
    @equips.each_index do |i|
      eq = @equips[i].object
      if (eq.is_a?(RPG::Weapon) and weapon_types.include?(eq.wtype_id))
        $game_party.gain_item(eq, 1)
        @equips[i].object = nil
      end
      if (eq.is_a?(RPG::Armor) and armor_types.include?(eq.atype_id))
        $game_party.gain_item(eq, 1)
        @equips[i].object = nil
      end
    end
    refresh
  end
end

Wpisując w notatkach <take_w_off 4, 5>, będziesz wyrzucał z ekwipunku bronie o typie z ID 4 i 5. Zaś wpisując <take_a_off 3> wyrzucisz pancerze z typem 3.

[Obrazek: aye_furniture_pres.png]
23-08-14 19:57
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): X-Tech , duganhack
X-Tech Offline


Liczba postów: 876
Dołączył: 03-05-13

Pomógł: 23



Post: #6
RE: Warunek używania danej broni

Teraz z tamtym skryptem na ograniczone użycia broni połączonym z tym mogę kombinować różne rodzaje amunicji i broni, a zmieniajac nazwy slotow dla klas duzo, duzo wiecej. Wowowow. Pomógł +9 . Mega.


Jeśli chce sprawdzać inne sloty rozumiem, że musze analogicznie dopisac tak jak napisalas to w weapon i armor. Nareszcie widze jak sie czyta wartosc z notetagow. Git.
(Ten post był ostatnio modyfikowany: 24-08-14 14:16 przez X-Tech.)
24-08-14 13:49
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Wątek zamknięty 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości

Kontakt | Ultima Forum | Wróć do góry | Wróć do forów | Wersja bez grafiki | RSS
Powered By MyBB. © 2013 MyBB Group. All Rights Reserved.
Skórka by Ayene.