Обучение/Помощь новичкам | Помощь по php
Тема закрыта by
213731682
Причина: Не актуально
Причина: Не актуально
Игрок использует симулятор , ему даётся бонус к параметру на 1 час , я записываю параметр в users , то есть прибавляется к текущему параметру,. после 1 часа у игрока заканчивается симулятор и если игрок зайдут в игру , то у него автоматов минус параметры (бонус от симулятора) , но это если он зайдет в игру ещё раз. А вот что если игрок использовал симулятор и вышел с игры и не зашёл больше в игру , то у него не снимутся бонусы от симулятора
Как можно реализовать правильно
Кроном сбрасывай и все
n0o0b , нагрузки не будет ? Например проверять 100000 записей каждую минуту
213731682 , 100к записей, это не о чем вообще, тем более у тебя там не будет никаких условий сложных, если сделать руками
________
посл. ред. 07.08.2022 в 22:38; всего 1 раз(а); by n0o0b
________
посл. ред. 07.08.2022 в 22:38; всего 1 раз(а); by n0o0b
Сделай проще, использовал симулятор свой записалось, записалось в user параметр и так же записалось в таблице допустим simulators id users и id симулятора который использовал ну и время, дальше как время прошло, с таблицы simulators удалился запись, у user убрался параметр и все ок
Это все проще делается.
1. Ставим значение симулятора и дату. 2. Вставляем где то в шапке запрос update simul='0' если date < текущее время
________
посл. ред. 07.08.2022 в 23:34; всего 1 раз(а); by Saha_M
1. Ставим значение симулятора и дату. 2. Вставляем где то в шапке запрос update simul='0' если date < текущее время
________
посл. ред. 07.08.2022 в 23:34; всего 1 раз(а); by Saha_M
Saha_M (07.08.2022 в 23:32)
Это все проще делается.
1. Ставим значение симулятора и дату. 2. Вставляем где то в шапке запрос update simul='0' если date < текущее время
Ты то не знаешь где он хранит эти стимуляторы свои, в бд или нет. Может просто припокупке они просто добавляются, а может симуляторы эти как элексир идёт и так далее. Короче много вопросов.
Это все проще делается.
1. Ставим значение симулятора и дату. 2. Вставляем где то в шапке запрос update simul='0' если date < текущее время
Saha_M (07.08.2022 в 23:32)
Это все проще делается.
1. Ставим значение симулятора и дату. 2. Вставляем где то в шапке запрос update simul='0' если date < текущее время
Худшее, что вообще можно было посоветовать) никогда так не делайте
Это все проще делается.
1. Ставим значение симулятора и дату. 2. Вставляем где то в шапке запрос update simul='0' если date < текущее время
php
// все игроки у которых истек время сималяторов public static function get_expired_simulator() { $sql = "select * from users_simulator where time_simulator < ?"; return fetchAll($sql, array(time())); } public static function ctr_simulator_active() { if (!empty($user_pack = self::get_expired_simulator())) { foreach ($user_pack as $all) { $bonus_name = self::get_bonus_simulator($all['id_simul']); // название бонусa симулятора $param_bonus = self::get_param_bonus_simulator($all['id_simul']); // какой прибавок // минусуем парметры от симулятора uc::update_param($all['id_user'], $bonus_name, -$param_bonus); // удаляем self::dell_simulator($all['id_simul']); } } } Стр.: 1, 2