←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Menu z wyborem gracza.

  • +
  • -
n0wy - zdjęcie n0wy 22.01.2013

Czesc :)

Czy jezeli dodam ten fragment do menu z wyborem gracza
"... if(!is_user_alive(players[i]) || is_user_alive(players[i])) ..."

będę mógł wybierać żywych lub martwych graczy ?
Odpowiedz

  • +
  • -
Droso - zdjęcie Droso 22.01.2013

if(is_user_connected(players[i]))

i masz wszystkich polaczonych.
Odpowiedz

  • +
  • -
n0wy - zdjęcie n0wy 22.01.2013

ok zaraz zobacze czy działa :) , a czy bota też zaliczy do polaczonych graczy ?
Odpowiedz

  • +
  • -
Droso - zdjęcie Droso 22.01.2013

podbota na pewno, a zbota nie jestem pewien.
dodaj jak chcesz bez botów:
if(is_user_connected(players[i]) && !is_user_bot(players[i]))
Odpowiedz

  • +
  • -
n0wy - zdjęcie n0wy 22.01.2013

nie do konca wiem czy plugin działa :/ jednk botow do menu mi nie zalicza
wiec podsylam kawałek kodu


public menu_priv(id){
	
	if(!(get_user_flags(id) & ADMIN_CHAT))
		return PLUGIN_HANDLED;	
	if(!is_user_connected(id)){
		return PLUGIN_HANDLED;
	}

new players[32], plnum
	get_players(players, plnum, "ach");
	new key[128], info[8], name[64];
	new menu = menu_create("Napisz do:", "menu_wiadomosc_handle", 0);
	for(new i = 0; i < plnum; i++){
		new pd=players[i];
		get_user_name(players[i], name, 63);

			if(is_user_connected(players[i]) && !is_user_bot(players[i]))
			{
		formatex(info, 7, "%d", pd);
		formatex(key, 127, "\y%s", name);
		menu_additem(menu, key, info);
	}
	menu_display(id, menu);
	return PLUGIN_HANDLED;
}}
Odpowiedz

Gość_21977_* 26.01.2013

Funkcja get_players wpisuje graczy do tablicy. Posiada ona parę flag, gdzie "a" pomija martwych graczy, "h" HLTV, a "c' boty.
Nic zatem dziwnego, że botów nie otrzymałeś w tablicy. Bezcelowe jest też wywoływanie warunków na podłączenie do serwera, czy test na bota.

public menu_priv(id){
if((get_user_flags(id) & ADMIN_CHAT) && is_user_connected(id)){
new key[128], name[64];
new menu = menu_create("Napisz do:", "menu_wiadomosc_handle", 0);
new maxpl = get_maxplayers();
for(new i = 1; i <= maxpl; ++i){
if(is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i)){
get_user_name(players[i], name, 63);
copy(key, 127, "\y");
add(key, 127, name);
menu_additem(menu, key, i);
}
}
menu_display(id, menu);
return PLUGIN_HANDLED;
}
}
Odpowiedz