Skrypt głodu - tylko jeden bohater
Aktualny czas: 28-04-26, 21:07 Witaj! Przejdź do zakładki Logowanie lub Rejestracja


Wątek zamknięty 
[VX] Skrypt głodu - tylko jeden bohater
aron155 Offline
*


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

Pomógł: 0



Post: #1
Skrypt głodu - tylko jeden bohater

Witam.
Przerobiłem skrypt głodu i pragnienia tak, że jest tylko opcja pragnienia (póki co działa więc zmiana wyszła pozytywnie :D ). Problem w tym, że w drużynie jest 4 bohaterów a skrypt ma dotyczyć tylko jednego bohatera. Jak to zrobić? Czym zastąpić ,,actor" w skrypcie? Przepraszam za brak tabulatur, ale kod miałem zapisany w notatniku.

Spoiler: (Otwórz)
27-08-13 05:24
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: Skrypt głodu - tylko jeden bohater

Za actor trzeba podstawić cyfrę, która odpowiada indeksowi bohatera w drużynie. Czyli pierwszy bohater ma indeks 0, drugi - 1, trzeci - 2, itd.
Dlatego w komendzie
change_hunger(actor, amount)
jeśli chcesz zmienić poziom głodu pierwszej postaci w drużynie, wpisz:
change_hunger(0, 200)

[Obrazek: aye_furniture_pres.png]
27-08-13 07:27
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: Skrypt głodu - tylko jeden bohater

Problem w tym, że w skrypcie nie ma tego polecenia. Mogę sam aktywować tą komendę w zdarzeniu. Podczas poruszania zmienia się głód i to jest w skrypcie zawarte. Znalazłem jednak, że jest pełno pętli for zależnych od rozmiaru drużyny. Wyrzucę je i zamiast parametru i dam konkretnego bohatera.
Wpadłem właśnie na lepszy pomysł (ah to podwójne espresso o 4 nad ranem :D ). Jak zrobić, aby naliczanie głodu było zależne od zmiany klasy bohatera bądź zmiennej? Na zasadzie, że gra się normalnie, jakieś zdarzenie zmienia klasę bohatera/zmienia zmienną i wtedy włącza się system głodu dla danego bohatera? Tutaj jest link do pełnego skryptu jak coś: SKRYPT
29-08-13 02:25
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 głodu - tylko jeden bohater

Czyli chcesz, aby głód bohatera wzrastał przy chodzeniu, ale dopiero po zmianie jego klasy?

[Obrazek: aye_furniture_pres.png]
29-08-13 20:47
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
aron155 Offline
*


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

Pomógł: 0



Post: #5
RE: Skrypt głodu - tylko jeden bohater

Dokładnie. Konkretnie chodzi o przypisanie tego skryptu do konkretnej klasy (jak bohater będzie tej klasy, to skrypt będzie działał dla niego). Może być przy zmianie klasy bądź zmiennej/przełącznika. Zapewne najwygodniej będzie ze zmienną - if zmienna = 1 ... Wtedy skrypt będzie przygotowany pod konkretnego bohatera ale aktywny, gdy zmienna będzie miała konkretną wartość. Tylko nie wiem jak sprawdzać w skrypcie wartość zmiennej :/
(Ten post był ostatnio modyfikowany: 29-08-13 22:21 przez aron155.)
29-08-13 22:17
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 głodu - tylko jeden bohater

W cale nie będzie łatwiej ze zmienną. Znajdź w skrypcie linijkę:
$game_party.members[i].hunger += STEP_HUNGER_ADDED if USE_HUNGER
przed nią dodaj:
if [1, 2, 3].include?($game_party.members[i].class_id)
następnie znajdź poniżej:
jet2211_increase_steps(*args)
przed nią dodaj:
tablica [1, 2, 3] zawiera po przecinku ID klas, które mają aktywować głód i pragnienie.

[Obrazek: aye_furniture_pres.png]
29-08-13 22:46
Znajdź wszystkie posty użytkownika
"Pomógł" przyznał(a):
aron155 Offline
*


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

Pomógł: 0



Post: #7
RE: Skrypt głodu - tylko jeden bohater

Dzięki, poszło ;) Myślałem, że porównanie zmiennej będzie prostsze ;) Pojawił mi się jeszcze jeden problem. Po linii if AFFECT_STATS odpowiadającej za modyfikację atrybutów dodałem fragment odpowiadający za obniżenie życia i many:
Spoiler: (Otwórz)
Jeśli osiągnięty zostanie określony prób, to poziom życia i many spada o zadany współczynnik. Przy leczeniu miksturką życie nie wraca do pełna (tak ma być).
Pierwszy problem: gdy dam bohaterowi miksturę życia, to spada mana. Analogicznie gdy dam manę spada życie. Jak to zniwelować?
Drugi problem: Załóżmy, że max hp wynosi 400 a obecne hp 300. Gdy współczynnik wynosi 0.9 max hp będzie 360. Problem w tym, że hp też spada a chciałbym żeby zostało bez zmian.
Dodatkowym problemem jest zaokrąglenie. Przy drugim problemie hp ma kilka miejsc po przecinku. W jaki sposób mogę je zaokrąglić do 1 miejsca po przecinku?
(Ten post był ostatnio modyfikowany: 29-08-13 23:02 przez aron155.)
29-08-13 23:01
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.