Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 124 из 133 ПерваяПервая ... 24 74 114 122 123 124 125 126 ... ПоследняяПоследняя
Показано с 1,231 по 1,240 из 1325
  1. #1231
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    Приаттаченные динамические объекты к авто так-же необходимо пересоздавать при респавна/взрыве?
    Нет, не нужно.
    Это ведь проверить легко :)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  2. Пользователь сказал cпасибо:
    execution (12.12.2019)
  3. #1232
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Из-за чего может быть, что не записывает в таблицу дату в формате "YYY-MM-DD HH:MM:SS"?

    Столбец с типом date, движок InnoDB.
    Записываю оператором NOW().

  4. #1233
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    Из-за чего может быть, что не записывает в таблицу дату в формате "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

  5. Пользователь сказал cпасибо:
    execution (19.12.2019)
  6. #1234
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Когда лучше выгружать количество звонков по телефону, если они у меня отображаются в /phone и используются только там? Каждый раз при вызове команды или при авторизации?

  7. #1235
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    Когда лучше выгружать количество звонков по телефону, если они у меня отображаются в /phone и используются только там? Каждый раз при вызове команды или при авторизации?
    Если это просто одно число и больше ничего - можно и при авторизации. Если там ещё и отображается информация о том, кто/кому звонили и т.п., то проще выгружать при вводе команды и работать с кэшем, пока диалог с информацией не будет закрыт (на случай, если в диалоге несколько страниц будет. То бишь, не нужно каждую страницу отдельно грузить. Загрузил всё и уже с кэшем работаешь).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    execution (19.12.2019)
  9. #1236
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Если там ещё и отображается информация о том, кто/кому звонили и т.п., то проще выгружать при вводе команды и работать с кэшем, пока диалог с информацией не будет закрыт (на случай, если в диалоге несколько страниц будет. То бишь, не нужно каждую страницу отдельно грузить. Загрузил всё и уже с кэшем работаешь).
    Да, так и буду делать, но это будет происходить позже.

    Например: я ввожу команду и мне выводится меню:

    1. История звонков (Сегодня: 2)

    Если нажму на пункт , то будет выводится история.

    UPD:

    И если мне нужно ещё будет количество сообщений, я ж могу воспользоваться так? И всё равно лучше получать при авторизации?

    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 
    UPD2:

    Как лучше реализовать черный список контактов, сделать ограничение в 10 и выгружать при авторизации,
    или же каждый раз при отправлении смс делать запросы на проверку есть ли игрок в чс или нет?
    Чтобы не сильно загружать запросами и т.п..
    Последний раз редактировалось execution; 19.12.2019 в 19:22.

  10. #1237
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от execution Посмотреть сообщение
    UPD2:

    Как лучше реализовать черный список контактов, сделать ограничение в 10 и выгружать при авторизации,
    или же каждый раз при отправлении смс делать запросы на проверку есть ли игрок в чс или нет?
    Чтобы не сильно загружать запросами и т.п..
    Лучше второй способ без ограничений

     OFFTOP
    Но сделай лучше так: создай таблицу для телефонных чс, и при добавлении в чс делай новую запись с таким же id (ai поле), но с blacklistid (айди того, кто попал в чс), которое будет являться ai из таблицы аккаунтов. И при проверке на чс делай запрос на эту таблицу, где в WHERE указывай айди того, кто проверяется на чс и твой айди в этой таблице, и при нахождении выводи ошибку, иначе же происходит что-либо, что должно происходить, если проверяемый не в чс. Такой способ избавит от ограничений и упростит поиск. Но это лично мое мнение. По крайней мере я бы так сделал.
    Последний раз редактировалось SteveStage; 19.12.2019 в 19:49.

  11. #1238
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    как проверить вводимую переменную на float или int?

  12. #1239
    Аватар для SteveStage
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.10.2019
    Адрес
    Планета Земля
    Сообщений
    318
    Репутация:
    7 ±
    Цитата Сообщение от Nestyreff Посмотреть сообщение
    как проверить вводимую переменную на float или int?
    Это, либо преврати число в строку и через strfind ищи там ".", но 1 вариант (tagof) лучше.

  13. Пользователь сказал cпасибо:
    MassonNN (19.12.2019)
  14. #1240
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от execution Посмотреть сообщение
    И если мне нужно ещё будет количество сообщений, я ж могу воспользоваться так? И всё равно лучше получать при авторизации?

    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 
    Чтоб не усложнять систему, при вводе команды сразу получай количество звонков и всю остальную требуемую информацию (в том числе, которая открывается при нажатии на пункт). Ну и про создание индексов не забудь.


    Цитата Сообщение от execution Посмотреть сообщение
    Как лучше реализовать черный список контактов, сделать ограничение в 10 и выгружать при авторизации,
    или же каждый раз при отправлении смс делать запросы на проверку есть ли игрок в чс или нет?
    Чтобы не сильно загружать запросами и т.п..
    При авторизации и без ограничений.
    Количество игроков, играющих одновременно на сервере, не может превышать MAX_PLAYERS. Игроки, находящиеся оффлайн, нас не интересуют, так как игрок всё равно не сможет отправить им сообщение (а если и сможет, то тебе всё равно нужно посылать запрос в базу, чтоб проверить, существует ли игрок/номер. Тогда и наличие игрока в чс проверяй). Соответственно, создаём массив:
    1. new Array[MAX_PLAYERS][MAX_PLAYERS char]; // Первая мера - владелец чёрного списка. Вторая мера - игроки в этом самом ЧС.

    И при авторизации игрока:
    1) Проверяем кто находится в ЧС у этого игрока, присваивая единицы соответствующим ячейкам.
    2) Проверяем у кого игрок находится в ЧС и находятся ли эти игроки на сервере. Если находятся - обновляем информацию о ЧС для этих игроков.

    Ну и нужно будет сделать временный буфер для хранения информации об изменении статуса игроков в ЧС. Ну, то бишь, чтоб не было такого, что первый игрок убирает из ЧС второго игрока в момент, когда второй игрок уже отослал информацию о загрузке данных о ЧС и, в результате, второму игроку придут устаревшие данные.
    Как вариант, можно просто блокировать возможность изменения своего списка ЧС в момент, когда какой-то игрок при авторизации отправил запрос на выгрузку данных. По идее, запрос должен срабатывать буквально за считанные секунды, так что особых проблем это не создаст. Это, наверное, самый элементарный вариант. При желании, можно реализовать всё прозрачно для игроков (ну, например, временно хранить информацию об изменениях в списке ЧС и при авторизации сверяться с этой самой информацией).
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  15. Пользователь сказал cпасибо:
    execution (20.12.2019)
 

 
Страница 124 из 133 ПерваяПервая ... 24 74 114 122 123 124 125 126 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •