Рейтинг темы:
  • 4 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Работа над Goddess of Destruction (part 5)
у кого есть ддф файл для оружия (weapon.grp) хармони или таути?
в чем может быть проблема, не показывает скилы и действия самонов.

Когда вызываешь пета у него есть скилы, и в PetInfo максимальные и текущие очки призыва по 0 тоже есть.

415 протокол.
kasik Написал:в чем может быть проблема, не показывает скилы и действия самонов.

Когда вызываешь пета у него есть скилы, и в PetInfo максимальные и текущие очки призыва по 0 тоже есть.

415 протокол.

в пакете PetInfo добавилось 2 дешки и дальше статы очков делай и добавляй их в скил
//фейл,удалите
я не про то, я про то что после этого скилы не отображаются.
kasik Написал:я не про то, я про то что после этого скилы не отображаются.
тут RequestActionUse и тут ExBasicActionList нужно ещё добавлять иды. потому что там через эти пакеты всё идёт. но и скилы для них тоже нужны
так даже и простых действий нет, а по мне они должны быть автоматом.
kasik Написал:так даже и простых действий нет, а по мне они должны быть автоматом.

Ага, автоматом и сборка NCSoft у Вас на винчестере появится.
Web программист\разработчик

— Есть только один способ проделать большую работу — полюбить ее. Если вы к этому не пришли, подождите. Не беритесь за дело.
хм.... а почему тогда когда в PetInfo 2 последние:

Код:
writeD(0);
writeD(0);

базовые, Атака, Отозвать и т.д. есть, а когда туда передаю текущие и максимальные очки, не одного действия.
kasik Написал:хм.... а почему тогда когда в PetInfo 2 последние:

Код:
writeD(0);
writeD(0);

базовые, Атака, Отозвать и т.д. есть, а когда туда передаю текущие и максимальные очки, не одного действия.

Код:
package l2p.gameserver.serverpackets;

import l2p.gameserver.model.Summon;
import l2p.gameserver.model.base.TeamType;
import l2p.gameserver.tables.PetDataTable;
import l2p.gameserver.utils.Location;

public class PetInfo extends L2GameServerPacket {
    private int _runSpd, _walkSpd, MAtkSpd, PAtkSpd, pvp_flag, karma, rideable;
    private int _type, obj_id, npc_id, runing, incombat, dead, _sp, level, _abnormalEffect, _abnormalEffect2;
    private int curFed, maxFed, curHp, maxHp, curMp, maxMp, curLoad, maxLoad;
    private int PAtk, PDef, MAtk, MDef, Accuracy, Evasion, Crit, sps, ss, type, _showSpawnAnimation, MEvasion, MAccuracy, MCritRate;
    private Location _loc;
    private double col_radius, col_height;
    private long exp, exp_this_lvl, exp_next_lvl;
    private String _name, title;
    private TeamType _team;
    private int summonPoint, summonPointsMax;

    public PetInfo(Summon summon) {
        _type = summon.getSummonType();
        obj_id = summon.getObjectId();
        npc_id = summon.getTemplate().npcId;
        _loc = summon.getLoc();
        MAtkSpd = summon.getMAtkSpd();
        PAtkSpd = summon.getPAtkSpd();
        _runSpd = summon.getRunSpeed();
        _walkSpd = summon.getWalkSpeed();
        col_radius = summon.getColRadius();
        col_height = summon.getColHeight();
        runing = summon.isRunning() ? 1 : 0;
        incombat = summon.isInCombat() ? 1 : 0;
        dead = summon.isAlikeDead() ? 1 : 0;
        _name = summon.getName().equalsIgnoreCase(summon.getTemplate().name) ? "" : summon.getName();
        title = summon.getTitle();
        pvp_flag = summon.getPvpFlag();
        karma = summon.getKarma();
        curFed = summon.getCurrentFed();
        maxFed = summon.getMaxFed();
        curHp = (int) summon.getCurrentHp();
        maxHp = summon.getMaxHp();
        curMp = (int) summon.getCurrentMp();
        maxMp = summon.getMaxMp();
        _sp = summon.getSp();
        level = summon.getLevel();
        exp = summon.getExp();
        exp_this_lvl = summon.getExpForThisLevel();
        exp_next_lvl = summon.getExpForNextLevel();
        curLoad = summon.isPet() ? summon.getInventory().getTotalWeight() : 0;
        maxLoad = summon.getMaxLoad();
        PAtk = summon.getPAtk(null);
        PDef = summon.getPDef(null);
        MAtk = summon.getMAtk(null, null);
        MDef = summon.getMDef(null, null);
        Accuracy = summon.getAccuracy();
        Evasion = summon.getEvasionRate(null);
        Crit = summon.getCriticalHit(null, null);
        _abnormalEffect = summon.getAbnormalEffect();
        _abnormalEffect2 = summon.getAbnormalEffect2();
        // В режиме трансформации значек mount/dismount не отображается
        if (summon.getPlayer().getTransformation() != 0)
            rideable = 0; //not rideable
        else
            rideable = PetDataTable.isMountable(npc_id) ? 1 : 0;
        _team = summon.getTeam();
        ss = summon.getSoulshotConsumeCount();
        sps = summon.getSpiritshotConsumeCount();
        _showSpawnAnimation = summon.getSpawnAnimation();
        type = summon.getFormId();
        MEvasion = summon.getMEvasionRate(null);
        MAccuracy = summon.getMAccuracy(null);
        MCritRate = (int) summon.getMagicCriticalRate(null, null);
        summonPoint = summon.getPlayer().getSummonList().getUsedPoints();
        summonPointsMax = summon.getPlayer().getSummonPointMax();
    }

    public PetInfo update() {
        _showSpawnAnimation = 1;
        return this;
    }

    @Override
    protected final void writeImpl() {
        writeC(0xB2);
        writeD(_type);
        writeD(obj_id);
        writeD(npc_id + 1000000);
        writeD(0); // 1=attackable
        writeD(_loc.x);
        writeD(_loc.y);
        writeD(_loc.z);
        writeD(_loc.h);
        writeD(0);
        writeD(MAtkSpd);
        writeD(PAtkSpd);
        writeD(_runSpd);
        writeD(_walkSpd);
        writeD(_runSpd/*_swimRunSpd*/);
        writeD(_walkSpd/*_swimWalkSpd*/);
        writeD(_runSpd/*_flRunSpd*/);
        writeD(_walkSpd/*_flWalkSpd*/);
        writeD(_runSpd/*_flyRunSpd*/);
        writeD(_walkSpd/*_flyWalkSpd*/);
        writeF(1/*_cha.getProperMultiplier()*/);
        writeF(1/*_cha.getAttackSpeedMultiplier()*/);
        writeF(col_radius);
        writeF(col_height);
        writeD(0); // right hand weapon
        writeD(0);
        writeD(0); // left hand weapon
        writeC(1); // name above char 1=true ... ??
        writeC(runing); // running=1
        writeC(incombat); // attacking 1=true
        writeC(dead); // dead 1=true
        writeC(_showSpawnAnimation); // invisible ?? 0=false  1=true   2=summoned (only works if model has a summon animation)
        writeD(-1);
        writeS(_name);
        writeD(-1);
        writeS(title);
        writeD(1);
        writeD(pvp_flag); //0=white, 1=purple, 2=purpleblink, if its greater then karma = purple
        writeD(karma); // hmm karma ??
        writeD(curFed); // how fed it is
        writeD(maxFed); //max fed it can be
        writeD(curHp); //current hp
        writeD(maxHp); // max hp
        writeD(curMp); //current mp
        writeD(maxMp); //max mp
        writeD(_sp); //sp
        writeD(level);// lvl
        writeQ(exp);
        writeQ(exp_this_lvl); // 0%  absolute value
        writeQ(exp_next_lvl); // 100% absoulte value
        writeD(curLoad); //weight
        writeD(maxLoad); //max weight it can carry
        writeD(PAtk);//patk
        writeD(PDef);//pdef
        writeD(MAtk);//matk
        writeD(MDef);//mdef
        writeD(MEvasion);        // mEvasion    //GOD
        writeD(MAccuracy);       // mAccuracy   //GOD
        writeD(MCritRate);       // mCritRate   //GOD
        writeD(Accuracy);//accuracy
        writeD(Evasion);//evasion
        writeD(Crit);//critical
        writeD(_runSpd);//speed
        writeD(PAtkSpd);//atkspeed
        writeD(MAtkSpd);//casting speed
        writeD(_abnormalEffect); //c2  abnormal visual effect... bleed=1; poison=2; bleed?=4;
        writeD(rideable);
        writeC(0); // c2
        writeC(_team.ordinal()); // team aura (1 = blue, 2 = red)
        writeD(ss);
        writeD(sps);
        writeD(type);
        writeD(_abnormalEffect2);

        writeD(0x00);// transformation id
        writeD(summonPoint);// Сколько очков призыва потребляетcя в данный момент
        writeD(summonPointsMax);// Сколько очков призыва имеется (максимум)
    }
}

Добавлено через 7 минут
может я чёт не догоняю что тебе надо. ты подробнее опиши что имено нудно. чтоб выполнялись действия при нажатиии иконки скила в мультипете или что?


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Работа над Goddess of Destruction (part 7) n3k0nation 459 174,222 03-21-2022, 04:21 PM
Последний пост: TieLay
  Помогите с Сервером L2Dream версии 439 для Lineage 2 Gracia Part 2 CAHTEX 4 3,379 10-01-2021, 02:40 PM
Последний пост: tenor
  Работа с камерой и Энтер чат FriendlyGhost 0 1,301 04-29-2018, 06:07 AM
Последний пост: FriendlyGhost
  Goddess of Destruction ( новая ветка от NcSoft ) Bacek 180 58,972 08-22-2017, 12:32 PM
Последний пост: BadStealth
  EmuRT Gracia part 2 ? knaif 3 1,622 02-08-2016, 01:19 PM
Последний пост: knaif
  Gracia Part 1 от l2emu исходы TFH 6 1,964 10-05-2015, 07:53 PM
Последний пост: G1ta0
  Ищу исходы L2-Dream gracia part 2 knaif 1 1,385 10-05-2015, 07:51 PM
Последний пост: G1ta0
  Оплачиваемая работа Grek1993 1 1,349 08-01-2015, 11:29 AM
Последний пост: ztaecz
  Работа над Goddess of Destruction (part 6) Ashe 1,274 471,492 07-11-2015, 08:00 PM
Последний пост: n3k0nation
  Работа с мультиселлом Evencelance 11 2,446 09-19-2014, 12:43 PM
Последний пост: Evencelance

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


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