Pobieranie Id gracza
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);
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.
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.
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.
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.
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ć.
OKCancel
NiczegoWinien
05.04.2016
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.
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.
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.
NiczegoWinien
06.04.2016
Kmf!p
06.04.2016
nom o cos podobnego mi chodzi. Jak bedziesz mial czas napisz jak to zastosowac i jak to dziala...
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.
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