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

[ROZWIĄZANE] Parametr DeathMsg ? (nie read_data())


Najlepsza odpowiedź BlackPerfum , 25.07.2014 19:27

mozna tak?

Tak ale totalnie nic ci to nie da jedynie pamięć zmarnujesz

I dlaczego tak mozna?

Bo nigdzie w pluginie nie wykonujesz tej funkcji bezpośrednio a amxx przesyła argumenty pośrednio

To:
public DeathMsg(id)
nie różni sie niczym od:
public DeathMsg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,w,x,y,z)
...


Mały dowód:
#include <amxmodx>

public plugin_init()
{
	new name[100]
	for(new i=1;i<200;i++)	if(get_user_msgname(i, name, charsmax(name)))
	{
		register_event(name,"Test","")
		register_event(name,"Test","a")
		register_event(name,"Test","b")
		register_event(name,"Test","c")
		register_event(name,"Test","d")
		register_event(name,"Test","e")
		register_event(name,"Test","ab")
		register_event(name,"Test","ac")
		register_event(name,"Test","ad")
		register_event(name,"Test","bc")
		register_event(name,"Test","bd")
		register_event(name,"Test","cd")
		register_event(name,"Test","abc")
		register_event(name,"Test","abd")
		register_event(name,"Test","bcd")
		register_event(name,"Test","acd")
		register_event(name,"Test","abcd")
	}
}

public Test(id)
{
	if(id) client_print(0,print_chat,"id == %i",id)
}
Przejdź do postu


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.07.2014 17:05

Witam.
Spotkalem sie z takim czyms:
public DeathMsg(id)
mozna tak? Dlaczego? I co to jest to id?
  • +
  • -
  • 0

#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 25.07.2014 18:26

można. w nawiasie podaje się parametr, w tym przypadku id to parametr. Można, ale to wtedy sprawdzasz, czy np. read_data(2) == id, czyli tak samo mógłbyś zrobić warunkiem if(read_data(2));

 


  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.07.2014 18:31

Dobra. Ale kogo oznacza to id? To jest pierwszy parametr? I dlaczego tak mozna?
  • +
  • -
  • 0

#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 25.07.2014 19:27   Najlepsza odpowiedź

mozna tak?

Tak ale totalnie nic ci to nie da jedynie pamięć zmarnujesz

I dlaczego tak mozna?

Bo nigdzie w pluginie nie wykonujesz tej funkcji bezpośrednio a amxx przesyła argumenty pośrednio

To:
public DeathMsg(id)
nie różni sie niczym od:
public DeathMsg(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,r,s,t,u,w,x,y,z)
...


Mały dowód:
#include <amxmodx>

public plugin_init()
{
	new name[100]
	for(new i=1;i<200;i++)	if(get_user_msgname(i, name, charsmax(name)))
	{
		register_event(name,"Test","")
		register_event(name,"Test","a")
		register_event(name,"Test","b")
		register_event(name,"Test","c")
		register_event(name,"Test","d")
		register_event(name,"Test","e")
		register_event(name,"Test","ab")
		register_event(name,"Test","ac")
		register_event(name,"Test","ad")
		register_event(name,"Test","bc")
		register_event(name,"Test","bd")
		register_event(name,"Test","cd")
		register_event(name,"Test","abc")
		register_event(name,"Test","abd")
		register_event(name,"Test","bcd")
		register_event(name,"Test","acd")
		register_event(name,"Test","abcd")
	}
}

public Test(id)
{
	if(id) client_print(0,print_chat,"id == %i",id)
}

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.07.2014 19:40

Czyli argumenty z eventów mam pobierać przez read_data()?
Widzialem juz kilkanascie pluginów ktore maja DeathMsg(id) i potem get_user_attacker(id).
I to działa, chociaż ta funkcja nie jest wywoływana bezpośrednio.
  • +
  • -
  • 0

#6 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 25.07.2014 20:13

Czyli argumenty z eventów mam pobierać przez read_data()?

tak

Widzialem juz kilkanascie pluginów ktore maja DeathMsg(id) i potem get_user_attacker(id).

Pewnie gdzieś jest
id = read_data(x)

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika




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

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