←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Pobieranie Id gracza

  • +
  • -
Kmf!p's Photo Kmf!p 05.04.2016

Witajcie ;)

Kolejny problem, jak pobrac Id/nick gracza  np. wstawiajacego cos ?

 

pobieram id/nick gracza ktory cos wstawia:

new name[33]; //zmienna globalna
get_user_name(id,name,32)
client_print(id, print_chat, "Wstawiles: %s", name);

I teraz chce zeby gracz ktory wejdzie w menu zobaczyl lub wyswietli mu sie napis(to juz mniejsza o to chodzi o pobranie) kto czyli jaki id/nick to wstawil, cos takiego:

client_print(id, print_chat, "Wstawil: %s", wstawiajacy);
Quote

  • +
  • -
wiwi249's Photo wiwi249 05.04.2016

pev(ent, pev_owner)

Zakładam że to "coś" co gracz wystawia jest jakiś byt, i który ma ustawiony pev_owner przy tworzeniu. W przeciwnym wypadku nie zadziała.

Quote

  • +
  • -
Kmf!p's Photo Kmf!p 05.04.2016

przypuscmy ze gdy gracz cos wstawi:

	wstawil[id] = true;

i teraz chce pobrac id/nick gracza ktory to wstawil zeby uzyskac cos takiego:

if(wstawil[wstawiajacy])
{
        client_print(id, print_chat, "Wstawil: %s", wstawiajacy);
}

ogolnie chce tylko uzyskac id/nick gracza wstawiajacego aby zmienic mu zmienna wstawil na false, cos takiego:

wstawil[wstawiajacy] = false;

od razu mowie nie moze byc to zmieniane w ten sposob, musze miec id i nazwe gracza:

wstawil[0] = false;

Edited by Kmf!p, 05.04.2016 15:36.
Quote

  • +
  • -
wonsz żeczny's Photo wonsz żeczny 05.04.2016

        client_print(id, print_chat, "Wstawil: %s", wstawiajacy);

Coś takiego jest błędem jak coś.

 

Jeśli chcesz wyświetlić nick osoby należy użyć funkcji get_user_name()

 

Więc jeśli masz

wstawil[ id ] = true

To nie musisz się bawić w jakieś wstawiający tylko:

if( wstawil[ id ])
{
new Name[ 35 ]
get_user_name( id, Name, 34 )

client_print(id, print_chat, "Wstawil: %s", Name)
}

Tam gdzie masz client_print, na początku nawiasu masz "id" czyli wyświetli się to osobie wstawiającej.


Edited by wonsz żeczny, 05.04.2016 17:38.
Quote

  • +
  • -
Kmf!p's Photo Kmf!p 05.04.2016

nie zrozumiales, ja jako id chce zmienic zmienna wstawil[id] = true; graczowi ktory wstawil cos wczesniej czyli wstawil[wstawiajacy] = false; nie chce pobierac swego nicku znaczy tez chce pobrac, ale to umiem zrobic. Chce pobrac nick/id graczowi ktory wstawil cos np. do menu i zmienic mu zmienna wstawil[wstawiajacy] ja otwierajac menu chce widziec jego nick i czy ma zmienna na true lub false.

Pewnie zagmatwalem troche, ale poprostu chce pobrac id/nick gracza ktory wstawil cos do menu, a nie swoj nick.

Quote

  • +
  • -
wiwi249's Photo wiwi249 05.04.2016

1. nie możesz jako string (%s) wstawić wartości bool.

2. Napisz co chcesz zrobić bo nawet nie wiem o co chodzi z tym wstawianiem. Będzie prościej wszystkim zrozumieć.

Wireshark Cookie Dump:

OKCancel

 

Quote

  • +
  • -
NiczegoWinien's Photo NiczegoWinien 05.04.2016

Po ostatnim poście zrozumiałem że chcesz pobrać listę graczy i zmienić im zmienna z false na True tak? Czy się mylę?
Quote

  • +
  • -
wonsz żeczny's Photo wonsz żeczny 05.04.2016

W publikacji menu masz

 

NazwaMenu( id )

 

Więc gracz który ma otwarte menu na identyfikator "id" czyli wstawiający ma właśnie ten identyfikator.

 

Oczywiście możesz zrobić tak

 

NazwaMenu( Wstawiajacy) 

 

I tam podstawisz identyfikator na "Wstawiajacy" i też zadziała :)


Edited by wonsz żeczny, 05.04.2016 20:59.
Quote

  • +
  • -
Kmf!p's Photo Kmf!p 05.04.2016

nie, chce pobrac id gracza ktory wstawil cos do menu np. paczke czyli gracz umieszcza paczke w menu i ustawia se wstawil[id] = true;

chyba logiczne ?

a ja chce zobaczyc gdy sam czy inni gracze wejda w menu czyja to jest paczka i zmienic mu zmienna wstawil na false.

 

wonsz

twoim sposobemm nie moge tego zrobic.


Edited by Kmf!p, 05.04.2016 21:02.
Quote

  • +
  • -
wonsz żeczny's Photo wonsz żeczny 05.04.2016

a ja chce zobaczyc gdy sam czy inni gracze wejda w menu czyja to jest paczka.

Trzeba było tak od razu.

Quote

  • +
  • -
NiczegoWinien's Photo NiczegoWinien 06.04.2016

Aktualnie w pracy jestem ale takie coś sam wyciągnąłem na potrzeby mojego serwera z rynku/targu cod moda.
Quote

  • +
  • -
Kmf!p's Photo Kmf!p 06.04.2016

nom o cos podobnego mi chodzi. Jak bedziesz mial czas napisz jak to zastosowac i jak to dziala...

Quote

  • +
  • -
grankee's Photo grankee 07.04.2016

W jaki sposób gracz 'wstawia paczkę do menu', bo dalej nie czaje :(

 

Quote

  • +
  • -
Kmf!p's Photo Kmf!p 07.04.2016

To byl przyklad, pisze od poczatku, ze gracz wybierajac opcje w menu ustawia sobie zmienna wstawil na true; czyli kod taki bo kliknal np. jedynke w menu:

	case 0:
	{
		wstawil[id] = true;
		ColorChat(id,GREEN,"Wstawil %s", name);	
	}

chyba proste gracz klikajac w menu ustawia se zmienna na true i idzie info ze wstawil(wczesniej pobieram nazwe gracza)

I teraz ja wchodzac w menu(inne menu) jesli gracz zmienil sobie zmienna na true chce zobaczyc jego nick i pobrac id czyli:

	case 0:
	{
		if(wstawil[wstawiajacy_id])
		{
			wstawil[wstawiajacy_id] = false;
			ColorChat(id,GREEN,"Zmieniles zmienna wstawil graczowi %s", wstawiajacy);
		}
	}

gdzie wstawiajacy to nick gracza wstawiajacego czyli gracza ktory ma zmienna wstawil ustawiona na true

a wstawiajacy_id to jego id to chyba proste ;)

mi trzeba pobrac nick i id wstawiajacego...

moze to w czyms pomoze ?

id2[id] = str_to_num(szData)

Edited by Kmf!p, 07.04.2016 09:58.
Quote

  • +
  • -
Kmf!p's Photo Kmf!p 08.04.2016

ma ktos jakis pomysl ? bo juz 3 dzien mija, a by mi to sie przydalo ;)

Quote

  • +
  • -
d0naciak's Photo d0naciak 11.04.2016

Ktoś wybiera "wstaw"

case 0:
{
wstawil[id] = true;
ColorChat(id,GREEN,"Wstawil %s", name); 
}

tu usuwasz wstawiajacego

case 0:
{
for(new wstawiajacy_id = 1; wstawiajacy_id <= 32; wstawiajacy_id++)
{
if(wstawil[wstawiajacy_id])
{
get_user_name(wstawiajacy_id, wstawiajacy, charsmax(wstawiajacy));
wstawil[wstawiajacy_id] = false;
ColorChat(id,GREEN,"Zmieniles zmienna wstawil graczowi %s", wstawiajacy);
}
}
}

Pamietaj o tym że może być kilku wstawiających

Quote

  • +
  • -
Kmf!p's Photo Kmf!p 21.04.2016

dziala ;)

Quote