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

Nem elérhető nyE

  • 1745
    • Profil megtekintése
SSCANF help.
« Válasz #15 Dátum: 2011. január 08. - 12:53:22 »
0 Show voters
Spatrik megcsinálta a zcmd-t, hogy lehessen használni ékezeteket a parancsban: Link

SSCANF help.
« Válasz #16 Dátum: 2011. január 08. - 13:14:02 »
0 Show voters
kb lesz4rom az ékezeteket, nekem az a bajom vele, hogy nincs meg az az alap formája, mint az strtok-nak.. és az is, hogy OnPlayerCommandText alá nem lehet írni..

Nem elérhető Sheet

  • 1508
  • Támogató
    • Profil megtekintése
SSCANF help.
« Válasz #17 Dátum: 2011. január 08. - 13:38:16 »
0 Show voters
Idézetet írta: Spatrik date=1294490152\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"5177\" data-ipsquote-contentclass=\"forums_Topic
Cserébe sokkal gyorsabb mint a többi parancsfeldolgozó, és a használata is egyszerûbb.
 
lehet hogy gyorsabb de szerintem sokkal bonyolultabb mint a strtok, legalábbis szerintem.

SSCANF help.
« Válasz #18 Dátum: 2011. január 08. - 13:38:22 »
0 Show voters
lehet, hogy egyszerûbb, de mivel nekem az strcmp jobban bejön, ezért azt fogom használni.. Ha nem jó hozzá az sscanf, akkor visszaírom az egészet..

SSCANF help.
« Válasz #19 Dátum: 2011. január 08. - 13:45:24 »
0 Show voters
Ok. Ezzel már megvagyok.. Azt magyarázd el, hogy sscanf + strcmp miért nem mûködik..

SSCANF help.
« Válasz #20 Dátum: 2011. január 08. - 14:14:00 »
0 Show voters
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[512], player1, result[32];
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;
}

 
Ha simán beírom, h \"/ban\", akkor kiírja, hogy \"USAGE: /ban [playerid] [reason]\"
De ha pl beírom, hogy \"/ban 0 mert\", akkor SERVER: Unknown Command

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
SSCANF help.
« Válasz #21 Dátum: 2011. január 08. - 14:18:39 »
0 Show voters
azért mert strcmpnél tmp-t is kell használni. (vagyis nállam úgy volt jó:D)

SSCANF help.
« Válasz #22 Dátum: 2011. január 08. - 14:29:58 »
0 Show voters
ha TMP-t használok, akkor ugyan olyan, mint az strtok, szoval semmi értelme..

SSCANF help.
« Válasz #23 Dátum: 2011. január 09. - 00:39:39 »
0 Show voters
Ezt mind a 200 parancsnál csináljam meg? o.O

SSCANF help.
« Válasz #24 Dátum: 2011. január 09. - 11:01:33 »
0 Show voters
Ezt brutálisan nem értem..

SSCANF help.
« Válasz #25 Dátum: 2011. január 09. - 11:49:28 »
0 Show voters
Meg is érdemled, ha nem szereted az egyszerû és a gyors módszereket...

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
SSCANF help.
« Válasz #26 Dátum: 2011. január 09. - 12:56:01 »
0 Show voters
Ez nem épp ehhez kapcsolódik, de szerintem a player integert és a reason stringet nemkell minden parancsban létrehozni. Létrehozod globálisan és kevesebbet is eszik, gyorsabb és egyszerûbb is.

SSCANF help.
« Válasz #27 Dátum: 2011. január 09. - 14:14:57 »
0 Show voters
Mind1.. DCMD :D Ahoz nem kell Include, és bontani sem kell.
Átírtam az egészet, de most csak félig mûxenek a parancsok..
olyan parancsot tudok használni, amihez nincs reason, vagy result.. [pl /mute, /ummute]
/ban id reason megint Unknown command.
 
dcmd_ban(playerid, params[]) {
new result[64], player1, string[128];
if(PlayerInfo[playerid][AdminLevel] < 3) return SendLevelError(playerid, 3);
if(sscanf(params, \"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;
}

SSCANF help.
« Válasz #28 Dátum: 2011. január 09. - 20:08:55 »
0 Show voters
Nem fogok egy szaros \"gyorsabb\" megoldás miatt többszár parancshoz külön-külön létrehozni változókat, és külön szétbontani a parancsokat, mert \"így gyorsabb, meg jobb, meg f4szom\"
STRTOK 20X JOBB
« Utoljára szerkesztve: 2011. január 09. - 20:12:14 írta TengeriMalac »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal