Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Wywołanie komendy na graczu przy zadaniu dmg.


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 skorpius

    Wszechpomocny

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

Napisano 01.08.2015 12:08

Potrzebuje kodu który przy zadaniu dmg wywolalby kucniecie (ctrl) bez wstawania oraz kucniecie że wstanianiem (puszczenie ctrl)
Oraz podskok (spacja) czekam na propozycję!
Coś jak:
-duck, +duck
Oraz
-jump, +jump.
  • +
  • -
  • 0

4680134.png


#2 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

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


  • +
  • -
  • 0

#3 skorpius

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

Napisano 01.08.2015 16:40

this ???

byłem przekonany że  "   id  "

 

jest w ogóle różnica?


  • +
  • -
  • 0

4680134.png


#4 skorpius

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

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?


  • +
  • -
  • 0

4680134.png


#5 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 01.08.2015 19:41

Użyj kanapki, napisałem

this czy id, to kwestia jak sobie nazwiesz parametr... W każdym razie chodzi mi o ofiare, a standardowo jest to nazwane this
  • +
  • -
  • 0

#6 skorpius

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

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

  • +
  • -
  • 0

4680134.png


#7 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

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)


  • +
  • -
  • 0

#8 skorpius

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

Napisano 03.08.2015 21:11

Stary widzę że lekcje mi prawisz/ zrób mi gotowca i po temacie. Proszę.


  • +
  • -
  • -2

4680134.png


#9 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

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

  • +
  • -
  • 2

#10 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 04.08.2015 06:32

@up

 

ad 1, 2 - napisałem o tym przecież xD

 

 

 

Co do komend:

+jump można wykonać ustawiając jakieś velocity, żeby gracza do góry "hopło"


  • +
  • -
  • 0

#11 skorpius

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

Napisano 16.08.2015 16:15

NoLiFeR

Tak się odpowiada. +

 

TibacK (mniej podchodów )

zaproś kumpla

nikt 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.


  • +
  • -
  • 0

4680134.png


#12 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 16.08.2015 16:18

NoLiFeR

Tak się odpowiada. +

 

TibacK (mniej podchodów )

zaproś kumpla

nikt 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 +/-.


  • +
  • -
  • 0

b35020692_qesnxqa.png


#13 skorpius

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:322
  • Imię:Damian
  • Lokalizacja:Dębica
Offline

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.


  • +
  • -
  • -1

4680134.png


#14 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

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.
 


  • +
  • -
  • 2

b35020692_qesnxqa.png


#15 NoLiFeR

    Wszechobecny

  • Użytkownik

Reputacja: 103
Zaawansowany

  • Postów:483
  • GG:
  • Imię:Adrian
  • Lokalizacja:Sosnowiec
Offline

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 :P

ł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 :)


  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych