Рейтинг темы:
  • 1 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
[Гайд] GMShop 2.1
#1
Как и обещал, пишу вам гайд по созданию гмшопа! В общем я всю голову себе проимел и в итоге он получился=)

Что нам нужно?

1. Aion Extract
2. AIONencdec
3. Стандартный виндовский блокнот
4. Незабыть про копипаст (с)ZOMBIE/ROSSDALE ( делал, старался - не хочу чтобы гайд был украден Smile )
5. Умение распаковывать и запаковывать .pak (Ищите на этом форуме)
Все необходимые программы ищите на этом форуме!

Итак работаем с сервером!

1. идем в \gameserver\data\static_data\npcs
открываем npc_templates.xml, в самом конце перед </npc_templates>
дописываем:

PHP код:
<?php 
<npc_template npc_id="217388" level="60" name=" " name_id="351608" npc_type="NON_ATTACKABLE" height="1.3" rank="NORMAL" race="BROWNIE" tribe="USEALL" srange="20" hpgauge="3">
<
stats maxMp="3564" maxHp="11878" maxXp="27751" block="77" parry="77" mdef="77" pdef="77" crit="77" power="77" evasion="77" accuracy="77" magic_accuracy="77" walk_speed="1.5" run_speed="4.23" run_speed_fight="4.23" fly_speed="0.0" />
<
equipment>
<
item>100000780</item>
</
equipment>
</
npc_template>
<
npc_template npc_id="217389" level="60" name=" " name_id="353226" npc_type="NON_ATTACKABLE" height="2.0" title_id="350350" rank="NORMAL" race="ASMODIANS" tribe="GENERAL_DARK" srange="20" arange="2" arank="1000" hpgauge="3">
<
stats maxMp="4385" maxHp="14614" maxXp="40824" block="85" parry="85" mdef="85" pdef="85" crit="85" power="85" evasion="85" accuracy="85" magic_accuracy="85" walk_speed="1.5" run_speed="6.0" run_speed_fight="7.0" fly_speed="0.0" />
<
equipment>
<
item>114100294</item>
<
item>111100277</item>
<
item>113100276</item>
<
item>100200106</item>
<
item>112100256</item>
<
item>110100303</item>
</
equipment>
</
npc_template>

Далее идем в \gameserver\data\static_data\goodslists
открываем goodslists.xml, в самом конце перед </goodslists>
дописываем:

Это наши листы с итемами
<list id="6002"> Это id листа
<item id="110101071"/> Это id наших вещей. в моем случаи броня и оружие рудры.

PHP код:
<?php 
<list id="6002">
<
item id="110101071"/>
<
item id="113100977"/>
<
item id="112100922"/>
<
item id="111100964"/>
<
item id="114101003"/>
</list>
<list
id="6003">
<
item id="110301020"/>
<
item id="113300990"/>
<
item id="112300920"/>
<
item id="111300969"/>
<
item id="114301024"/>
</list>
<list
id="6004">
<
item id="110500988"/>
<
item id="113500960"/>
<
item id="112500907"/>
<
item id="111500955"/>
<
item id="114500967"/>
</list>
<list
id="6005">
<
item id="110600968"/>
<
item id="113600931"/>
<
item id="112600922"/>
<
item id="111600947"/>
<
item id="114600926"/>
</list>
<list
id="6006">
<
item id="100000893"/>
<
item id="100200807"/>
<
item id="100100676"/>
</list>
<list
id="6007">
<
item id="100900684"/>
<
item id="101300655"/>
<
item id="101500698"/>
</list>
<list
id="6008">
<
item id="101700722"/>
</list>
<list
id="6009">
<
item id="100600755"/>
<
item id="100500698"/>
</list>

Идем \gameserver\data\static_data
открываем npc_trade_list.xml, в самом конце перед </npc_trade_list>
дописываем:
npc_id="217388" Это Id нашего NPC
<tradelist id="6002"/> Это Id листо с итемом, которые указанны выше
PHP код:
<?php 
<tradelist_template npc_id="217388" name="pegureronerk" count="4">
<
tradelist id="6002"/>
<
tradelist id="6003"/>
<
tradelist id="6004"/>
<
tradelist id="6005"/>
</
tradelist_template>
<
tradelist_template npc_id="217389" name="sturluson" count="4">
<
tradelist id="6006"/>
<
tradelist id="6007"/>
<
tradelist id="6008"/>
<
tradelist id="6009"/>
</
tradelist_template>

