Wysłany: 2015-02-11, 20:24
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
witam chce zrobi? komend? tak? ??by pokazywa?o nazw? rangi a nie id rangi:
New to:
new Ranga[MAX_PLAYERS];
Tak wygl?da komenda
Kod: CMD:mranga(playerid, params[])
{
format(string, sizeof(string), "Twoja ranga na naszym serwerze to: %d",Ranga);
SendClientMessageToAll(0x074BFFF,string);
return 1;
}
chodzi o to ?e ona pokazuje id rangi a ja bym chcia? aby pokaza?a ona nazw? rangi.
Wysłany: 2015-02-11, 20:32
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Kod:
CMD:mranga(playerid, params[])
{
new s[15];
if(Ranga[playerid] == 0) //id 0
{
format(s, sizeof(s), "NazwaRangi"); //nazwa rangi
}
if(Ranga[playerid] == 1) //id 1
{
format(s, sizeof(s), "NazwaRangi"); //nazwa rangi
}
if(Ranga[playerid] == 2) //id 2
{
format(s, sizeof(s), "NazwaRangi");
}
format(string, sizeof(string), "Twoja ranga na naszym serwerze to: %s", s);
SendClientMessageToAll(0x074BFFF,string);
return 1;
}
?
Uzupelnij sobie odpowiednio, ewentualnie dodaj kolejne
pod
Kod:
if(Ranga[playerid] == 2) //id 2
{
format(s, sizeof(s), "NazwaRangi");
}
dodaj?c
Kod:
if(Ranga[playerid] == 3) //id 3
{
format(s, sizeof(s), "NazwaRangi");
}
Wysłany: 2015-02-11, 20:37
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
ale naprzyk?ad jak bym chcia? zrobic statystyki dla kogos to to takie zastosowanie troch? lipne pami?tam ?e cos tam si? definiowa?o i wtedy nie trzeba by?o w ka?dej komendzie u?ywa? tego.
Wysłany: 2015-02-11, 20:40
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Z tematu wynika ?e co? takiego chcia?e?, a je?li chcesz ?eby pokazywa?o kogo? rang? to spos?b jest ten sam co w komendzie, tylko zamiast playerid w if(Ranga[playerid] == id) dajesz id gracza, ktoremu chcesz sprawdzi? t? rang?.
Wysłany: 2015-02-11, 20:41
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
aha a naprzyk??d jak ma pisac u admina da?es graczowi %s range: [tu nazwa rangi nie id]??
Wysłany: 2015-02-11, 20:45
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Tak samo jak wy?ej.
.."tylko zamiast playerid w if(Ranga[playerid] == id) dajesz id gracza, ktoremu chcesz sprawdzi? t? rang?."
Dopiero jak ustawisz Ranga[idgracza] = idrangi; w komendzie to dodajesz ten kod odpowiednio go modyfikuj?c
Wysłany: 2015-02-11, 21:20
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
czyli jest tylko taki spos?b??:
bo to by?o co? takiego dodawa?o si? na dole mapki pewien kodzik.
ALe jak nie to musi mi si? co? myli?.
@edit:
bo jak robi? tak? komend? to pokazuje rang? t? co mia? przed daniem a nie t? co mu da?em...:
Kod: CMD:dajrange(playerid, params[])
{
new s[14];
if(IsPlayerAdmin(playerid))
{
if(Ranga[giveplayerid] == 0)
{
format(s, sizeof(s), "Gracza");
}
if(Ranga[giveplayerid] == 1)
{
format(s, sizeof(s), "Moderatora");
}
if(Ranga[giveplayerid] == 2)
{
format(s, sizeof(s), "Administratora");
}
if(Ranga[giveplayerid] == 3)
{
format(s, sizeof(s), "Head Administratora");
}
new gracz,wartosc;
if(sscanf(params,"ud",gracz,wartosc))
{
SendClientMessage(playerid, COLOR_WHITE, "Wpisz /dajrange [id gracza] [id rangi]");
return 1;
}
if(!IsPlayerConnected(gracz))
{
SendClientMessage(playerid, COLOR_RED, "Gracz o podanym ID nie jest zalogowany.");
return 1;
}
if(wartosc < 0 || wartosc > 3)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
Ranga[gracz] = wartosc;
new tmp[128];
format(tmp, sizeof(tmp), "Da?e? grange %s graczowi %s", s,PlayerName(gracz));
SendClientMessage(playerid, COLOR_RED, tmp);
format(tmp, sizeof(tmp), "H@ %s da? ci rang? %s",PlayerName(playerid),s);
SendClientMessage(gracz, COLOR_RED, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie jeste? administratorem.");
}
return 1;
}
mniej wiecej o to chodzi
Wysłany: 2015-02-11, 21:22
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
o.o a skompilowa?o Ci si? to?
Kod:
CMD:dajrange(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new gracz,wartosc;
if(sscanf(params,"ud",gracz,wartosc))
{
SendClientMessage(playerid, COLOR_WHITE, "Wpisz /dajrange [id gracza] [id rangi]");
return 1;
}
if(!IsPlayerConnected(gracz))
{
SendClientMessage(playerid, COLOR_RED, "Gracz o podanym ID nie jest zalogowany.");
return 1;
}
if(wartosc < 0 || wartosc > 3)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
Ranga[gracz] = wartosc;
new s[14];
if(Ranga[gracz] == 0)
{
format(s, sizeof(s), "Gracza");
}
if(Ranga[gracz] == 1)
{
format(s, sizeof(s), "Moderatora");
}
if(Ranga[gracz] == 2)
{
format(s, sizeof(s), "Administratora");
}
if(Ranga[gracz] == 3)
{
format(s, sizeof(s), "Head Administratora");
}
new tmp[128];
format(tmp, sizeof(tmp), "Da?e? grange %s graczowi %s", s,PlayerName(gracz));
SendClientMessage(playerid, COLOR_RED, tmp);
format(tmp, sizeof(tmp), "H@ %s da? ci rang? %s",PlayerName(playerid),s);
SendClientMessage(gracz, COLOR_RED, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie jeste? administratorem.");
}
return 1;
}
Dla jasno?ci, sprawdza?e? rang? graczowi przed nadaniem tej rangi, musisz nada? i dopiero pyk, mu sprawdzi?.
Da si? to zrobi? jako funkcj?, no ale ju? trudno
Wysłany: 2015-02-11, 21:32
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
szczerze to poka? jak to by w funkcji wygl?da?o mo?e bardziej optymalne to b?dzie bo to b?dzie a? w 5komendach
Wysłany: 2015-02-12, 02:05
NikeKST
Wiek: 28 Na forum: 4167 dni Posty: 70
Nick w MP: Nike
Piwa : 18
stock NazwaRangi(ranga)
{
new str[64];
format(str,64,"Niezdefiniowano");
if(ranga == 0) format(str,64,"Nazwa");
if(ranga == 1) format(str,64,"Nazwa");
if(ranga == 2) format(str,64,"Nazwa");
return str;
}
CMD:mranga(playerid, params[])
{
format(string, sizeof(string), "Twoja ranga na naszym serwerze to: %s",NazwaRangi(Ranga[gracz]));
SendClientMessageToAll(0x074BFFF,string);
return 1;
}
A je?eli chcesz wy?wietli? now? rang?, to nic trudnego jak pierw przypisa? do zmiennej now? warto??, a dopiero p??niej format zmiennej z funkcj? NazwaRangi.
Wysłany: 2015-02-12, 15:01
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
Kod: E:\Luki\samp\serwer\gamemodes\1.pwn(69) : warning 219: local variable "Ranga" shadows a variable at a preceding level
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Warning.
Jak to naprawic??:
new wygl?da tak:
new Ranga[MAX_PLAYERS];
Wysłany: 2015-02-13, 16:35
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Kod:
stock NazwaRangi(p)
{
new str[32];
format(str,32,"Niezdefiniowano");
if(Ranga[p] == 0) format(str,32,"Nazwa");
if(Ranga[p] == 1) format(str,32,"Nazwa");
if(Ranga[p] == 2) format(str,32,"Nazwa");
return str;
}
Kod:
CMD:mranga(playerid, params[])
{
format(string, sizeof(string), "Twoja ranga na naszym serwerze to: %s", NazwaRangi(playerid));
SendClientMessageToAll(0x074BFFF,string);
return 1;
}
Plose ba?dzo.
Tagi: spr :: rangi
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: