Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Change Weapon ID
#1
Кто знает ИД камаель скила Change Weapon. Я просто хоч удслеать пару скилов чтоб там тату меняло к примеру на более сильное или еще ченить. Но мне нуден примерник а примерник этот скил а ИД его в интернете я не нашел

Добавлено через 28 минут
все нанадо нашел 1473 кому тоже надо
Ответ
#2
ищи по названию в папках skills в серваке .... gameserver\data\stats/skills/xml


не успел спасибку заработать)))
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#3
STIGMATED, Спасибку получишь щас и ще еполучишь спс-ку если поможешь понять где менять ид шмотов которые нужны для скила и какие получаються в ответ. ))
Ответ
#4
код скила в студию))
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
Ответ
#5
STIGMATED, А там ток код нужен может еще что то. Вот код из папки stat's.

Код:
<skill id="1473" levels="1" name="Change Weapon">
  <!-- CT2.2 retail confirmed -->
  <set name="mpInitialConsume" val="4"/>
  <set name="mpConsume" val="25"/>
  <set name="target" val="TARGET_SELF"/>
  <set name="skillType" val="CHANGEWEAPON"/>
  <set name="operateType" val="OP_ACTIVE"/>
  <set name="hitTime" val="5000"/>
  <set name="reuseDelay" val="0"/>
  <set name="isMagic" val="true"/>
  <cond msgId="113" addName="1">
    <using weaponChange="true"/>
  </cond>
</skill>

Это из itemskills.java

Код:
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.itemhandlers;

import javolution.util.FastMap;
import ru.rt.gameserver.datatables.SkillTable;
import ru.rt.gameserver.handler.IItemHandler;
import ru.rt.gameserver.model.L2ItemInstance;
import ru.rt.gameserver.model.L2Skill;
import ru.rt.gameserver.model.actor.L2Playable;
import ru.rt.gameserver.model.actor.instance.L2PcInstance;
import ru.rt.gameserver.model.actor.instance.L2PetInstance;
import ru.rt.gameserver.model.actor.instance.L2SummonInstance;
import ru.rt.gameserver.model.actor.instance.L2PcInstance.TimeStamp;
import ru.rt.gameserver.model.entity.TvTEvent;
import ru.rt.gameserver.network.SystemMessageId;
import ru.rt.gameserver.network.serverpackets.ActionFailed;
import ru.rt.gameserver.network.serverpackets.SystemMessage;
import ru.rt.gameserver.templates.item.L2EtcItemType;


public class ItemSkills implements IItemHandler
{
    /**
     *
     * @see ru.rt.gameserver.handler.IItemHandler#useItem(ru.rt.gameserver.model.actor.L2Playable, ru.rt.gameserver.model.L2ItemInstance)
     */
    public void useItem(L2Playable playable, L2ItemInstance item)
    {
        L2PcInstance activeChar; // use activeChar only for L2PcInstance checks where cannot be used PetInstance
        boolean isPet = playable instanceof L2PetInstance;
        if (playable instanceof L2PcInstance)
            activeChar = (L2PcInstance) playable;
        else if (isPet)
            activeChar = ((L2PetInstance) playable).getOwner();
        else
            return;
        if (activeChar.isInOlympiadMode())
        {
            activeChar.sendPacket(new SystemMessage(SystemMessageId.THIS_ITEM_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT));
            return;
        }
        if (!TvTEvent.onScrollUse(playable.getObjectId()))
        {
            playable.sendPacket(ActionFailed.STATIC_PACKET);
            return;
        }
        int skillId;
        int skillLvl;

        final String[] skills = item.getEtcItem().getSkills();
        if (skills != null)
        {
            for (String skillInfo : skills)
            {
                String[] skill = skillInfo.split("-");
                if (skill != null && skill.length == 2)
                {
                    skillId = Integer.parseInt(skill[0]);
                    skillLvl = Integer.parseInt(skill[1]);
                    if (skillId > 0 && skillLvl > 0)
                    {
                        L2Skill itemSkill = SkillTable.getInstance().getInfo(skillId, skillLvl);
                        if (itemSkill != null)
                        {
                            if (!itemSkill.checkCondition(playable, playable.getTarget(), false))
                                return;
                            if ( playable.isSkillDisabled(skillId))
                            {
                                reuse(activeChar,itemSkill);
                                return ;
                            }
                            // pets can use items only when they are tradeable
                            if (isPet && !item.isTradeable())
                                activeChar.sendPacket(new SystemMessage(SystemMessageId.ITEM_NOT_FOR_PETS));
                            else
                            {
                                // send message to owner
                                if (isPet)
                                {
                                    SystemMessage sm = new SystemMessage(SystemMessageId.PET_USES_S1);
                                    sm.addString(itemSkill.getName());
                                    activeChar.sendPacket(sm);
                                }
                                else
                                {
                                    switch (skillId)
                                    {
                                        // short buff icon for healing potions
                                        case 2031:
                                        case 2032:
                                        case 2037:
                                        case 26025:
                                        case 26026:
                                            int buffId = activeChar._shortBuffTaskSkillId;
                                            // greater healing potions
                                            if (skillId == 2037 || skillId == 26025)
                                                activeChar.shortBuffStatusUpdate(skillId, skillLvl, itemSkill.getBuffDuration()/1000);
                                            // healing potions
                                            else if ((skillId == 2032 || skillId == 26026) && buffId !=2037 && buffId != 26025)
                                                activeChar.shortBuffStatusUpdate(skillId, skillLvl, itemSkill.getBuffDuration()/1000);
                                            // lesser healing potions
                                            else
                                            {
                                                if (buffId != 2037 && buffId != 26025 && buffId != 2032 && buffId != 26026)
                                                    activeChar.shortBuffStatusUpdate(skillId, skillLvl, itemSkill.getBuffDuration()/1000);
                                            }
                                            break;
                                    }
                                }
                                if (itemSkill.isPotion())
                                {
                                    playable.doSimultaneousCast(itemSkill);
                                    // Summons should be affected by herbs too, self time effect is handled at L2Effect constructor
                                    if (!isPet && item.getItemType() == L2EtcItemType.HERB && activeChar.getPet() != null && activeChar.getPet() instanceof L2SummonInstance)
                                        activeChar.getPet().doSimultaneousCast(itemSkill);
                                }
                                else
                                {
                                    playable.stopMove(null);
                                    playable.doCast(itemSkill);
                                }
                                if (itemSkill.getReuseDelay() > 0)
                                    activeChar.addTimeStamp(skillId, itemSkill.getReuseDelay());
                            }
                        }
                    }
                }
            }
        }
    }
    
