Доступ к готовым решениям

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

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

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

Урок Использование ZCMD одновременно с strcmp.

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

# Woody

Умник
Автор: iRusel.
Как вы знаете ZCMD не может работать,одновременно с обычными командами strcmp.
Именно поэтому мы немного смухлюем.

1. Находим паблик OnPlayerCommandText и переименовываем его в OnPlayerCommandTextEx и добавляем forward, должно получиться так:

PHP:
forward OnPlayerCommandTextEx(playerid, cmdtext[]);
public OnPlayerCommandTextEx(playerid, cmdtext[])
{
	//команды
}
2. Далее добавляем колбэк для ZCMD команд:

PHP:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
	if(!success) success = OnPlayerCommandTextEx(playerid,cmdtext);
	return success;
}
Теперь у вас будут работать как команды на ZCMD так и strcmp.

В качестве примера, приведу свой пример.

PHP:
forward OnPlayerCommandTextEx(playerid, cmdtext[]);
public OnPlayerCommandTextEx(playerid, cmdtext[])
{
	if (strcmp("/test", cmdtext, true, 10) == 0)
	{
		W(playerid);
		//Ban(playerid);
		return 1;
	}
	return SendClientMessage(playerid, -1, "{d1d1d1}Команды не существует!");
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
	if(!success) success = OnPlayerCommandTextEx(playerid,cmdtext);
	return success;
}

CMD:warning(playerid, params[])
{
	if(sscanf(params,"u", params[0])) return SendClientMessage(playerid, -1, "Введите: /w [id игрока или имя игрока]");
	if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Игрок не найден");
	Player[params[0]][pWarning] += 1;
	SendClientMessage(playerid,0xFF00000,"Вы дали игроку варн.");
	return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу