Szerző Téma: /kick parancs -nak valami hibája van.  (Megtekintve 818 alkalommal)

Nem elérhető MdCrp

/kick parancs -nak valami hibája van.
« Dátum: 2014. június 10. - 16:55:31 »
0 Show voters
Az elõbb csináltam /kick parancsot, minden jó csak nem akarja kiírni az indokot.
a zcmd és az sscanf include -olva van, és még úgy is elfogadja, hogy nem írok indokot, pl. /kick 0 az indok hiányzik és még úgy is kickel. De hogyha indokot is írok pl. /kick 0 teszt, akkor is kickel, de nem ír indokot
Kód:
 

CMD:kick(playerid, params[])
{
new targetid,string[128],reason[128],string0[128];
GetPlayerName(playerid,nev,sizeof(nev));
GetPlayerName(targetid,nev0,sizeof(nev0));
format(string,sizeof(string),\"*Admin {00ff00}\'%s\'{0088ff} által ki lett rúgva {00ff00}\'%s\' {0088ff}játékost. [indok: %s]\",nev,nev0,reason);
format(string,sizeof(string),\"Ki lettél rúgva *Admin\'%s\' által. Indok: [%s]\",nev,reason);
if(IsPlayerAdmin(playerid))
{
    if(sscanf(params,\"uS(reason)[128]\",targetid,reason)) return SendClientMessage(playerid,0x0000ffff,\"Használat: {ff00ff}/kick [PlayerID] [indok]\");
    if(IsPlayerConnected(targetid))
    {
        SendClientMessage(playerid,0x0088ffff,string0);
        SendClientMessageToAll(0x0088ffff,string);
Kick(targetid);
    }
}
else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xff0000ff,\"Bocsi, de nem használhatod ezt a parancsot :P\");
    else if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,0xff0000ff,\"A játékos nincs csatlakozva!\");
return 1;
}

 
Compile -nál hibát egyet sem ír(/kickel kapcsolatban)
Valaki segítsen, a válaszokat elõre is köszönöm!
« Utoljára szerkesztve: 2014. június 15. - 14:02:33 írta MdCrp »

/kick parancs -nak valami hibája van.
« Válasz #1 Dátum: 2014. június 10. - 17:00:42 »
0 Show voters
if(sscanf(params,\"uS(reason)[128]\",targetid,reason)) return SendClientMessage(playerid,0x0000ffff,\"Használat: {ff00ff}/kick [PlayerID] [indok]\");

 
helyett
 
if(!sscanf(params,\"uS(reason)[128]\",targetid,reason)) return SendClientMessage(playerid,0x0000ffff,\"Használat: {ff00ff}/kick [PlayerID] [indok]\");

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
/kick parancs -nak valami hibája van.
« Válasz #2 Dátum: 2014. június 10. - 17:06:20 »
0 Show voters
Tessék: Átírtam + javítottam!
 
#include a_samp
#include zcmd
#include sscanf2
//new nev[MAX_PLAYER_NAME];
//new nev0[MAX_PLAYER_NAME];
CMD:kick(playerid, params[]) {
    if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid,0xff0000ff,\"Bocsi, de nem használhatod ezt a parancsot :P\");
    new targetid,string[128],reason[128],string0[128];
    if(sscanf(params,\"us[128]\",targetid,reason)) return SendClientMessage(playerid,0x0000ffff,\"Használat: {ff00ff}/kick [PlayerID] [indok]\");
    if(IsPlayerConnected(targetid)) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! A játékos nem online!\");
    GetPlayerName(playerid,nev,sizeof(nev));
    GetPlayerName(targetid,nev0,sizeof(nev0));
    format(string,sizeof(string),\"*Admin {00ff00}\'%s\'{0088ff} által ki lett rúgva {00ff00}\'%s\' {0088ff}játékost. [indok: %s]\",nev,nev0,reason);
    format(string,sizeof(string),\"Ki lettél rúgva *Admin\'%s\' által. Indok: [%s]\",nev,reason);
    SendClientMessage(playerid,0x0088ffff,string0);
    SendClientMessageToAll(0x0088ffff,string);
    Kick2(targetid);
    return 1;
}
forward Kick2(playerid);
forward KickFix(playerid);
public Kick2(playerid) return SetTimerEx(\"KickFix\", 1000, false, \"i\", playerid);
public KickFix(playerid) return Kick(playerid);

Nem elérhető krisk

  • 2380
    • Profil megtekintése
/kick parancs -nak valami hibája van.
« Válasz #3 Dátum: 2014. június 10. - 18:05:21 »
0 Show voters
Egyébként a scriptben még van egy hiba, nevezetesen, hogy:
 

if(!IsPlayerAdmin(playerid)) SendClientMessage(playerid,0xff0000ff,\"Bocsi, de nem használhatod ezt a parancsot :P\");

 
esetén a kód futása nem áll meg. Helyesen:
 

if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xff0000ff,\"Bocsi, de nem használhatod ezt a parancsot :P\");

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
/kick parancs -nak valami hibája van.
« Válasz #4 Dátum: 2014. június 11. - 20:50:07 »
0 Show voters
Na meg mégegy hiba itt: if(IsPlayerConnected(targetid))
javított változat:
 
#include a_samp
#include zcmd
#include sscanf2
//new nev[MAX_PLAYER_NAME];
//new nev0[MAX_PLAYER_NAME];
CMD:kick(playerid, params[]) {
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xff0000ff,\"Bocsi, de nem használhatod ezt a parancsot :P\");
    new targetid,string[128],reason[128],string0[128];
    if(sscanf(params,\"us[128]\",targetid,reason)) return SendClientMessage(playerid,0x0000ffff,\"Használat: {ff00ff}/kick [PlayerID] [indok]\");
    if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, 0xff0000ff, \"Hiba! A játékos nem online!\");
    GetPlayerName(playerid,nev,sizeof(nev));
    GetPlayerName(targetid,nev0,sizeof(nev0));
    format(string,sizeof(string),\"*Admin {00ff00}\'%s\'{0088ff} által ki lett rúgva {00ff00}\'%s\' {0088ff}játékost. [indok: %s]\",nev,nev0,reason);
    format(string,sizeof(string),\"Ki lettél rúgva *Admin\'%s\' által. Indok: [%s]\",nev,reason);
    SendClientMessage(playerid,0x0088ffff,string0);
    SendClientMessageToAll(0x0088ffff,string);
    Kick2(targetid);
    return 1;
}
forward Kick2(playerid);
forward KickFix(playerid);
public Kick2(playerid) return SetTimerEx(\"KickFix\", 1000, false, \"i\", playerid);
public KickFix(playerid) return Kick(playerid);

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal