Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
execution (12.12.2019)
Из-за чего может быть, что не записывает в таблицу дату в формате "YYY-MM-DD HH:MM:SS"?
Столбец с типом date, движок InnoDB.
Записываю оператором NOW().
Из-за того, что тип должен быть "DATETIME"?
Ну и да: если строишь запросы с использованием "NOW()" (либо других функций даты/времени), то MySQL-сервер должен быть либо локальным (на том же компьютере, что и игровой сервер), либо нужно перепроверять какое время стоит на MySQL-сервере (если он запущен на отдельной машине).
Последний раз редактировалось DeimoS; 19.12.2019 в 14:03.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
execution (19.12.2019)
Когда лучше выгружать количество звонков по телефону, если они у меня отображаются в /phone и используются только там? Каждый раз при вызове команды или при авторизации?
Если это просто одно число и больше ничего - можно и при авторизации. Если там ещё и отображается информация о том, кто/кому звонили и т.п., то проще выгружать при вводе команды и работать с кэшем, пока диалог с информацией не будет закрыт (на случай, если в диалоге несколько страниц будет. То бишь, не нужно каждую страницу отдельно грузить. Загрузил всё и уже с кэшем работаешь).
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
execution (19.12.2019)
Да, так и буду делать, но это будет происходить позже.
Например: я ввожу команду и мне выводится меню:
1. История звонков (Сегодня: 2)
Если нажму на пункт , то будет выводится история.
UPD:
И если мне нужно ещё будет количество сообщений, я ж могу воспользоваться так? И всё равно лучше получать при авторизации?
UPD2:PHP код:
SELECT \
(SELECT COUNT( * ) FROM phone_black_list WHERE owner_table_id =22 AND date = CURDATE()) AS phone_call_today, \
(SELECT COUNT( * ) FROM phone_call_history WHERE owner_table_id =22 AND date = CURDATE()) AS phone_message_online
Как лучше реализовать черный список контактов, сделать ограничение в 10 и выгружать при авторизации,
или же каждый раз при отправлении смс делать запросы на проверку есть ли игрок в чс или нет?
Чтобы не сильно загружать запросами и т.п..
Последний раз редактировалось execution; 19.12.2019 в 19:22.
как проверить вводимую переменную на float или int?
Это, либо преврати число в строку и через strfind ищи там ".", но 1 вариант (tagof) лучше.
MassonNN (19.12.2019)
Чтоб не усложнять систему, при вводе команды сразу получай количество звонков и всю остальную требуемую информацию (в том числе, которая открывается при нажатии на пункт). Ну и про создание индексов не забудь.
При авторизации и без ограничений.
Количество игроков, играющих одновременно на сервере, не может превышать MAX_PLAYERS. Игроки, находящиеся оффлайн, нас не интересуют, так как игрок всё равно не сможет отправить им сообщение (а если и сможет, то тебе всё равно нужно посылать запрос в базу, чтоб проверить, существует ли игрок/номер. Тогда и наличие игрока в чс проверяй). Соответственно, создаём массив:
new Array[MAX_PLAYERS][MAX_PLAYERS char]; // Первая мера - владелец чёрного списка. Вторая мера - игроки в этом самом ЧС.
И при авторизации игрока:
1) Проверяем кто находится в ЧС у этого игрока, присваивая единицы соответствующим ячейкам.
2) Проверяем у кого игрок находится в ЧС и находятся ли эти игроки на сервере. Если находятся - обновляем информацию о ЧС для этих игроков.
Ну и нужно будет сделать временный буфер для хранения информации об изменении статуса игроков в ЧС. Ну, то бишь, чтоб не было такого, что первый игрок убирает из ЧС второго игрока в момент, когда второй игрок уже отослал информацию о загрузке данных о ЧС и, в результате, второму игроку придут устаревшие данные.
Как вариант, можно просто блокировать возможность изменения своего списка ЧС в момент, когда какой-то игрок при авторизации отправил запрос на выгрузку данных. По идее, запрос должен срабатывать буквально за считанные секунды, так что особых проблем это не создаст. Это, наверное, самый элементарный вариант. При желании, можно реализовать всё прозрачно для игроков (ну, например, временно хранить информацию об изменениях в списке ЧС и при авторизации сверяться с этой самой информацией).
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
execution (20.12.2019)
Эту тему просматривают: 6 (пользователей: 0 , гостей: 6)