Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Не работает зона баф\дебаф
#1
Добрый день,
все вроде правильно прописано.
но при убийстве королевы Shyeed в стокато зона не меняется я так предполагаю,
дебаф не меняется на баф

вот AI
Код:
package ai;

import l2p.gameserver.ai.Fighter;
import l2p.gameserver.instancemanager.ZoneManager;
import l2p.gameserver.model.L2Character;
import l2p.gameserver.model.L2Zone;
import l2p.gameserver.model.L2Zone.ZoneType;

/**
* Ai для Queen Syeed в Stakato nest
* При смерти меняет зонатор(Выключает одну зону включает другую...)
*/
public class QueenShyeed extends Fighter
{
    public QueenShyeed(L2Character actor)
    {
        super(actor);
    }

    @Override
    protected void onEvtSpawn()
    {
        L2Zone buffZone = ZoneManager.getInstance().getZoneById(ZoneType.dummy, 999222, false);
        L2Zone debuffZone = ZoneManager.getInstance().getZoneById(ZoneType.damage, 999223, false);
        if(buffZone != null && debuffZone != null)
        {
            buffZone.setActive(false);
            debuffZone.setActive(true);
        }
        super.onEvtSpawn();
    }

    @Override
    protected void onEvtDead(L2Character killer)
    {
        L2Zone buffZone = ZoneManager.getInstance().getZoneById(ZoneType.dummy, 999222, false);
        L2Zone debuffZone = ZoneManager.getInstance().getZoneById(ZoneType.damage, 999223, false);
        if(buffZone != null && debuffZone != null)
        {
            buffZone.setActive(true);
            debuffZone.setActive(false);
        }
        super.onEvtDead(killer);
    }
}

Зоны

Код:
<zone id="999223" name="[StakatoNest]" type="damage">
        <set name="enabled" val="false"/>
        <set name="target" val="pc"/>
        <set name="skill_name" val="6169;1"/>
        <set name="skill_prob" val="100"/>
        <set name="unit_tick" val="60"/>
        <set name="initial_delay" val="1"/>
        <shape>
            <coords loc="89592 -42120 -6136 -4128"/>
            <coords loc="89592 -57352 -6136 -4128"/>
            <coords loc="73864 -57352 -6136 -4128"/>
            <coords loc="73864 -42056 -6136 -4128"/>
        </shape>
    </zone>

Код:
/zone><zone id="999222" name="[StakatoNest]" type="dummy">
        <set name="enabled" val="true"/>
        <set name="target" val="pc"/>
        <set name="skill_name" val="6171;1"/>
        <set name="skill_prob" val="100"/>
        <set name="unit_tick" val="60"/>
        <set name="initial_delay" val="1"/>
        <shape>
            <coords loc="89592 -42120 -6136 -4128"/>
            <coords loc="89592 -57352 -6136 -4128"/>
            <coords loc="73864 -57352 -6136 -4128"/>
            <coords loc="73864 -42056 -6136 -4128"/>
        </shape>
    </zone>

помогите сделать.
Ответ
#2
PHP код:
<?php 
// Queen Shyeed Management
private static Zone _zone_mob_buff = ReflectionUtils.getZone("[stakato_mob_buff]");
private static
Zone _zone_mob_buff_pc_display = ReflectionUtils.getZone("[stakato_mob_buff_display]");
private static
Zone _zone_pc_buff = ReflectionUtils.getZone("[stakato_pc_buff]");
private static
boolean _debuffed = false;
PHP код:
<?php 
@Override
protected void onEvtSpawn()
{
NpcInstance actor = getActor();
if(
actor.getNpcId() != QUEEN_SHYEED)
{
super.onEvtSpawn();
return;
}
if(!
_debuffed)
{
_debuffed = true;
_zone_mob_buff.setActive(true);
_zone_mob_buff_pc_display.setActive(true);
_zone_pc_buff.setActive(false);
}
for(
Player player : World.getAroundPlayers(actor))
if(
player != null)
player.sendPacket(Msg.SHYEED_S_ROAR_FILLED_WITH_WRATH_RINGS_THROUGHOUT_THE_STAKATO_NEST);
super.onEvtSpawn();
}
PHP код:
<?php 
@Override
protected void onEvtDead(Creature killer)
{
NpcInstance actor = getActor();

MinionInstance _minion = getAliveMinion(actor);
MonsterInstance _leader = null;

switch(
actor.getNpcId())
{
case
SPIKE_STAKATO_NURSE:
if(
_minion == null)
break;
actor.broadcastPacket(new MagicSkillUse(actor, 2046, 1, 1000, 0));
for(
int i = 0; i < 3; i++)
spawnMonster(_minion, killer, SPIKED_STAKATO_CAPTAIN);
break;
case
SPIKED_STAKATO_BABY:
_leader = ((MinionInstance) actor).getLeader();
if(
_leader != null && !_leader.isDead())
ThreadPoolManager.getInstance().schedule(new ChangeMonster(SPIKE_STAKATO_NURSE_CHANGED, actor, killer), 3000L);
break;
case
MALE_SPIKED_STAKATO:
if(
_minion == null)
break;
actor.broadcastPacket(new MagicSkillUse(actor, 2046, 1, 1000, 0));
for(
int i = 0; i < 3; i++)
spawnMonster(_minion, killer, SPIKED_STAKATO_GUARD);
break;
case
FEMALE_SPIKED_STAKATO:
_leader = ((MinionInstance) actor).getLeader();
if(
_leader != null && !_leader.isDead())
ThreadPoolManager.getInstance().schedule(new ChangeMonster(MALE_SPIKED_STAKATO_2, actor, killer), 3000L);
break;
[
COLOR="Red"]case QUEEN_SHYEED:
if(
_debuffed)
{
_debuffed = false;
_zone_pc_buff.setActive(true);
_zone_mob_buff.setActive(false);
_zone_mob_buff_pc_display.setActive(false);
}[/
COLOR]
break;
default:
break;
}
super.onEvtDead(killer);
}
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Не работает Expirience у Петов при каче Magican 0 1,068 09-15-2022, 12:44 AM
Последний пост: Magican
  Ява не работает с бд(линукс) LifeAfterWoW 2 2,647 10-20-2019, 11:06 AM
Последний пост: LifeAfterWoW
  Event AprilFools сборка L2J HF5 не работает. Travesil 0 1,209 11-16-2015, 08:17 PM
Последний пост: Travesil
  Скрипт установки сервера не работает. Linux /. SunWar 2 1,329 08-24-2014, 06:48 PM
Последний пост: SunWar
  Зона торговли lin 17 3,480 06-05-2014, 10:00 PM
Последний пост: linliss
  ХФ Сhain Heal скил - как работает на офе? Munhgauzen 8 1,666 11-06-2013, 01:04 AM
Последний пост: ММЗ
  Не работает сервис делевел L2J 6 1,896 11-05-2013, 02:39 AM
Последний пост: L2CCCP
  Батл зона. white7777x 6 1,740 08-28-2013, 05:13 PM
Последний пост: moveton
  Инстанс Зона KpoIIIuK 1 1,601 05-24-2013, 03:12 PM
Последний пост: smeli
  ТОрг Зона natarios 9 2,373 04-29-2013, 06:27 PM
Последний пост: L2jTeam

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


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