Dodatkowa opcje ataku w menu bitwy
Aktualny czas: 28-04-26, 16:09 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[XP] Dodatkowa opcje ataku w menu bitwy
duganhack Offline
*


Liczba postów: 61
Dołączył: 07-08-14

Pomógł: 5



Post: #21
RE: Dodatkowa opcje ataku w menu bitwy

Inne odporności mają być takie jakie są chodzi mi o jeden aby miał on mała szanse na załączenie się, dokładnie chodzi mi o to że ten atak "szybki atak" którego stworzyłaś jako skill miał 5% na uaktywnienie się ( aby nie cały czas się włączał i żeby rozgrywka była ciekawsza)

Powstają dodatkowe mapy bo było zbyt pusto :D , przedmioty też, fabuła w 40%, npc w 70%

Aktualny projekt: (stan 50%)
Spoiler: (Otwórz)
16-08-14 16:33
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


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

Pomógł: 112



Post: #22
RE: Dodatkowa opcje ataku w menu bitwy

Szybki atak ma mieć 5% na załączenie statusu Smierć niezależnie od odporności przeciwnika?

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


Liczba postów: 61
Dołączył: 07-08-14

Pomógł: 5



Post: #23
RE: Dodatkowa opcje ataku w menu bitwy

Aha to wymaga pisania w języku ruby??? no to muszę wszystko powiedzieć szczegółowo :D
Chcę aby szybki atak i/lub potężny atak miał 5% szansy na status krwawienie ( krwawienie mam zrobione zabiera on w każdej turze progresywne uszkodzenia czy coś takiego)

Powstają dodatkowe mapy bo było zbyt pusto :D , przedmioty też, fabuła w 40%, npc w 70%

Aktualny projekt: (stan 50%)
Spoiler: (Otwórz)
16-08-14 17:46
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


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

Pomógł: 112



Post: #24
RE: Dodatkowa opcje ataku w menu bitwy

Możemy spróbować takiego rozwiązania...
Wejdź w skrypt 'Game_Battler 3' i znajdź (ok. 184):
effective |= states_plus(skill.plus_state_set)
zamień na:
effective |= states_plus(skill.plus_state_set, skill)

Następnie nad Main wklej:
class Game_Battler
  #--------------------------------------------------------------------------
  # * State Change (+) Application
  #--------------------------------------------------------------------------
  def states_plus(plus_state_set, skill = nil)
    # Clear effective flag
    effective = false
    if skill.id == 81
      if rand(100) < 5
        @state_changed = true
        effective = true
        add_state(3)
      end
    else
      # Loop (added state)
      for i in plus_state_set
        # If this state is not guarded
        unless self.state_guard?(i)
          # Set effective flag if this state is not full
          effective |= self.state_full?(i) == false
          # If states offer [no resistance]
          if $data_states[i].nonresistance
            # Set state change flag
            @state_changed = true
            # Add a state
            add_state(i)
          # If this state is not full
          elsif self.state_full?(i) == false
            # Convert state effectiveness to probability,
            # compare to random numbers
            if rand(100) < [0,100,80,60,40,20,0][self.state_ranks[i]]
              # Set state change flag
              @state_changed = true
              # Add a state
              add_state(i)
            end
          end
        end
      end
    end  
    # End Method
    return effective
  end
end

W tym kodzie są dwie kluczowe linijki:
if skill.id == 81
Tam zamiast 81 wpisz ID umiejętności Szybki Atak.

add_state(3)
Zamiast 3 wpisz ID statusu, który chcesz "wbić".

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


Liczba postów: 61
Dołączył: 07-08-14

Pomógł: 5



Post: #25
RE: Dodatkowa opcje ataku w menu bitwy

Wielkie dzięki jesteś najlepsza biggrin Zachęciłaś mnie do nauki RUBY, może jak się trochę w nim podszkolę to ci nie będę cały czas na głowie siedział mrgreen

@edit
A dało by się aby do innych skili należały inne statusy?

Bo próbowałem utworzyć 3 razy ten skrypt który podałaś i po prostu zmienić im id oraz status na ten którego potrzebowałem ale niestety jeden wyklucza drugi i jak działa jeden to drugi się nie załącza nawet jak ma 100% szansy (zmieniłem to if rand(100) < 5 na if rand(100) < 100) da się to jakoś zrobic?

Powstają dodatkowe mapy bo było zbyt pusto :D , przedmioty też, fabuła w 40%, npc w 70%

Aktualny projekt: (stan 50%)
Spoiler: (Otwórz)
(Ten post był ostatnio modyfikowany: 17-08-14 11:24 przez duganhack.)
17-08-14 11:00
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
Ayene Offline
*


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

Pomógł: 112



Post: #26
RE: Dodatkowa opcje ataku w menu bitwy

Podmień wcześniejszy skrypt na poniższy:
class Game_Battler
  #--------------------------------------------------------------------------
  # * State Change (+) Application
  #--------------------------------------------------------------------------
  def states_plus(plus_state_set, skill = nil)
    # Clear effective flag
    effective = false    
    unless skill.nil?
      case skill.id
      when 81        
        if rand(100) < 5
          @state_changed = true
          effective = true
          add_state(3)
        end
      when 82
        if rand(100) < 15
          @state_changed = true
          effective = true
          add_state(4)
        end
      when 83
        if rand(100) < 50
          @state_changed = true
          effective = true
          add_state(5)
        end
      end
    else
      # Loop (added state)
      for i in plus_state_set
        # If this state is not guarded
        unless self.state_guard?(i)
          # Set effective flag if this state is not full
          effective |= self.state_full?(i) == false
          # If states offer [no resistance]
          if $data_states[i].nonresistance
            # Set state change flag
            @state_changed = true
            # Add a state
            add_state(i)
          # If this state is not full
          elsif self.state_full?(i) == false
            # Convert state effectiveness to probability,
            # compare to random numbers
            if rand(100) < [0,100,80,60,40,20,0][self.state_ranks[i]]
              # Set state change flag
              @state_changed = true
              # Add a state
              add_state(i)
            end
          end
        end
      end
    end  
    # End Method
    return effective
  end
end

Jak sam zauważyłeś powielenie definicji powoduje jej nadpisanie. Trzeba było dodać odpowiednie warunki wewnątrz. I tak właśnie skrypt sprawdza teraz, jaki jest id umiejętności i dopasowuje odpowiedni status. Myślę, że załapiesz konfigurację smiles

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


Liczba postów: 61
Dołączył: 07-08-14

Pomógł: 5



Post: #27
RE: Dodatkowa opcje ataku w menu bitwy

Super !!! O to chodziło, nie wiem jak ci dziękować Ayene biggrin Ratujesz moją gierkę !!!

Powstają dodatkowe mapy bo było zbyt pusto :D , przedmioty też, fabuła w 40%, npc w 70%

Aktualny projekt: (stan 50%)
Spoiler: (Otwórz)
17-08-14 12:27
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.