Stany - konkretna wartość
Aktualny czas: 28-04-26, 23:54 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VX] Stany - konkretna wartość
aron155 Offline
*


Liczba postów: 70
Dołączył: 12-08-13

Pomógł: 0



Post: #1
Stany - konkretna wartość

Witam.
W zakładce ,,Stan" chcę zrobić zwiększenie obrony. Jednak mogę to zrobić tylko poprzez zmianę procentową obecnej wartości. Czy można zrobić tak, aby obrona zwiększała się o konkretną wartość?
Kolejne pytanie dotyczy przydzielenia stanu do umiejętności. Jest ,,+" oraz ,,-". Od czego jest ,,-"?
15-12-13 23:09
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: Stany - konkretna wartość

Jest "-", bo są umiejętności, które zdejmują przecież "stany".

Co do procentów. Musiałbyś edytować skrypt, dokładniej Game_Battler dla definicji "atk" "def" "spi" i "agi", np. masz tam dla definicji "atk" linijkę:
for state in states do n *= state.atk_rate / 100.0 end
którą musiałbyś edytować, np:
for state in states do n += state.atk_rate end
I tak dla pozostałych definicji. Dobrze przetestuj.

[Obrazek: aye_furniture_pres.png]
15-12-13 23:48
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
aron155 Offline
*


Liczba postów: 70
Dołączył: 12-08-13

Pomógł: 0



Post: #3
RE: Stany - konkretna wartość

Po wstępnych testach sprawdza się, dzięki ;)

Kontynuując wątek - jak stworzyć stan zwiększający HP/MP?
(Ten post był ostatnio modyfikowany: 16-12-13 09:58 przez aron155.)
16-12-13 09:30
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: Stany - konkretna wartość

Możesz ustawić warunek w Troopsach, że jeżeli actor ten i ten ma określony status to zwiększ HP.
Ewentualnie można skorzystać ze skryptu:
class Game_Battler
  def maxhp    
    n = [[base_maxhp + @maxhp_plus, 1].max, maxhp_limit].min            
    for state in states do      
      state.note.split(/[\r\n]+/).each { |line|
      if line =~ /<(?:HP)\s*(\d+)>/i
        n += $1.to_i
      end
      }      
    end          
    n = [[Integer(n), 1].max, maxhp_limit].min
    return n        
  end
  
  def maxmp    
    n = [[base_maxmp + @maxmp_plus, 1].max, 999].min            
    for state in states do      
      state.note.split(/[\r\n]+/).each { |line|
      if line =~ /<(?:MP)\s*(\d+)>/i
        n += $1.to_i
      end
      }      
    end          
    n = [[Integer(n), 1].max, 999].min
    return n        
  end
end
Wpisując w oknie notatek Statusu: <HP 60> zwiększysz Maksymalne HP o 60. Podobnie z <MP 60>.

[Obrazek: aye_furniture_pres.png]
21-12-13 15:39
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.