Raid Boss Zona - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Работа со скриптами

Работа со скриптами Помощь в редактировании и написании квестов к Java серверам, а так же эвентов.

Ответ
Опции темы
Непрочитано 07.09.2012, 02:19   #1
Пользователь

Автор темы (Топик Стартер) Raid Boss Zona

Подскажите как сделать РБ зону для Queen ant , так что бы к нему нему нельзя было подойти хай леволем (допустим выше 45) , и нельзя было его вытаскивать за приделы его комнаты чтобы бос не бегал за тобой по всей пещере.

использую сборку L2jFrozen.
tonnyone вне форума Ответить с цитированием
Непрочитано 07.09.2012, 06:13   #2
Пользователь

По умолчанию Re: Raid Boss Zona

1) Смотрите пакет L2BossZone и реализуете проверку на имя зоны и уровень игрока входящего в нее.
2) Можно в принципе использовать общую привязку к точки спавна в Инстансе гранд боссов, а можно привязать к самой зоне ант квина в его АИ .
P.S. Готовые решения давать не считаю разумным.
KamchaT вне форума Ответить с цитированием
Непрочитано 07.09.2012, 07:46   #3
Пользователь

Автор темы (Топик Стартер) Re: Raid Boss Zona

Цитата:
Сообщение от KamchaT Посмотреть сообщение
1) Смотрите пакет L2BossZone и реализуете проверку на имя зоны и уровень игрока входящего в нее.
2) Можно в принципе использовать общую привязку к точки спавна в Инстансе гранд боссов, а можно привязать к самой зоне ант квина в его АИ .
P.S. Готовые решения давать не считаю разумным.
Нашел этот аи в ядре но что там заменить разобраться не могу , какое примерное название строки ?

Добавлено через 58 минут
Вот L2BossZone
PHP код:
// Decompiled by DJ v3.11.11.95 Copyright 2009 Atanas Neshkov  Date: 07.09.2012 11:40:35
// Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   L2BossZone.java

package com.l2jfrozen.gameserver.model.zone.type;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.GameServer;
import com.l2jfrozen.gameserver.datatables.csv.MapRegionTable;
import com.l2jfrozen.gameserver.model.L2Character;
import com.l2jfrozen.gameserver.model.actor.instance.L2NpcInstance;
import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfrozen.gameserver.model.actor.knownlist.NpcKnownList;
import com.l2jfrozen.gameserver.model.zone.L2ZoneType;
import com.l2jfrozen.util.L2FastList;
import java.util.*;
import javolution.util.FastMap;

public class 
L2BossZone extends L2ZoneType
{

    public 
L2BossZone(int idint boss_id)
    {
        
super(id);
        
_enabled true;
        
_IsFlyingEnable true;
        
_bossId boss_id;
        
_playerAllowedReEntryTimes = new FastMap();
        
_playersAllowed = new L2FastList();
    }

    public 
void setParameter(String nameString value)
    {
        if(
name.equals("name"))
            
_zoneName value;
        else
        if(
name.equals("InvadeTime"))
            
_timeInvade Integer.parseInt(value);
        else
        if(
name.equals("EnabledByDefault"))
            
_enabled Boolean.parseBoolean(value);
        else
        if(
name.equals("flying"))
            
_IsFlyingEnable Boolean.parseBoolean(value);
        else
            
super.setParameter(namevalue);
    }

    protected 
void onEnter(L2Character character)
    {
        if(
_enabled && (character instanceof L2PcInstance))
        {
            
L2PcInstance player = (L2PcInstance)character;
            if(
player.isGM() || Config.ALLOW_DIRECT_TP_TO_BOSS_ROOM)
            {
                
player.sendMessage((new StringBuilder()).append("You entered ").append(_zoneName).toString());
                return;
            }
            if(!
player.isGM() && player.isFlying() && !_IsFlyingEnable)
            {
                
player.teleToLocation(com.l2jfrozen.gameserver.datatables.csv.MapRegionTable.TeleportWhereType.Town);
                return;
            }
            if(
_playersAllowed.contains(Integer.valueOf(character.getObjectId())))
            {
                
Long expirationTime = (Long)_playerAllowedReEntryTimes.get(Integer.valueOf(character.getObjectId()));
                if(
expirationTime == null)
                {
                    
long serverStartTime GameServer.dateTimeServerStarted.getTimeInMillis();
                    if(
serverStartTime System.currentTimeMillis() - (long)_timeInvade)
                        return;
                } else
                {
                    
_playerAllowedReEntryTimes.remove(Integer.valueOf(character.getObjectId()));
                    if(
expirationTime.longValue() > System.currentTimeMillis())
                        return;
                }
                
_playersAllowed.remove(_playersAllowed.indexOf(Integer.valueOf(character.getObjectId())));
            }
            
player.teleToLocation(com.l2jfrozen.gameserver.datatables.csv.MapRegionTable.TeleportWhereType.Town);
            
player null;
        }
    }

    public 
void movePlayersTo(int xint yint z)
    {
        if(
_characterList.isEmpty())
            return;
        
Iterator i$ = _characterList.values().iterator();
        do
        {
            if(!
i$.hasNext())
                break;
            
L2Character character = (L2Character)i$.next();
            if(
character instanceof L2PcInstance)
            {
                
L2PcInstance player = (L2PcInstance)character;
                if(
player.isOnline() == 1)
                    
player.teleToLocation(xyz);
            }
        } while(
true);
    }

    protected 
void onExit(L2Character character)
    {
        if(
_enabled && (character instanceof L2PcInstance))
        {
            
L2PcInstance player = (L2PcInstance)character;
            if(
player.isGM())
            {
                
player.sendMessage((new StringBuilder()).append("You left ").append(_zoneName).toString());
                return;
            }
            if(
player.isOnline() == && _playersAllowed.contains(Integer.valueOf(character.getObjectId())))
                
_playerAllowedReEntryTimes.put(Integer.valueOf(character.getObjectId()), Long.valueOf(System.currentTimeMillis() + (long)_timeInvade));
            
player null;
        }
    }

    public 
void setZoneEnabled(boolean flag)
    {
        if(
_enabled != flag)
            
oustAllPlayers();
        
_enabled flag;
    }

    public 
String getZoneName()
    {
        return 
_zoneName;
    }

    public 
int getTimeInvade()
    {
        return 
_timeInvade;
    }

    public 
void setAllowedPlayers(L2FastList players)
    {
        if(
players != null)
            
_playersAllowed players;
    }

    public 
L2FastList getAllowedPlayers()
    {
        return 
_playersAllowed;
    }

    public 
boolean isPlayerAllowed(L2PcInstance player)
    {
        if(
player.isGM())
            return 
true;
        if(
_playersAllowed.contains(Integer.valueOf(player.getObjectId())))
        {
            return 
true;
        } else
        {
            
player.teleToLocation(com.l2jfrozen.gameserver.datatables.csv.MapRegionTable.TeleportWhereType.Town);
            return 
false;
        }
    }

    public 
void oustAllPlayers()
    {
        if(
_characterList == null)
            return;
        if(
_characterList.isEmpty())
            return;
        
Iterator i$ = _characterList.values().iterator();
        do
        {
            if(!
i$.hasNext())
                break;
            
L2Character character = (L2Character)i$.next();
            if(
character != null && (character instanceof L2PcInstance))
            {
                
L2PcInstance player = (L2PcInstance)character;
                if(
player.isOnline() == 1)
                    
player.teleToLocation(com.l2jfrozen.gameserver.datatables.csv.MapRegionTable.TeleportWhereType.Town);
                
player null;
            }
        } while(
true);
        
_playerAllowedReEntryTimes.clear();
        
_playersAllowed.clear();
    }

    public 
void allowPlayerEntry(L2PcInstance playerint durationInSec)
    {
        if(!
player.isGM())
        {
            if(!
_playersAllowed.contains(Integer.valueOf(player.getObjectId())))
                
_playersAllowed.add(Integer.valueOf(player.getObjectId()));
            
_playerAllowedReEntryTimes.put(Integer.valueOf(player.getObjectId()), Long.valueOf(System.currentTimeMillis() + (long)(durationInSec 1000)));
        }
    }

    protected 
void onDieInside(L2Character l2character)
    {
    }

    protected 
void onReviveInside(L2Character l2character)
    {
    }

    public 
void updateKnownList(L2NpcInstance npc)
    {
        if(
_characterList == null || _characterList.isEmpty())
            return;
        
Map npcKnownPlayers npc.getKnownList().getKnownPlayers();
        
Iterator i$ = _characterList.values().iterator();
        do
        {
            if(!
i$.hasNext())
                break;
            
L2Character character = (L2Character)i$.next();
            if(
character != null && (character instanceof L2PcInstance))
            {
                
L2PcInstance player = (L2PcInstance)character;
                if(
player.isOnline() == && !player.isOffline())
                    
npcKnownPlayers.put(Integer.valueOf(player.getObjectId()), player);
            }
        } while(
true);
    }

    public 
int getBossId()
    {
        return 
_bossId;
    }

    private 
String _zoneName;
    private 
int _timeInvade;
    private 
boolean _enabled;
    private 
boolean _IsFlyingEnable;
    private 
FastMap _playerAllowedReEntryTimes;
    private 
L2FastList _playersAllowed;
    private 
int _bossId;

А вот АИ Queen Ant

PHP код:
// Decompiled by DJ v3.11.11.95 Copyright 2009 Atanas Neshkov  Date: 07.09.2012 11:26:35
// Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!
// Decompiler options: packimports(3) 
// Source File Name:   QueenAnt.java

package com.l2jfrozen.gameserver.ai.special;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.ai.CtrlIntention;
import com.l2jfrozen.gameserver.ai.L2CharacterAI;
import com.l2jfrozen.gameserver.datatables.SkillTable;
import com.l2jfrozen.gameserver.managers.GrandBossManager;
import com.l2jfrozen.gameserver.model.L2Attackable;
import com.l2jfrozen.gameserver.model.actor.instance.*;
import com.l2jfrozen.gameserver.model.entity.Announcements;
import com.l2jfrozen.gameserver.model.quest.Quest;
import com.l2jfrozen.gameserver.model.spawn.L2Spawn;
import com.l2jfrozen.gameserver.model.zone.type.L2BossZone;
import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;
import com.l2jfrozen.gameserver.network.serverpackets.SocialAction;
import com.l2jfrozen.gameserver.templates.StatsSet;
import com.l2jfrozen.util.random.Rnd;
import java.util.List;
import java.util.logging.Logger;
import javolution.util.FastList;

public class 
QueenAnt extends Quest
    
implements Runnable
{
    static final class 
Event extends Enum
    
{

        public static 
Event[] values()
        {
            return (
Event[])$VALUES.clone();
        }

        public static 
Event valueOf(String name)
        {
            return (
Event)Enum.valueOf(com/l2jfrozen/gameserver/ai/special/QueenAnt$Eventname);
        }

        public static final 
Event QUEEN_SPAWN;
        public static final 
Event CHECK_MINIONS_ZONE;
        public static final 
Event ACTION;
        public static final 
Event DESPAWN_MINIONS;
        public static final 
Event SPAWN_ROYAL;
        public static final 
Event SPAWN_QUEEN_NURSE;
        public static final 
Event SPAWN_LARVA_NURSE;
        public static final 
Event LARVA_SPAWN;
        public static final 
Event LARVA_DESPAWN;
        private static final 
Event $VALUES[];

        static 
        {
            
QUEEN_SPAWN = new Event("QUEEN_SPAWN"0);
            
CHECK_MINIONS_ZONE = new Event("CHECK_MINIONS_ZONE"1);
            
ACTION = new Event("ACTION"2);
            
DESPAWN_MINIONS = new Event("DESPAWN_MINIONS"3);
            
SPAWN_ROYAL = new Event("SPAWN_ROYAL"4);
            
SPAWN_QUEEN_NURSE = new Event("SPAWN_QUEEN_NURSE"5);
            
SPAWN_LARVA_NURSE = new Event("SPAWN_LARVA_NURSE"6);
            
LARVA_SPAWN = new Event("LARVA_SPAWN"7);
            
LARVA_DESPAWN = new Event("LARVA_DESPAWN"8);
            
$VALUES = (new Event[] {
                
QUEEN_SPAWNCHECK_MINIONS_ZONEACTIONDESPAWN_MINIONSSPAWN_ROYALSPAWN_QUEEN_NURSESPAWN_LARVA_NURSELARVA_SPAWNLARVA_DESPAWN
            
});
        }

        private 
Event(String sint i)
        {
            
super(si);
        }
    }


    public 
QueenAnt(int questIdString nameString descr)
    {
        
super(questIdnamedescr);
        
int mobs[] = {
            
2900129002290032900429005
        
};
        
int arr$[] = mobs;
        
int len$ = arr$.length;
        for(
int i$ = 0i$ < len$; i$++)
        {
            
int mob arr$[i$];
            
addEventId(mobcom.l2jfrozen.gameserver.model.quest.Quest.QuestEventType.ON_KILL);
            
addEventId(mobcom.l2jfrozen.gameserver.model.quest.Quest.QuestEventType.ON_ATTACK);
            
addEventId(mobcom.l2jfrozen.gameserver.model.quest.Quest.QuestEventType.ON_FACTION_CALL);
        }

        
_Zone GrandBossManager.getInstance().getZone(-216100x2c55a, -5734);
        
StatsSet info GrandBossManager.getInstance().getStatsSet(29001);
        
Integer status GrandBossManager.getInstance().getBossStatus(29001);
        switch(
status.intValue())
        {
        case 
1// '\001'
        
{
            
long temp info.getLong("respawn_time") - System.currentTimeMillis();
            if(
temp 0L)
            {
                
startQuestTimer("QUEEN_SPAWN"tempnullnull);
                
startQuestTimer("LARVA_SPAWN"1000Lnullnull);
            } else
            {
                
L2GrandBossInstance queen = (L2GrandBossInstance)addSpawn(29001, -216100x2c55a, -57340false0);
                if(
Config.ANNOUNCE_TO_ALL_SPAWN_RB)
                    
Announcements.getInstance().announceToAll((new StringBuilder()).append("Raid boss ").append(queen.getName()).append(" spawned in world.").toString());
                
GrandBossManager.getInstance().setBossStatus(290010);
                
GrandBossManager.getInstance().addBoss(queen);
                
spawnBoss(queen);
            }
            break;
        }

        case 
0// '\0'
        
{
            
int hp info.getInteger("currentHP");
            
int mp info.getInteger("currentMP");
            
L2GrandBossInstance queen = (L2GrandBossInstance)addSpawn(29001, -216100x2c55a, -57340false0);
            if(
Config.ANNOUNCE_TO_ALL_SPAWN_RB)
                
Announcements.getInstance().announceToAll((new StringBuilder()).append("Raid boss ").append(queen.getName()).append(" spawned in world.").toString());
            
GrandBossManager.getInstance().addBoss(queen);
            
queen.setCurrentHpMp(hpmp);
            
spawnBoss(queen);
            break;
        }

        default:
        {
            
L2GrandBossInstance queen = (L2GrandBossInstance)addSpawn(29001, -216100x2c55a, -57340false0);
            if(
Config.ANNOUNCE_TO_ALL_SPAWN_RB)
                
Announcements.getInstance().announceToAll((new StringBuilder()).append("Raid boss ").append(queen.getName()).append(" spawned in world.").toString());
            
GrandBossManager.getInstance().setBossStatus(290010);
            
GrandBossManager.getInstance().addBoss(queen);
            
spawnBoss(queen);
            break;
        }
        }
    }

    private 
void spawnBoss(L2GrandBossInstance npc)
    {
        
startQuestTimer("ACTION"10000Lnpcnulltrue);
        
startQuestTimer("LARVA_DESPAWN"1000Lnullnull);
        
npc.broadcastPacket(new PlaySound(1"BS02_D"1npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
        
int radius 400;
        for(
int i 06i++)
        {
            
int x = (int)((double)radius Math.cos((double)1.407D));
            
int y = (int)((double)radius Math.sin((double)1.407D));
            
_Minions.add((L2Attackable)addSpawn(29003npc.getX() + xnpc.getY() + ynpc.getZ(), 0false0));
        }

        for(
int i 08i++)
        {
            
int x = (int)((double)radius Math.cos((double)0.78539999999999999D));
            
int y = (int)((double)radius Math.sin((double)0.78539999999999999D));
            
_Minions.add((L2Attackable)addSpawn(29005npc.getX() + xnpc.getY() + ynpc.getZ(), 0false0));
        }

        
startQuestTimer("CHECK_MINIONS_ZONE"30000Lnpcnulltrue);
    }

    public 
String onAdvEvent(String eventL2NpcInstance npcL2PcInstance player)
    {
        
Event event_enum Event.valueOf(event);
        static class 
_cls1
        
{

            static final 
int $SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[];

            static 
            {
                
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event = new int[Event.values().length];
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.QUEEN_SPAWN.ordinal()] = 1;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.LARVA_SPAWN.ordinal()] = 2;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.LARVA_DESPAWN.ordinal()] = 3;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.DESPAWN_MINIONS.ordinal()] = 4;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.CHECK_MINIONS_ZONE.ordinal()] = 5;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.SPAWN_ROYAL.ordinal()] = 6;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.SPAWN_QUEEN_NURSE.ordinal()] = 7;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.SPAWN_LARVA_NURSE.ordinal()] = 8;
                }
                catch(
NoSuchFieldError ex) { }
                try
                {
                    
$SwitchMap$com$l2jfrozen$gameserver$ai$special$QueenAnt$Event[Event.ACTION.ordinal()] = 9;
                }
                catch(
NoSuchFieldError ex) { }
            }
        }

label0:
        switch(
_cls1..SwitchMap.com.l2jfrozen.gameserver.ai.special.QueenAnt.Event[event_enum.ordinal()])
        {
        case 
1// '\001'
            
L2GrandBossInstance queen = (L2GrandBossInstance)addSpawn(29001, -216100x2c55a, -57340false0);
            if(
Config.ANNOUNCE_TO_ALL_SPAWN_RB)
                
Announcements.getInstance().announceToAll((new StringBuilder()).append("Raid boss ").append(queen.getName()).append(" spawned in world.").toString());
            
GrandBossManager.getInstance().setBossStatus(290010);
            
GrandBossManager.getInstance().addBoss(queen);
            
spawnBoss(queen);
            break;

        case 
2// '\002'
            
L2Attackable larva = (L2Attackable)addSpawn(29002, -216000x2bd1a, -5846Rnd.get(360), false0);
            
larva.setIsInvul(true);
            
_Larva_minions.add(larva);
            
_Larva_minions.add((L2Attackable)addSpawn(29003, -220000x2bd1a, -58460false0));
            
_Larva_minions.add((L2Attackable)addSpawn(29003, -212000x2bd1a, -58460false0));
            break;

        case 
3// '\003'
            
for(int i 0_Larva_minions.size(); i++)
            {
                
L2Attackable mob = (L2Attackable)_Larva_minions.get(i);
                if(
mob != null)
                    
mob.decayMe();
            }

            
_Larva_minions.clear();
            break;

        case 
4// '\004'
            
for(int i 0_Minions.size(); i++)
            {
                
L2Attackable mob = (L2Attackable)_Minions.get(i);
                if(
mob != null)
                    
mob.decayMe();
            }

            
_Minions.clear();
            break;

        case 
5// '\005'
            
int i 0;
            do
            {
                if(
>= _Minions.size())
                    break 
label0;
                
L2Attackable mob = (L2Attackable)_Minions.get(i);
                if(
mob != null && !mob.isInsideRadius(npc.getX(), npc.getY(), 300false))
                    
mob.teleToLocation(npc.getX(), npc.getY(), npc.getZ());
                
i++;
            } while(
true);

        case 
6// '\006'
            
_Minions.add((L2Attackable)addSpawn(29005npc.getX(), npc.getY(), npc.getZ(), 0true0));
            break;

        case 
7// '\007'
            
_Minions.add((L2Attackable)addSpawn(29003npc.getX(), npc.getY(), npc.getZ(), 0true0));
            break;

        case 
8// '\b'
            
_Larva_minions.add((L2Attackable)addSpawn(29003npc.getX(), npc.getY(), npc.getZ(), 0true0));
            break;

        case 
9// '\t'
            
if(Rnd.get(3) != 0)
                break;
            if(
Rnd.get(2) == 0)
                
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 3));
            else
                
