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] dodawanie do menu graczy z przeciwnego teamu


Najlepsza odpowiedź BlackPerfum , 31.07.2013 15:15

Chodziło mu o aby nie tworzyć zmiennej i dać tylko jeden warunek:



if(get_user_team(id2)  == team)    continue;

A przed pętlą sprawdzać czy czasem gracz nie jest nie przydzielony do żadnego temu lub czy jest na specu

 

A co do kompilacji to zamień:

menu_item_getinfo(menu, item, access, data, 1, _, _, callback);

Na:

menu_item_getinfo(menu, item, access, strid, 1, _, _, callback);
Przejdź do postu


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

#21 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 01.08.2013 07:13

public Gracz(id)
{
	new menu = menu_create("Wybierz gracza:", "Gracz_handler")
    	new Players[32], playerCount, team, id2, team2, nick[32], strid[2]

	team = get_user_team(id)
	get_players(Players, playerCount, "h")
	
	for(new i=0; i<playerCount; i++)
	{
		id2 = Players[i]
	        if(!is_user_connected(id2))	continue
		
		team2 = get_user_team(id2)
		if(team2 == team || !team || team == 3)	continue;

		get_user_name(id2, nick, 31)
		num_to_str(id2,strid,1)
		menu_additem(menu, nick, strid)
	}
	menu_display(id, menu)
}

public Gracz_handler(id, menu, item)
{
    	if(item == MENU_EXIT)
    	{
     	   menu_destroy(menu);
     	   return PLUGIN_CONTINUE;
   	}
	
	new access, callback, strid[2], id2, name[32];
	menu_item_getinfo(menu, item, access, strid, 1, _, _, callback);
   	new id2 = str_to_num(strid);
	
    	get_user_name(id2, name, 31);

	cod_set_user_perk(id2, 0);
}

symbol is already defined "id2"  <62>

undefined symbol "id2" <ostatnia linia spoza zakresu(???)>


Użytkownik Lolunio edytował ten post 01.08.2013 07:17

  • +
  • -
  • 0

#22 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

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

Napisano 01.08.2013 08:31

Sorki za pomyłkę dwa razy się zmienna tworzy zamień:(oraz funkcja zamieniająca liczbę na ciąg znaków nie pakuje jej od zerowego indeksu)



new access, callback, strid[2], id2, name[32];

na:



new access, callback, strid[3], name[32];

Jeszcze to:



menu_item_getinfo(menu, item, access, strid, 1, _, _, callback);

Na:



menu_item_getinfo(menu, item, access, strid, 2, _, _, callback);

A teraz w pierwszej funkcji

To:



new Players[32], playerCount, team, id2, team2, nick[32], strid[2]

Na:



new Players[32], playerCount, team, id2, team2, nick[32], strid[3]

I to:



num_to_str(id2,strid,1)

Na:



num_to_str(id2,strid,2)

  • +
  • -
  • 1
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

#23 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 01.08.2013 09:12

compiled.

 

Dam znac czy dziala


  • +
  • -
  • 0




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

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