Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Варианты оптимизации

Статус
В этой теме нельзя размещать новые ответы.

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;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу