Вопросы

Здравствуйте, команда форума и его пользователи. Перепробовал разные способы сохранения здоровья в базу данных, но они не подходят для меня. Буду благодарен, если кто-то поделится данной системой.

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


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

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

  • 0

@Tookie Johnson, что конкретно пробовали, что не подходит? 

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


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

@Cawfeehttps://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://pawn.wiki/index.php%3F/topic/30348-sohranenie-zdorovja-i-broni-pri-vihode/&ved=2ahUKEwjRupq1l6WFAxWQGRAIHZz2CWYQFnoECA4QAQ&usg=AOvVaw1bm2L15SncC3uGm4AHbLBM

 

В Ютубе тоже смотрел. Делал также, ничего не сохранялось.

Я могу вам скинуть как у меня обновляется айпи в базе данных при авторизации, а мы попробуем разобраться, как на основе этого сделать сохранение хп.

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

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


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

@Tookie Johnson, показывайте сохранение IP-адреса, коль уж можете.

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


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

@Cawfee , доброе утро. Держите:

new string[256];
new lastip[15];
GetPlayerIp(playerid, lastip, 15);
format(string, sizeof(string), "UPDATE `accounts` SET `pLastIp` = '%s' WHERE `pName` = '%s'", lastip, pInfo[playerid][pName]);
mysql_function_query(database, string, 0"""");

 

Извините за такую подачу кода, не получается исправить 

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

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


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

@Tookie Johnson, превосходно. Вы по аналогии создали новый столбец в таблице accounts для хранения значения здоровья? В предложенном SQL-запросе изменили название поля и аргумент lastip на значение здоровья игрока? Куда вставляли полученный код? 

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


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

@Cawfee , да. Дожидаясь ответа от вас сегодня, я попытался сделать систему сохранения хп, но я теперь умираю при спавне.

@Cawfee в public OnPlayerDisconnect. SetPlayerHealth(playerid, pInfo[playerid][pHealth] в public OnPlayerSpawn.

Я пробовал и %d и %f, не получилось.

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

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

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


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

@Tookie Johnson, будет лучше, если покажете конкретные фрагменты кода с указанием места их размещения.

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


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

@Cawfee, хорошо, 5 минут и всё будет здесь 

 

Уважаемый @Cawfee , простите меня за ваше потраченное время на меня. Не сохранялось всё из-за того, что я пробел поставил между Float: и pHealth. Я проверил, сохраняется. Ещё раз, извините меня, пожалуйста. В следующий раз буду обращаться на форум только если в крайнем случае нужно. Но спасибо вам за то, что явились на помощь и пытались помочь. 

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


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

@Tookie Johnson, ничего страшного. Хорошо, что все хорошо. Но проблема навряд ли в пробеле.

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


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

@Cawfee , я тут заметил, что после регистрации 0 хп и смерть, а когда снова вхожу в аккаунт, то всё хорошо 

 

Попробую добавить хп сохранение после регистрации 

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


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

@Cawfee , всё таки проблему не до конца решил. После регистрации умираю, но когда вхожу в этот аккаунт, всё уже работает.

  открыть спойлер

 

В базе данных:

Столбец: pHealth

Тип: FLOAT

Как определено: 100

  открыть спойлер

 

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

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


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

@Tookie Johnson, в личных сообщениях создайте диалог с собой (напишите сами себе) и попробуйте потренироваться со вставкой кода. Здесь описание.

 

Чем завершается регистрация? Где код последнего диалога?

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


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

@Cawfee, регистрация заканчивается после выбора пола.

 

  открыть спойлер

case 3 - это выбор пола.

 

*Вместо 3-х ретюрнов у меня 1 (похоже баг кода тут).

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

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


Ссылка на сообщение
  • 0
  В 4/2/2024 в 14:14, Tookie Johnson сказал:

 сохранения здоровья в базу данных

Читать далее...  

для чего и кто это придумал :nini:

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


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

@ddrgtagfon, умные люди придумали для того, чтобы было.

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


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

@Tookie Johnson, вы выставляете значение по умолчанию для здоровья игрока в базе данных, а в моде считываете это значение только при авторизации, но не регистрации. Вам нужно либо по окончании регистрации (перед SpawnPlayer) установить: pInfo[playerid][pHealth] = 100, либо после регистрации направлять игрока на авторизацию.

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


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

@Cawfee, я попробую сейчас, спасибо!

 

@Cawfee, спасибо! Огромное вам спасибо за информацию по вставке кода и ответ по решению проблемы, я запомню это и постараюсь не допускать подобные ошибки. Спасибо вам большое, я благодарен. Можете закрывать тему <3 (это сердечко).

 

Я благодарен вам, честно 

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


Ссылка на сообщение
  • 0
  В 4/6/2024 в 15:09, Tookie Johnson сказал:

<3 (это сердечко)

Читать далее...  

По такому случаю добавил новый смайл (в следующий раз если наберете этот же символ и нажмете пробел, он автоматически подставится) :)

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


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

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

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

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }