Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Серверная часть (https://forum.zone-game.info/forumdisplay.php?f=148)
-   -   [подскажите] Как создавать собственные item'ы (https://forum.zone-game.info/showthread.php?t=10763)

sotariz 27.10.2010 01:03

[подскажите] Как создавать собственные item'ы
 
облазил форум, но не нашел... может плохо искал или проморгал, но вопрос весьма интересен. Если есть такая тема или дающая ответ на мой вопрос дайте плиз ссылочку

sotariz 28.10.2010 10:32

Re: [подскажите] Как создавать собственные item'ы
 
случайно напоролся на сообщение
Цитата:

Вот пусть к файлы итемов со стороны сервера.
\trunk\AE-go_GameServer\data\static_data\items\item_template s.xml
Здесь меняются статы вещей.
По ИД вещи ищем ее
Ии изменяем статы на нужное число.
Ну изменили, проверил ГС пускается но в игре не отображаются изменения

Нам нужно подправить статы в клиенте
\Aion 2.0\Data\items\items.pak\client_items.xml
Этот файл отвечает за визуальное отображения статов.
Меняем, проверяем запускается ли игра.

Теперь цвет.
За цвет в клиенте отвечает строчка <quality>ЦВЕТ</quality>
На сервере фраза quality="ЦВЕТ"

Список цветов!
COMMON - белый
RARE - зеленый
LEGEND - синий
UNIQUE - желтый
EPIC - оранжевый
MYTHIC - фиолетовый
JUNK - серый
Честно признаю что копипаст, но автора не посмотрел
после этого возникает вопрос:
Есть вещь уже мной измененная
Код:

        <item_template id="110501077" level="1" mask="562" armor_type="CHAIN" max_stack_count="1" item_type="normal" quality="MYTHIC" price="1" race="ALL" option_slot_bonus="10" restrict="1,1,1,1,1,1,1,1,1,1,1,1" desc="1528095" attack_gap="0.0" dmg_decal="0" slot="8" equipment_type="ARMOR">
                <modifiers>
                        <add name="EVASION" value="10000"></add>
                        <add name="MAGICAL_RESIST" value="10000"></add>
                        <add name="PHYSICAL_DEFENSE" value="10000"></add>
                        <add name="MAXHP" value="14070" bonus="true"></add>
                        <add name="PHYSICAL_DEFENSE" value="10089" bonus="true"></add>
                        <rate name="FLY_SPEED" value="200" bonus="true"></rate>
                        <add name="FLY_TIME" value="1032" bonus="true"></add>
                        <rate name="BOOST_HATE" value="-99" bonus="true"></rate>
                        <add name="CONCENTRATION" value="1800" bonus="true"></add>
                </modifiers>
        </item_template>

расшифровал client_item.xml, нашел ее описание, но не могу понять как его изменить:
Код:

        <client_item>
                <id>
                        110501077
                </id>
                <name>
                        ch_torso_simple_01
                </name>
                <desc>
                        STR_CH_TORSO_SIMPLE_01
                </desc>
                <armor_type>
                        chain
                </armor_type>
                <item_type>
                        normal
                </item_type>
                <material>
                        mat_metal_plate
                </material>
                <icon_name>
                        Icon_Item_CH_Torso_C01
                </icon_name>
                <price>
                        5
                </price>
                <max_stack_count>
                        1
                </max_stack_count>
                <equipment_slots>
                        torso
                </equipment_slots>
                <dodge>
                        21
                </dodge>
                <quality>
                        MYTHIC
                </quality>
                <level>
                        1
                </level>
                <magical_resist>
                        10
                </magical_resist>
                <physical_defend>
                        24
                </physical_defend>
                <lore>
                        FALSE
                </lore>
                <can_exchange>
                        TRUE
                </can_exchange>
                <can_sell_to_npc>
                        TRUE
                </can_sell_to_npc>
                <can_deposit_to_character_warehouse>
                        TRUE
                </can_deposit_to_character_warehouse>
                <can_deposit_to_account_warehouse>
                        TRUE
                </can_deposit_to_account_warehouse>
                <can_deposit_to_guild_warehouse>
                        TRUE
                </can_deposit_to_guild_warehouse>
                <breakable>
                        TRUE
                </breakable>
                <soul_bind>
                        FALSE
                </soul_bind>
                <remove_when_logout>
                        FALSE
                </remove_when_logout>
                <gender_permitted>
                        all
                </gender_permitted>
                <warrior>
                        1
                </warrior>
                <scout>
                        1
                </scout>
                <mage>
                        1
                </mage>
                <cleric>
                        1
                </cleric>
                <fighter>
                        1
                </fighter>
                <knight>
                        1
                </knight>
                <assassin>
                        1
                </assassin>
                <ranger>
                        1
                </ranger>
                <wizard>
                        1
                </wizard>
                <elementalist>
                        1
                </elementalist>
                <chanter>
                        1
                </chanter>
                <priest>
                        1
                </priest>
                <option_slot_bonus>
                        0
                </option_slot_bonus>
                <bonus_apply>
                        equip
                </bonus_apply>
                <no_enchant>
                        FALSE
                </no_enchant>
                <cannot_changeskin>
                        0
                </cannot_changeskin>
                <ui_sound_type>
                        Sounds/item/item_def_chain
                </ui_sound_type>
                <cash_item>
                        0
                </cash_item>
                <can_split>
                        FALSE
                </can_split>
                <item_drop_permitted>
                        FALSE
                </item_drop_permitted>
                <mesh>
                        CH_Simple_Body
                </mesh>
                <mesh_change>
                        0
                </mesh_change>
                <can_dye>
                        0
                </can_dye>
                <race_permitted>
                        pc_light pc_dark
                </race_permitted>
        </client_item>

точнее не понимаю большую часть строк, за что они отвечают.
Хочу изменить название и внести изменение в описание статов

Wolfas 28.10.2010 23:41

Re: [подскажите] Как создавать собственные item'ы
 
Мне всё понятно

Например, сопротивление магии и защита от дебафов вродь

Но не совсем важно точно понимать, надписи ведь дублируются
<add name="PHYSICAL_DEFENSE" value="10000"></add>

Цитата:

<magical_resist>
10
</magical_resist>
<physical_defend>
24
</physical_defend>


Цитата:

Список цветов!
COMMON - белый
RARE - зеленый
LEGEND - синий
UNIQUE - желтый
EPIC - оранжевый
MYTHIC - фиолетовый
JUNK - серый
Спс, не знал


Вот ещё тоже интересно, где параметр на внешний вид значка

Arch1S 29.10.2010 01:00

Re: [подскажите] Как создавать собственные item'ы
 
Цитата:

Сообщение от Wolfas
<add name="PHYSICAL_DEFENSE" value="10000"></add>

Это защита от физического урона

PROGRAMMATOR 29.10.2010 01:08

Re: [подскажите] Как создавать собственные item'ы
 
Цитата:

Сообщение от Wolfas
внешний вид значка

PHP код:

<icon_name>
            
Icon_Item_CH_Torso_C01
        
</icon_name


PROGRAMMATOR 29.10.2010 01:18

Re: [подскажите] Как создавать собственные item'ы
 
Цитата:

Сообщение от sotariz
Хочу изменить название

client_item.xml <desc> = client_strings.xml <name>

PHP код:

    <string>
        <
id>764047</id>
        <
name>STR_CH_TORSO_SIMPLE_01</name>
        <
body>Простая кольчуга</body>
    </
string


Wolfas 29.10.2010 22:47

Re: [подскажите] Как создавать собственные item'ы
 
Кстать
Раскодировать client_items.xml легко

А вот как закодировать обратно?

194мб, слишком много

PROGRAMMATOR 29.10.2010 23:02

Re: [подскажите] Как создавать собственные item'ы
 
Никак, пока DStuff не напишет AIONasm, но так как по его мнению Aion - мертвая, то наверное его не будет.

Wolfas 29.10.2010 23:16

Re: [подскажите] Как создавать собственные item'ы
 
Потерял много времени пока не послал AionExtract в одно место и не вспомнил про AIONdisasm

Wolfas 31.10.2010 00:40

Re: [подскажите] Как создавать собственные item'ы
 
Решисл создать собственные Манстоуны

Прописал новые иды:
в клиенте в client_items.xml
И на сервере в item_templates.xml

Также дописал строчки в client_strings.xml и добавил отдельно картинки


http://s010.radikal.ru/i314/1010/c8/d9695f502f7f.png

Но при по пытке в точить, клиент пишет ошибку "Предмет отсутствует"

Где то ещё нужно прописать, есть у кого идеи?

Добавлено через 13 часов 31 минуту
Неужели никто не знает?
Добавлено через 17 часов 19 минуту
Есть мнение что где-то в ядре сервера, файл отвечающий за иды манастоунов

Wolfas 01.11.2010 17:30

Re: [подскажите] Как создавать собственные item'ы
 
import com.aionemu.gameserver.dataholders.DataManager;
import com.aionemu.gameserver.model.gameobjects.Persisten tState;
import com.aionemu.gameserver.model.gameobjects.stats.mod ifiers.StatModifier;
import com.aionemu.gameserver.model.templates.item.ItemTe mplate;

import com.aionemu.gameserver.itemengine.actions.EnchantI temAction;
import com.aionemu.gameserver.model.gameobjects.AionObjec t;
import com.aionemu.gameserver.model.gameobjects.Item;
import com.aionemu.gameserver.model.gameobjects.player.Pl ayer;
import com.aionemu.gameserver.model.templates.item.ItemCa tegory;
import com.aionemu.gameserver.network.aion.AionClientPack et;
import com.aionemu.gameserver.network.aion.serverpackets. SM_SYSTEM_MESSAGE;
import com.aionemu.gameserver.services.ItemService;
import com.aionemu.gameserver.utils.PacketSendUtility;
import com.aionemu.gameserver.world.World;

Добавлено через 17 минут
Нашёл: EnchantItemAction.java

Код:

  int itemId = parentItem.getItemTemplate().getTemplateId();
                                if(itemId > 166000000 && itemId < 167000000)

Добавлено через 27 минут
Кстати, в ItemService.java

Код:

//temp fix for manastone spam till templates are updated
                if(manaStones.size() > 6)

Тоже интересная строка:
Set<FusionStone> manaStones = item.getFusionStones();
if(manaStones.size() > item.getSockets(true))

Должно помочь, тем кто хочет разрешить точку манастоунами больше 6

Но где же нужное(

Добавлено через 1 час 14 минут

Во CM_MANASTONE.java

Мои иды камней: от 199910101 до 199910517
Код:

                                                                                                                        int msID = Math.round(manastone.getItemTemplate().getTemplateId()/1000000);
                int tID = Math.round(targetItem.getItemTemplate().getTemplateId()/1000000);
                if((msID != 167 && msID != 166 && msID != 199) || tID >= 101)




Попробую, но думаю не только в этом дело

Добавлено через 6 часов 4 минуты
Не только =(


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

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot