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

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: CrAzYwEEE - 2013. augusztus 22. - 13:10:22

Cím: string hiba
Írta: CrAzYwEEE - 2013. augusztus 22. - 13:10:22
Sziasztok!
Az elõbb csináltam egy kick rendszert és amikor ki akarja írni a chatre, h ki kit kickelt milyen indokkal nem írja , h kit.
Igazábõl kb. két hete scriptelek, és fogalmam sincs mit kellene tennem...
Itt a rendszer:
 
CMD:kick(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
    new jatekosid;
    new indok[64];
    if(sscanf(params,\"is\",jatekosid,indok)) return SendClientMessage(playerid,piros,\"HASZNÁLAT: /kick <játékosid> <indok>\");
    {
   Kick(jatekosid);
   GetPlayerName(playerid,nev,sizeof(nev));
   new nev2[64];
   GetPlayerName(jatekosid,nev2,sizeof(nev2));
   format(indok,64,\"<Szerver>%s kickelte %s-t. Indok: %s\",nev,jatekosid,indok);
   SendClientMessageToAll(narancs,indok);
   printf(indok);
}
}
else SendClientMessage(playerid,narancs,\"<Szerver> Nem vagy admin.\");
return 1;
}

 
Hibát nem talál.
Amikor ingame vagyok és kickelek valakit, ezt írja: <Szerver>CrAzYwEEE kickelte -t. Indok: teszt
Nem tudom mit tegyek...
Elõre is köszi a segítséget!
Cím: string hiba
Írta: gbr333 - 2013. augusztus 22. - 13:15:36

CMD:kick(playerid,params[])
{
        if(IsPlayerAdmin(playerid))
        {
            new jatekosid;
            new indok[64];
            if(sscanf(params,\"us\",jatekosid,indok)) return SendClientMessage(playerid,piros,\"HASZNÁLAT: /kick <játékosid> <indok>\");
            {
                        Kick(jatekosid);
                        GetPlayerName(playerid,nev,sizeof(nev));
                        new nev2[64];
                        GetPlayerName(jatekosid,nev2,sizeof(nev2));
                        format(indok,64,\"<Szerver>%s kickelte %s-t. Indok: %s\",nev,jatekosid,indok);
                        SendClientMessageToAll(narancs,indok);
                        printf(indok);
                }
        }
        else SendClientMessage(playerid,narancs,\"<Szerver> Nem vagy admin.\");
        return 1;
}

 
Így ?
Mivel az i az integer,az u pedig játékosnév/id.
Cím: string hiba
Írta: CrAzYwEEE - 2013. augusztus 22. - 13:26:02
Sajnos így sem mûködik  :hmmm:
Cím: string hiba
Írta: Zsolesszka - 2013. augusztus 22. - 14:25:35
Lekérni lekéred a jatekosid nevét:
 
                        new nev2[64];
                        GetPlayerName(jatekosid,nev2,sizeof(nev2));

 
Csak nem használod, és nem a megfelelõ változót írtad be a format eljáráshoz!
 
format(indok,64,\"<Szerver>%s kickelte %s-t. Indok: %s\",nev, nev2, indok);
Cím: string hiba
Írta: CrAzYwEEE - 2013. augusztus 22. - 15:12:45
Így sem megy :no: :no: :\'(
Cím: string hiba
Írta: Live - 2013. augusztus 22. - 16:12:59
Ha 0.3x samp klienset használsz akkor késleltetni kell a Kick függvényt.
és akkor is így kell, hogy legyen:
 

CMD:kick(playerid,params[])
{
        if(IsPlayerAdmin(playerid))
        {
            new jatekosid;
            new indok[64];
            if(sscanf(params,\"is[64]\",jatekosid,indok)) return SendClientMessage(playerid,piros,\"HASZNÁLAT: /kick <játékosid> <indok>\");
            {
   new nev2[24+1], nev[24+1];
                        GetPlayerName(playerid,nev,sizeof(nev));
                        GetPlayerName(jatekosid,nev2,sizeof(nev2));
                        format(indok,64,\"<Szerver>%s kickelte %s-t. Indok: %s\",nev,jatekosid,indok);
                        SendClientMessageToAll(narancs,indok);
                        printf(indok);
   Kick(jatekosid);
                }
        }
        else SendClientMessage(playerid,narancs,\"<Szerver> Nem vagy admin.\");
        return 1;
}
Cím: string hiba
Írta: CrAzYwEEE - 2013. augusztus 22. - 18:37:42
Köszönöm szépen a segítséget, most sikerült mûködésbe hoznom :)
ZÁROK