Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Howard22 poslato Mart 09, 2024, 22:44:53 POSLE PODNE

Naslov: Problemcic sa komandom
Poruka od: Howard22 poslato Mart 09, 2024, 22:44:53 POSLE PODNE
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]
Naslov: Odg: Problemcic sa komandom
Poruka od: Bit Frosty poslato Mart 10, 2024, 11:36:46 PRE PODNE
OnPlayerText daj
Naslov: Odg: Problemcic sa komandom
Poruka od: Howard22 poslato Mart 10, 2024, 12:30:08 POSLE PODNE
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
Naslov: Odg: Problemcic sa komandom
Poruka od: Bit Frosty poslato Mart 10, 2024, 13:05:30 POSLE PODNE
onda komandu za taj chat dje imas problem...
Naslov: Odg: Problemcic sa komandom
Poruka od: Howard22 poslato Mart 10, 2024, 16:53:51 POSLE PODNE
[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]
Naslov: Odg: Problemcic sa komandom
Poruka od: Bit Frosty poslato Mart 10, 2024, 17:24:20 POSLE PODNE
Ae pogodi sad sta mi treba sledece...
Naslov: Odg: Problemcic sa komandom
Poruka od: Howard22 poslato Mart 10, 2024, 22:22:35 POSLE PODNE
Citat: Bit Frosty poslato Mart 10, 2024, 17:24:20 POSLE PODNE
Ae pogodi sad sta mi treba sledece...
ne znam
Naslov: Odg: Problemcic sa komandom
Poruka od: toncikica poslato Mart 10, 2024, 22:31:37 POSLE PODNE
Citat: Howard22 poslato Mart 10, 2024, 22:22:35 POSLE PODNE
ne znam
[pawn]SendRadioMessage[/pawn]
Naslov: Odg: Problemcic sa komandom
Poruka od: Fergosonn poslato Mart 11, 2024, 00:53:51 PRE PODNE
[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]
Naslov: Odg: Problemcic sa komandom
Poruka od: Howard22 poslato Mart 11, 2024, 11:33:45 PRE PODNE
[pawn]FUNCTION: SendRadioMessage(member, color, string[])
{
   foreach(Player, i)
   {
      {
         SendClientMessage(i, color, string);
      }
   }
}[/pawn]
Naslov: Odg: Problemcic sa komandom
Poruka od: toncikica poslato Mart 11, 2024, 17:27:43 POSLE PODNE
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
Naslov: Odg: Problemcic sa komandom
Poruka od: Howard22 poslato Mart 11, 2024, 20:42:04 POSLE PODNE
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
Naslov: Odg: Problemcic sa komandom
Poruka od: toncikica poslato Mart 11, 2024, 22:40:50 POSLE PODNE
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
Naslov: Odg: Problemcic sa komandom
Poruka od: Bit Frosty poslato Mart 12, 2024, 17:16:15 POSLE PODNE
[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.
Naslov: Odg: Problemcic sa komandom
Poruka od: Goku ^ poslato Mart 12, 2024, 19:37:36 POSLE PODNE
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]
Naslov: Odg: Problemcic sa komandom
Poruka od: Fergosonn poslato Mart 12, 2024, 23:22:55 POSLE PODNE
[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]
Naslov: Odg: Problemcic sa komandom
Poruka od: 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';
Naslov: Odg: Problemcic sa komandom
Poruka od: Goku ^ poslato Mart 14, 2024, 10:58:50 PRE PODNE
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?
Naslov: Odg: Problemcic sa komandom
Poruka od: yeet poslato Mart 14, 2024, 14:15:05 POSLE PODNE
Jebote kuca sta je ovo ??????
Naslov: Odg: Problemcic sa komandom
Poruka od: WebWiz poslato Mart 14, 2024, 16:54:32 POSLE PODNE
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