Все на этом серверная часть закончена. Теперь самое геморойное, клиент...

Залазием в Data\Npcs распаковываем npcs.pak и отрываем client_npcs.xml
В самый низ перед </npc_clients> пишем
PHP код:
<?php 
<npc_client>
<
id>217388</id>
<
name>Shugo_Shulack_05</name>
<
desc>STR_NPC_Shugo_Shulack_05</desc>
<
dir>NPC/shugotech</dir>
<
mesh>shugotech</mesh>
<
material>mat_flesh</material>
<
foot_mat>foot_2leg_medium</foot_mat>
<
disk_type>merchant</disk_type>
<
ui_type>general</ui_type>
<
cursor_type>trade</cursor_type>
<
hide_path>0</hide_path>
<
visible_equipments>
<
main>shulacksword_02</main>
</
visible_equipments>
<
erect>1</erect>
<
bound_radius>
<
front>1.400000</front>
<
side>0.888000</side>
<
upper>1.375000</upper>
</
bound_radius>
<
scale>130</scale>
<
weapon_scale>100</weapon_scale>
<
altitude>0.000000</altitude>
<
stare_angle>75.000000</stare_angle>
<
stare_distance>20.000000</stare_distance>
<
move_speed_normal_walk>1.500000</move_speed_normal_walk>
<
art_org_move_speed_normal_walk>1.500000</art_org_move_speed_normal_walk>
<
move_speed_normal_run>4.230000</move_speed_normal_run>
<
move_speed_combat_run>4.230000</move_speed_combat_run>
<
art_org_speed_combat_run>4.230000</art_org_speed_combat_run>
<
in_time>0.100000</in_time>
<
out_time>0.500000</out_time>
<
neck_angle>90.000000</neck_angle>
<
spine_angle>10.000000</spine_angle>
<
pushed_range>2.000000</pushed_range>
<
hpgauge_level>3</hpgauge_level>
<
magical_skill_boost>0</magical_skill_boost>
<
attack_delay>2000</attack_delay>
<
ai_name>Lmerchant</ai_name>
<
tribe>useall</tribe>
<
race_type>brownie</race_type>
<
pet_ai_name>Pet</pet_ai_name>
<
sensory_range>20.000000</sensory_range>
<
npc_type>general</npc_type>
<
talking_distance>5.000000</talking_distance>
<
trade_info>
<
tab_list>
<
data>
<
tab>gmsale_d_armor_robe_03</tab>
</
data>
<
data>
<
tab>gmsale_d_armor_leather_03</tab>
</
data>
<
data>
<
tab>gmsale_d_armor_chain_03</tab>
</
data>
<
data>
<
tab>gmsale_d_armor_plate_03</tab>
</
data>
</
tab_list>
<
buy_price_rate>200</buy_price_rate>
</
trade_info>
<
ment>ShugoMerch_M_C</ment>
</
npc_client>
<
npc_client>
<
id>217389</id>
<
name>Sturluson</name>
<
desc>STR_NPC_Sturluson</desc>
<
material>mat_flesh</material>
<
foot_mat>foot_2leg_medium</foot_mat>
<
disk_type>merchant</disk_type>
<
ui_type>general</ui_type>
<
cursor_type>trade</cursor_type>
<
ui_race_type>dark</ui_race_type>
<
hide_path>0</hide_path>
<
idle_animation>idle_SellerB</idle_animation>
<
talk_animation>talk_F</talk_animation>
<
appearance>
<
pc_type>dark_m</pc_type>
<
face_type>1</face_type>
<
face_color>235,235,255</face_color>
<
hair_type>1</hair_type>
<
hair_color>193,255,205</hair_color>
</
appearance>
<
visible_equipments>
<
torso>weapon_d_npc_01</torso>
<
leg>rb_pants_nomesh_01</leg>
<
foot>rb_shoes_nomesh_01</foot>
<
shoulder>rb_shoulder_nomesh_01</shoulder>
<
glove>rb_glove_nomesh_01</glove>
<
main>npc_dagger_n_r_09</main>
</
visible_equipments>
<
appearance_custom>DMfat5</appearance_custom>
<
erect>1</erect>
<
bound_radius>
<
front>0.500000</front>
<
side>0.700000</side>
<
upper>2.000000</upper>
</
bound_radius>
<
scale>100</scale>
<
weapon_scale>100</weapon_scale>
<
altitude>0.000000</altitude>
<
stare_angle>75.000000</stare_angle>
<
stare_distance>15.000000</stare_distance>
<
move_speed_normal_walk>1.500000</move_speed_normal_walk>
<
art_org_move_speed_normal_walk>1.500000</art_org_move_speed_normal_walk>
<
move_speed_normal_run>6.000000</move_speed_normal_run>
<
move_speed_combat_run>7.000000</move_speed_combat_run>
<
art_org_speed_combat_run>4.200000</art_org_speed_combat_run>
<
in_time>0.100000</in_time>
<
out_time>0.500000</out_time>
<
neck_angle>90.000000</neck_angle>
<
spine_angle>10.000000</spine_angle>
<
pushed_range>2.000000</pushed_range>
<
hpgauge_level>3</hpgauge_level>
<
magical_skill_boost>0</magical_skill_boost>
<
attack_delay>2000</attack_delay>
<
game_lang>dark</game_lang>
<
ai_name>Dmerchant</ai_name>
<
tribe>general_dark</tribe>
<
race_type>pc_dark</race_type>
<
pet_ai_name>Pet</pet_ai_name>
<
sensory_range>20.000000</sensory_range>
<
attack_range>2.000000</attack_range>
<
attack_rate>1000</attack_rate>
<
npc_type>Abyss_Guard</npc_type>
<
talking_distance>5.000000</talking_distance>
<
trade_info>
<
tab_list>
<
data>
<
tab>gmsale_d_weapon_1hand_06</tab>
</
data>
<
data>
<
tab>gmsale_d_weapon_2hand_06</tab>
</
data>
<
data>
<
tab>gmsale_d_weapon_range_06</tab>
</
data>
<
data>
<
tab>gmsale_d_weapon_magic_06</tab>
</
data>
</
tab_list>
<
buy_price_rate>200</buy_price_rate>
</
trade_info>
<
ment>DMfat5_M</ment>
</
npc_client>

Расшифровка параметров тоже гдето на форуме валяется=)

Запоминаем эти строки
Код:
<tab_list>
        <data>
          <tab>gmsale_d_weapon_1hand_06</tab>
        </data>
        <data>
          <tab>gmsale_d_weapon_2hand_06</tab>
        </data>
        <data>
          <tab>gmsale_d_weapon_range_06</tab>
        </data>
        <data>
          <tab>gmsale_d_weapon_magic_06</tab>
        </data>
      </tab_list>
Это внутриклиентские Id наших листов.

Далее открываем client_npc_goodslist.xml также перед последним тэгом </client_npc_goodslists> дописываем

<id>6002</id> Это Id наших листов, должны совпадать с goodlists.xml в сервере!
<name>gmsale_d_armor_robe_03</name> Это внутриклиентские Id наших листов, должны совпадатьс лстами в client_npcs.xml
PHP код:
<?php 
<client_npc_goodslist>
<
id>6002</id>
<
name>gmsale_d_armor_robe_03</name>
<
desc>STR_SALE_ARMOR_ROBE</desc>
<
goods_list>
<
data>
<
item>rb_torso_n_e1_55a</item>
</
data>
<
data>
<
item>rb_pants_n_e1_55a</item>
</
data>
<
data>
<
item>rb_shoulder_n_e1_55a</item>
</
data>
<
data>
<
item>rb_glove_n_e1_55a</item>
</
data>
<
data>
<
item>rb_shoes_n_e1_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6003</id>
<
name>gmsale_d_armor_leather_03</name>
<
desc>STR_SALE_ARMOR_LEATHER</desc>
<
goods_list>
<
data>
<
item>lt_torso_n_e1_55a</item>
</
data>
<
data>
<
item>lt_pants_n_e1_55a</item>
</
data>
<
data>
<
item>lt_shoulder_n_e1_55a</item>
</
data>
<
data>
<
item>lt_glove_n_e1_55a</item>
</
data>
<
data>
<
item>lt_shoes_n_e1_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6004</id>
<
name>gmsale_d_armor_chain_03</name>
<
desc>STR_SALE_ARMOR_CHAIN</desc>
<
goods_list>
<
data>
<
item>ch_torso_n_e1_55a</item>
</
data>
<
data>
<
item>ch_pants_n_e1_55a</item>
</
data>
<
data>
<
item>ch_shoulder_n_e1_55a</item>
</
data>
<
data>
<
item>ch_glove_n_e1_55a</item>
</
data>
<
data>
<
item>ch_shoes_n_e1_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6005</id>
<
name>gmsale_d_armor_plate_03</name>
<
desc>STR_SALE_ARMOR_PLATE</desc>
<
goods_list>
<
data>
<
item>pl_torso_n_e1_55a</item>
</
data>
<
data>
<
item>pl_pants_n_e1_55a</item>
</
data>
<
data>
<
item>pl_shoulder_n_e1_55a</item>
</
data>
<
data>
<
item>pl_glove_n_e1_55a</item>
</
data>
<
data>
<
item>pl_shoes_n_e1_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6006</id>
<
name>gmsale_d_weapon_1hand_06</name>
<
desc>STR_SALE_WEAPON_1HAND</desc>
<
goods_list>
<
data>
<
item>sword_n_e1_kn_55a</item>
</
data>
<
data>
<
item>dagger_n_e1_as_55a</item>
</
data>
<
data>
<
item>mace_n_e1_pr_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6007</id>
<
name>gmsale_d_weapon_2hand_06</name>
<
desc>STR_SALE_WEAPON_2HAND</desc>
<
goods_list>
<
data>
<
item>2hsword_n_e1_55a</item>
</
data>
<
data>
<
item>polearm_n_e1_55a</item>
</
data>
<
data>
<
item>staff_n_e1_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6008</id>
<
name>gmsale_d_weapon_range_06</name>
<
desc>STR_SALE_WEAPON_RANGE</desc>
<
goods_list>
<
data>
<
item>bow_n_e1_55a/item>
</
data>
</
goods_list>
</
client_npc_goodslist>
<
client_npc_goodslist>
<
id>6009</id>
<
name>gmsale_d_weapon_magic_06</name>
<
desc>STR_SALE_WEAPON_MAGIC</desc>
<
goods_list>
<
data>
<
item>book_n_e1_55a</item>
</
data>
<
data>
<
item>orb_n_e1_55a</item>
</
data>
</
goods_list>
</
client_npc_goodslist>
Если у вас РУОФФ клиент незабудте дописать гудлисты в Data\Russia\Npcs\npcs.pak
Если ENUOFF то просто удалите папки:
china
Europe
japan
Russia
USA
Taiwan


Все шоп готов. Если появляется ошибка при запуске игры "Неудалось обновить игру" значит выгдето накосячили=) Чтобы проверить где, открываем наши xml'ки Мазилой Файерфокс. Она напишет где была совершенна ошибка!
Если есть вопросы, задавайте помогу как смогу=) Не забываем тыкнуть "Поблагадорить" =)

p.s
Закрепите тему=)
следуйщий мануал будет о создании своего шмота и оружия!

Добавлено через 11 минут
Вот шоп в готовом виде

_http://rghost.ru/4210862


в игре пишем
Id NPC Armor - 217388
Id NPC Weapon - 217389
Помог, тык пасибку=)



ФИКС N1!!!

PHP код:
<?php 
<npc_template npc_id="217389" level="60" name=" " name_id="353226" npc_type="NON_ATTACKABLE" height="2.0" title_id="350350" rank="NORMAL" race="ASMODIANS" tribe="GENERAL_DARK" srange="20" arange="2" arank="1000" hpgauge="3">
<
stats maxMp="4385" maxHp="14614" maxXp="40824" block="85" parry="85" mdef="85" pdef="85" crit="85" power="85" evasion="85" accuracy="85" magic_accuracy="85" walk_speed="1.5" run_speed="6.0" run_speed_fight="7.0" fly_speed="0.0" />
<
equipment>
<
item>114100294</item>
<
item>111100277</item>
<
item>113100276</item>
<
item>100200106</item>
<
item>112100256</item>
<
item>110100303</item>
</
equipment>
</
npc_template>

