Мои работы и публикации:
Не будет такого. Запуск таймера в коннекте.
Разве что можно делать так:
PHP код:
public OnPlayerConnect(playerid)
{
SetPVarInt(playerid,"Loginned",SetTimerEx("LoginnedTimer", 60000, 0, "i", playerid));
return true;
}
PHP код:
public OnPlayerDisconnect(playerid,reason)
{
if(GetPVarInt(playerid,"Loginned")!=0)
KillTimer(GetPVarInt(playerid,"Loginned"));
return true;
}
это туда где вы авторизуетесь:PHP код:
forward LoginnedTimer(i);
public LoginnedTimer(i)
{
if(GetPVarInt(i,"Loginned")!=0)
Kick(i);
return true;
}
исправил в общемPHP код:
if(GetPVarInt(playerid,"Loginned")!=0) DeletePVar(playerid,"Loginned");
Последний раз редактировалось Valera_Trefilov; 09.04.2015 в 21:52.
Это и являлось причиной ошибки.Не будет такого. Запуск таймера в коннекте.
Мои работы и публикации:
Много кто предлагал делать, но: Зачем создавать для каждого игрока таймер? Если можно проверять каждого игрока в цикле, что более надёжнее, нежели проверять определённого.
Извини никто не скажет как добавить чтобы в чат писалось время это. К примеру:
Оставшее время на авторизацию : 30(--30-29-28-27-26-25-24-23-22-21-20.....)
С убыванием на -1 и как ноль то Кик
Последний раз редактировалось Coopr; 24.04.2016 в 22:53.
выводить в чат каждую секунду время оставшееся на авторизацию - бредовая затея, не думаю что игрокам понравится. Но если все таки хочешь, то создаешь переменную, равную общему времени на авторизацию и в секундном таймере вычитаешь по 1 секунде, обновляешь данные и выводишь игроку в чат.
Мои работы и публикации:
Coopr (25.04.2016)
Ну или без переменной:
PHP код:
SetTimerEx("@____TimeForAuthorization", 1000, 0, "ii", playerid, 30);
Я не говорю, что этот вариант лучше или оптимизированнее - я не тестировал. Просто ещё один вариант реализации, который мне пришёл на умPHP код:
@____TimeForAuthorization(playerid, time);
@____TimeForAuthorization(playerid, time)
{
new string[...];
format(...);
SendClientMessage(playerid, -1, string);
if(time > 0) SetTimerEx("@____TimeForAuthorization", 1000, 0, "ii", playerid, time-1);
else
{
SendCLientMessage(playerid. -1. "Время вышло");
}
return 1;
}
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Coopr (25.04.2016)
Нет :D Если брать мою реализацию, то так:
Если брать реализацию wAx, то можно при начале авторизации присвоить к pVar значение, например:PHP код:
@____TimeForAuthorization(playerid, time);
@____TimeForAuthorization(playerid, time)
{
new string[3];
format(string, sizeof(string), "%d", time);
SendClientMessage(playerid, -1, string);
if(time > 0) SetTimerEx("@____TimeForAuthorization", 1000, 0, "ii", playerid, time-1);
else
{
SendCLientMessage(playerid. -1. "Время вышло");
}
return 1;
}
И потом в секундный таймер вставить код, типа:PHP код:
SetPVarInt(playerid, "TimeForAuthorization", 31);
Только playerid на переменную цикла заменить нужноPHP код:
if(GetPVarInt(playerid, "TimeForAuthorization"))
{
new authorization_time = GetPVarInt(playerid, "TimeForAuthorization")-1;
SetPVarInt(playerid, "TimeForAuthorization", authorization_time);
if(authorization_time == 1)
{
SendClientMessage(playerid, -1, "Время вышло");
DeletePVar(playerid, "TimeForAuthorization");
}
else
{
new string[3];
format(string, sizeof(string), "%d", authorization_time-1);
SendClientMessage(playerid, -1, string);
}
}
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Coopr (25.04.2016)
Эту тему просматривают: 6 (пользователей: 0 , гостей: 6)