И так сегодня я вам расскажу как делать свой Gm Shop автор не я мануал взят с форума ZG, тут пишу для тех кто не умеет пользоваться гуглом и вообще, у нас тоже должен быть хоть какой нибудь мануальчик...
Написание Gm Shop-a на Multisell
Первым делом нужно выбрать нужного нам NPC, который выступит в роли продавца брони, оружия и бижутерии. Конечно, я не буду наполнять магазин по завязку всяким оружием, это сделаете вы, а я лишь покажу, как это нужно делать. Я выбрал для своего магазина NPC «Andromeda», конечно вы можете выбрать любого другого.
Вот запрос на создание нашего NPC:
Этим запросом мы создадим NPC с именем «Okay», который вы сможете сразу же заспавнить в любом удобном месте, введя в чат команду «//spawn 50000». Для выполнения этих действий нам не нужно выключать сервер, а просто ввести команду «//reload npc» для считывания таблицы NPC. Что вышло у меня смотрим на рисунке ниже.
Как вы заметили, NPC при попытке заговорить с ним выдает нам пустое окно с надписью о том, что файл диалога не найден. Пример на рисунке ниже.
На рисунке мы отчетливо видим, где нужно создать файл, а так же имя этого файла. Давайте создадим файл 50000.htm. Для этого дела можно использовать простой блокнот, но я как всегда выбрал Notepad++. Текст нашего диалога следующий:
Этот текст сохраняем в кодировке UTF-8 и с именем файла 50000.htm и помещаем его в каталог gs/data/html/merchant/ теперь перегрузите диалоги командой «//reload htm» и обратитесь к нашему NPC, который понемногу становится GM-Shop. Как вы видите, теперь у NPC есть диалог, пример смотрим на рисунке.
И так, нам осталось лишь создать multisell в котором будут указаны наши товары и их цены. Для его написания вам потребуется блокнот или любой другой текстовый редактор. Как я говорил, описывать полный список всего оружия не буду, а лишь приведу пример того, как его добавлять. Создайте файл 50000.xml и напишите в нем следующий текст:
После этого сохраните файл 50000.xml в каталог gs/data/multisell/. Все, можно тестировать ваш первый GM-Shop, но у нас ведь нет ссылки на «товар» с диалога продавца, откройте файл 50000.htm (тот, что мы создавали ранее) и впишите снизу следующий текст:
Вот, теперь-то вы видите, что мы обращаемся к нашему «товару», который находится в 50000.xml. Не забудьте перегрузить диалоги командой «//reload htm». После этого, при обращении к NPC в диалоге будет ссылка на «Мечи» (он у нас там один). Я вам для примера того, как добавить больше мечей дописал multisell до следующего состояния:
Теперь немного пояснений. Первый меч id, которого 125 (в теге <item id=1></item>) у нас продается за 50000 аден. Второй мечь id, которого 126 мы продаем за 10000 аден, но помимо самих аден, мы требуем меч с id 125, который продается выше. Так можно создать, например обмен устаревшего оружия на более новое, мощное и т.д. Пример требований ко второму оружию смотрим на рисунке ниже.
В третьем примере, мы видим продажу меча с id 127 за 55000 аден, но помимо самого меча, мы получаем еще и Soul Shots D Grade в количестве 1000 штук, которые подходят к нашему оружию. Пример того что мы получим, смотрите на рисунке ниже.
Вот и все, дальше можете создавать свои списки оружия, предметов и т.д. Правда хочется еще раз вернуться к multisell и пояснить некоторые детали. Я вам ниже приведу, теги и их атрибуты, которые вы сможете использовать при создании Gm-Shop для ваших серверов.
• item id= - это номер нашего предмета в списке. Каждый предмет, должен иметь свой id.
• ingredient – это то, что мы требуем взамен нашему предмету.
• production – это то, что мы получаем взамен ingredient.
• id – предмет который мы продаем и который мы требуем.
• count – количество предметов которые мы получаем или отдаем.
Два последних атрибута применимы к тегам «ingredient» и «production». Также у многих возникают проблемы, типа создал multisell, а GM-Shop продает совершенно другие вещи. Это от того, что вы пропустили закрывающий слеш одно из тегов «>». Бывает, что вы создали multisell, видите список товаров, а при покупке любого из них вы покупаете только тот, что первый в списке. Эта ошибка из-за не внимательности, я же написал, что каждый новый предмет должен иметь свой id, пример:
Автор статьи: Мостовой Юрий