npc.broadcastPacket(new SocialAction(npc.getObjectId(), 4));
            break;

        default:
            
_log.info((new StringBuilder()).append("QUEEN: Not defined event: ").append(event).append("!").toString());
            break;
        }
        return 
super.onAdvEvent(eventnpcplayer);
    }

    public 
String onFactionCall(L2NpcInstance npcL2NpcInstance callerL2PcInstance attackerboolean isPet)
    {
        if(
caller == null || npc == null)
            return 
super.onFactionCall(npccallerattackerisPet);
        
int npcId npc.getNpcId();
        
int callerId caller.getNpcId();
        if(
npcId == 29003)
        {
            if(
callerId == 29002)
            {
                
npc.setTarget(caller);
                
npc.doCast(SkillTable.getInstance().getInfo(40201));
                
npc.doCast(SkillTable.getInstance().getInfo(40241));
                return 
null;
            }
            if(
callerId == 29001)
                if(
npc.getTarget() != null && (npc.getTarget() instanceof L2NpcInstance) && ((L2NpcInstance)npc.getTarget()).getNpcId() == 29002)
                {
                    return 
null;
                } else
                {
                    
npc.setTarget(caller);
                    
npc.doCast(SkillTable.getInstance().getInfo(40201));
                    return 
null;
                }
        }
        return 
super.onFactionCall(npccallerattackerisPet);
    }

    public 
String onAttack(L2NpcInstance npcL2PcInstance attackerint damageboolean isPet)
    {
        
int npcId npc.getNpcId();
        if(
npcId == 29003)
        {
            
npc.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLEnullnull);
            return 
null;
        } else
        {
            return 
super.onAttack(npcattackerdamageisPet);
        }
    }

    public 
String onKill(L2NpcInstance npcL2PcInstance killerboolean isPet)
    {
        
int npcId npc.getNpcId();
        
Integer status GrandBossManager.getInstance().getBossStatus(29001);
        if(
npcId == 29001)
        {
            
npc.broadcastPacket(new PlaySound(1"BS02_D"1npc.getObjectId(), npc.getX(), npc.getY(), npc.getZ()));
            if(!
npc.getSpawn().is_customBossInstance())
            {
                
GrandBossManager.getInstance().setBossStatus(290011);
                
long respawnTime = (Config.QA_RESP_FIRST Rnd.get(Config.QA_RESP_SECOND)) * 0x36ee80;
                
startQuestTimer("QUEEN_SPAWN"respawnTimenullnull);
                
cancelQuestTimer("ACTION"npcnull);
                
cancelQuestTimer("SPAWN_ROYAL"npcnull);
                
cancelQuestTimer("SPAWN_QUEEN_NURSE"npcnull);
                
cancelQuestTimer("CHECK_MINIONS_ZONE"npcnull);
                
StatsSet info GrandBossManager.getInstance().getStatsSet(29001);
                
info.set("respawn_time"System.currentTimeMillis() + respawnTime);
                
GrandBossManager.getInstance().setStatsSet(29001info);
                
startQuestTimer("LARVA_SPAWN"10000Lnullnull);
            }
            
startQuestTimer("DESPAWN_MINIONS"10000Lnullnull);
        } else
        if(
status.intValue() == && (npcId == 29005 || npcId == 29003))
        {
            
boolean queen false;
            
npc.decayMe();
            if(
_Minions.contains(npc))
            {
                
_Minions.remove(npc);
                
queen true;
            } else
            {
                
_Larva_minions.remove(npc);
            }
            if(
npcId == 29005)
                
startQuestTimer("SPAWN_ROYAL", (Config.QA_RESP_ROYAL Rnd.get(40)) * 1000npcnull);
            else
            if(
npcId == 29003)
                if(
queen)
                    
startQuestTimer("SPAWN_QUEEN_NURSE"Config.QA_RESP_NURSE 1000npcnull);
                else
                    
startQuestTimer("SPAWN_LARVA_NURSE"Config.QA_RESP_NURSE 1000npcnull);
        }
        return 
super.onKill(npckillerisPet);
    }

    public 
void run()
    {
    }

    private static final 
int QUEEN 29001;
    private static final 
int LARVA 29002;
    private static final 
int NURSE 29003;
    private static final 
int GUARD 29004;
    private static final 
int ROYAL 29005;
    private static final 
int LIVE 0;
    private static final 
int DEAD 1;
    private static 
L2BossZone _Zone;
    private static List 
_Minions = new FastList();
    private static List 
_Larva_minions = new FastList();


Что мне тут нашаманить ?

Последний раз редактировалось tonnyone; 07.09.2012 в 08:44. Причина: Добавлено сообщение
tonnyone вне форума Ответить с цитированием
Непрочитано 07.09.2012, 09:09   #4
Пользователь

По умолчанию Re: Raid Boss Zona

Вы даже не хотите вникать и хотите готовое решение, а его не будет, ибо один раз сделай за вас, а потом пойдут тонну подобных вопросов. Если взялись копаться в ядре , берите и изучайте, вникайте, читайте. Наводка дана в моем верхнем сообщении.Если же нет, то в раздел Рынок.
KamchaT вне форума Ответить с цитированием
Непрочитано 07.09.2012, 09:14   #5
Пользователь

Автор темы (Топик Стартер) Re: Raid Boss Zona

Цитата:
Сообщение от KamchaT Посмотреть сообщение
Вы даже не хотите вникать и хотите готовое решение, а его не будет, ибо один раз сделай за вас, а потом пойдут тонну подобных вопросов. Если взялись копаться в ядре , берите и изучайте, вникайте, читайте. Наводка дана в моем верхнем сообщении.Если же нет, то в раздел Рынок.
Да причем тут сделай за вас ? че тут вникать если методом тыка долбить это просто глупо... а если ты знаешь то мог бы просто сказать какую категорию редактировать и все дальше бы разобрался , если сам знаешь только мельком или не по данной сборке и по ядру а по готовым скриптам в дата паке то не надо намазывать...
tonnyone вне форума Ответить с цитированием
Непрочитано 07.09.2012, 09:27   #6
Аватар для [STIGMATED]
Супергерой

По умолчанию Re: Raid Boss Zona

Цитата:
Сообщение от tonnyone Посмотреть сообщение
если методом тыка долбить это просто глупо...
Некоторые так и учились...
[STIGMATED] вне форума Отправить сообщение для [STIGMATED] с помощью Skype™ Ответить с цитированием
Непрочитано 07.09.2012, 09:34   #7
Пользователь

Автор темы (Топик Стартер) Re: Raid Boss Zona

Цитата:
Сообщение от [STIGMATED] Посмотреть сообщение
Некоторые так и учились...
Для этого и создаются форумы чтобы люди делились решением каких либо проблем ...
tonnyone вне форума Ответить с цитированием
Непрочитано 07.09.2012, 09:39   #8
Аватар для gorodetskiy
Олдфаг

По умолчанию Re: Raid Boss Zona

Цитата:
Сообщение от tonnyone Посмотреть сообщение
Для этого и создаются форумы чтобы люди делились решением каких либо проблем ...
Вам уже подсказали что делать.
Спасение утопающих — дело рук самих утопающих
Пропишите отдельную зону для начала.
__________________
СЕО Оптимизация сайтов
gorodetskiy вне форума Ответить с цитированием
Непрочитано 07.09.2012, 09:39   #9
Аватар для [STIGMATED]
Супергерой

По умолчанию Re: Raid Boss Zona

Цитата:
Сообщение от tonnyone Посмотреть сообщение
Для этого и создаются форумы чтобы люди делились решением каких либо проблем ...
Помогать тем, кто не может включить обычную человеческую логику?

Метод
protected void onEnter(L2Character character) 
Code: Java
Вот в нём ставим, нужные вам, проверки.
[STIGMATED] вне форума Отправить сообщение для [STIGMATED] с помощью Skype™ Ответить с цитированием
Непрочитано 07.09.2012, 09:41   #10
Аватар для Ashe
Олдфаг

По умолчанию Re: Raid Boss Zona

Цитата:
Сообщение от tonnyone Посмотреть сообщение
Для этого и создаются форумы чтобы люди делились решением каких либо проблем ...
С Вами уже поделились решением, во 2-ом посте, а делать за Вас никто и ничего не будет.

С'est la vie
__________________
Fortuna - non penis, in manus non recipe.
Ashe вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выбор raid saduga Lineage II 3 08.10.2011 13:23
Raid Event vinchelo Работа со скриптами 11 30.05.2011 22:32
Переделка Grand Boss Status Под Скорию RaZoR.eXe Lineage II 10 22.07.2010 17:40
Проблема с Raid Boss [RT 1.4.1.6] FriZak Lineage II 0 17.04.2010 21:36
Raid Boss Status/Live map script Devolick Lineage II 0 15.12.2009 16:13


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 11:40. Часовой пояс GMT +3.

Вверх