Imam problem sa ovime na primjer ig smo 2ljudi ja setam sebi rank sa imenom Sergeant l , njemu setam Sergeant ll i sad kad napise /f bla bla napravio sam da izlazi ime ranka ali ako ovaj drugi igrac kome sam setao Sgt ll napise poruku pokazuje mu i moji rank i njegov primer :Sergeant l Sergeant l Nick_Name: bla bla bla
Ovako pozivam %s za ime ranka PlayerInfo[playerid][pCustomRank]
[pawn]CMD:setrank(playerid, params[])
{
new id, imeRanka[128];
if(sscanf(params, "us[128]", id, imeRanka)) return KORISTIMES(playerid, "/setrank [ID na igracot] [Ime na rankot]");
if(!IsPlayerConnected(id)) return GRESKAMES(playerid, "Igracot ne e online.");
if(strlen(imeRanka) < 3 || strlen(imeRanka) > 25) return GRESKAMES(playerid, "Imeto na rankot nemozi da bidi pomalo od 3 ili pogolemo od 25 bukvi!");
if(PlayerInfo[playerid][pAdmin] == 5)
{
PlayerInfo[id][pCustomRank] = imeRanka[0];
strmid(PlayerInfo[id][pCustomRank], imeRanka, 0, strlen(imeRanka), 255);
va_SendClientMessage(id, -1,"%s vi postavi rank so ime %s", GetName(playerid), imeRanka);
va_SendClientMessage(playerid, -1,"Mu postavivte na %s rank so ime %s", GetName(id), imeRanka);
}
else return GRESKAMES(playerid, "Nemozete da ja koristite ovaa komanda");
return true;
}[/pawn]
OnPlayerText daj
Citat: Bit Frosty poslato Mart 10, 2024, 11:36:46 PRE PODNE
OnPlayerText daj
Nemam nista tamo imam samo ono za IC chat , koristim ovo da pokazuje igracev rank samo na neke komande kao /f (familychat) /spike /duty
onda komandu za taj chat dje imas problem...
[pawn]CMD:f(playerid, params[])
{
new string[256], text[150];
if(sscanf(params, "s[150]", text)) return KORISTIMES(playerid, "/f [Tekst]");
format(string, sizeof(string), "((%s %s: %s.))", PlayerInfo[playerid][pCustomRank], GetName(playerid), text);
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
return 1;
}[/pawn]
Ae pogodi sad sta mi treba sledece...
[pawn]CMD:radio(playerid, params[]){
if(!IgracPolicajac(playerid))
return SendClientMessage(playerid, -1, "Niste pripadnik drzavne bezbednosti");
if(isnull(params))
return SendClientMessage(playerid, -1, "/r(adio) [Text]");
new string[120];
format(string,sizeof(string), "[FREQ : 1783] -> %s %s(%d) : {FFFFFF}%s, prijem",PlayerInfo[id][pCustomRank],GetName(playerid),playerid, params);
SendRadioMessage(-1, string);
return 1;
}
SendRadioMessage(color, string[]){
foreach(new i : Player){
if(IgracPolicajac(playerid)){
SendClientMessage(i, color, string);
}
}
return 1;
}[/pawn]
[pawn]FUNCTION: SendRadioMessage(member, color, string[])
{
foreach(Player, i)
{
{
SendClientMessage(i, color, string);
}
}
}[/pawn]
Citat: Howard22 poslato Mart 11, 2024, 11:33:45 PRE PODNE
[pawn]FUNCTION: SendRadioMessage(member, color, string[])
{
foreach(Player, i)
{
{
SendClientMessage(i, color, string);
}
}
}[/pawn]
[pawn]CMD:setrank(playerid, params[])[/pawn]
U ovu komandu ispod strmid dodaj SavePlayer( id ); ili kako vec nazivas funkciju za saveanje igraca
Citat: toncikica poslato Mart 11, 2024, 17:27:43 POSLE PODNE
[pawn]CMD:setrank(playerid, params[])[/pawn]
U ovu komandu ispod strmid dodaj SavePlayer( id ); ili kako vec nazivas funkciju za saveanje igraca
sad sa ovim kad sebi setam rank i igracu igracev rank izlazi ali moji rank ne izlazi
Citat: Howard22 poslato Mart 11, 2024, 20:42:04 POSLE PODNE
sad sa ovim kad sebi setam rank i igracu igracev rank izlazi ali moji rank ne izlazi
Brate daj sliku, nista ja tebe ne kontam sta pricas
[pawn]
CMD:setrank(playerid, params[])
{
new id, imeRanka[128];
if(sscanf(params, "us[128]", id, imeRanka)) return KORISTIMES(playerid, "/setrank [ID na igracot] [Ime na rankot]");
if(!IsPlayerConnected(id)) return GRESKAMES(playerid, "Igracot ne e online.");
if(strlen(imeRanka) < 3 || strlen(imeRanka) > 25) return GRESKAMES(playerid, "Imeto na rankot nemozi da bidi pomalo od 3 ili pogolemo od 25 bukvi!");
if(PlayerInfo[playerid][pAdmin] == 5)
{
format(PlayerInfo[id][pCustomRank], "%s", imeRanka);
va_SendClientMessage(id, -1,"%s vi postavi rank so ime %s", GetName(playerid), imeRanka);
va_SendClientMessage(playerid, -1,"Mu postavivte na %s rank so ime %s", GetName(id), imeRanka);
}
else return GRESKAMES(playerid, "Nemozete da ja koristite ovaa komanda");
return true;
}
[/pawn]
Probaj ovako (je malo idiotski da se koristi format ali to mi je najsigurnije trenutno kad ne znam kod), ako ne radi, onda ne znam iskreno, bog zna dje sta radis pa ces morati da debug.
Maybe like this?
[pawn]
dodaj ovo kod info za playera
pCustomRank[128],
cuvanje
INI_WriteString(File,"CustomRank",PlayerInfo[playerid][pCustomRank]);
uciavanje
INI_String("CustomRank",PlayerInfo[playerid][pCustomRank]);
komanda /f
{
new customrank[64];
if(strlen(PlayerInfo[playerid][pCustomRank]) > 2) { format(customrank, sizeof(customrank), "%s", PlayerInfo[playerid][pCustomRank]); }
format(buffer, sizeof buffer, "F | (%s) %s: "BELA"%s", customrank, GetName(playerid), params[0]);
return SendRadioMessage(1, TEAM_BLUE_COLOR, string);
}
CMD:setrankname(playerid, params[])
{
new id, imeRanka[128];
if(PlayerInfo[playerid][pAdmin] < 5) return SCM(playerid,-1 ,"NE MOZE");
if(sscanf(params, "us[128]", id, imeRanka)) return SCM(playerid,-1, "/setrankname [ID/Ime_Prezime] [Ime Ranka]");
if(strlen(imeRanka) < 3 || strlen(imeRanka) > 25) return SCM(playerid,-1,"Ime ranka ne moze biti manji od 3 i veci od 25 slova!");
PlayerInfo[id][pCustomRank] = imeRanka;
strmid(PlayerInfo[id][pCustomRank], imeRanka, 0, strlen(imeRanka), 255);
va_SendClientMessage(id, -1,"Admin %s vam je postavio ime ranka %s",GetName(playerid), imeRanka);
va_SendClientMessage(playerid, -1,"Igracu %s ste postavili ime ranka %s", GetName(id), imeRanka);
SavePlayer(id);
return true;
}
[/pawn]
[pawn]if(strlen(rankprefix) < 1 || strlen(rankprefix) > 30) return SendClientMessage(playerid, 0xFF6347FF, "* Maximalno karaktera na rank prefixu 30.");
strmid(PlayerInfo[id][pRankName], rankprefix, 0, strlen(rankprefix), 30);[/pawn]
if(strlen(rankprefix) < 1 || strlen(rankprefix) > 30) {
SendClientMessage(playerid, 0xFF6347FF, "* Maximalno karaktera na rank prefixu 30.");
return;
}
strncpy(PlayerInfo[playerid][pRankName], rankprefix, sizeof(PlayerInfo[playerid][pRankName])-1);
PlayerInfo[playerid][pRankName][sizeof(PlayerInfo[playerid][pRankName])-1] = '\0';
Citat: WebWiz poslato Mart 13, 2024, 10:27:05 PRE PODNE
if(strlen(rankprefix) < 1 || strlen(rankprefix) > 30) {
SendClientMessage(playerid, 0xFF6347FF, "* Maximalno karaktera na rank prefixu 30.");
return;
}
strncpy(PlayerInfo[playerid][pRankName], rankprefix, sizeof(PlayerInfo[playerid][pRankName])-1);
PlayerInfo[playerid][pRankName][sizeof(PlayerInfo[playerid][pRankName])-1] = '\0';
Bro wtf is this?
Jebote kuca sta je ovo ??????
Citat: Goku ^ poslato Mart 14, 2024, 10:58:50 PRE PODNE
Bro wtf is this?
Provjerava duljinu stringa rankprefix da bi se osiguralo da nije prekratak ili predugačak.
Ako je duljina stringa izvan granica (manje od 1 ili više od 30 znakova), šalje poruku igraču o tome da je maksimalni broj karaktera na rang prefixu 30.
Kopira rankprefix u memoriju igrača, ograničavajući duljinu na 29 znakova (da bi ostavio mjesta za NULL terminator).
Postavlja NULL terminator na kraju stringa kako bi označio kraj.
strncpy(PlayerInfo[playerid][pRankName], rankprefix, sizeof(PlayerInfo[playerid][pRankName])-1); - ovo znaci funkcija koja se koristi za kopiranje niza znakova iz jedne varijable u drugu. U ovom slučaju, kopiramo sadržaj stringa rankprefix u varijablu pRankName igrača.
sizeof(PlayerInfo[playerid][pRankName])-1: Ovo određuje duljinu na koju će se kopirati
Ja sam ovo na drugaciji nacin :D :D