Ru-MaNGOS

Вернуться   Ru-MaNGOS > Разработка скриптов > Патчи

Важная информация

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2010, 08:55   #1
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

По просьбе публики - поднимаем архивы.


Принцип работы:
Лидер гильдии, при клике на НПС, видит два пункта - телепорт в гильдхаус и покупка гильдхауса. Кликнув на покупку, он попадает в меню выбора места для дома, в котором выводится по десять незанятых точек на окно. Кликнув на одну из них, он покупает это место для своей гильдии за 1000 голда. Теперь он может продать текущий гильдхаус за 500 голда, либо посмотреть список все еще свободных - если хочет подобрать другое место. На продажу гильдхауса выводится запрос подтверждения.
Игрок подходит к НПС, и если он состоит в гильдии, а лидер гильдии потратился на гильдхаус - при клике по единственному пункту в меню его перекидывает по указанным в скрипте координатам. Если гильдия не имеет дома - получает неприличный ответ, если не состоит в гильдии - другой неприличный ответ.

Изменить цену покупки-продажи можно в скрипте. Компилим, разливаем по базам приложенные sql файлы, пускаем сервер.
Координаты телепортов берутся из таблицы.

В sql файлах:
guildmaster_scriptdev2.sql - таблица с координатами телепортов, и краткое описание каждой точки, которое будет выводиться в диалоге приобретения гильдхауса. Можете удалять, если что-то вам не нравится. Если будете добавлять свои - просьба сообщить их. (ревизия ядра не играет роли)
guildmaster_mangos.sql - шаблон НПС, который расставлен в гильдейских домах по всем городам. (ревизия ядра неизвестна, несомненно устарел)

Примечание:
На текущий момент телепорты ведут в необитаемые места, куда простым смертным попасть невозможно (либо крайне трудно). Первая координата ведет на ГМ-остров. Админу сервера очень рекомендуется самому пройтись по всем координатам, закупорить на местности дыры с выпадением в никуда (их как минимум три) и расставить телепорты, чтобы гильдейцам не пришлось пользоваться Камнем Возвращения чтобы уйти из гильдхауса. Остальное оборудование - на личное усмотрение.

Авторы:
Идея (и текущая поддержка) tempura.
Работа - Fog и kax
Копирайты в файле не проставлены, Родина должна знать своих героев без всяких там писулек. И упоминать их когда прет скрипт для своих сборок.

Приложенный патч содержит все нужное - включая sql файлы. Но не проверялся.
В принципе приложенный патч должен быть независим от ревизии... Ну, до определенного момента... Пока в базе или коде что-то кардинально не изменится.
Ну может еще guid в базе кого-то расстроят.
Вложения
Тип файла: patch guildmaster.patch (17.5 Кб, 1012 просмотров)
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
12 пользователя(ей) сказали cпасибо:
anvd24 (03.06.2010), Hantet (08.06.2010), KiriX (27.10.2010), Kolorado (01.08.2011), Kujbor (29.05.2010), Limpnau (29.05.2010), rsa (29.05.2010), sven (30.05.2010), VinD (31.05.2010)
Старый 28.10.2010, 19:11   #2
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Решил посмотреть, что это вообще такое. Поставил, всё собралось, подошёл, заказал, сказали что недостаточно денег и сервер падает...
Может есть какие обновления?
И не могу понять, на чём там ему падать-то???
Хм... Помогло увеличение char msg[100]; до char msg[200];
Код:
void buyGuildhouse(Player *player, Creature *_creature, uint32 guildhouseId)
{
    if (player->GetMoney() < COST_GH_BUY)
    {
        //show how much money player need to buy GH (in gold)
        char msg[200];
KiriX вне форума   Ответить с цитированием
Старый 28.10.2010, 20:34   #3
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Для теста
заменить
Цитата:
player->ADD_GOSSIP_ITEM(ICON_GOSSIP_GOLD, MSG_GOSSIP_BUY,
GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST);
на
Цитата:
pPlayer->ADD_GOSSIP_ITEM_EXTENDED(ICON_GOSSIP_GOLD, MSG_GOSSIP_BUY, GOSSIP_SENDER_MAIN, ACTION_SHOW_BUYLIST, "Стоимость", 10000000, false);
это проверка на деньги прямо в меню, если нет - сообщение, если есть - снимет, все дальнейшие действия с деньгами для конкретного случая можно уже убрать из кода.) Пункт "Стоимость" можно задефинить переменной и вынести в gossip_texts, да все переменные можно вынести в базу уже...

Последний раз редактировалось NeatElves; 28.10.2010 в 20:37.
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Limpnau (03.12.2010)
Старый 12.05.2011, 22:19   #4
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
Вопрос

Пора бы перевести скрипт в базу, да и обновить под текущие реалии. Никому нет желания заняться?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 12.05.2011, 22:26   #5
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Если кто нибудь будет переписывать это, то вот небольшое предложение: при покупке гильдхауса генерировать уникальное число - фаза. При телепорте ставить ему эту фазу маски. Фаза маски закреплена за гильдией. НПС в домах иметь общую фазу маски, что позволяет видить этого НПС каждой гильдии. Такой метод позволит покупать одни и те же гильд хаусы без риска быть увиденным другой гильдией.
Lordronn вне форума   Ответить с цитированием
Старый 12.05.2011, 22:32   #6
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Отличная идея... А количество фаз неограничено? А то ведь наверняка кому-то захочется десяток-два ГХ в одном красивом месте завести. Как бы не отвалилось.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 12.05.2011, 22:38   #7
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Цитата:
А количество фаз неограничено?
Ну мы загружаем таблицу с ГХ, в которой и будет хранить фазу. Просто при создании нового Гх - его фаза будет равна фаза_пред_гх + 1
Lordronn вне форума   Ответить с цитированием
Старый 13.05.2011, 00:03   #8
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

У меня есть подогнанный вариант не такой старый, но были замечены некоторые косяки в игре.
По поводу фаз: насколько я помню - катры имеют фазы. Т.е. всё будет зависеть от того, какие фазы имеет карта, в которой будет хаус + куча иных проблем с фазами открывается.
И да, "случайной" фазы быть не может...
KiriX вне форума   Ответить с цитированием
Старый 13.05.2011, 07:00   #9
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Цитата:
И да, "случайной" фазы быть не может...
почему, разве клиент проверяет фазу из пакета. В клиенте полный список фаз есть? Вроде нету
Lordronn вне форума   Ответить с цитированием
Старый 13.05.2011, 10:00   #10
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от Lordronn Посмотреть сообщение
почему, разве клиент проверяет фазу из пакета. В клиенте полный список фаз есть? Вроде нету
Фазы - атрибут карты. Если на карте нет такой фазы - никуда ты не попадёшь. А большинство карт не имеет фаз. В общем логика теперь уж точно должна быть ясна...
KiriX вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Script]Azjol-Nerub MaxXx2021 Скрипты 10 22.06.2010 11:20
Script на лича Thermaltake Корзина 2 18.06.2010 22:55
Script SW i BT saniaman Корзина 1 10.06.2010 19:41
[script] DalaranPortal MaxXx2021 Патчи 1 06.05.2010 08:47


Текущее время: 12:28. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot