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

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

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

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

Использование Sscanf 2.6 с YCMD

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

Мike

Компетентный
Привет всем, я собираюсь показать вам, как сделать простой отсчет системы

ресурсы

В этом уроке мы будем использовать:

Код:
[COLOR=#0000cd][FONT=microsoft sans serif]  [URL="http://pastebin.com/aY2cnzhr"]Sscanf - Y_less
[/URL]  [URL="http://pastebin.com/MggEywZn"]YCMD - Y_less
[/URL][/FONT][/COLOR]
сценарии

После того как вы вошли как ресурсы, и у вас нет никаких ошибок, продолжить :)
На вершине OnGameModeInit //добавить следующее:

PHP:
new iscountactivated = 0; //Creating the variable, to check if someone already started the count down.
new countamount;//Creating the variable, to store how much the count down is.
forward Count();//Forwarding the timer, to check if the count down is activated.
new CountTimer;//So we can disable the timer later on, at the finish of the count down.Некоторые, где в сценарии, а не с помощью обратного вызова (я предлагаю под OnPlayerCommandText) добавить следующие
PHP:
CMD:count(playerid,params[])
{
static amount;/ / создаем переменную, где она будет храниться сумма, что игрок выбрал.
if(sscanf(params,"i",amount)) return SendClientMessage(playerid,-1,"Использование: / Количество <amount> ") ;/ / проверка, если игрок входа любого параметрами, и если его число.
if(iscountactivated == 1) return SendClientMessage(playerid,-1,"Обратный отсчет уже активирован! ") ;/ / Проверка, если кто-то уже начал обратный отсчет.
if(amount > 10 || amount <= 0) return SendClientMessage(playerid,-1,"Сумма не может быть больше 10 ") ;/ / Проверка, если сумма превышает 10
CountTimer = SetTimer("Count",1000,true);/ / Установка таймера для отсчета времени.
countamount = amount;/ / Установка переменной с введенной суммы.
iscountactivated = 1;/ / Установка iscountactivated 1, чтобы предотвратить будущие спама.
return 1;
}
Теперь добавим таймер в конец вашего мода:
PHP:
public Count()
{
if(!iscountactivated){KillTimer(CountTimer);}//Checking if the timer is activated, if not kill the timer.
else
{
new string[4];
format(string,sizeof(string),"%i",countamount);
GameTextForAll(string,1000,3);
countamount--;
if(countamount == -1) {iscountactivated = 0, GameTextForAll("~g~~h~Go!",1000,3);}
}
return 1;
}
[HR][/HR]Команды на YCMD
PHP:
YCMD:givegun(playerid, params[] ,help) 
{ 
new string[64]; 
if(PlayerInfo[playerid][pAdmin] < 4) return SendClientMessage(playerid, -1, "Нет доступа к этой команде.");//админку заменяем под себя 
if(sscanf(params,"uii", params[0], params[1], params[2])) return SendClientMessage(playerid, -1,"{0099FF}x Используйте: {FFFFFF}/givegun {99D938}[playerid] [gunid] [ammo]"); 
if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, -1, "Игрока нет в сети."); 
else if(params[1] > 47 || params[1] < 1) return SendClientMessage(playerid, -1,"Нет таково оружия."); 
else if(params[2] > 1000 || params[2] < 1) return SendClientMessage(playerid, -1,"Не правильное кол-во патрон."); 
new sendername[256]; 
GetPlayerName(playerid, sendername, sizeof(sendername)); 
format(string, sizeof(string), "[GUN]: Администратор %s выдал игроку %s оружие:[ID:%d][AMMO:%d]", sendername, params[0],params[1], params[2]); 
MessageToAdmins(0xFFFFFFFF,string);//меняем под себя 
GiveWeaponAC(params[0], params[1], params[2]);// опять же меняем под себя
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу