PDA

Просмотр полной версии : [Вопрос] DC_CMD



Vano_Glad
16.02.2016, 13:28
Всем привет. Хочу узнать, как же сделать раздельную команду на DC_CMD? К примеру /buy money

Desulaid
16.02.2016, 13:46
strcmp

Vano_Glad
16.02.2016, 14:07
Про неё я знаю. А других вариантов нет? Если нет, то придется юзать её :)

L0ndl3m
16.02.2016, 14:08
Можно ещё использовать sscanf, например, он удобный.

DeimoS
16.02.2016, 14:11
Как-то так

CMD:buy(playerid, params[])
{
new cmd_text[30],
value;
sscanf(params, "si", cmd_text, value);
if(!strcmp(cmd_text, "money", true))
{
if(!value) return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}/buy money [значение]");
SendClientMessage(playerid, -1, "I want money");
}
else if(!strcmp(cmd_text, "power", true))
{
//У данного параметра не нужно вводить значение, поэтому проверку не ставим
SendClientMessage(playerid, -1, "And all your power");
}
else if(!strcmp(cmd_text, "glory", true))
{
if(!value) return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}/buy glory [значение]");
SendClientMessage(playerid, -1, "All your glory");
}
else return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}/buy [money/power/glory]");
return 1;
}

Vano_Glad
16.02.2016, 14:17
Как-то так

CMD:buy(playerid, params[])
{
new cmd_text[30],
value;
sscanf(params, "si", cmd_text, value);
if(!strcmp(cmd_text, "money", true))
{
if(!value) return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}/buy money [значение]");
SendClientMessage(playerid, -1, "I want money");
}
else if(!strcmp(cmd_text, "power", true))
{
//У данного параметра не нужно вводить значение, поэтому проверку не ставим
SendClientMessage(playerid, -1, "And all your power");
}
else if(!strcmp(cmd_text, "glory", true))
{
if(!value) return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}/buy glory [значение]");
SendClientMessage(playerid, -1, "All your glory");
}
else return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}/buy [money/power/glory]");
return 1;
}

Как работает эта функция - я знаю :) Но спасибо за труды. Ладно буду юзать её. Гляну что еще со sscanf можно поделать. Всем спасибо :)

DeimoS
16.02.2016, 14:39
Как работает эта функция - я знаю :) Но спасибо за труды. Ладно буду юзать её. Гляну что еще со sscanf можно поделать. Всем спасибо :)

Эмм, тут и используется sscanf.

Vano_Glad
16.02.2016, 14:58
DeimoS

Не заметил )