    private void reuse(L2PcInstance player,L2Skill skill)
    {
        SystemMessage sm = null;
        FastMap<Integer, TimeStamp> timeStamp = player.getReuseTimeStamp();
            
        if (timeStamp != null && timeStamp.containsKey(skill.getId()))
        {
            int remainingTime = (int)(player.getReuseTimeStamp().get(skill.getId()).getRemaining()/1000);
            int hours = remainingTime/3600;
            int minutes = (remainingTime%3600)/60;
            int seconds = (remainingTime%60);
            if (hours > 0)
            {
                sm = new SystemMessage(SystemMessageId.S2_HOURS_S3_MINUTES_S4_SECONDS_REMAINING_FOR_REUSE_S1);
                sm.addSkillName(skill);
                sm.addNumber(hours);
                sm.addNumber(minutes);
            }
            else if (minutes > 0)
            {
                sm = new SystemMessage(SystemMessageId.S2_MINUTES_S3_SECONDS_REMAINING_FOR_REUSE_S1);
                sm.addSkillName(skill);
                sm.addNumber(minutes);
            }
            else
            {
                sm = new SystemMessage(SystemMessageId.S2_SECONDS_REMAINING_FOR_REUSE_S1);
                sm.addSkillName(skill);
            }
            sm.addNumber(seconds);
        }
        else
        {
            sm = new SystemMessage(SystemMessageId.S1_PREPARED_FOR_REUSE);
            sm.addSkillName(skill);
        }
        player.sendPacket(sm);
    }
}
Назнаю надо это или нет но я кинуть на всякий случай
Ответ
#6
Кое кто мне тут кое с чем помоч должне был. )))
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Обмен weapon\armor\jewel Drosel 6 1,590 09-14-2015, 05:43 PM
Последний пост: smeli
  Помогите с добавлением в armor.dat и weapon.dat!!! Dam0n 2 1,335 03-01-2015, 01:22 AM
Последний пост: Donatte
  Hero Weapon - Enchant Дух системы 1 1,612 05-03-2010, 11:08 AM
Последний пост: Дух системы
  PvP Weapon DorianGrey 0 1,766 11-07-2009, 10:45 AM
Последний пост: DorianGrey
  Weapon для Interlude RON 2 2,582 09-26-2009, 09:09 PM
Последний пост: RON
  [Проблема]Dynasty Weapon текстуры DwarZ 0 1,919 05-17-2009, 08:58 PM
Последний пост: DwarZ
  Aion Weapon YK_Sirius 0 1,808 05-10-2009, 12:48 PM
Последний пост: YK_Sirius
  Не вставляеться са в S80 weapon ReXaL 3 2,757 04-23-2009, 05:14 PM
Последний пост: DarkLoki
  Vesper Weapon Evil-Soft 0 1,864 02-12-2009, 11:24 AM
Последний пост: Evil-Soft
  Проклятое оружие / Cursed Weapon fain 1 2,571 08-18-2008, 08:27 PM
Последний пост: Nytrex

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


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