• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Создание собственной валюты
pulvik
Скаут
Всем привет.

По просьбе пользователя решил написать подробный мануал по созданию собственной валюты сервера, а так же создание дополнительной цены за свою валюту.

Итак, приступим:

1. Для начала какой софт нам понадобится?
1.1 Любой DBC редактор, я предпочитаю DBC Edit (так же можно использовать MyDBCeditor)
1.2 MPQEditor (необходим для редактирования патча чтобы вашу цену отображало в клиенте)

2. С какими файлами будем работать?
2.1 ItemExtendedCost.dbc (можно найти в /ваш сервер/ядро/data/dbc) это файл всех цен
2.2 patch-ruRU-3.MPQ (этот файлик можно нарыть в клиенте World of Warcraft)

3. Ну и сама валюта.

Поехали - ))

Для начала давайте с Вами определимся на счет самой валюты. Как Вы хотите чтобы она отображалась, во вкладке валюта либо просто лежала в сумках как хлам?
Я все таки предлагаю использовать следующий итем 37711, так как этот итем при его добавлении персонажу не захломляет сумку а располагается во вкладке "Валюта" (он уже есть в базе, единственное что нам нужно с ним сделать, это его обновить).

Для обновления данного итема необходимо создать файл в формате .sql со следующим содержимым

Code
DELETE FROM `item_template` WHERE (`entry`=37711);

INSERT INTO `item_template` VALUES ('37711', '10', '0', '-1', 'ВАШЕ НАЗВАНИЕ ВАЛЮТЫ', '32278', '1', '64', '0', '1', '0', '0', '0', '-1', '-1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'МАКС КОЛИЧЕСТВО МОНЕТ', 'МАКС КОЛИЧЕСТВО МОНЕТ', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '1', 'ПОДПИСЬ СНИЗУ ПРЕДМЕТА', '0', '0', '0', '0', '0', '4', '0', '0', '0', '0', '0', '0', '0', '0', '8192', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '0', '0', '0', '0', '', '0', '0', '0', '0', '12340');


Немного поясню суть содержимого:
первой строкой мы удаляем из базы предмет под ID 37711
Далее идет код для заливки в базу, все что вам нужно это скопировать весь текст, произвести изменеия по следующим параметрам
- ВАШЕ НАЗВАНИЕ ВАЛЮТЫ - думаю поняно что это название
- МАКС КОЛИЧЕСТВО МОНЕТ - сколько максимально монет будет доступно игроку
- ПОДПИСЬ СНИЗУ ПРЕДМЕТА - как бы объяснить, кароче разберетесь (данную графу можно оставить пустой)

Далее сохраняете файл с отредактированным содержимым в формате .sql с кодировкой utf8
Следующим шагом заливаете файл в базу. Используйте что душе угодно (Navicat for MySQL)

Далее приступим к шагу созданию цены (мануал тут уже есть, но там используется другая программа редактирования dbc файлов)
Через DBC Edit открываем файл ItemExtendedCost.dbc.
Пролистываем его до конца и смотрим, что последняя запись сделана за номером 2997, значит наша цена будет следующей по порядку - 2998.
Для этого добавляем пустую строчку и заполняем следующим образом
Code
U0 - это наш id цены (в нашем случе это 2998)
U1 - 0
U2 - 0
U3 - 0
U4 - 37711 это наш предмет за который будет что то продаваться
U5 - 0
U6 - 0
U7 - 0
U8 - 0
U9 - это собственно сама цена (сколько предметов должен иметь персонаж для покупки, допустим 500)
все остальные столбцы зполняем нулями.

Далее жмем на кнопку "Save changes"
Цена готова)

Осталось теперь пропатчить клиент игры чтобы цену было видно у вендора.

Для этого при помощи MPQEditor открываем файл patch-ruRU-3.MPQ
После в MPQEditor открываем папку DBCFilesClient и добавляем в нее наш отредактированный ItemExtendedCost.dbc (operations-Add File(s))
Закрываем архив.
Ребутаем сервер, предварительно залив в него и саму монету и саму цену.

Подходим к любому вендору и добавляем к нему любой предмет за нашу цену (.npc additem)

Ну вот и все.
Сообщение # 1 отредактировано pulvik - Вторник, 29.11.2011, 19:32
nekit_KEln
Скаут
Спасибо огромное. Тебе +
Сообщение # 2 написано 29.11.2011 в 20:56
wowGFP
Сержант
Сообщение # 3 отредактировано wowGFP - Воскресенье, 04.12.2011, 08:22
Repack
▅ ▇ █ ♪♫] ♫♪ █ ▇ ▅
Quote (pulvik)
DELETE FROM `item_template` WHERE (`entry`=37711);

INSERT INTO `item_template` VALUES ('37711', '10', '0', '-1', 'ВАШЕ НАЗВАНИЕ ВАЛЮТЫ', '32278', '1', '64', '0', '1', '0', '0', '0', '-1', '-1', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'МАКС КОЛИЧЕСТВО МОНЕТ', 'МАКС КОЛИЧЕСТВО МОНЕТ', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '0', '0', '0', '0', '-1', '0', '-1', '1', 'ПОДПИСЬ СНИЗУ ПРЕДМЕТА', '0', '0', '0', '0', '0', '4', '0', '0', '0', '0', '0', '0', '0', '0', '8192', '0', '0', '0', '0', '0', '0', '0', '0', '0', '-1', '0', '0', '0', '0', '', '0', '0', '0', '0', '12340');


Ну да...Как же тут...UPDATE запросы дело не царское...
Сообщение # 4 написано 04.12.2011 в 08:42
d1mAs1q
Скаут
Разницы 0 smile Докапаться не до чего?

ЗЫ За тему спасибо, очень помогла)

Добавлено (11.12.2011, 02:36)
---------------------------------------------
Проблемка одна...Currency Token Test Token 1 ну никак не хочет менять название...

Сообщение # 5 написано 11.12.2011 в 02:36
Restar
Центурион
помоему лучше использовать пустые итемы, которые есть в клиенте, но нет в базе. это и новый ИД, которые не используется не в квестах, не лутается с мобов/го/дизенчанта, да и подобрать можно какой хочешь.
Оказываю услуги привлечения уникальных пользователей на сайт (только трафик, без активности). писать в мыло drekxter@bk.ru
Сообщение # 6 написано 11.12.2011 в 05:06
wowGFP
Сержант
Restar, Подсказал идею спс ++)
Сообщение # 7 написано 11.12.2011 в 20:45
d1mAs1q
Скаут
Подскажите id не используемой валюты, которая будет в рюкзаке, заранее спасибо)
Сообщение # 8 написано 11.12.2011 в 21:26
pulvik
Скаут
d1mAs1q, я тебе могу посоветовать зачистить папку chache в игре после того как ты закинул свою валюту. (это имя отображается скорее из за нее)

Ну а в качестве валюты можно использовать любую шмотку, неиспользуемую базой, вот например хлам id - 35940 disp id 46253.
В базе его нет.

Restar, с тобой я конечно согласен, что лучше всего использовать предметы которых нет в базе, ибо их тьма тьмущая. Но именно эти Token просто отображаются в валюте, что удобно, в отличии от хлама.
Сообщение # 9 написано 12.12.2011 в 20:03
wowgamr
Скаут
зачем себе жизнь усложнять если можно использовать валюту не доступную игрокам?
к примеру марки с бг
в 335 их уже не дают

Сообщение # 10 написано 02.01.2012 в 12:30
newow
Скаут
Quote (wowgamr)
зачем себе жизнь усложнять если можно использовать валюту не доступную игрокам? к примеру марки с бг

хорошая идея
Quote (wowgamr)
в 335 их уже не дают

у меня дается((
Какую тогда можно переделать?
Сообщение # 11 написано 08.01.2012 в 10:35
pulvik
Скаут
Quote (newow)
Какую тогда можно переделать?


Ты начало темы прочитай, там написано все.

Quote (newow)
следующий итем 37711, так как этот итем при его добавлении персонажу не захломляет сумку а располагается во вкладке "Валюта"


Более того скажу, данный итем планировалось вводить в последующих патчах лича, но так как переехали на катаклизм, то этот предмет остался не у дел.
таких на данный момент есть 2, которые ранее не использовались. Ну а если хочешь создать такую валюту, которой вообще не у кого нет, то кромсай файлик ItemBagFamily.dbc
Сообщение # 12 написано 08.01.2012 в 11:58
zloykalmik
Скаут
Я не могу пропатчить клиент игры чтобы цену можно было видеть у вендоров скажи какие имено кидать фаилы в сервер
Сообщение # 13 написано 19.04.2012 в 20:22
_dm666
<3 Death Metal
Еще свой дисплей ид создать, вообще найс будет о_О Из каты экспортни иконки то) Найс будет))
Сообщение # 14 написано 21.04.2012 в 00:19
  • Страница 1 из 1
  • 1
Поиск: