Alex_Jemison
Умник
Интересует ваши варианты оптимизации команд . Особенно /todo
PHP:
CMD:me(playerid, params[])
{
if(sscanf(params, "s[118]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /me [ действие ]");
new string[144];
format(string, sizeof(string), "%s %s", PlayerInfo[playerid][pName], params[0]);
ProxDetector(20.0, playerid, string, COLOR_ME, COLOR_ME, COLOR_ME, COLOR_ME, COLOR_ME);
SetPlayerChatBubble(playerid, params[0], COLOR_PURPLE, 10.0, 5000);
return 1;
}
CMD:ame(playerid, params[])
{
if(sscanf(params, "s[144]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /ame [ действие ]");
SetPlayerChatBubble(playerid, params[0], COLOR_PURPLE, 10.0, 5000);
return 1;
}
CMD:do(playerid, params[])
{
if(sscanf(params, "s[116]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /do [ действие ]");
new string[144];
format(string, sizeof(string), "%s (%s)", params[0], PlayerInfo[playerid][pName]);
ProxDetector(20.0, playerid, string, COLOR_ME, COLOR_ME, COLOR_ME, COLOR_ME, COLOR_ME);
SetPlayerChatBubble(playerid, params[0], COLOR_PURPLE, 10.0, 5000);
return 1;
}
CMD:todo(playerid, params[])
{
if(sscanf(params, "s[95]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /todo [ текст * действие ]");
if(strlen(params) > 95) return SendClientMessage(playerid, COLOR_RED, ">> {FFFFFF}Слишком длинные текст и действие !");
new message[96];
new string[144];
new regex:todo_check = regex_new("^[a-zA-Zа-яА-Я.-_,\\s]{2,48}\\*[a-zA-Zа-яА-Я.-_,\\s]{2,48}$");
if(regex_check(message, todo_check))
{
new star = strfind(message, "*");
new action[50];
strmid(action, message, star+1, sizeof(message));
strdel(message, star, sizeof(message));
format(string, sizeof(string), "-%s - {DE92FF}сказал(a) %s, %s", message, PlayerInfo[playerid][pName], action);
ProxDetector(20.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
}
else SendClientMessage(playerid, COLOR_RED, "Используйте: /todo [ текст - действие ]");
regex_delete(todo_check);
return 1;
}
CMD:try(playerid, params[])
{
if(sscanf(params, "s[99]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /try [ действие ]");
new string[144];
switch(random(2))
{
case 0: format(string, sizeof(string), "%s %s | {228B22}Удачно", PlayerInfo[playerid][pName], params[0]);
case 1: format(string, sizeof(string), "%s %s | {B22222}Неудачно", PlayerInfo[playerid][pName], params[0]);
}
ProxDetector(20.0, playerid, string, COLOR_ME, COLOR_ME, COLOR_ME, COLOR_ME, COLOR_ME);
return 1;
}
CMD:n(playerid, params[])
{
if(sscanf(params, "s[106]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /n [ текст ]");
new string[144];
format(string, sizeof(string),"%s[%d] (( %s ))", PlayerInfo[playerid][pName],playerid, params[0]);
ProxDetector(20.0, playerid, string, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
return 1;
}
CMD:s(playerid, params[])
{
if(sscanf(params, "s[105]", params[0])) return SendClientMessage(playerid, COLOR_RED, "Используйте: /s [ текст ]");
new string[144];
format(string, sizeof(string),"%s крикнул(a): %s", PlayerInfo[playerid][pName], params[0]);
ProxDetector(35.0, playerid, string, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE, COLOR_WHITE);
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
ApplyAnimation(playerid,"ON_LOOKERS","shout_01",4.1,0,0,0,0,0);
}
SetPlayerChatBubble(playerid, params[0], COLOR_WHITE, 15.0, 5000);
return 1;
}
