Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 27 из 133 ПерваяПервая ... 17 25 26 27 28 29 37 77 127 ... ПоследняяПоследняя
Показано с 261 по 270 из 1325
  1. #261
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±
    Всем привет
    Как можно сделать автоудаление аккаунта если игрок не заходит на сервер около 30 дней ?

  2. #262
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    Если есть переменная с датой последнего входа, то используй ее.

  3. #263
    Аватар для Nash_Brigers
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    167
    Репутация:
    44 ±
    Всем привет. Решил сегодня с MapIcon поиграться, хотел сделать иконку видимой на большой карте из любого места, а на мини-карте только при приближении, но после кучи попыток замены стиля иконки, изменения дистанции стрима - так ничего и не получилось.. Точнее получилось сделать так, что иконка становится видимой на большой карте всегда только после того как к ней подъедешь (10000.0 стрим и MAPICON_LOCAL). В одиночной игре есть иконки про которые я говорю, а в сампе разве нет?
    p.s. Создавал и через CreateDynamicMapIcon и через SetPlayerMapIcon.
    Последний раз редактировалось Nash_Brigers; 18.04.2016 в 15:53.

  4. #264
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от Vasya_Pupkin Посмотреть сообщение
    Всем привет
    Как можно сделать автоудаление аккаунта если игрок не заходит на сервер около 30 дней ?
    Очень кратко. Записывать время последнего выхода в UNIX, например переменная unix[playerid]. И при коннекте:
    PHP код:
     if(gettime()-unix[playerid] >= 2592000удаление аккаунта 
    . Очень кратко
    Последний раз редактировалось m1n1vv; 18.04.2016 в 17:58.

  5. #265
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Цитата Сообщение от Vasya_Pupkin Посмотреть сообщение
    Всем привет
    Как можно сделать автоудаление аккаунта если игрок не заходит на сервер около 30 дней ?
    Все же будет зависит, что используйте для хранение аккаунтов
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  6. #266
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Опять же, возвращаемся к теме "ЗАЩеМ УЧИТЬ МУСКУЛ, ВЕТЬ ЭТА НИ ЯЗЫК И Я ИТАК ВНЁМ РАЗБИРАЮСЯ!!!"
    Реализация полностью на стороне БД:
    1. Создаём новое поле, указывая ему тип "TIMESTAMP", размер не указывая и указывая лишь "По умолчанию" как "CURRENT_TIMESTAMP". Всё. Теперь все новые строки, которые создаются в таблице, будут автоматически сохраняться с датой и временем создания этих самых строк (время берётся с сервера, на котором установлен MySQL).
    2. В моде создаём вот такой запрос (если стоит система часов на сервере, то можно отправлять его, например, каждый день в 12 ночи):
      PHP код:
      DELETE FROM `имя_таблицыWHERE `имя_нашего_столбца` < NOW() - INTERVAL 30 DAY 
      И при каждом запросе "UPDATE" добавить обновление нашего столбца таким образом:
      PHP код:
      `имя_нашего_столбца` = NOW() 
      И всё, вы идеальный программист.
      P.S. Так же в самой БД может быть настройка событий, куда можно запихать запрос на удаление старых аккаунтов. В phpMyAdmin настройка так и называется: "События". Находится она там же, где у вас все вкладки "Структура", "Обзор" и т.д. (заходить надо именно в БД, а не в таблицу). Настраиваем выполнение события на промежуток в день и всё. В мод останется лишь добавить обновление столбца со временем, как я показал выше и всё


    Если реализация нужна для файлов, то тут проще использовать сторонний софт/настройки хостинга, которые будут проверять дату создания/правки файла и удалять "просроченные"

    P.S. МУСКУЛ УЧАТ ТОКА СЛАБАКИ! ТОК ПАВН, ТОКА ХАРДКОР!
    Последний раз редактировалось DeimoS; 19.04.2016 в 07:29.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  7. 4 пользователя(ей) сказали cпасибо:
    $continue$ (19.04.2016) Donny_Gonzalez (19.04.2016) Sp1ke (23.04.2016) Vasya_Pupkin (20.04.2016)
  8. #267
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    now() возвращает время с сервера. А если кривые администраторы , то и время на сервере кривое.
    А, ещё возможно, что сервер будет не на территории этой страны -> что и время будет другое в запросах.
    Последний раз редактировалось $continue$; 19.04.2016 в 16:09.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  9. Пользователь сказал cпасибо:
    Vasya_Pupkin (24.04.2016)
  10. #268
    Аватар для Vasya_Pupkin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    13.02.2016
    Сообщений
    77
    Репутация:
    0 ±
    Спс все работает)
    Ну вот вопрос при каждом запросе "UPDATE" добавить обновление нашего столбца:
    Я его добавляю перед WHERE правильно ? или нет
    Код:
    format(MySQL, sizeof(MySQL), "UPDATE house SET hOwner = '%s', `time_vhod` = NOW()  WHERE hID = '%d' LIMIT 1",Name(playerid),houseid);
    А еще если не добавлять в каждый "UPDATE"
    У меня при логине записывается дата входа если только в нее добавить `time_vhod` = NOW() то в другие можно не добавлять ? или все же лучше в каждый запрос ?
    Код:
    format(string, sizeof(string), "UPDATE `accounts` SET `pGetonDate` = '%d/%d/%d', `pGetonIP` = '%s' WHERE `ID` = '%i' LIMIT 1", day, month, year, pTemp[playerid][pIp], PlayerInfo[playerid][MysqlpID]);
    Последний раз редактировалось Vasya_Pupkin; 23.04.2016 в 20:25. Причина: Ваське не кто не отвечает: не надо так >_<

  11. #269
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    now() возвращает время с сервера. А если кривые администраторы , то и время на сервере кривое.
    А, ещё возможно, что сервер будет не на территории этой страны -> что и время будет другое в запросах.
    Таки я об этом сам сказал, не? И это легко правится либо на стороне запросов, либо простым обращением к хостеру с просьбой подправить время на машине, не? Или не? Не?

    - - - Добавлено - - -

    Цитата Сообщение от Vasya_Pupkin Посмотреть сообщение
    Спс все работает)
    Ну вот вопрос при каждом запросе "UPDATE" добавить обновление нашего столбца:
    Я его добавляю перед WHERE правильно ? или нет
    Код:
    format(MySQL, sizeof(MySQL), "UPDATE house SET hOwner = '%s', `time_vhod` = NOW()  WHERE hID = '%d' LIMIT 1",Name(playerid),houseid);
    А еще если не добавлять в каждый "UPDATE"
    У меня при логине записывается дата входа если только в нее добавить `time_vhod` = NOW() то в другие можно не добавлять ? или все же лучше в каждый запрос ?
    Код:
    format(string, sizeof(string), "UPDATE `accounts` SET `pGetonDate` = '%d/%d/%d', `pGetonIP` = '%s' WHERE `ID` = '%i' LIMIT 1", day, month, year, pTemp[playerid][pIp], PlayerInfo[playerid][MysqlpID]);
    Ну если игрок на сервере провисит 30 суток, а после выйдет, его аккаунт будет удалён, ибо сохранение было только при входе Но вообще да, можно, если, например, на сервере каждую ночь происходит рестарт
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  12. Пользователь сказал cпасибо:
    Vasya_Pupkin (24.04.2016)
  13. #270
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Хостинг, например находиться в Франции ты попросишь сменить время в mysql-server, боюсь, что тебя пошлют куда подальше (хотя я не уверен, что нельзя сделать для конкретной базы свое время)
    Хмм я не уверен, что такое вкатит, но можно попробовать:
    PHP код:
    SET time_zone 'MSK' 
    P.S: Я в этих Ваших СУБД не очень то и силен.
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Таки я об этом сам сказал, не? И это легко правится либо на стороне запросов, либо простым обращением к хостеру с просьбой подправить время на машине, не? Или не? Не?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

 

 
Страница 27 из 133 ПерваяПервая ... 17 25 26 27 28 29 37 77 127 ... ПоследняяПоследняя

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

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

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

Ваши права

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