Иконки в телепортере
Подскажите как сделать иконки в телепортере/квесте и т.к. Плюсом не обижу
Сообщение #
1 написано 20.03.2014 в 13:10
Сообщение #
2 написано 20.03.2014 в 14:05
Просто выводить ссылку на картинку, которая есть в игре. через ADD_GOSSIP_
Сообщение #
3 отредактировано
admiirall -
Четверг, 20.03.2014, 15:40
admiirall , а где лежат картинки?
Сообщение #
4 написано 20.03.2014 в 15:26
Вот пример: player->ADD_GOSSIP_ITEM_EXTENDED(GOSSIP_ICON_CHAT, "|TInterface/ICONS/Achievement_Arena_2v2_7:30|t "Текст меню", GOSSIP_SENDER_MAIN, 1, false); Иконки можно взять с интерфейса вов.
Сообщение #
5 отредактировано
Paul_Hell -
Четверг, 20.03.2014, 16:25
Paul_Hell , куда его заливать то? Или что с ним делать вообще
Сообщение #
6 написано 20.03.2014 в 16:54
Это кусок скрипта моба, которое должно находиться в ядре, заливать не куда не надо. Вы должны сделать скрип для моба, что бы было меню с вот такими вот картинками)
Сообщение #
7 написано 20.03.2014 в 17:15
Paul_Hell , не затронув ядро нереально сделать?
Сообщение #
8 написано 20.03.2014 в 18:25
Думаю можно, все зависит от того, какое действие будет выполняться при нажатии.
Сообщение #
9 написано 20.03.2014 в 18:38
И как?) Найдешь способ напиши мне)
Сообщение #
10 написано 20.03.2014 в 18:52
admiirall , телепорт в другую зону/локацию
Сообщение #
11 написано 20.03.2014 в 19:30
Такие иконки можно сделать и через базу напрямую в gossip_menu_option, просто думаю стоять они будут не очень корректно.
Сообщение #
12 написано 20.03.2014 в 21:04
полезно. кто разберется отпишитесь
Сообщение #
13 написано 21.03.2014 в 03:08
Вот нашол телепортера и не только с иконками. Собственно телепортера не проверял (не компилировал), но поидее должно работать! Кому нада подправите под себя. Но спец сейчас скомпилирую и покажу скрины что с этого получилось.
#include "ScriptPCH.h" class Teleporter_NPC : public CreatureScript { public: Teleporter_NPC() : CreatureScript("Teleporter_NPC") { } bool OnGossipHello(Player * player, Creature * creature) { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_01:30|t Global Mall", GOSSIP_SENDER_MAIN, 1); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_03:30|t Malls", GOSSIP_SENDER_MAIN, 2); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/Achievement_Arena_2v2_7:30|t PvP Arenas", GOSSIP_SENDER_MAIN, 3); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/Achievement_Arena_3v3_5:30|t Duel Zone", GOSSIP_SENDER_MAIN, 4); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TABARD, "|TInterface/ICONS/INV_Misc_Gear_01:30|t Profession Mall", GOSSIP_SENDER_MAIN, 5); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TABARD, "|TInterface/ICONS/INV_Chest_Plate13:30|t Transmorgrification Mall", GOSSIP_SENDER_MAIN, 6); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "|TInterface/ICONS/Thrown_1H_Harpoon_D_01Blue:30|t Nevermind", GOSSIP_SENDER_MAIN, 30); player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID()); return true; } bool OnGossipSelect(Player* player, Creature* creature, uint32 uiSender, uint32 uiAction) { player->PlayerTalkClass->ClearMenus(); switch(uiAction) { case 1: // Global Mall player->TeleportTo(530, -2981.270020f, 779.124023f, -8.054820f, 2.530470f); player->PlayerTalkClass->SendCloseGossip(); break; case 2: // Malls if (player->GetTeam() == HORDE) { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_05:30|t Orgrimmar", GOSSIP_SENDER_MAIN, 11); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_05:30|t Undercity", GOSSIP_SENDER_MAIN, 12); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "|TInterface/ICONS/Thrown_1H_Harpoon_D_01Blue:30|t Back", GOSSIP_SENDER_MAIN, 20); player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID()); } else { player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_05:30|t Stormwind", GOSSIP_SENDER_MAIN, 13); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_05:30|t Ironforge", GOSSIP_SENDER_MAIN, 14); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "|TInterface/ICONS/Thrown_1H_Harpoon_D_01Blue:30|t Back", GOSSIP_SENDER_MAIN, 20); player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID()); } break; case 3: // PvP Arenas player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/Achievement_Arena_2v2_3:30|t Gurubashi Arena", GOSSIP_SENDER_MAIN, 15); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/Achievement_Arena_2v2_3:30|t Dire Maul Arena", GOSSIP_SENDER_MAIN, 16); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "|TInterface/ICONS/Thrown_1H_Harpoon_D_01Blue:30|t Back", GOSSIP_SENDER_MAIN, 20); player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID()); break; case 4: // duelzone player->TeleportTo(0, 4300.189941f, -2761.300049f, 16.813999f, 3.643650f); player->PlayerTalkClass->SendCloseGossip(); break; case 5: // prifessions mall player->TeleportTo(530, -2110.120117f, 7770.859863f, 151.707001f, 3.356310f); player->PlayerTalkClass->SendCloseGossip(); break; case 6: // mog mall player->TeleportTo(1, -2650.709961f, -5021.879883f, 21.182899f, 2.431570f); player->PlayerTalkClass->SendCloseGossip(); break; case 11: // org player->TeleportTo(1, 1462.180054f, -4419.850098f, 25.463112f, 0.109132f); player->PlayerTalkClass->SendCloseGossip(); break; case 12: // undercity player->TeleportTo(0, 1745.290039f, 239.115997f, 61.920300f, 6.248010f); player->PlayerTalkClass->SendCloseGossip(); break; case 13: // stormwind player->TeleportTo(0, -8847.259766f, 606.219971f, 92.426201f, 0.757473f); player->PlayerTalkClass->SendCloseGossip(); break; case 14: // ironforge player->TeleportTo(0, -4936.500000f, -937.025024f, 503.040985f, 5.440750f); player->PlayerTalkClass->SendCloseGossip(); break; case 15: // guru player->TeleportTo(0, -13245.921875f, 193.394821f, 31.008369f, 1.096788f); player->PlayerTalkClass->SendCloseGossip(); break; case 16: // dire maul player->TeleportTo(1, -3761.399658f, 1133.067749f, 132.084564f, 4.719074f); player->PlayerTalkClass->SendCloseGossip(); break; case 20: // bk player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_01:30|t Global Mall", GOSSIP_SENDER_MAIN, 1); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_VENDOR, "|TInterface/ICONS/INV_Misc_Coin_03:30|t Malls", GOSSIP_SENDER_MAIN, 2); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/Achievement_Arena_2v2_7:30|t PvP Arenas", GOSSIP_SENDER_MAIN, 3); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/Achievement_Arena_3v3_5:30|t Duel Zone", GOSSIP_SENDER_MAIN, 4); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_BATTLE, "|TInterface/ICONS/INV_MISC_FILM_01:30|t Northwatch Hold", GOSSIP_SENDER_MAIN, 5); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TABARD, "|TInterface/ICONS/INV_Misc_Gear_01:30|t Profession Mall", GOSSIP_SENDER_MAIN, 6); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TABARD, "|TInterface/ICONS/INV_Chest_Plate13:30|t Transmorgrification Mall", GOSSIP_SENDER_MAIN, 7); player->ADD_GOSSIP_ITEM(GOSSIP_ICON_TALK, "|TInterface/ICONS/Thrown_1H_Harpoon_D_01Blue:30|t Nevermind", GOSSIP_SENDER_MAIN, 30); player->PlayerTalkClass->SendGossipMenu(1, creature->GetGUID()); break; case 30: // Back player->PlayerTalkClass->SendCloseGossip(); break; } return true; } }; void AddSC_Teleporter_NPC() { new Teleporter_NPC; }
Сообщение #
14 отредактировано
Max[i]mus -
Пятница, 21.03.2014, 12:42
как пример(не пробовал) Код
INSERT INTO `gossip_menu_option` VALUES (60000, 0, 0, '|TInterface/ICONS/INV_Misc_Coin_05:30|t Stormwind', 1, 1, 0, 0, 0, 0, '');
а если сделать тоже самое только через базу? не?
Сообщение #
15 написано 21.03.2014 в 12:58
Сообщение #
16 написано 21.03.2014 в 17:24
Спасибо больше MENZ411 ! Вот результат:
Сообщение #
17 отредактировано
_New_ -
Четверг, 27.03.2014, 20:25
_New_ , Это через базу? Ядро не трогал ?
Сообщение #
18 написано 24.03.2014 в 13:44
M1sTerY , да, это можно сделать через базу(постами выше я кинул пример)
Сообщение #
19 написано 24.03.2014 в 13:48
MENZ411 , Спасибо большое, сейчас тестану и отпишусь ))Добавлено (24.03.2014, 14:26) --------------------------------------------- Спасибо ребята. Все ребята все работает. А можно узнать ид всех картинок? (Название?) MENZ411 , _New_ ,
Сообщение #
20 написано 24.03.2014 в 14:26
В patch-ruRU, patch-ruRU-2, patch-ruRU -3 открываеш через MPQEditor. Затем находиш /Interface/ICONS/Сами иконки.
Сообщение #
21 написано 24.03.2014 в 14:53
На вики или Wowhead жмешь по картинке и там будет её название, это название и вписываешь
Сообщение #
22 написано 24.03.2014 в 16:27
Сообщение #
23 отредактировано
_New_ -
Четверг, 27.03.2014, 20:25
Это ясно, а вот как если допустим делать в госсипе 5-6 разделов : а1, а2, а3 бла бла бла, как сделать разделенный лут, а то у меня в всех ячейках одна и та же херня:Р
Сообщение #
24 написано 17.04.2014 в 01:42
Цитата Destro729 (
)
а вот как если допустим делать в госсипе 5-6 разделов
Код
INSERT INTO `gossip_menu_option` VALUES ('100100', '1', '7', 'Раздел первый.', '1', '1', '100101', '0', '0', '0', '0', null); INSERT INTO `gossip_menu_option` VALUES ('100101', '1', '7', 'Под раздел первый', '1', '1', '100102', '0', '0', '0', '0', null); INSERT INTO `gossip_menu_option` VALUES ('100102', '1', '7', 'Под Под раздел Первый', '1', '1', '100102', '0', '0', '0', '0', null); И так можно до бесконечности
Добавлено (17.04.2014, 01:50) --------------------------------------------- Ну и естественно должны быть созданы госип меню 100100 и 100101 и 100102 Код
INSERT INTO `gossip_menu` VALUES ('100100', '0'); INSERT INTO `gossip_menu` VALUES ('100101', '0'); INSERT INTO `gossip_menu` VALUES ('100102', '0');
Добавлено (17.04.2014, 01:55) --------------------------------------------- И по поводу иконок, на форуме есть мануал
Сообщение #
25 отредактировано
478661 -
Четверг, 17.04.2014, 01:53
А и еще почему-то у меня кроме INV_Misc_Coin_05:30|t не хотят иконки другие работать:)Добавлено (17.04.2014, 02:03) --------------------------------------------- как сделать сами разделы я в курсе и так, мне бы узнать как в каждый свой лут вложить.
Сообщение #
26 написано 17.04.2014 в 02:03
Цитата Destro729 (
)
А и еще почему-то у меня кроме INV_Misc_Coin_05:30|t не хотят иконки другие работать:)
Вот тебе все картинки Цитата Destro729 (
)
как сделать сами разделы я в курсе и так, мне бы узнать как в каждый свой лут вложить.
Это делается не в gossip_menu_option а в smart_scripts Добавлено (17.04.2014, 02:50) --------------------------------------------- Вот тебе пример Код
INSERT INTO `smart_scripts` VALUES ('Ид нпц', '0', 'Любое уникальное число', '0', '62', '0', '100', '0', 'Ид госип меню', 'ид строки', '0', '0', '56', 'Ид предмета', 'Количество', '0', '0', '0', '0', '7', '0', '0', '0', '0', '0', '0', '0', 'item');
Вот готовый пример, если зальешь в базу то строка "Дай мне что то" в нпц с ид 100100 и госип меню 65000 выдаст Темную скорбь и Грань тьмы Код
INSERT INTO `gossip_menu_option` VALUES ('65000', '1', '4', 'Дай мне что то', '1', '1', '65000', '0', '0', '0', '0', Ты точно этого хочешь?); INSERT INTO `smart_scripts` VALUES ('100100', '0', '200', '0', '62', '0', '100', '0', 65000', '1', '0', '0', '56', '49623', '1', '0', '0', '0', '0', '7', '0', '0', '0', '0', '0', '0', '0', 'item'); INSERT INTO `smart_scripts` VALUES ('100100', '0', '201', '0', '62', '0', '100', '0', 65000', '1', '0', '0', '56', '49888', '1', '0', '0', '0', '0', '7', '0', '0', '0', '0', '0', '0', '0', 'item');
Сообщение #
27 отредактировано
478661 -
Четверг, 17.04.2014, 03:02
Cпасибо, +сую.Добавлено (17.04.2014, 03:26) --------------------------------------------- Было бы еще интересно узнать, можно ли на это поставить цену?
Сообщение #
28 написано 17.04.2014 в 03:26
Цитата Destro729 (
)
Было бы еще интересно узнать, можно ли на это поставить цену?
На счет цены не чего сказать не могу, так как не пробовал еще.Добавлено (17.04.2014, 03:52) --------------------------------------------- Но точно могу сказать что можно поставить цену в голдах В таблице gossip_menu_option столбик box_money
Сообщение #
29 написано 17.04.2014 в 03:52
Destro729 , на ас-вебе есть патч! Мультивендор называется Мультивендор...
Сообщение #
30 отредактировано
Max[i]mus -
Четверг, 17.04.2014, 22:09