Szerző Téma: SSCANF help.  (Megtekintve 3749 alkalommal)

SSCANF help.
« Dátum: 2011. Január 06. - 15:27:33 »
0 Show voters
De sokszor kell ide írnom -.-\"
Szoval az lenne a problémám, hogy ZeRo leírása alapján/miatt átírtam az adminscriptem, ohogy használja az SSCANF függvényt.
Az lenne a problémám, hogy akármilyen léptezõ parancsot beírok [/mute, /ban, /kick, stb.] mind egyem némít, banol, kickel, stb.
 
   if(strcmp(cmdtext, \"/ban\", true) == 0) {
if(PlayerInfo[playerid][AdminLevel] < 3) return SendLevelError(playerid, 3);
if(!sscanf(cmdtext, \"ds[100]\", player1, result)) return SendUsageError(playerid, \"/ban [id] [reason]\");
if(!IsPlayerConnected(player1)) return SendCommandError(playerid, 0);
format(string, 256, \"You Are Banned\\n\\nBy Admin, %s\\nReason: %s\\n\\nNext time follow the Rules\\n\\nBye!\", PlayerName(playerid), result);
ShowPlayerDialog(player1, 200, DIALOG_STYLE_MSGBOX, \"You have been Banned\", string, \"Ok\", \"\");
SendCommandMessage(playerid, player1, \"Ban\", result);
Ban(player1);
return 1;
}

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
SSCANF help.
« Válasz #1 Dátum: 2011. Január 06. - 15:49:33 »
0 Show voters
Szia ! :)
Remélem hogy ilyenre gondoltál , a kód használ sscanf-t illetve ZCMD-t ! :)
Nem tesztelt :D
 
CMD:ban(playerid, params[])
{
if(PlayerInfo[playerid][AdminLevel] < 3)
{
    new pID, message[128];
    if(sscanf(params, \"is[128]\", pID, message))
{
   SendClientMessage(playerid, VILAGOSKEK, \"Használat: /ban [iD] [indok]\");
    }
else if(!IsPlayerConnected(pID) || IsPlayerNPC(pID))
{
   SendClientMessage(playerid, PIROS, \"Érvénytelen azonosító!\");
}
else
{
new string[128];
                format(string, 256, \"You Are Banned\\n\\nBy Admin, %s\\nReason: %s\\n\\nNext time follow the Rules\\n\\nBye!\", PlayerName(playerid), result);
               SendCommandMessage(playerid, player1, \"Ban\", result);
        SendClientMessageToAll(PIROS, string);
        BanEx(pID, message);
                ShowPlayerDialog(player1, 200, DIALOG_STYLE_MSGBOX, \"You have been Banned\", string, \"Ok\", \"\");
    }
}
else
    {
SendLevelError(playerid, 3);
    }
    return 1;
}

SSCANF help.
« Válasz #2 Dátum: 2011. Január 06. - 16:41:37 »
0 Show voters
utálom a ZCMD-t szal anélkül :D

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
SSCANF help.
« Válasz #3 Dátum: 2011. Január 06. - 20:53:01 »
0 Show voters
Benned van a hiba , ha már ezt nem bírod átírni ;)

SSCANF help.
« Válasz #4 Dátum: 2011. Január 06. - 21:25:13 »
0 Show voters
jaboccs xDD
meg ne néztem, csak odáig jutottam, hogy
a kód használ sscanf-t illetve ZCMD-t ! :)[/quote]
köszi, zárok xD


BUMP mert nyitok :D
Az eredmény ugyanaz..
Egyéb 5let?
« Utoljára szerkesztve: 2011. Január 06. - 21:38:51 írta TengeriMalac »

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
SSCANF help.
« Válasz #5 Dátum: 2011. Január 06. - 21:58:46 »
0 Show voters
Az iménti parancs nálam tökéletesen mûködik , szóval valahol benned van a hiba ;)

SSCANF help.
« Válasz #6 Dátum: 2011. Január 06. - 22:16:50 »
0 Show voters
strcmp-vel is?

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
SSCANF help.
« Válasz #7 Dátum: 2011. Január 07. - 14:41:20 »
0 Show voters
Ez nem jó:
 
if(!sscanf(cmdtext, \"ds[100]\", player1, result)) return SendUsageError(playerid, \"/ban [id] [reason]\");

 
Helyett:
 

if ( sscanf ( cmdtext, \"ds[ 100 ]\", player1, result ) ) return SendUsageError ( playerid, \"/ban [id] [reason]\" );

SSCANF help.
« Válasz #8 Dátum: 2011. Január 07. - 17:44:26 »
0 Show voters
Ez már megvan.
De azért köszi.


Most az a bajom, hogy beírom a parancsot, paraméterek nélkül.. Akkor kiírja (mint pl bannál, hogy \"usage: /ban id reason]\").. de ha beírom, hogy pl \"/ban 0 mert\", akkor ezt kapom
 
SERVER: Unknown Command.[/quote]

SSCANF help.
« Válasz #9 Dátum: 2011. Január 07. - 19:10:57 »
0 Show voters
A sscanf mûködik egyáltalán strcmp-vel?
De talán így:
 
if ( sscanf ( cmdtext[1], \"ds[ 100 ]\", player1, result ) ) return SendUsageError ( playerid, \"/ban [id] [reason]\" );

 
De nem tudom,én is zcmd-t használok.

Nem elérhető Popec16

  • 1267
    • Profil megtekintése
SSCANF help.
« Válasz #10 Dátum: 2011. Január 07. - 19:25:40 »
0 Show voters
Nem igaz mi olyan hogy olyan k...a nehéz átírni zcmd-re !! :)
Nagyon nagy kaland letölteni egy inc-t és beágyazni a módba....

SSCANF help.
« Válasz #11 Dátum: 2011. Január 07. - 19:58:49 »
0 Show voters
megszoktam, könnyebb, stb..

SSCANF help.
« Válasz #12 Dátum: 2011. Január 07. - 21:48:20 »
0 Show voters
Láttom már a fiúk kijavitoták a híbádat, de láttom 1 sorba beszoritsz több mindent is, ezért ne feledd máskor bezárolni hogy ne keveredjen össze, ezt Briskis megfigyelte..
if(!sscanf(cmdtext, \"ds[100]\", player1, result)) return SendUsageError(playerid, \"/ban [id] [reason]\");
Rosszul zároltad, csak erre akartam felhívni a figyelmed, de ha necces neked (de egyártalán nem az), akkor írd külön sorba.

SSCANF help.
« Válasz #13 Dátum: 2011. Január 07. - 23:46:13 »
0 Show voters
Direkt írtam így, és azt nem nagyon bírom, ha külön vannak írva, mert így sokkal rövidebb.

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SSCANF help.
« Válasz #14 Dátum: 2011. Január 08. - 11:06:29 »
0 Show voters
Amúgy mibajod a ZCMD-vel ? Sokkal jobb, de csak akkor, ha nem ékezetes parancsokat csinálsz.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal