trigger_multiple i wywolanie funkcji
Najlepsza odpowiedź
Asiap
21.09.2015 12:18
velocity_by_aim
kod z mojego pluginu
static Float:fVelocity[3], fOrigin[3]; velocity_by_aim(id, 300, fVelocity); // pobranie wektora o dlugosci 300 w strone ktora patrzy gracz fVelocity[2] += 100; // dodanie 100 do kata odchylenia od osi x pev(id, pev_origin, fOrigin); // pobranie pozycji gracza set_pev(iEnt, pev_origin, fOrigin); // ustawienie entowi pozycji gracza set_pev(iEnt, pev_movetype, MOVETYPE_TOSS); // ustawie rodzaju ruchu entowi set_pev(iEnt, pev_velocity, fVelocity); // ustawienie szybkosci entowiPrzejdź do postu

Bunker
12.09.2015
Witam,
Stworzyłem skrypt, który tworzy ent'a w miejscu gdzie stoi gracz i niestety ten ent nic nie zrobi bo nie mogę przekazać informacji o tym, że gracz na nim stoi.
Chciałbym aby ten element działał w podobny sposób jak amunicja w hl czyli jak na niego nadepnę to daje mi amunicję, napisał coś, robił cokolwiek. Jednak gdy na niego nachodzę to nic nie robi. I tutaj moje pytanie, jak mogę przechwyć to zdarzenie? Próbowałem zarówno za pomocą Engine jak i Fakemeta bez rezultatu.
A to kodzik
Obiekt nie ma blokować ani gracza ani pocisków, gdy blokuje to wszystko działa ale jeśli ustalę tak jak ma być to ponownie nie wywołuje funkcji
Za wszelką pomoc bardzo dziękuję i liczę na szybkie rozwiązanie problemu.
Asiap
12.09.2015
public Lecz(iEnt, id) { static szClassName[32]; entity_get_string(iEnt, EV_SZ_classname, szClassName, 31); if(!equal(szClassName, "Apteczka")) { return FMRES_IGNORED } set_user_health(id,20) client_print(0,print_center, "id") return FMRES_IGNORED }
ps: nei wiem po co mieszasz engine z fakemeta, uzyj jednego modulu
Bunker
13.09.2015
Dzięki Asiap niestety mam jeszcze jeden problem tym razem z set_task
Kod wyglada w ten sposob
public ZacznijLeczyc(iEnt, id) { static szClassName[32]; entity_get_string(iEnt, EV_SZ_classname, szClassName, 31); if(equal(szClassName, "Apteczka")) { new tdData[1] tdData[0]=id set_task(Float:1.0,"ZaleczanieRan",6973,tdData , sizeof( tdData )) return FMRES_IGNORED } return FMRES_IGNORED } public ZaleczanieRan(id) { aktualnepz[id]=get_user_health(id) set_user_health(id,(aktualnepz[id]+1)) }
Chciałem aby co sekundę dodawało jeden hp ale niestety set_task nie działa. Proszę o wskazanie mi błędu/błędów jakie popełniłem.
Za odpowiedzi jak zawsze bardzo dziękuję
Użytkownik Bunker edytował ten post 13.09.2015 20:32
Asiap
13.09.2015
set_task(1.0,"ZaleczanieRan", id)
i to nie bedzie leczyc co sekunde tylko za sekunde
Bunker
20.09.2015
dzięki Asiap
Mam jeszcze ostatnie 2 pytania.
Chciałbym aby ten ent apteczki był wyrzucany jak bronie. Czy da się to zrobić i jeśli tak to jak to się robi?
Czytałem to http://amxx.pl/topic...rzedza-graczem/ ale mało co zrozumiałem
Bunker
21.09.2015
Mam to ale chodzi mi o sam ruch tego enta do przodu (tak jak jest to w przypadku wyrzucenia broni/bomby. Tak jakbym użył przycisku "g" do wywalenia apteczki. Nie chciałbym też podmieniać żadnej broni/paki
Najlepsza odpowiedź
Asiap
21.09.2015
velocity_by_aim
kod z mojego pluginu
static Float:fVelocity[3], fOrigin[3]; velocity_by_aim(id, 300, fVelocity); // pobranie wektora o dlugosci 300 w strone ktora patrzy gracz fVelocity[2] += 100; // dodanie 100 do kata odchylenia od osi x pev(id, pev_origin, fOrigin); // pobranie pozycji gracza set_pev(iEnt, pev_origin, fOrigin); // ustawienie entowi pozycji gracza set_pev(iEnt, pev_movetype, MOVETYPE_TOSS); // ustawie rodzaju ruchu entowi set_pev(iEnt, pev_velocity, fVelocity); // ustawienie szybkosci entowi