Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-02-11, 20:24


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 20:32


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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");
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 20:37


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 20:40


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 20:41


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

aha a naprzyk??d jak ma pisac u admina da?es graczowi %s range: [tu nazwa rangi nie id]??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 20:45


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:20


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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 :/

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:22


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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 ;P

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:32


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-12, 02:05


NikeKST







Wiek: 28
Na forum: 4167 dni
Posty: 70
Nick w MP: Nike

Piwa: 18

Respekt: 240
Respekt: 240Respekt: 240

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-12, 15:01


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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];

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-13, 16:35


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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.

Postaw piwo autorowi tego posta
 

 
Tagi: spr :: rangi
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku