[Help] Automatic time resetting 97d

LasTCursE

Active Member
Joined
Jun 5, 2013
Messages
165
Reaction score
47
Привет колеги,

Искам да ви попитам как решавате проблема с автоматизацията на някои модули?
Примерно: Имаш вип статус до еди кой си ден запазен на epoch timestamp в SQL, как когато дойде това време да направя автоматично да се променят някакви неща?
(IsVip от 1 на 0 и VipExpirationTime от тайм стампа обратно на NULL в конкретния пример)

Мерси предварително : )
 
В случая нямаш нужда да го правиш от сайта. При въпросната Vip система тайминга се определя/засича на база играта.
 
Аз искам да е от сайта и да си избират за какъв период да е (съответно и по-големите периоди да са с отстъпка и тн.)
Направих днес модула които си вкарва данните в SQL-a, но не се ресетва като мине периода..

Трябва ми също и за още няколко неща, дадох випа като пример просто :)

ЕДИТ: Да поясня, имах предвид, че в сайта ми остава така, въпреки, че в играта е изтекъл випа.
screen.JPG
Затова искам да го ресетвам и в SQL.

Имам и друг модул с подобен тип функциониране за които пак ми е нужно да се променят неща в таблиците след определен период.
 
Last edited:
Ами като цяло в сайта там където ти е времето го правиш примерно
PHP:
$variableVipStatus = VIP Active to ........
if (columnVipExpirationTime < time()) {
    query(UPDATE [tableVip] SET [columnIsVip] = 0 WHERE Acc = fdfdfd)
    $variableVipStatus = '<p style="colore:red">VIP is expire to renew <a>Click HERE</a></p>';
}
 
  • Like
Reactions: LasTCursE
Да, решихме го с lubo по подобен начин :)

Мерси
 
Ако имаш един играч и той не посети сайта, ще има вечен вип, но нищо :D. Никога не забравяй, че PHP си е скриптов език и изпълнява само при рефреш на конкретният модул/ страница. Поне аз не съм чувал да можеш да правиш background process/workers дори да има не мисля, че ще е надеждно. Най-сигурно е да си създадеш trigger в базата или процедура, така или иначе, SQL работи в бакграунд.
 
Last edited:
  • Like
Reactions: LasTCursE
С cron можеш да изплъниш php script, но няма смисъл след като можеш с trigger да го направиш
 
  • Like
Reactions: LasTCursE
Ще проуча варианта с тригъра!

Иначе за ВИП-а само се ресетва, грешката беше моя, че опитвах да го правя по акаунт в "Character" таблицата, понеже не знаех, че има и в MEMB_INFO също...
Това за php проверката го ползвахме за друг модул които крие информацията на героя
 
Crona зависи от платформата, докато решението с процедура е генералено.
 
Не може да няма php cron jobs.. най добре така според мен, най лесно за работа, промяна и тн..

а ако няма обръщай на джаваскрипт (xax)
 
Не мисля, че автора на темата поддържа сървър/сайт на нещо различно от windows или linux... и двата случая може да се пусне cron. Въпреки това бих го направил с процедура. Тук вече е субективно с какво иска да работи. Предвид въпроса му - няма значение май, важното е да върши работа :D
 
  • Like
Reactions: r00tme