Вопросы

Всем доброе времени суток пользователям pawno-rus, я не так давно начал изучать mysql, и уже столкнулся с такой проблема :(
Хочу сделать вип по дням, но почему-то не загружается дата вип аккаунта. Получается всегда захожу на сервер а пишет что у меня нет вип, хотя дни вип аккаунта не закончились. Хотел бы у вас узнать где тут моя ошибка!?
И пожалуйста, если не трудно то с объяснениями так как хочу в будущим не допускать таких ошибок!

Выдача вип аккаунта:

Спойлер

if(!(1 < days < 365)) return SendClientMessage(playerid, COLOR_LIGHTRED, "Не больше 365 и не меньше 1 дня(ей)!");
PlayerInfo[playerid][pDonate] -= days*VipCost;
PlayerInfo[playerid][pVip] = 1;
format(stringEA,sizeof(stringEA),"INSERT INTO `vips` (`Nick`, `UnVipDate`, `VipDate`, ) VALUES ('%s',NOW() + INTERVAL %d DAY, NOW())",PlayerInfo[playerid][pName],days);
mysql_tquery(mysql_connection, stringEA, "","");

В авторизацию сделал так:

Спойлер

format(stringEA, sizeof(stringEA), "SELECT (UNIX_TIMESTAMP(`UnVipDate`)) AS `time` FROM `vips` WHERE `Nick` = '%s'", PlayerInfo[playerid][pName]);
mysql_tquery(mysql_connection, stringEA, "CheckVip", "d", playerid);

И проверка вот так:

Спойлер

public CheckVip(playerid)
{
new stringEA[200];
new time;
if(time-gettime() < 0)
{
format(stringEA, sizeof(stringEA), "DELETE FROM `vips` WHERE `Nick` = '%s'",PlayerInfo[playerid][pName]);
mysql_tquery(mysql_connection, stringEA, "","");
PlayerInfo[playerid][pVip] = 0;
ShowPlayerDialog(playerid,11111,DIALOG_STYLE_MSGBO X,"{FFFFFF}Внимание!","{FFFFFF}Время вашего VIP аккаунта истекло!\nВипка была снята!","Хорошо","");
return true;
}
else
{
format(stringEA, sizeof(stringEA), "\
{FFFFFF}Добро пожаловать VIP игрок!\n\
Дата выдачи VIP: %s\n\
Дата снятия VIP: %s");
ShowPlayerDialog(playerid,11111,DIALOG_STYLE_MSGBO X,"{FFFFFF}Внимание!",stringEA,"Хорошо","");
}
return true;
}

В интернете искал, но не чего не нашёл про mysql r41-2 а переходить на другую версию, иза одной только проблемы... Думаю это очень глупа. 

Отредактировано пользователем Покемон

Поделиться сообщением


Ссылка на сообщение

8 ответов на этот вопрос

  • 0

Проблема решена, была проблема  в запросе. Решил переписал бд сделал новый запрос, сделал новый паблик checkvip и тд... За место проверки на дату точнее UnVipDate, сделал Таймер gettime() + (60*60*24*days)  и все это сохранил. 

Использовал для проверки работы printf("%d", time);
 

Отредактировано пользователем Покемон

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон Не знаю где вы такой замороченный код достали, если не понимаете, лучше делать полегче. 

Выводите значение переменной time через printf.

Поделиться сообщением


Ссылка на сообщение
  • 0
2 минуты назад, DEST сказал:

@Покемон Не знаю где вы такой замороченный код достали, если не понимаете, лучше делать полегче. 

Выводите значение переменной time через printf.

 

У меня та же проблема. Не получилось сделать. Может где то на вашем форуме есть такой скрипт?

Поделиться сообщением


Ссылка на сообщение
  • 0

@Сергей Князев скрипт чего? Клавиатуры? Нужно в паблике CheckVip 4 строкой добавить:
 

printf("%d", time);

После вызвать этот код заходом в игру и скинуть логи. 

Поделиться сообщением


Ссылка на сообщение
  • 0
19 минут назад, DEST сказал:

@Сергей Князев скрипт чего? Клавиатуры? Нужно в паблике CheckVip 4 строкой добавить:
 


printf("%d", time);

После вызвать этот код заходом в игру и скинуть логи. 

По пробовал, не чего не написало не загружается, скорее всего в запросе допустил ошибку. Можешь помочь её решить?
Я просто не знаю как использовать загрузку даты в Mysql. ( 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон значит смотри в mysql_log.txt и проверяй в базе данных, изменяется значение при выдаче випки

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, DEST сказал:

@Покемон значит смотри в mysql_log.txt и проверяй в базе данных, изменяется значение при выдаче випки

Там все правильно, в том то и  дело что при загрузки вип аккаунта проблемы ( 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон значит попробуй заменить запрос:

format(stringEA, sizeof(stringEA), "SELECT * FROM `vips` WHERE `Nick` = '%s'", PlayerInfo[playerid][pName]);

И паблик заменить: 

public CheckVip(playerid)
{
  new stringEA[200];
  new time = cache_get_field_content_int(0, "UnVipDate");
  new vipdate = cache_get_field_content_int(0, "VipDate"); 
  if(time-gettime() < 0)
  {
    format(stringEA, sizeof(stringEA), "DELETE FROM `vips` WHERE `Nick` = '%s'",PlayerInfo[playerid][pName]);
    mysql_tquery(mysql_connection, stringEA, "","");
    PlayerInfo[playerid][pVip] = 0;
    ShowPlayerDialog(playerid,11111,DIALOG_STYLE_MSGBO X,"{FFFFFF}Внимание!","{FFFFFF}Время вашего VIP аккаунта истекло!\nВипка была снята!","Хорошо","");
    return true;
  }
  else
  {
    format(stringEA, sizeof(stringEA), "\
    {FFFFFF}Добро пожаловать VIP игрок!\n\
    Дата выдачи VIP: %s\n\
    Дата снятия VIP: %s", date("dd.mm.yyyy, %hh:%ii:%ss", vipdate), date("dd.mm.yyyy, %hh:%ii:%ss", time));
    ShowPlayerDialog(playerid,11111,DIALOG_STYLE_MSGBO X,"{FFFFFF}Внимание!",stringEA,"Хорошо","");
  }
  return true;
}

 

Поделиться сообщением


Ссылка на сообщение
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Illya_Zaxatniy
      Доработка мода Samp-Rp
      Скачать файл Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy       Добавил Illya_Zaxatniy Добавлено 30.12.2024 Категория Моды Автор @illyazaxodnoy  
    • От Illya_Zaxatniy
      Привет, у меня давно валяется данный мод который дорабатывался мною в 22  году, решил его выставить на продажу, поскольку деньги - не лишние.
       
      Ниже прикрепляю лог доработок а также айпи адрес для теста
      также к моду(после приобретения) прилагается список багов, найденных, они не значительные но имеются
       
      лог доработок: 
      1. Вырезана /alevel 2. Теперь чат администрации для всех общий 3. Вырезана команда /serverbonus 4. Теперь администрация от 8 уровня не отображается в /admins и при авторизации в панели администратора 5. Убрал бонус 6. Теперь при авторизации в панели администратора не пишет что ввёл неверный пароль 7. Переписал регистрацию 8. Теперь проверка на блокировку идёт при заходе на сервер, не после ввода пароля 9. Переписал авторизацию 10. Адрес электронной почты при регистрации теперь проверяется по всем параметрам 11. Реферальная система при регистрации теперь проверяет ник или промокод 12. Сделал выбор скинов на текстдравах 13. Переписал /makeleader в диалог (+ теперь выдаются женские скины) 14. Вырезана /fractionid 15. Вырезан ограничитель скорости 16. Теперь при выдаче предупреждения или бане указывается фракция и ранг игрока (Если он состоит в организации) 17. Теперь командой /spawn можно спавнить других игроков 18. Отредактирована команда /recon 19. Вырезан анти-БХ 20. Переписана команда /invite (+ добавлены женские скины) 21. Из главного меню вырезана система слива денег 22. Сделана система телепорта по метке на карте для администрации 23. Переписал систему навигатора (/gps) 24. Переписал /tp (Теперь он работает через навигатор) 25. /mute теперь выдаётся по минутам 26. Добавил команду /tmute для администрации с 1 уровня - просмотр времени до снятия мута у игрока 27. Изменена команда /pm 28. Для начала гонок и пейнтбола теперь достаточно 2 участников 29. Убрана команда ахелп, будет написана новая 30. Теперь в команде присон надо указывать причину 31. Добавлена команда /forum для оповещения об открытия заявок на лидерство на форуме 32. Новый логотип 33. Добавлена команда /rmute для выдачи бана репорта 34. Написана система для тестеров     АЙПИ ДЛЯ ТЕСТА И ПАРОЛЬ: IP 195.18.27.226:1235 PASSWORD : 1   ДЛЯ СВЯЗИ ВК: https://vk.com/iilyazaxodnoy      
    • От Mason
      Всех Приветствую! У меня есть вот такая дверь, мне нужно сделать так чтобы она открывалась на кнопку, дело в том что я знаю про функцию MoveObject и даже попытался сделать так чтобы она открывалась, но когда я захожу в игру и нажимаю на кнопку то ничего не происходит.
      На всякий случай прикладываю код