Skrypt na amunicję do broni ?
Aktualny czas: 28-04-26, 20:59 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VXAce] Skrypt na amunicję do broni ?
X-Tech Offline


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

Pomógł: 23



Post: #1
Skrypt na amunicję do broni ?

Znacie skrypt, który spowoduje, że dana broń będzie używać amunicji, która będzie się kończyć ?

O co mi chodzi ? Chodzi mi o to, żeby atak bronią był możliwy tylko jeśli ta broń jest w ekwipunku.

Użycie jej automatycznie zabierze jedną jej sztukę. Atak nie będzie możliwy kiedy zabraknie tej broni - CZYLI amunicją ma być bronią, którą można ekwipować np: kamień/gwiazdki ninja. Najlepiej jakby wyświetlało ilość tej broni w ekwipunku i opcjach ataku w walce. Istnieje coś takiego ?
(Ten post był ostatnio modyfikowany: 22-08-14 12:56 przez X-Tech.)
22-08-14 12:39
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Yoroiookami Offline
*


Liczba postów: 985
Dołączył: 01-05-13

Pomógł: 137



Post: #2
RE: Skrypt na amunicję do broni ?

http://yanflychannel.wordpress.com/rmvxa...t-manager/ Znalazłem to, ale niestety dotyczy tylko skilli. Jest za to wiele opcji. :ehe:

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


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

Pomógł: 23



Post: #3
RE: Skrypt na amunicję do broni ?

Znam ten skrypt na skille. Jest GIT, ale w mojej grze bronie mają levele dlatego jest ważne, żeby to działało tylko na bronie, które są w ekwipinku.


Jak nie ma innej opcji to sie wkurze wywale komende atak a przenose levele na skille oraz zamienie je na bazowa komende atak. Problem w tym ze jak w skrypcie ktory podales usatawialem jako warunek uzycia posiadanie ilosci jakiegos item to wyskakiwaly bledy, a w menu w ogole sie nie wyswietlala ikona i ilosc wymagana do uzycia
(Ten post był ostatnio modyfikowany: 22-08-14 13:14 przez X-Tech.)
22-08-14 13:13
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: Skrypt na amunicję do broni ?

Muszę doprecyzować.

Ekwipujesz sobie broń, np. Shuriken w pierwszym slocie i chcesz, aby była określona liczba jego użyć w walce (masz 20 gwiazdek - 20 razy nimi rzucasz). OK.
W chwili, gdy ich nie masz to ma znikać broń ze slota czy wystarczy wypisać np. w nawiasie (0). Atak ma być nieaktywny w walce, czy ma znikać?
Niech się wyświetla ich liczba w ekwipunku - OK.
Rozumiem, że gwiazdki miałbyś kupować jak zwykły przedmiot.

[Obrazek: aye_furniture_pres.png]
22-08-14 14:01
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: #5
RE: Skrypt na amunicję do broni ?

Zero by było spoko.

Gwiazdki byłyby do kupowania jak normalna broń do ekwipowania.



Tak naprawdę to ta idea jest nie tylko git do używania np: kamieni/gwiazdek jako broni (WSZYSTKIEGO co da sie rzucac), ale także z skryptem na warunek, że coś jest w ekwipunku - do zrobienia amunicji do broni - różnego rodzaju. W całym moim projekcie będzie dużo różnych broni, które będą mieć różne rodzaje amunicji itd.
(Ten post był ostatnio modyfikowany: 22-08-14 14:25 przez X-Tech.)
22-08-14 14:18
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: #6
RE: Skrypt na amunicję do broni ?

Mocno robocza wersja. Ale może dojdziemy do czegoś...
class RPG::Weapon < RPG::EquipItem  
  attr_accessor :can_use  
  attr_accessor :ammo_type  
  def can_use_ini
    @can_use = true
    @ammo_type = false
    self.note.split(/[\r\n]+/).each { |line|
      @ammo_type = true if line =~ /<(?:AMMO_TYPE|ammo_type)>/i  
    }
  end
end

