PDA

Просмотр полной версии : Teleport Master для mangos_zero


Mediv
03.04.2011, 15:54
Пытаюсь сделать телепорт мастера для 1.12.2.

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

Исходник -> исходник для бк (ftp://wow.gmnet.ru/Trinity%20Portal%20Master%204.2.sql)

То что вышло) -> предполагаемое для 1.12.2 (ftp://wow.gmnet.ru/1.sql)

Флаги не те или что там может быть? Кому интересен вообще данный вопрос?) Хочется телепорт мастера, чтобы портовал по всем инстам. Допилить одно дело, но тут пока вообще не пашет)

Кто поможет?)

Картинка (ftp://wow.gmnet.ru/1.jpg)

NeatElves
03.04.2011, 16:30
50000 != 30000 ?)

Mediv
03.04.2011, 23:09
Кое-как допилил, пробовал убирать лишний код приводило к ошибкам и т.д

Оставил с минимальными изменениями.

--DOWNLOAD-- (http://filebeam.com/f6f59c7a765927fde223febe32f7094f)

Mediv
01.05.2011, 22:25
Чет не пойму я в чем косяк..

Привел к другому виду код, почистил от лишнего, упорядочил для совершенствования и дополнения новыми локами 1.12.2, но не могу понять следующие моменты:

Не пашет вот эта строчка

(30002, 16, 7, 'Back..', 1, 1, 30000, 0, 0, 0, 0, NULL),

У нпс в меню вместо back появляются артефакты в виде восклицательных знаков (как когда берешь квест у нпс). Хотя например

(30004, 11, 7, 'Back..', 1, 1, 30000, 0, 0, 0, 0, NULL);

пашет норм. Так же собственно строчки

(30003, 15, 2, 'Zul\'Farrak', 1, 1, 0, 0, 30063, 0, 0, 'Вы уверены что хотите отправиться в Zul\'Farrak?'),
(30001, 17, 2, 'Eastern Plaguelands', 1, 1, 0, 0, 30064, 0, 0, 'Вы уверены что хотите отправиться в Eastern Plaguelands?'),

отображаются в виде артефактов наверху. Back-кнопка рядом тож не пашет. Ещё не пашут тексты, не спрашивает "Вы уверены что....." а просто портает. Добавленный Naxxramas отлично добавился, координаты беру из триггер телепорт.

KiriX
02.05.2011, 00:34
Слишком много пунктов? Попробуй разбить.

Mediv
02.05.2011, 08:13
Слишком много пунктов? Попробуй разбить.

Походу ты прав, больше 15 пунктов оно не выдерживает.

Mediv
02.05.2011, 12:25
Сделал все красиво, вобщем все замечательно. Но как сделать чтобы нпс запрашивал утверждение на телепорт?

KiriX
03.05.2011, 07:52
Сделал все красиво, вобщем все замечательно. Но как сделать чтобы нпс запрашивал утверждение на телепорт?
Чекбокс с паролем и ответом "Да"?

Mediv
05.05.2011, 00:08
Чекбокс с паролем и ответом "Да"?

Типо того =)))

Ещё, не могу решить проблему портов к Silithus и Winterspring. Портает черти куда в текстуры, смена координат не помогает.

KiriX
05.05.2011, 06:57
Типо того =)))

Ещё, не могу решить проблему портов к Silithus и Winterspring. Портает черти куда в текстуры, смена координат не помогает.
Это был не вопрос, а утверждение. Есть такая штука в госипах - бокс, куда вводится пароль. Но сам я с ней не работал, так что ковыряйся сам...

tempura
05.05.2011, 11:28
Ещё, не могу решить проблему портов к Silithus и Winterspring. Портает черти куда в текстуры, смена координат не помогает.
1. Как это "смена координат не помогает"? А ежели целиком координату Штормвинда (например) вставить - тогда тоже не помогает?
2. В скрипте из 3 поста не нашел Силитуса и Винтерспринга, так что сам посмотреть и проверить не могу.
3. А если вручную в игре tele по этим координатам прыгать - тогда куда попадаешь?

4. Из вероятных подозрений на ошибки:
- 1. опечатка в координатах (например запятая вместо точки)
- 2. перепутанная карта (например 0 вместо 1)

Mediv
05.05.2011, 11:50
-------------------------------
tempura
в аттач сунул и чуток оптимизировал

Mediv
05.05.2011, 11:53
Да чет не то)

Эмм, а как утверждения сделать? У меня в полях все заполнено.

KiriX
05.05.2011, 12:44
Да чет не то)

Эмм, а как утверждения сделать? У меня в полях все заполнено.
wiki.ytdb.ru тебе в помощь, я же сказал, что сам плотно с боксами кода не работал и ничего кроме того, что они есть подсказать не могу...

Mediv
05.05.2011, 13:41
wiki.ytdb.ru тебе в помощь, я же сказал, что сам плотно с боксами кода не работал и ничего кроме того, что они есть подсказать не могу...

Ну я тебя не заставляю что-то делать, просто мб кто другой знает и подскажет в каком направлении двигать.

NeatElves
05.05.2011, 14:53
Что тут знать, достаточно прочитать - http://wiki.ytdb.ru/index.php/Gossip_menu_option#box_text
увидеть знакомое слово
заполнено
и понять принцип работы...

tempura
06.05.2011, 08:42
Я бы попрыгал по координатам из скрипта, но у меня в доступе сервер 1.12.x только твой, а на нем нет прав. :) На вид в синтаксисе ошибок нет (хотя я бы координату "о" везде в ноль поставил, а остальные округлил вверх до кратного 10), значит координаты неверные.

Mediv
07.05.2011, 21:19
Я бы попрыгал по координатам из скрипта, но у меня в доступе сервер 1.12.x только твой, а на нем нет прав. :) На вид в синтаксисе ошибок нет (хотя я бы координату "о" везде в ноль поставил, а остальные округлил вверх до кратного 10), значит координаты неверные.

Координаты исправлены, нужно сделать утверждение)

А по поводу прав могу дать.

Mediv
08.05.2011, 14:41
Исправлен телепорт в Blackwing Lair (добавлена карта 229)

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

KiriX
09.05.2011, 23:00
1) Исправлен телепорт в Blackwing Lair (добавлена карта 229)

2) Поменял русский язык в бокс текстах на англ, ибо при заливании выдает каракули.
1) Хорошо
2) Зря. Нужно в правильную кодировку файл перевести и правильно залить ;) Делов-то =)

Mediv
12.05.2011, 16:15
Преобразовал в UTF8 (теперь пашет box_text)

Вернул русский язык.
Оптимизировал код

Данный телепортер подходит и для 2.4.3 Mangos One

В ближайшее время модифицирую для 2.4.3

Нерешенные проблемы:

1) Когда перезаливаешь, путаются ID строчек в игре. Причина неизвестна.
2) Если лить через Склог с помощью окна все норм. Если заливать как .sql файл через Restore from... каракули) Хз.
3) Не работает box_text на 1.12.2 (udb), на 2.4.3 (tbc_db) все прекрасно пашет.

tempura
12.05.2011, 20:45
1) Когда перезаливаешь, путаются ID строчек в игре. Причина неизвестна. Путаются именно ID? То есть жмешь телепорт в Шторм (id 1), а попадаешь в другое место, или же путается порядок строк? Если всего-лишь порядок строк меняется - можно скриншот диалога из игры увидеть?
2) Если лить через Склог с помощью окна все норм. Если заливать как .sql файл через Restore from... каракули) Хз. Зависит исключительно от кодировок файла и программы. Либо в файле ВОМ не прописан, либо принудительно заставить программу жрать utf-8, либо еще что-то... Главное, как я понимаю - ежели через консоль лить, или через клиент с прямым выбором кодировки (РНР Му Админ например), то все быть нормально должно быть.
3) Не работает box_text на 1.12.2 (udb), на 2.4.3 (tbc_db) все прекрасно пашет. Вот не понял... бокс-текст - это диалог в игре с выбором пунктов? Не помню - они вообще были на классике? Я все-таки разберусь с делами, и может попробую у тебя что-то там глянуть в игре. Опять же - поностальгирую. Только я "хачю многа уровнь и крутой абвес". :) Потому что скорее всего не лично я буду глядеть, а девушка которая не откажется этим заниматься... :) А я буду как паук в паутине требовать с нее письменные отчеты ежедневно. :) В качестве альтернативы может подниму вовему старый - дабы было с чем сравнивать. :)

