Jak pobrać nick ostatniego gracza?
Andrzejek
02.11.2012
Witam, mam do was pytanie, jak pobrać nick ostatniego gracza będącego w TT?
K!113r
02.11.2012
W zdarzeniu śmierci sprawdzaj liczbę żyjących terrorystów (get_players()), jeżeli jest równa 1 to zapisz sobie gdzieś jego id, potem pobierz nick (get_user_name())
d0naciak
02.11.2012
stock get_last_terrorist_id()
{
new last, num = 0;
for(new i = i; i <= get_maxplayers(); i++)
{
if(is_user_alive(i) && get_user_team(i) == 1)
{
last = i;
num++;
}
}
if(num == 1)
return last;
return 0;
}
przyklad uzycia :
new id = get_last_terrorist_id();
if(is_user_connected(id))
{
new name[32]; get_user_name(id, name, 31);
//name = nick gracza
}
Użytkownik d0n tHe Pr0oo edytował ten post 02.11.2012 07:48
Andrzejek
02.11.2012
OK,
Dzięki masz +
A jak zrobić na wojnie gangów, liste graczy z danym kolorem. Na przykład mam kolor niebieski to z boku wyświetla mi się nicki wszystkich graczy którzy należa do tego gangu
Może to pomoże:
Użytkownik Andrzejek edytował ten post 02.11.2012 19:21
Dzięki masz +
A jak zrobić na wojnie gangów, liste graczy z danym kolorem. Na przykład mam kolor niebieski to z boku wyświetla mi się nicki wszystkich graczy którzy należa do tego gangu
Może to pomoże:
new kolor_gang[][3] = {
{255,0,0},
{0,255,0},
{0,0,255}
};
Użytkownik Andrzejek edytował ten post 02.11.2012 19:21
K!113r
02.11.2012
zrób pętlę po wszystkich graczach i sprawdzaj ich przynależność do gangu?
K!113r
03.11.2012
Masz gdzieś jakąś zmienną z informacją do którego gangu przynależy dany gracz?
Andrzejek
15.11.2012
new kolor[][] = {"Czerwony", "Zielony", "Niebieski"};
new kolor_gang[][3] = {
{255,0,0},//czerwony
{0,255,0},//zielony
{0,0,255}//niebieski
};
if(cs_get_user_team(i) == CS_TEAM_T){
formatex(szTemp2, 200, "^nTwoj Gang: %s", kolor[user_gangi[i]]);
Użytkownik Andrzejek edytował ten post 15.11.2012 01:05
nPaul
16.11.2012
new id = get_last_terrorist_id(); if(is_user_connected(id)) new name[32]; get_user_name(id, name, 31); //name=nick gracza client_print(id, 2, "Jestem %s a moj gang to: %s", name, kolor[user_gangi[i]]); }
+ stock don the proo
Użytkownik Paulstudio edytował ten post 16.11.2012 22:12
K!113r
16.11.2012
jeżeli tak to raczej
new id = get_last_terrorist_id();
if(is_user_connected(id))
new name[32]; get_user_name(id, name, 31);
//name=nick gracza
client_print(id, 2, "Jestem %s a moj gang to: %s", name, kolor[user_gangi[id]]);
}
Droso
17.11.2012
<p>
http://amxx.pl/wklejka/13531436339579/
Tutaj masz pobieranie twoich sprzymierzeńców z gangu.Są oni wpisywaniu do szTextTeraz użyj hud'a i pokaż szText.
//Kod formatex z dokumentacji</p>
Użytkownik HubertTM edytował ten post 17.11.2012 10:16
new kolor[][] = {"Czerwony", "Zielony", "Niebieski"};Rozumiem, że to są te "gangi".
http://amxx.pl/wklejka/13531436339579/
Tutaj masz pobieranie twoich sprzymierzeńców z gangu.Są oni wpisywaniu do szTextTeraz użyj hud'a i pokaż szText.
//Kod formatex z dokumentacji</p>
Użytkownik HubertTM edytował ten post 17.11.2012 10:16
K!113r
17.11.2012
W takim razie zmienna 'i' jaką wartość przechowuje w twoim kodzie? Przeważnie takich zmiennych używa się do pętli, a robić pętle dla jednego gracza? (bo zakładamy że szukamy ostatniego gracza)
Użytkownik K!113r edytował ten post 17.11.2012 14:51
Użytkownik K!113r edytował ten post 17.11.2012 14:51
Andrzejek
17.11.2012
HubertTM, tak i zaraz sprawdze twoja wersje
Ale panowie, mi chodzi o listę graczy wszystkich znajdujących się w moim gangu
Użytkownik Andrzejek edytował ten post 17.11.2012 20:16
Ale panowie, mi chodzi o listę graczy wszystkich znajdujących się w moim gangu
Użytkownik Andrzejek edytował ten post 17.11.2012 20:16
K!113r
17.11.2012
to zrób sobie zmienną na listę (jakiegoś sensownego rozmiaru, 512 lub większą tablicę znakową) i po prostu musisz pętlą (po wszystkich graczach) sprawdzić czy aby ten ktoś nie należy do twojego gangu i dodać go do listy, to tylko mój sposób wymyślony na szybko, nie jest zbytnio optymalny
Gość_21977_* 17.11.2012
new num=0,last=0,gang=0;Oczywiście lepiej jest trzymać członków gangu w zmiennej globalnej, ale tutaj masz rozwiązanie bez skorzystania z tego rozwiązania, którego zapewne nie stosujesz.
new gangMembers[3][32];
new gangMembersNum[3];
new maxPlayers=get_maxplayers();
for(new id=1;id<=maxPlayers;++i){
if(is_user_connected(id)){
gangMembers[user_gangi[id]][gangMembersNum[user_gangi[id]]]=id;
[gangMembersNum[user_gangi[id]]=[gangMembersNum[user_gangi[id]]+1;
if(is_user_alive(id)){
++num;
last=id;
if(num>1){
id=maxPlayers+1;
num=last=0;
}
}
}
}
if(num && last){
// last - id ostatniego zyjacego
new gang=user_gangi[last];
// gang - id gangu lasta
new name[32]; get_user_name(id, name, 31);
// name - nick ostatniego gracza
// gangMembers[gang] - tablica gangMembersNum[gang]-elementowa z id graczy z tego samego gangu
// kolor[gang] - nazwa gangu
// Przyklad:
for(new id=0; id<gangMembersNum[gang]; ++id){
cs_set_user_money(gangMembers[gang][id],cs_get_user_money(gangMembers[gang][id])+300);
client_print(gangMembers[gang][id], print_chat, "Dostales 300 dolarow za to, ze Twoj gang wygral");
}
client_print(0, print_center, "Gang %s wygrywa dzięki %s!", kolor[gang], name);
}