GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => Szkript kérések => SA-MP: Szerverfejlesztés => RP/RPG kérések => A témát indította: slre14 - 2014. Augusztus 24. - 09:04:54

Cím: /jogsiad parancs
Írta: slre14 - 2014. Augusztus 24. - 09:04:54
 if(strcmp(cmd, \"/jogsiad\", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
    if(Admin(playerid, 1))
    {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
               SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /jogsiad [JátékosID/NévRészlet]\");
               return 1;
            }
         new para1;
         para1 = ReturnUser(tmp);
         tmp = strtok(cmdtext, idx);
          if(IsPlayerConnected(para1))
          {
          GetPlayerName(playerid, sendername, sizeof(sendername));
         GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                    format(string, sizeof(string), \"%s átadta neked a jogosítványt.\",sendername );
         SendClientMessage(para1, COLOR_LIGHTBLUE, string);
         format(string, sizeof(string), \"%s kapott töled jogosítványt.\",giveplayer);
         SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
         PlayerInfo[para1][pCarLic] = 1;
         PlayerInfo[para1][pFlyLic] = 1;
         PlayerInfo[para1][pBoatLic] = 1;
         new nev[32];
         GetPlayerName(playerid, nev, sizeof(nev));
         new h,mi,s,y,m,d;
         getdate(y,m,d);
         gettime(h,mi,s);
         format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s adott %s jogosítványt.\",y,m,d,h,mi,s,nev,rag(giveplayer,2));
         LoOoG(stringx);
          }
   }
   else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
}
return 1;
}

 
ebbe mi lehet a rossz? müködik de csak a 0as idjünek lehet vissza adni a jogsit
[mod]Már rengetegszer szóltam érte, hogy ne spoilerbe hanem

tagbe tedd a pawn nyelven íródott forráskódokat, még figyelmeztetést is kellett adnom 8-10 eset után, erre folytatod? Javíottam ismét helyetted. Legközelebb már használj code taget![/mod]
Cím: /jogsiad parancs
Írta: blackdog476 - 2014. Augusztus 24. - 17:44:22
Akkor most én is kérdezek: Miért használsz ilyen elavult parancsfeldolgozót?
Cím: /jogsiad parancs
Írta: slre14 - 2014. Augusztus 24. - 17:45:18
nem tudom de azért segithetsz :)
Cím: /jogsiad parancs
Írta: Dfoglalo - 2014. Augusztus 24. - 17:56:35
Idézetet írta: Nukerdog date=1408895062\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50318\" data-ipsquote-contentclass=\"forums_Topic
Akkor most én is kérdezek: Miért használsz ilyen elavult parancsfeldolgozót?
 
[mod]Legközelebb pedig csak akkor szólj hozzá a témához, ha az egy segítõ hozzászólás, mert ez nem az.[/mod]
Egyébként ez valójában nem parancsfeldolgozó, hanem string összehasonlító és egyáltalán nem elavult. Sõt, a legmodernebb, mivel a 0.3z legújabb verziójában is benne van. Mint minden másikban. Úgy hívják OnPlayerCommandText callback.
Cím: /jogsiad parancs
Írta: Nátha - 2014. Augusztus 25. - 23:22:59
Ahogy nézem a parancsot, oda adja bármelyik ID-nek a jogsit, csak a 0 ID-s játékos nevét írja ki, mintha neki adtad volna.
Cím: /jogsiad parancs
Írta: rayle - 2014. Augusztus 26. - 00:39:51
Én úgy látom hogy jó a parancs, viszont hibásan írod ki, mivel a giveplayerid nevét kéred le, aminek gondolom nem adtál meg értéket (alapból 0) ezért mindig a 0-s idjû játékos nevét fogja kiírni. Próbáld meg így:
 
if(strcmp(cmd, \"/jogsiad\", true) == 0)
        {
            if(IsPlayerConnected(playerid))
            {
                    if(Admin(playerid, 1))
                    {
                                                tmp = strtok(cmdtext, idx);
                                                if(!strlen(tmp))
                                                {
                                                        SendClientMessage(playerid, COLOR_GRAD2, \"HASZNÁLAT: /jogsiad [JátékosID/NévRészlet]\");
                                                        return 1;
                                                }
                                        new para1;
                                        para1 = ReturnUser(tmp);
                                        tmp = strtok(cmdtext, idx);
                                    if(IsPlayerConnected(para1))
                                    {
                                    GetPlayerName(playerid, sendername, sizeof(sendername));
                                        GetPlayerName(para1, giveplayer, sizeof(giveplayer));
                    format(string, sizeof(string), \"%s átadta neked a jogosítványt.\",sendername );
                                        SendClientMessage(para1, COLOR_LIGHTBLUE, string);
                                        format(string, sizeof(string), \"%s kapott töled jogosítványt.\",giveplayer);
                                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                        PlayerInfo[para1][pCarLic] = 1;
                                        PlayerInfo[para1][pFlyLic] = 1;
                                        PlayerInfo[para1][pBoatLic] = 1;
                                        new nev[32];
                                        GetPlayerName(playerid, nev, sizeof(nev));
                                        new h,mi,s,y,m,d;
                                        getdate(y,m,d);
                                        gettime(h,mi,s);
                                        format(stringx,sizeof(stringx), \"[%d/%d/%d][%d:%d:%d] %s adott %s jogosítványt.\",y,m,d,h,mi,s,nev,rag(giveplayer,2));
                                        LoOoG(stringx);
                                    }
                        }
                        else SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy admin!\");
                }
                return 1;
        }