| |
UltimaForum
|
 |
Skrypty [XP] - Skrypt - odnawianie HP
artekwnc - Nie 14 Mar, 2010 21:43 Temat postu: Skrypt - odnawianie HP Mam wam do przedstawienia skrypt - nie mój, z rmxp.pl od Ferredingu
Na czym polega?
Skrypt ten co jakiś czas odnawia 1% SP i HP
Creditsy:
Dla Ferredingu!!!
UWAGI:
Skrypt odmierza tą jednostkę czasu tylko jeśli gracz ma włączoną mapę. Kiedy włączymy menu itp. skrypt nie nalicza klatek.
Skrypt:
Instrukcja:
-W linijce 8, wartość którą wpiszemy odpowiada za ilość klatek po której HP i SP ma się odnowić. Liczba klatek podzielona przez 40 daje nam liczbę sekund po której ma się odnowić HP i SP (czyli jeśli jest 200 to 200/40=5 - co pięć sekund HP i SP się odnowi).
-Skrypt ma możliwość wyłączania odnawiania, robi się to poprzez funkcję w zdarzniu "Script..." i wpisując:
$game_system.recovery = 0 - jeśli ma się nie odnawiać
$game_system.recovery = 1 - jeśli ma się odnawiać normalnie
$game_system.recovery = 2 - jeśli ma się odnawiać dwa razy szybciej
$game_system.recovery = 3 - jeśli ma się odnawiać dwa razy wolniej
krychu18 - Sob 27 Mar, 2010 18:39
mi on nie działa.
pw115 - Sob 27 Mar, 2010 19:58
Ponieważ masz nielegalną polską wersję
która jest pełna błędów powstałych podczas tłumaczenia
Flanagan - Nie 28 Mar, 2010 08:44
A można zrobić to tak że np. założe pierścień leczenia i mnie leczy dopiero?????
Jeśli nie to szkoda bo potrzebuje czegoś takiego
Ayene - Nie 28 Mar, 2010 13:20
Skrypt jest błędny, powinien w pętli zwierać po actors[i]. Poprawiłam go nieco i dodałam opcję z przedmiotem leczącym (songoxyz):
Bulooo - Pią 25 Cze, 2010 21:41
Ayene możesz mi wytłumaczyć jak zrobić aby ten skrypt dawał mi co krok 1 hp ?
... A najlepiej żeby po wypiciu miksturki mi rosło hp... coś w stylu diablo...
erienus - Sob 26 Cze, 2010 09:44
Ayene a jak zrobić by określony przedmiot leczył przez np 2 minuty.
Ayene - Sob 26 Cze, 2010 10:23
Bulooo, możesz zastosować ten skrypt:
Stworzyć nowy status, np. Potion. Wpisać ID tego statusu w skrypcie:
Ustawić przedmiot, który ten status by wywoływał i wszystko powinno działać.
Bulooo - Sob 26 Cze, 2010 10:39
Nowy status ? Czyli.
Niekumam
Mam to tak
| Kod: | module Ayene
POTION_ID = 1 # id przedmiotu leczącego
end
class Game_Party
alias ayene_gmparty_inc_steps increase_steps
def increase_steps
ayene_gmparty_inc_steps
for i in 0...$game_party.actors.size
if $game_party.actors[i].hp < $game_party.actors[i].maxhp and $game_party.actors[i].states.include?(Ayene::POTION_ID)
$game_party.actors[i].hp += 1
end
if $game_party.actors[i].sp < $game_party.actors[i].maxsp and $game_party.actors[i].states.include?(Ayene::POTION_ID)
$game_party.actors[i].sp += 1
end
end
end
end |
I poza wklejeniem tego skryptu coś jeszcze trzeba.
Bo jak nie to mi nie leczy po 1 hp. leczy całość odrazu
Ayene - Sob 26 Cze, 2010 10:43
Źle napisałam, id nie przedmiotu leczącego tylko statusu leczącego. Czyli wejdź w bazę danych, zakładkę States i dodaj 17 (chyba że już jakieś masz) i nazwij do np. Potion albo Regen, jak wolisz. Następnie stwórz przedmiot leczący, ustaw by nie leczył hp tylko wbijał ten nowy status. A w skrypcie ustaw:
Bulooo - Sob 26 Cze, 2010 10:50
Działa :)
A ile będzie trwać ta regeneracja ?
i na przyszłość jak zrobić aby rosło np po 5 hp ?
Ayene - Sob 26 Cze, 2010 10:52
Tak, jak normalny status.
Wystarczy zamienić:
| Kod: | | $game_party.actors[i].hp += 1 |
na
| Kod: | | $game_party.actors[i].hp += 5 |
Bulooo - Sob 26 Cze, 2010 10:55
Kurcze bo ja mam abs mr mo's i nie wiem czemu mi nie znikają statusy ...
Pisałem już na pomoc
NP. Żeby mi zregenerowało 15 hp i się skończyło
erienus - Sob 26 Cze, 2010 12:40
Skrypt jest zajesuper ^^ dzięki
Bulooo - Sob 26 Cze, 2010 14:26
Dało by się zmienić aby hp dodawało co sekundę a nie tylko jak się chodzi ?
Ayene - Sob 26 Cze, 2010 18:16
Bulooo, no to przecież masz w pierwszym poście leczenie co określoną jednostkę czasu - 200 klatek, wystarczy zmienić tę wartość na mniejszą... pokombinuj trochę.
Bulooo - Sob 26 Cze, 2010 20:08
Nie udało mi się... sorki w skryptach się nie połapię...
Chciał bym Ayene żeby skrypt był ten stary co mi wcześniej dałaś z stanem tylko żeby dawał hp co sec.
Mogła byś mi go przekształcić.
Spróbowałem, dałem id przedmiotu ale nic
Ayene - Sob 26 Cze, 2010 20:22
Spróbuj to:
Bulooo - Sob 26 Cze, 2010 21:05
Wkleiłem raz ten skrypt tak aby mi dawał 1 hp. I działa
Ale 1 raz nie wystarczy więc wkleiłem więcej razy aby można było zrobić mikstury z różnymi ilościami hp.
Wygląda to tak
Ale wyskakuję mi taki błąd.
Dało by się go naprawić ?
Ayene - Nie 27 Cze, 2010 09:27
Nie powinno się powielać tych samych skryptów, grozi to właśnie takim błędem.
Spróbuj ten skrypt:
Wystarczy, że stworzysz kilka osobnych statusów i każdemu id w skrypcie przyporządkujesz inną wartość leczonego hp. Dokładnie w tym fragmencie:
| Kod: | REGEN_ID = { # id statusu leczącego => ilość leczonego HP i SP
16 => 1,
17 => 5,
18 => 15,
} |
Bulooo - Nie 27 Cze, 2010 09:30
A dało by się zrobić aby osobno regenerowało hp i osobno sp ?
bo teraz regeneruje hp i sp razem, a chciał bym osobno
Ayene - Nie 27 Cze, 2010 09:36
A nie mogłeś od razu tego napisać. Zobacz, ile razy musiałam już ten skrypt modyfikować!
Bulooo - Nie 27 Cze, 2010 09:40
Dzięki Ayene i przepraszam
Marvel1795 - Czw 20 Sty, 2011 15:05
A czy istnieje ten skrypt na VX?
Jeżeli on jest, to bardzo bym prosił o zamieszczenie linka.
Shlizer - Czw 20 Sty, 2011 15:09
Hmm.. spróbuj zamienić wszystkie 'actors' na 'members'.. może zadziała.
genialnyzolw - Sro 04 Maj, 2011 15:13
hmm
a da się zrobić tak że jakiś bohater jak ma 0 hp (umiera) to się nie leczy ?
Ayene - Sro 04 Maj, 2011 17:00
Znajdź trzy razy linijkę:
| Kod: | | for i in 0...$game_party.actors.size |
i pod nią dodaj:
| Kod: | | return if $game_party.actors[i].dead? |
genialnyzolw - Sro 04 Maj, 2011 20:50
Ok dzięki już działa jak należy
|
|