race="ASMODIANS" заменить на race="BROWNIE"
Это пол фикса, так смогут покупать Элийцы. но для них он будет красный как асмо. Надо в клиенте поправить!
Если меня посадят в тюрьму, по крайней мере, не надо будет раздавать автографы. © Kurt Cobain
Ответ
#2
запаковывать обратно необязательно, достаточно просто кинуть в папку рядом с оригинальным .pak файлом, сохранив топологию .pak файла, т.к. приоритет загрузки в айоне стоит из папки

Добавлено через 3 минуты
да проит меня администрация зоны и неубиен я после сих действий буду НО!
вот ссылка на мой гайд) http://forum.maindev.ru/showthread.php?t=3797
Bloomers --> ??? --> Profit
Ответ
#3
Zombie Написал:Что нам нужно?

3. Стандартный виндовский блокнот
Помойму, стандартный виндовский блокнот умрет только увидев файл client_npcs.xml Big Grin

Zombie Написал:race="ASMODIANS" заменить на race="BROWNIE"
Это пол фикса, так смогут покупать Элийцы. но для них он будет красный как асмо. Надо в клиенте поправить!

Да брось ты. Достаточно в том же npc_templates изменить
PHP код:
<?php 
tribe
="GENERAL_DARK"


На

PHP код:
<?php 
tribe
="USEALL"
Ответ
#4
Thieff, не знаешь - не выставляй себя нубом...
во первых стандартный виндовский блокнот пережевывает client_npcs.xml бысрее любого другого редактора, и поиск выполняет на порядок быстрее

во вторых, а мы че, о скиллах говрим? в скиллах возможны скиллы на обе расы, а в неписях это невозможно.. он либо нейтрален к асмам либо к няшкам, к обеим невозможно
Bloomers --> ??? --> Profit
Ответ
#5
Цитата:во вторых, а мы че, о скиллах говрим? в скиллах возможны скиллы на обе расы
Оговорился. Поправил.

Цитата:а в неписях это невозможно.. он либо нейтрален к асмам либо к няшкам, к обеим невозможно
Кто тебе такую гадость сказал? Буквально только что сделал непися нейтральным и юзабельным для обеих рас.
Ответ
#6
Кстате пример неитральности к обеим расам шиго на остраве тиграки (Расширения куба)
Ответ
#7
ну дак расса BROWNIE
Если меня посадят в тюрьму, по крайней мере, не надо будет раздавать автографы. © Kurt Cobain
Ответ
#8
Zombie, прочитай внимательней мой самый первый пост в этой теме. Замени tribe="GENERAL_DARK" на tribe="USEALL"
Ответ
#9
Thieff Написал:Zombie, прочитай внимательней мой самый первый пост в этой теме. Замени tribe="GENERAL_DARK" на tribe="USEALL"

не могу, я забыл пароль к учетке. Пускай модер поправит, плз=)
Ответ
#10
вот вопрос как сделать так чтоб в НЦП появляись монетки от голосования?
или где нужно дописать.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Установка 2 гс под 1 лс (Гайд) undertrey 29 15,320 03-15-2012, 09:00 PM
Последний пост: TAG
  [Гайд] Делаем изменяемыми все виды оружия и брони xobotyi 24 22,575 02-01-2012, 01:33 AM
Последний пост: Nehrk
  [Гайд] Скиллы от А до Я и от A до Z xobotyi 1 4,781 07-08-2011, 03:18 PM
Последний пост: whopper
  [Гайд] Изменение инвентаря на старте wamper 8 3,955 03-10-2011, 10:44 PM
Последний пост: Thieff
  GMShop 2.1 и више Zombie 12 5,942 01-27-2011, 12:58 PM
Последний пост: ALeKsIuS
  [Гайд] Написание квестов: от и до. ViAl 17 14,426 12-24-2010, 02:31 PM
Последний пост: aspalt
  [Гайд]Создаём апдейтер DoLoD 12 11,733 01-13-2010, 05:05 AM
Последний пост: GoodShadow

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)