module DataManager  
  #--------------------------------------------------------------------------
  # alias method: load_database
  #--------------------------------------------------------------------------
  class << DataManager
    alias aye_dataman_loaddata load_database
  end  
  def self.load_database
    aye_dataman_loaddata
    for weapon in $data_weapons
      next if weapon.nil?
      weapon.can_use_ini
    end
  end  
end

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Determine Usability of Normal Attack
  #--------------------------------------------------------------------------
  def attack_usable?    
    for weapon in weapons      
      return false if weapon.ammo_type and !weapon.can_use
    end
    super
  end
end

class Game_Party < Game_Unit  
  #--------------------------------------------------------------------------
  # * Increase/Decrease Items
  #--------------------------------------------------------------------------
  alias aye_gmparty_gain_item gain_item  
  def gain_item(*args)
    item = args[0]
    if item.is_a?(RPG::Weapon)  
      item.can_use = true if item.ammo_type
    end
    aye_gmparty_gain_item(*args)
  end  
end

class Window_ActorCommand < Window_Command
  #--------------------------------------------------------------------------
  # * Add Attack Command to List
  #--------------------------------------------------------------------------
  def add_attack_command    
    text = Vocab::attack
    for weapon in @actor.weapons      
      if weapon.ammo_type
        amount = !weapon.can_use ? 0 : $game_party.item_number(weapon) + 1
        text += sprintf("(%d)", amount)
      end
    end
    add_command(text, :attack, @actor.attack_usable?)
  end
end

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Execute Battle Actions
  #--------------------------------------------------------------------------
  alias aye_scbat_execute_action execute_action
  def execute_action
    if @subject.actor?
      for weapon in @subject.weapons
        if weapon.ammo_type
          $game_party.item_number(weapon) == 0 ? weapon.can_use = false : $game_party.lose_item(weapon, 1, false)
        end
      end
    end
    aye_scbat_execute_action
  end
end

Jeśli wpiszesz w oknie notatek broni <ammo_type> przyjmie ją jako zużywalną.

[Obrazek: aye_furniture_pres.png]
22-08-14 19:15
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): X-Tech
Mateusz SSJ8 Offline
*


Liczba postów: 511
Dołączył: 10-05-13

Pomógł: 40



Post: #7
RE: Skrypt na amunicję do broni ?

Możesz użyć zewnętrznego ruby

1. zdefiniuj klasę "RPG::Ammo" w jednym pliku i pojedyncze amunicje w drugim.
2. utwórz klasę "Game_Item". Musi ona zawierać 3 zmienne:
@item_class
@item_id
@stack - na liczbę sztuk tej broni
Opcjonalne zmienne to:
@class - pokazująca poziom broni
@ammo - na amunicję w broni
@shot -na ładunek zasilający broń do strzelania
@inlaided - na czary, którymi broń została wzmocniona
3. przerób oskryptowanie pod zmiany.

Uwaga!!!
"@ammo" jest do każdej broni, z której można strzelać.
"@shot" jest do broni wymagających zasilania (np. pistoletów zasilanych nabojem CO2)
"@stack" wystarczy broni, którą rzucasz w przeciwnika. Dla broni białej, zbroi, akcesoriów, pojemników na amunicję i zużywających się przedmiotów daj jeden, dla reszty ile chcesz.

Nienawidzony i nienawidzący. Przez nienawiść tego drugiego obaj będą martwi.
22-08-14 19:39
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
ralfek Offline
*


Liczba postów: 46
Dołączył: 27-04-14

Pomógł: 2



Post: #8
RE: Skrypt na amunicję do broni ?

http://rmrk.net/index.php?topic=45699.0

najprościej

Daj pomógł
22-08-14 23:50
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
X-Tech Offline


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

Pomógł: 23



Post: #9
RE: Skrypt na amunicję do broni ?

Ayene napisałaś to. Naprawdę GiiiiIIIIIIIt. Wowow. Pomógł +8

Twój skrypt działa naprawdę spoko. Sprawdziłem go na pustym projekcie i jest git.
Działa dobrze na jednej i na dwóch broniach. Jako podstawa jest naprawdę solidny !



Na siłę:
Można by się pobawić w wizualizacje ikonek, które symbolizują daną broń obok ilości przy komendzie atak w walce. To by było całkiem mocne.
W menu ekwipunek po ekwipowaniu broni nie widać obok ile zostało amunicji w całości.









Twój skrypt jest jest wazny, znalazłem skrypt, który pozwala dodawać wyjątki do instance items (ses) więc działa z twoim spoko ale gdzies mi przez to przepadło fomarowe levelowanie ekwipunku. Może jednak autor item charges wykombinuje ograniczoną ilość użycia na weapon/armor. To by było świetne. Moze fomar doda mozliwosc oznaczenia wyjatkow i wroci mi system levelowania ekwipunku, albo poszukam jeszcze innego. Kurcze moja g.lowa ;O xd

(22-08-14 23:50)ralfek napisał(a):  http://rmrk.net/index.php?topic=45699.0

najprościej

Daj pomógł

To jeden z pierwszych wynikow ktore znalazlem w google. Długo z nim walczyłem, ale niestety nie dałem rady się przekonać. Dział ammo nie zaskakiwał czasem w ogóle, a jesli to i tak nie było widać otagowanych wczesniej rodzajow amunicji, ktory ten dzial mial tworzyc. Skrypt ten tez nie obsluguje rodzajow amunicji tylko jeden a atak zalezy od broni a nie od amunicji. To co napisala Ayene jak dla mnie jest 10x lepsze i daje wieksze opcje przy wlaczeniu mozgu na korelacje z innymi skryptami. W kazdym razie dzieki ale ja znam ten skrypt i probowalem naprawde 3-4 dni aby cos na tym wskorac, albo mial problemy z innymi skryptami albo jest naprawde zle napisany. Myslalem ze oszaleje kiedy z nim walczylem. W nim praktycznie nic nie dzialalo - chyba za bardzo na niego wplywaly inne skrypty.
Sam pomysł jednak jest okej, ale to co zrobiła Ayene daje kwadrylion możliwości przecież są skrypty na rename slotów w ekwipunku dla klas itd. i wiele INNYCH i zaczyna sie zabawa ;p
(Ten post był ostatnio modyfikowany: 23-08-14 02:26 przez X-Tech.)
23-08-14 00:25
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: #10
RE: Skrypt na amunicję do broni ?

Hmm... Jeśli chcesz, aby amunicja wyświetlała się również przy ekwipowaniu, dodaj do powyższego skryptu:
class Window_EquipSlot < Window_Selectable  
  #--------------------------------------------------------------------------
  # * Draw Item
  #--------------------------------------------------------------------------
  alias aye_wineqslot_draw_item draw_item
  def draw_item(index)
    aye_wineqslot_draw_item(index)    
    item = @actor.equips[index]
    rect = item_rect_for_text(index)
    return unless item.is_a?(RPG::Weapon)
    if item.ammo_type
      amount = !item.can_use ? 0 : $game_party.item_number(item) + 1
      cx = text_size(item.name).width + 28
      draw_text(rect.x + 92 + cx, rect.y, 92, line_height, sprintf("(%d)", amount))
    end  
  end
end

Żeby po nałożeniu nie wyświetlało broni wśród przedmiotów przy ekwipunku:
class Window_EquipItem < Window_ItemList
  #--------------------------------------------------------------------------
  # * Include in Item List?
  #--------------------------------------------------------------------------
  def include?(item)
    return true if item == nil
    return false unless item.is_a?(RPG::EquipItem)
    return false if @slot_id < 0
    return false if item.etype_id != @actor.equip_slots[@slot_id]
    return false if $game_party.members_equip_include?(item)
    return @actor.equippable?(item)
  end
end

A z tą wizualizacją ikonek... Ikonka obok liczby ataków? Raczej się nie zmieści :-/

[Obrazek: aye_furniture_pres.png]
23-08-14 09:03
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a): Yoroiookami , X-Tech
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.