Mediv
12.05.2011, 22:00
Путаются порядковые номера именно в игре. В базе на первый взгяд все ок (кеш сбрасывал естественно)

Бокс текст это типа "Вы действительно хотите портануться в Стормвинд?"

По поводу поддержки я хз, но в базе такое поле есть.

Насчет остального без проблем.

tempura
12.05.2011, 22:13
Путаются порядковые номера именно в игре. В базе на первый взгяд все ок (кеш сбрасывал естественно) То есть порядок пунктов в диалоге меняется? Тогда вполне вероятно, что клиент сортирует пункты не по id, а по своим личным соображениям. :)
Просто я с этим уже (кажется) сталкивался, когда делал диалог для портов по гильдхаусам (http://ru-mangos.ru/showthread.php?t=1309). Там вроде бы тоже порядок смешивался, несмотря на то, что был прописан в cpp.

Mediv
12.05.2011, 23:50
А и ещё, нужно снять каким то образом ограничение на 15 строчек в gossip_menu_option на количество id в одной менюшке.

Тогда можно сделать портовальщика по всему миру вов.

KiriX
13.05.2011, 00:01
А и ещё, нужно снять каким то образом ограничение на 15 строчек в gossip_menu_option на количество id в одной менюшке.

Тогда можно сделать портовальщика по всему миру вов.
Нет, нельзя. Это ограничение вшито в клиент.
Делай по всему миру, что мешает-то? Только раздеребань на несколько подменю.

Mediv
13.05.2011, 00:42
Дело в том, что раздербанить придется на много много меню, а это не есть гуд.

Представь нупа который роется в over9000 менюшках в поиске 1 телепорта. Проще долететь)

KiriX
13.05.2011, 08:21
Дело в том, что раздербанить придется на много много меню, а это не есть гуд.
Представь нупа который роется в over9000 менюшках в поиске 1 телепорта. Проще долететь)
Не, ну тогда, конечно, лучше спросить ещё несколько раз возможно ли обойти ограничение, ещё несколько раз получить ответ, что невозможно и продолжить ныть о том, как несправедлив мир. Нупу от этого станет гораздо легче, чем over9000 менюшек... Ты так считаешь?
Проблема с большим количеством меню решается элементарно, если логично разбить их на категории ;)
Дальше уже подсказывать не буду =)

NeatElves
13.05.2011, 12:18
Группируй нагляднее.))

KiriX
13.05.2011, 12:40
NeatElves, именно это я и пытался донести до автора - пусть лучше сам думает ;)

Mediv
13.05.2011, 13:20
Группируй нагляднее.))

Эмм в 1-у менюшку как-то впихнулось много подменю)

Типа меню другая, но оно отображается с соседним меню как одно меню хз) :secret:

NeatElves
13.05.2011, 15:30
Это одно меню. Правда 335 и кондиции есть) В меню 24 позиции, для алов видно 21, остальное - размышляйте.))

RomanRom2
13.05.2011, 16:01
То есть порядок пунктов в диалоге меняется? Тогда вполне вероятно, что клиент сортирует пункты не по id, а по своим личным соображениям. :)
порядок будет таким, каким он будет в пакете. как наложил пункты в пакет, так и отображает.

подменю организовывается элементарнейшим образом, особенно в 3.3.5 благодаря полю gossip_entry, которое появилось в 2.4.0
pkt.InitCmd(sender.SBuf, SMSG_GOSSIP_MESSAGE);
pkt.AddInt64(sender.SBuf, sender.Char.GUID);
pkt.AddLong(sender.SBuf, gossip_entry); // gossip entry 2.4.0


этот принцип я использовал еще 3 года назад в своем сандбоксе для еще не вышедшего WoTLK: http://wowcore.ru/sandbox/create_objects/

после этого супернововведения госсип у меня стал собираться автоматически со снифов, включая все подменю и зависимости.

Mediv
15.05.2011, 00:56
Это одно меню. Правда 335 и кондиции есть) В меню 24 позиции, для алов видно 21, остальное - размышляйте.))

Так не честно там бд другая вообще и клиент другой =)))