Просмотр полной версии : [Вопрос] mysql | события/phpmyadmin
Создал событие на уменьшение времени мута каждые 60 секунд, но почему-то оно не убавляет секунды (игроки удовлетворяют условиям WHERE). Может я не понимаю как они работают?
https://pp.vk.me/c639816/v639816832/6bd2/yGCH1ils6Xo.jpg
Где зачёркнуто - написано database@%
https://pp.vk.me/c639816/v639816832/6bd9/tVdoV3AyMQM.jpg https://pp.vk.me/c639816/v639816832/6be0/GYCUnl9tv8I.jpg
mute_time остаётся 1200.
Какой тип поля?
И да, система не надёжная, лучше запоминать время окончания мута в виде timestamp, тогда никакие таймеры не понадобятся и ничего вычитать не придётся.
Какой тип поля?
Int
И да, система не надёжная, лучше запоминать время окончания мута в виде timestamp, тогда никакие таймеры не понадобятся и ничего вычитать не придётся.
Так игрок может же и оффнуться, при повторном входе ему надо будет выдать оставшееся время
upd: догнал, что можно просто вычесть
Так игрок может же и оффнуться, при повторном входе ему надо будет выдать оставшееся время
upd: догнал, что можно просто вычесть
Эмм, Ziggi говорит про такой вариант:
//При выдаче мута
pInfo[playerid][pMuteTime] = gettime()+60;//Даём мут, например, на 60 секунд
//OnPlayerText
if(pInfo[playerid][pMuteTime] > gettime)
{
SendClientMessage(playerid, -1, "У вас мут");
return 0;
}
И ничего вычитать не нужно будет. Просто записываешь значение pMuteTime в таблицу и оттуда же выгружаешь при входе. Больше никаких действий не нужно
Эмм, Ziggi говорит про такой вариант:
//При выдаче мута
pInfo[playerid][pMuteTime] = gettime()+60;//Даём мут, например, на 60 секунд
//OnPlayerText
if(pInfo[playerid][pMuteTime] > gettime)
{
SendClientMessage(playerid, -1, "У вас мут");
return 0;
}
И ничего вычитать не нужно будет. Просто записываешь значение pMuteTime в таблицу и оттуда же выгружаешь при входе. Больше никаких действий не нужно
Так игрок может просто оффнуться и мут у него будет "убывать" когда его не будет в игре. А мне надо, чтоб секунды убавлялись только в онлайне
Так игрок может просто оффнуться и мут у него будет "убывать" когда его не будет в игре. А мне надо, чтоб секунды убавлялись только в онлайне
Если у тебя есть столбец, куда записывается время выхода, то переводишь его в UnixTime, отнимаешь его от нового времени входа и прибавляешь это время к времени мута
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot