Как создать ГМшоп

Deazer

Разработчик
Команда форума
#1
В данной статье я попытаюсь подробно рассказать Вам о том, как сделать магазин (ГМ-шоп) для своего сервера.

Создание магазина состоит из 3-х частей, а именно:

1 Часть – XML часть (Непосредственно сами мультиселлы)
2 Часть – HTML часть (Диалог НПЦ)
3 Часть – XML (Реализация самого НПЦ)

Для начала нам нужно зайти в папку Multisell, которая находится в папке data (data находится в папке gameserver). В данной папке создаем текстовый документ (Блокнот) и вставляем в него данный код:


XML:
<?xml version='1.0' encoding='utf-8'?>
<list>

   <item id="1">
   <ingredient id="57" count="12300000" enchant="0"/>
   <production id="6680" count="1" enchant="0"/>
   </item>

   <item id="2">
   <ingredient id="57" count="12300000" enchant="0"/>
   <production id="6681" count="1" enchant="0"/>
   </item>

   <item id="3">
   <ingredient id="57" count="12300000" enchant="0"/>
   <production id="6682" count="1" enchant="0"/>
   </item>
          
</list>
Это только для примера. Данный код Вы должны переделать для себя, сейчас я постараюсь рассказать что к чему.

?xml version=»1.0″ encoding=»utf-8″? — данная строка обязательно должна быть вверху каждого XML файла
item id=»1″ — ID предмета
ingredient id=»12300000″ – это то за что будет покупать игрок предметы, в нашем случаи это Адена (ID Adena – 57)
count=»123″ – цена покупаемого предмета, так как у нас Адена, игроку придётся отдать за покупку предмета 123 Адены
enchant=»0″ – Заточка предмета
production id=»6680″ – предмет который получит игрок, в нашем случаи это Draconic Тело
count=»1″ – количество получаемого предмета
enchant=»0″ – Заточка предмета

Переделываем под себя и сохраняем данный текстовый документ. Переименовываем файл в название которого еще нет в папке Multisell, например 13333, переименовываем файл в 13333.xml. На этом Xml часть наконец-то заканчивается.

Теперь начнем рассматривать 2 часть – HTML

Заходим в папку html она находится в GameServer ->data -> html -> находим нужный нам диалог или добавляем свой самостоятельно.
Теперь о том как прикреплять свой мультиселл к диалогу НПЦ, для примера берем наш созданный мультиселл 13333 который мы уже создали выше
Можно сделать упрощенной строкой:
[npc_%objectId%_multisell 13333|Просмотреть список]
Можно сделать в HTML виде:
<a action="bypass -h npc_%objectId%_multisell 13333">Просмотреть список</a>

Как вы видите мы указываем в формате нужный нам id npc_%objectId%_multisell 13333

Теперь начнем рассматривать 3 часть – XML Npc

Местонахождение GameServer ->data -> npc -> 40000-40099.xml

Берем для примера готового НПЦ уже созданного c id 40013:

XML:
<npc id="40013" name="Item Mall" title="Merchant">
        <set name="aggroRange" value="0" />
        <set name="ai_type" value="CharacterAI" />
        <set name="baseAtkRange" value="40" />
        <set name="baseCON" value="43" />
        <set name="baseCritRate" value="40" />
        <set name="baseDEX" value="30" />
        <set name="baseHpMax" value="3290.113" />
        <set name="baseHpRate" value="1" />
        <set name="baseHpReg" value="8.5" />
        <set name="baseINT" value="21" />
        <set name="baseMAtk" value="1242" />
        <set name="baseMAtkSpd" value="333" />
        <set name="baseMDef" value="469" />
        <set name="baseMEN" value="20" />
        <set name="baseMpMax" value="1674.8" />
        <set name="baseMpReg" value="3" />
        <set name="basePAtk" value="1952" />
        <set name="basePAtkSpd" value="278" />
        <set name="basePDef" value="577" />
        <set name="baseRunSpd" value="120" />
        <set name="baseSTR" value="40" />
        <set name="baseShldDef" value="0" />
        <set name="baseShldRate" value="0" />
        <set name="baseWIT" value="20" />
        <set name="baseWalkSpd" value="75" />
        <set name="collision_height" value="23.0" />
        <set name="collision_radius" value="8.0" />
        <set name="level" value="80" />
        <set name="rewardExp" value="0" />
        <set name="rewardRp" value="0" />
        <set name="rewardSp" value="0" />
        <set name="shots" value="NONE" />
        <set name="texture" value="" />
        <set name="type" value="Merchant" /> <!-- Тип НПЦ обозначающий его принадлежность к торговцам -->
        <set name="displayId" value="13298"/> <!-- Внешний вид который будет использовать НПЦ -->
        <set name="htm_root" value="mods/gmshop/" /> <!-- Откуда будет брать НПЦ свой диалог-->
        <attributes>
            <defence attribute="fire" value="20" />
            <defence attribute="water" value="20" />
            <defence attribute="wind" value="20" />
            <defence attribute="earth" value="20" />
            <defence attribute="holy" value="20" />
            <defence attribute="unholy" value="20" />
        </attributes>
    </npc>
 
Последнее редактирование:
Вверх