• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
[Help] query script
r0m1ntik
Центурион
Всем привет, хочу на сервер сделать через нпс топ игроков с голдом, но не получается.

Вот скрипт который пишу:

Но он выводит вот так СКРИН

Если убрать в "uint32 money = money/10000;" /10000 то показывает полные цыфры которые в бд, мне нужно чтобы он выводил иммено голд.

Спасибо заранее)
Сообщение # 1 отредактировано r0m1ntik - Пятница, 04.09.2015, 02:05
p620
Маршал
Вопрос А:
Этот скрипт привязывается к активации опции? Т.е. при каждом нажатии на нее улетает запрос в БД?..
Вопрос Б:
Вы пытаетесь инициализировать переменную money через ее же собственное НЕОПРЕДЕЛЕННОЕ значение?
Вопрос В:
Деньги у Вас идут в переменную totalHonorPoints (и откуда же у нее такое название), которая потом НИГДЕ не используется.
Интересно, каким образом у Вас вообще это все работает?
Сообщение # 2 написано 04.09.2015 в 02:50
Incorrect
Капрал
Здравствуйте!

Судя по коду, деньги сохраняются в переменную totalHonorPoints, стало быть если Вы поменяете в этой строчке

Код
buffer << "|TInterface\\icons\\inv_misc_coin_06:20:20:-15:0|t"<< rank << " Ник: |cff0033CC" << name << "|r Голд: |cff00CCCC" << money << "|r";


слово money на totalHonorPoints / 10000, то скрипт будет кое-как работать. Но я вам настойчиво рекомендую не использовать этот код в связи с его низким качеством и не пытаться его редактировать, если слабо в этом разбираетесь. Согласен со всеми пунктами предыдущего оратора.

Можете написать мне в скайп, договоримся: Infernallz
Сообщение # 3 отредактировано Incorrect - Пятница, 04.09.2015, 03:56
r0m1ntik
Центурион
p620,
Цитата p620 ()
Вы пытаетесь инициализировать переменную money через ее же собственное НЕОПРЕДЕЛЕННОЕ значение?


Иммено это и хочу

Там где было "totalHonorPoints" это уже заменил на money но все равно
Сообщение # 4 написано 04.09.2015 в 12:21
p620
Маршал
Цитата r0m1ntik ()
Иммено это и хочу

И как это понимать? Речь шла о том, что это недопустимо.
Уберите это вообще к чертовой матери.

Сам запрос желательно из госсип-опции тоже вырезать. Лучше заставить НИПа получать информацию автономно, скажем, раз в 15 минут, и хранить в себе результаты.
Для инициализации указателя лучше теперь использовать nullptr, а не NULL.
Если уже поменяли totalHonorPoints на money и инициализировали это значение через fields[1].GetUInt32();, то в выводе в поток, где у Вас используется money, допишите "/10000".
Сообщение # 5 отредактировано p620 - Пятница, 04.09.2015, 13:49
r0m1ntik
Центурион
Вот так ?
Сообщение # 6 отредактировано r0m1ntik - Пятница, 04.09.2015, 15:44
p620
Маршал
Уберите строку "uint32 money = fields[1].GetUInt32();".
Добавьте ее ВМЕСТО "uint32 money = money;" внутри do - while() цикла.
Сообщение # 7 написано 04.09.2015 в 15:53
Incorrect
Капрал
Вот, пробуйте. Если честно, меня еще беспокоит последний аргумент, передающийся в макрос ADD_GOSSIP_ITEM (если я не ошибаюсь, это уникальный идентификатор конкретной опции), здесь он указан конкретно "3", хотя в цикле добавляется аж 10 опций. Я давненько не смотрел этот код и не знаю могут ли у нескольких опций эти параметры совпадать и к каким последствиям это может привести, но если проблемы будут, то они решаются инкрементом значения при каждом проходе цикла (как и переменная rank)
Сообщение # 8 написано 04.09.2015 в 16:20
r0m1ntik
Центурион
Incorrect, спс отлично работает)
Сообщение # 9 написано 05.09.2015 в 01:00
  • Страница 1 из 1
  • 1
Поиск: