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

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

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

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

авто выход из тюрьмы /jail по таймеру . Нужна помощь

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

Vassasssin

Умник
В общем , сделал команду /jail [id игрока] [время] [причина]

PHP:
if(strcmp(cmd, "/jail", true) == 0) // тюрьма
  {
   if (PlayerInfo[playerid] [pAdmin]>= 2)
   {
  #define WHITE 0xFFFFFFFF
  new tmp[128];
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF , "Введите /jail [ID игрока] [время] [причина]");
  new player = strval(tmp);
  if(!IsPlayerConnected(player)) return SendClientMessage(playerid,WHITE,"Игрок не онлайн");
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF , "Введите /jail [ID игрока] [время] [причина]");
  new time = strval(tmp);
  if(time > 180 || time < 1) return SendClientMessage(playerid,0xFFFFFFFF,"Примечание : [время] [1-180]");
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
        idx++;
    }
    new offset = idx;
    new result[100];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
       result[idx - offset] = cmdtext[idx];
       idx++;
    }
    result[idx - offset] = EOS;
  if(!strlen(result)) return SendClientMessage(playerid, 0xFFFFFFFF , "Введите /jail [ID игрока] [время] [причина]");
        new name[MAX_PLAYERS];
		new getname[MAX_PLAYERS];
		GetPlayerName(playerid,name, sizeof(name));
        GetPlayerName(player,getname, sizeof(getname));
        new string[128];
        SetPlayerPos(player,102.6647,-7.0001,2.0);
        SetPVarInt(player,"Jail", gettime() + (time*60) );
        format(string, sizeof(string), "{FF0000}Администратор [%d] %s посадил игрока %s в тюрьму на  %d минут причина : %s",playerid,name,getname,time,(result));
 	   SendClientMessageToAll(0xFFFFFFFF,string);
  return 1;
  }
  }
Далее в тюрьме узнаем сколько нам еще сидеть с помощью команды /time
PHP:
 if(strcmp(cmd, "/time", true) == 0) // проверка на время
  if(GetPVarInt(playerid,"Jail") > gettime())
        {
				new string[128];
                format(string, sizeof(string), "Вы будете находиться в тюрьме %d секунд",(GetPVarInt(playerid,"Jail") - gettime()) );
                SendClientMessage(playerid,0xFFFFFFFF, string);
                return 1;
        }
Но мозгов на таймер не хватает , чтобы по истечению времени , который задал админ в команде , мы благополучно тпшились из тюрьмы .
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу