CMD:escolher(playerid, params[])
/*No cmd /escolher eu quero checar se o player digitou algumas palavras chave, como "/escolher spawn", "/escolher emprego", etc. Tem como fazer pelo sscanf ou й sу pelo strcmp?*/
Bem, eu nгo conheзo nada de sscanf, entгo venho pedir ajuda de vocкs.
Eu quero fazer uma comparaзгo de strings, por exemplo: PHP код:
|
CMD:escolher(playerid, params[])
{
if (isnull(params))
{
SendClientMessage(playerid, -1, "USE: /escolher [opзгo]");
SendClientMessage(playerid, COLOR_GREEN, "Opзхes: {FFFFFF}spawn, emprego");
return 1;
}
if (!strcmp(params, "spawn", true))
{
// FUNЗХES AQUI
}
if (!strcmp(params, "emprego", true))
{
// FUNЗХES AQUI
}
return 1;
}
Ahh sim, pelo strcmp eu sei fazer, porйm queria saber se pelo sscanf dб. Queria otimizar meu cуdigo, jб que o sscanf й mais rбpido. Enfim, obrigado.
|
Acho que й assim, pelo oq eu entendi
pawn Код:
REP + se te ajudei. |
if(sscanf(params, "ESPECIFICADOR", VARIAVEL)) return SendClientMessage(playerid, -1, "Parвmetro correto.");
Specifier(s) Name Example values i, d Integer 1, 42, -10 c Character a, o, * l Logical true, false b Binary 01001, 0b1100 h, x Hex 1A, 0x23 o Octal 045 12 n Number 42, 0b010, 0xAC, 045 f Float 0.7, -99.5 g IEEE Float 0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E u User name/id (bots and players) ******, 0 q Bot name/id ShopBot, 27 r Player name/id ******, 42
use:
Код:
if(sscanf(params, "ESPECIFICADOR", VARIAVEL)) return SendClientMessage(playerid, -1, "Parвmetro correto."); Код:
Specifier(s) Name Example values i, d Integer 1, 42, -10 c Character a, o, * l Logical true, false b Binary 01001, 0b1100 h, x Hex 1A, 0x23 o Octal 045 12 n Number 42, 0b010, 0xAC, 045 f Float 0.7, -99.5 g IEEE Float 0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E u User name/id (bots and players) ******, 0 q Bot name/id ShopBot, 27 r Player name/id ******, 42 |
Nгo hб necessidade de usar sscanf para esse caso, o cуdigo do Derritee1001 estб correto. E nгo se preocupe com otimizaзгo, pois o isnull й a melhor opзгo.
|
CMD:escolher(playerid, params[])
{
new Escolheu; // inteiro
new str[20]; // string
if(sscanf(params, "i", Escolheu)) return SendClientMessage(playerid, -1, "/escolher [nъmero]");
format(str, sizeof str, "Vocк escolheu o nъmero %i", Escolheu);
SendClientMessage(playerid, -1, str);
return 1;
}
CMD:escolher(playerid, params[])
{
new Escolheu[10]; // string
if(sscanf(params, "s[10]", Escolheu)) return SendClientMessage(playerid, -1, "/escolher [palavra]");
if(strcmp(Escolheu, "teste", true) == 0) return SendClientMessage(playerid, -1, "Vocк escolheu a palavra 'teste'.");
return 1;
}