Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Wywołanie komendy na graczu przy zadaniu dmg.
#1
Napisano 01.08.2015 12:08
Oraz podskok (spacja) czekam na propozycję!
Coś jak:
-duck, +duck
Oraz
-jump, +jump.
#2
Napisano 01.08.2015 13:59
złap TakeDamage Post, sprawdź czy ofiara jest żywa, jeżeli tak to użyj wtedy client_cmd(this, "+duck") albo +jump, a jak chcesz żeby potem wstał sam to set_task, jako id taska podajesz id ofiary i w funkcji od taska wykonujesz client_cmd z komendą -jump/-duck.
Chyba jasno napisałem
#3
Napisano 01.08.2015 16:40
this ???
byłem przekonany że " id "
jest w ogóle różnica?
#4
Napisano 01.08.2015 16:53
register_event("Damage", "Kucnij_se", "b", "2!=0");
public Kucnij_se(id) { new idattacker = get_user_attacker(id); if(!is_user_alive(idattacker)) return; if(!ma_klase[idattacker]) return; if(random_num(1, 2) != 1) return; client_cmd(id, "+duck"); }
To mi nie działa /testowane na botach
Jakieś sugestie?
#5
Napisano 01.08.2015 19:41
this czy id, to kwestia jak sobie nazwiesz parametr... W każdym razie chodzi mi o ofiare, a standardowo jest to nazwane this
#6
Napisano 03.08.2015 18:10
RegisterHam(Ham_TakeDamage, "player", "Fw_PlayerTakeDamage", 0)
public Fw_PlayerTakeDamage(id, idinflictor, idattacker, Float:damage, damagebits) { if(!ma_klase[idattacker])return; if(random_num(1, 2) != 1) return; client_cmd(id, "+duck");return HAM_SUPERCEDE }
no za pomocą "kanapki" to tylko tak potrafię.
Użytkownik skorpius edytował ten post 03.08.2015 18:11
#7
Napisano 03.08.2015 19:02
złap TakeDamage Post
Ty łapiesz pre -.-
sprawdz czy attacker jest podłączony i czy ofiara jest żywa (id w tym przypadku)
Gdzieś czytałem że random jest szybsze, więc
if(random_num(1, 2) != 1) return;
->
if(!random(2)) return
return HAM_SUPERCEDE
Tym to sobie możesz... Zablokujesz wszystkie obrażenia, chyba że o to Ci chodzi, ale kompilator i tak wyrzuci błąd bo użyłeś raz returna bez wartości, a potem zwracasz supercede
+dorób task z -duck, jeżeli ma wstać po jakimś czasie
EDIt: Tak, prawie ci lekcje, bo nie czytasz tego co pisze, gdybyś włożył minimum wysiłku i poszukał troszkę w różnych pluginach kodu to byś miał, na gotowca nie licz (niedość, że na tel to i tak nie)
#8
Napisano 03.08.2015 21:11
Stary widzę że lekcje mi prawisz/ zrób mi gotowca i po temacie. Proszę.
#9
Napisano 04.08.2015 04:44
Jak powiedzial kiedyś ktoś mądry :
Daj człowiekowi rybę, a będzie najedzony przez jeden dzień. Daj człowiekowi wędkę, a będzie najedzony przez całe życie.
My staramy się Tobie wytłumaczyć, jak zrobić to tak, abyś w przyszłości umiał zrobić to sam.
Dawanie gotowców to ostra droga na skróty. Jeżeli nie chcesz się uczyć podstawowego programowania w tym języku, to lepiej skończ z serwerami...
co do tematu :
public Fw_PlayerTakeDamage(id, idinflictor, idattacker, Float:damage, damagebits) { if(!ma_klase[idattacker])return; if(random_num(1, 2) != 1) return; client_cmd(id, "+duck"); return HAM_SUPERCEDE }
Ten kod nie jest zły, lecz ma dwie zasadnicze wady.
1.
Kod się nie skompiluje z błędem
error 078: function uses both "return" and "return <value>"
ponieważ używasz return bez parametru, a następnie return z parametrem w jednej funkcji. Jest to niedozwolone oraz owocuje wywaleniem w/w błędu. (daj return HAM_IGNORED zamiast return przy randomie oraz sprawdzaniu czy ma klase)
2.
łapiesz wydarzenie pre zamiast post. (0 zamiast 1 w ost parametrze RegisterHam)
A być może gracz zginie od zadanego dmg ?
Z tego co pamiętam, albo na zbotach albo na podbotach nie działa wykonywanie komend.
zaproś kumpla, aby pomógł ci stestować daną funkcje. Testowanie na botach to ostateczność...
Użytkownik NoLiFeR edytował ten post 04.08.2015 04:46
#10
Napisano 04.08.2015 06:32
@up
ad 1, 2 - napisałem o tym przecież
Co do komend:
+jump można wykonać ustawiając jakieś velocity, żeby gracza do góry "hopło"
#12
Napisano 16.08.2015 16:18
Tak się odpowiada. +
TibacK (mniej podchodów )
zaproś kumplanikt nie gra w 1.6 tylko nudne GO.
Z tego co pamiętam, albo na zbotach albo na podbotach nie działa wykonywanie komend.Domyślałem się bo Exp i perki też nie daje za zabicie.
Close down Mr Admin.
Czym innym jest wykonywanie komend na bocie a czym innym funkcji. W silniku po prostu zdobywanie itemow i doswiadczenia gdy nie ma sie klas jest zablokowane.
Edit: Poza tym nie mozna wykonywac komend z przedrostkiem +/-.
#13
Napisano 16.08.2015 16:50
Czym innym jest wykonywanie komend na bocie a czym innym funkcji. W silniku po prostu zdobywanie itemow i doswiadczenia gdy nie ma sie klas jest zablokowane.
Botów do cod moda które mają wybrane klasy też się tyczy?
Edit: Poza tym nie mozna wykonywac komend z przedrostkiem +/-.
Nie wiem o co panu chodzi; +duck-kliknięcie Ctrl -duck puściłeś Ctrl (granie na skryptach uczy)
Bez tych przedrostków system nie będzie wiedział co ma zrobic, nie ma osobnego duck // stand .
Sp. Dzięki że czytasz poje wcześniejsze posty:
Stary widzę że lekcje mi prawisz/ zrób mi gotowca i po temacie. Proszę.
Już zostałem ukarany. Skoro twierdzisz że za mało.....ok.
#14
Napisano 16.08.2015 18:09
Czym innym jest wykonywanie komend na bocie a czym innym funkcji. W silniku po prostu zdobywanie itemow i doswiadczenia gdy nie ma sie klas jest zablokowane.Botów do cod moda które mają wybrane klasy też się tyczy?
Edit: Poza tym nie mozna wykonywac komend z przedrostkiem +/-.Nie wiem o co panu chodzi; +duck-kliknięcie Ctrl -duck puściłeś Ctrl (granie na skryptach uczy)
Bez tych przedrostków system nie będzie wiedział co ma zrobic, nie ma osobnego duck // stand .
Sp. Dzięki że czytasz poje wcześniejsze posty:
Stary widzę że lekcje mi prawisz/ zrób mi gotowca i po temacie. Proszę.Już zostałem ukarany. Skoro twierdzisz że za mało.....ok.
Czym innym jest wykonanie okreslonej komendy po stronie gracza a czym innym po stronie serwera. Po stronie gracza mozna wykonac wszystko ale po stronie serwera np nie przypiszesz funkcji po nacisnieciu +attack. Co do tych botow, nie chce mi sie nawet wypowiadac. Poucz sie chlopczyku pozniej mnie cytuj, tyle w temacie.
#15
Napisano 18.08.2015 00:48
Po stronie gracza mozna wykonac wszystko ale po stronie serwera np nie przypiszesz funkcji po nacisnieciu +attack.
Oj tutaj się nie zgodze
łapanie cmdpre + pev_button (IN_ATTACK) + pev_oldbuttons (~IN_ATTACK) + danafunkcja(id)
Ale ogólnie poprzez register_clcmd nie przypisze funkcji, przy czym masz racje
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych