Перейти к содержанию
Авторизация  
SoulTheOne

Ошибка Гс [Exception In Thread "main" Java.]

Рекомендуемые сообщения

ai тараса надо смотреть

Скинь под спойлер и код

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package com.l2jfrozen.gameserver.ai.special;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.gameserver.datatables.SkillTable;

import com.l2jfrozen.gameserver.datatables.sql.NpcTable;

import com.l2jfrozen.gameserver.datatables.sql.SpawnTable;

import com.l2jfrozen.gameserver.managers.GrandBossManager;

import com.l2jfrozen.gameserver.model.L2Character;

import com.l2jfrozen.gameserver.model.L2Skill;

import com.l2jfrozen.gameserver.model.actor.instance.*;

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.L2GameServerPacket;

import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;

import com.l2jfrozen.gameserver.templates.L2NpcTemplate;

import com.l2jfrozen.gameserver.templates.StatsSet;

import com.l2jfrozen.gameserver.thread.ThreadPoolManager;

import com.l2jfrozen.util.random.Rnd;

import java.util.*;

import java.util.concurrent.ScheduledFuture;

import java.util.logging.Logger;

import javolution.util.FastList;

import javolution.util.FastMap;

 

public class Antharas_l2j extends Quest

implements Runnable

{

/* member class not found */

class MoveAtRandom {}

 

/* member class not found */

class SetMobilised {}

 

/* member class not found */

class UnlockAntharas {}

 

/* member class not found */

class CubeSpawn {}

 

/* member class not found */

class CheckActivity {}

 

/* member class not found */

class SelfDestructionOfBomber {}

 

/* member class not found */

class MobsSpawn {}

 

/* member class not found */

class AntharasSpawn {}

 

 

public Antharas_l2j(int i, String s, String s1)

{

super(i, s, s1);

_teleportCubeSpawn = new FastList();

_teleportCube = new FastList();

_monsterSpawn = new HashMap();

_monsters = new FastList();

_antharas = null;

_cubeSpawnTask = null;

_monsterSpawnTask = null;

_activityCheckTask = null;

_socialTask = null;

_mobiliseTask = null;

_mobsSpawnTask = null;

_selfDestructionTask = null;

_moveAtRandomTask = null;

_movieTask = null;

int ai[] = {

29019, 29066, 29067, 29068, 29069, 29070, 29071, 29072, 29073, 29074,

29075, 29076

};

registerMobs(ai);

init();

}

 

private void init()

{

try

{

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

L2NpcTemplate l2npctemplate = NpcTable.getInstance().getTemplate(29019);

L2Spawn l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

Может в этом проблема? Я прост не в курсе какой тип x и y координаты у фрозенов.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

Может в этом проблема? Я прост не в курсе какой тип x и y координаты у фрозенов.

 

Зачем декомпил? У фрозенов вроде опенсурс

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Зачем декомпил? У фрозенов вроде опенсурс

я декомпилить не умею)

я просто открыл через декомпилятор что бы код вывести сюда)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужно видеть полный лог ошибки с номерами строк

Изменено пользователем dislike
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

там полный лог )

 

Во первых код не полный, во вторых декомпильный и не понятный.

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во первых код не полный, во вторых декомпильный и не понятный.

сорри)

// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov Date: 11.02.2014 19:42:12

// Home Page: http://members.fortunecity.com/neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!

// Decompiler options: packimports(3)

 

package com.l2jfrozen.gameserver.ai.special;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.gameserver.datatables.SkillTable;

import com.l2jfrozen.gameserver.datatables.sql.NpcTable;

import com.l2jfrozen.gameserver.datatables.sql.SpawnTable;

import com.l2jfrozen.gameserver.managers.GrandBossManager;

import com.l2jfrozen.gameserver.model.L2Character;

import com.l2jfrozen.gameserver.model.L2Skill;

import com.l2jfrozen.gameserver.model.actor.instance.*;

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.L2GameServerPacket;

import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;

import com.l2jfrozen.gameserver.templates.L2NpcTemplate;

import com.l2jfrozen.gameserver.templates.StatsSet;

import com.l2jfrozen.gameserver.thread.ThreadPoolManager;

import com.l2jfrozen.util.random.Rnd;

import java.util.*;

import java.util.concurrent.ScheduledFuture;

import java.util.logging.Logger;

import javolution.util.FastList;

import javolution.util.FastMap;

 

public class Antharas_l2j extends Quest

implements Runnable

{

/* member class not found */

class MoveAtRandom {}

 

/* member class not found */

class SetMobilised {}

 

/* member class not found */

class UnlockAntharas {}

 

/* member class not found */

class CubeSpawn {}

 

/* member class not found */

class CheckActivity {}

 

/* member class not found */

class SelfDestructionOfBomber {}

 

/* member class not found */

class MobsSpawn {}

 

/* member class not found */

class AntharasSpawn {}

 

 

public Antharas_l2j(int i, String s, String s1)

{

super(i, s, s1);

_teleportCubeSpawn = new FastList();

_teleportCube = new FastList();

_monsterSpawn = new HashMap();

_monsters = new FastList();

_antharas = null;

_cubeSpawnTask = null;

_monsterSpawnTask = null;

_activityCheckTask = null;

_socialTask = null;

_mobiliseTask = null;

_mobsSpawnTask = null;

_selfDestructionTask = null;

_moveAtRandomTask = null;

_movieTask = null;

int ai[] = {

29019, 29066, 29067, 29068, 29069, 29070, 29071, 29072, 29073, 29074,

29075, 29076

};

registerMobs(ai);

init();

}

 

private void init()

{

try

{

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

L2NpcTemplate l2npctemplate = NpcTable.getInstance().getTemplate(29019);

L2Spawn l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29019), l2spawn);

l2npctemplate = NpcTable.getInstance().getTemplate(29066);

l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29066), l2spawn);

l2npctemplate = NpcTable.getInstance().getTemplate(29067);

l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29067), l2spawn);

l2npctemplate = NpcTable.getInstance().getTemplate(29068);

l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29068), l2spawn);

}

catch(Exception exception)

{

_log.warning(exception.getMessage());

}

try

{

L2NpcTemplate l2npctemplate1 = NpcTable.getInstance().getTemplate(31859);

int ai[][] = _teleportCubeLocation;

int i = ai.length;

for(int k = 0; k < i; k++)

{

int ai1[] = ai[k];

L2Spawn l2spawn1 = new L2Spawn(l2npctemplate1);

l2spawn1.setAmount(1);

l2spawn1.setLocx(ai1[0]);

l2spawn1.setLocy(ai1[1]);

l2spawn1.setLocz(ai1[2]);

l2spawn1.setHeading(ai1[3]);

l2spawn1.setRespawnDelay(60);

l2spawn1.setLocation(0);

SpawnTable.getInstance().addNewSpawn(l2spawn1, false);

_teleportCubeSpawn.add(l2spawn1);

}

 

}

catch(Exception exception1)

{

_log.warning(exception1.getMessage());

}

Integer integer = GrandBossManager.getInstance().getBossStatus(29019);

if(FWA_OLDANTHARAS || integer.intValue() == 1)

{

StatsSet statsset = GrandBossManager.getInstance().getStatsSet(29019);

Long long1 = Long.valueOf(statsset.getLong("respawn_time"));

if(integer.intValue() == 3 && long1.longValue() <= System.currentTimeMillis())

{

GrandBossManager.getInstance().setBossStatus(29019, 0);

integer = Integer.valueOf(0);

} else

if(integer.intValue() == 2)

{

int j = statsset.getInteger("loc_x");

int l = statsset.getInteger("loc_y");

int i1 = statsset.getInteger("loc_z");

int j1 = statsset.getInteger("heading");

int l1 = statsset.getInteger("currentHP");

int j2 = statsset.getInteger("currentMP");

_antharas = (L2GrandBossInstance)addSpawn(29019, j, l, i1, j1, false, 0);

GrandBossManager.getInstance().addBoss(_antharas);

_antharas.setCurrentHpMp(l1, j2);

_LastAction = System.currentTimeMillis();

_activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000L, 60000L);

} else

if(integer.intValue() == 3)

ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(29019), long1.longValue() - System.currentTimeMillis());

else

setAntharasSpawnTask();

} else

{

Integer integer2 = GrandBossManager.getInstance().getBossStatus(29066);

Integer integer3 = GrandBossManager.getInstance().getBossStatus(29067);

Integer integer4 = GrandBossManager.getInstance().getBossStatus(29068);

char c = '\0';

if(integer2.intValue() == 2 || integer2.intValue() == 3)

{

c = '\u718A';

integer = integer2;

} else

if(integer3.intValue() == 2 || integer3.intValue() == 3)

{

c = '\u718B';

integer = integer3;

} else

if(integer4.intValue() == 2 || integer4.intValue() == 3)

{

c = '\u718C';

integer = integer4;

}

if(c != 0 && integer.intValue() == 2)

{

StatsSet statsset1 = GrandBossManager.getInstance().getStatsSet©;

int k1 = statsset1.getInteger("loc_x");

int i2 = statsset1.getInteger("loc_y");

int k2 = statsset1.getInteger("loc_z");

int l2 = statsset1.getInteger("heading");

int i3 = statsset1.getInteger("currentHP");

int j3 = statsset1.getInteger("currentMP");

_antharas = (L2GrandBossInstance)addSpawn(c, k1, i2, k2, l2, false, 0);

GrandBossManager.getInstance().addBoss(_antharas);

_antharas.setCurrentHpMp(i3, j3);

_LastAction = System.currentTimeMillis();

_activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000L, 60000L);

} else

if(c != 0 && integer.intValue() == 3)

{

StatsSet statsset2 = GrandBossManager.getInstance().getStatsSet©;

Long long2 = Long.valueOf(statsset2.getLong("respawn_time"));

if(long2.longValue() <= System.currentTimeMillis())

{

GrandBossManager.getInstance().setBossStatus(c, 0);

Integer integer1 = Integer.valueOf(0);

} else

{

ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas©, long2.longValue() - System.currentTimeMillis());

}

}

}

}

 

public void spawnCube()

{

if(_mobsSpawnTask != null)

{

_mobsSpawnTask.cancel(true);

_mobsSpawnTask = null;

}

if(_selfDestructionTask != null)

{

_selfDestructionTask.cancel(true);

_selfDestructionTask = null;

}

if(_activityCheckTask != null)

{

_activityCheckTask.cancel(false);

_activityCheckTask = null;

}

L2Spawn l2spawn;

for(Iterator iterator = _teleportCubeSpawn.iterator(); iterator.hasNext(); _teleportCube.add(l2spawn.doSpawn()))

l2spawn = (L2Spawn)iterator.next();

 

}

 

public void setAntharasSpawnTask()

{

if(_monsterSpawnTask == null)

synchronized(this)

{

if(_monsterSpawnTask == null)

{

GrandBossManager.getInstance().setBossStatus(29019, 1);

_monsterSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(1), 60000 * Config.ANTHARAS_WAIT_TIME);

}

}

}

 

protected void startMinionSpawns(int i)

{

int j;

switch(i)

{

case 29066:

j = 0x2bf20;

break;

 

case 29067:

j = 0x249f0;

break;

 

default:

j = 0x1d4c0;

break;

}

_mobsSpawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new MobsSpawn(), j, j);

}

 

protected void broadcastPacket(L2GameServerPacket l2gameserverpacket)

{

if(_Zone != null)

{

Iterator iterator = _Zone.getCharactersInside().values().iterator();

do

{

if(!iterator.hasNext())

break;

L2Character l2character = (L2Character)iterator.next();

if(l2character instanceof L2PcInstance)

l2character.sendPacket(l2gameserverpacket);

} while(true);

}

}

 

public String onAggroRangeEnter(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, boolean flag)

{

switch(l2npcinstance.getNpcId())

{

default:

break;

 

case 29070:

case 29071:

case 29072:

case 29073:

case 29074:

case 29075:

case 29076:

if(_selfDestructionTask == null && !l2npcinstance.isDead())

_selfDestructionTask = ThreadPoolManager.getInstance().scheduleGeneral(new SelfDestructionOfBomber(l2npcinstance), 15000L);

break;

}

return super.onAggroRangeEnter(l2npcinstance, l2pcinstance, flag);

}

 

public String onSpellFinished(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, L2Skill l2skill)

{

if(l2npcinstance.isInvul())

return null;

if(l2skill != null && (l2skill.getId() == 5097 || l2skill.getId() == 5094))

switch(l2npcinstance.getNpcId())

{

case 29070:

case 29071:

case 29072:

case 29073:

case 29074:

case 29075:

case 29076:

l2npcinstance.doDie(l2npcinstance);

break;

}

return super.onSpellFinished(l2npcinstance, l2pcinstance, l2skill);

}

 

public void setUnspawn()

{

_Zone.oustAllPlayers();

if(_cubeSpawnTask != null)

{

_cubeSpawnTask.cancel(true);

_cubeSpawnTask = null;

}

if(_monsterSpawnTask != null)

{

_monsterSpawnTask.cancel(true);

_monsterSpawnTask = null;

}

if(_activityCheckTask != null)

{

_activityCheckTask.cancel(false);

_activityCheckTask = null;

}

if(_socialTask != null)

{

_socialTask.cancel(true);

_socialTask = null;

}

if(_mobiliseTask != null)

{

_mobiliseTask.cancel(true);

_mobiliseTask = null;

}

if(_mobsSpawnTask != null)

{

_mobsSpawnTask.cancel(true);

_mobsSpawnTask = null;

}

if(_selfDestructionTask != null)

{

_selfDestructionTask.cancel(true);

_selfDestructionTask = null;

}

if(_moveAtRandomTask != null)

{

_moveAtRandomTask.cancel(true);

_moveAtRandomTask = null;

}

L2NpcInstance l2npcinstance;

for(Iterator iterator = _monsters.iterator(); iterator.hasNext(); l2npcinstance.deleteMe())

{

l2npcinstance = (L2NpcInstance)iterator.next();

l2npcinstance.getSpawn().stopRespawn();

}

 

_monsters.clear();

L2NpcInstance l2npcinstance1;

for(Iterator iterator1 = _teleportCube.iterator(); iterator1.hasNext(); l2npcinstance1.deleteMe())

{

l2npcinstance1 = (L2NpcInstance)iterator1.next();

l2npcinstance1.getSpawn().stopRespawn();

}

 

_teleportCube.clear();

}

 

public String onAttack(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, int i, boolean flag)

{

if(l2npcinstance.getSpawn() != null && !l2npcinstance.getSpawn().is_customBossInstance() && l2npcinstance.getNpcId() == 29019 || l2npcinstance.getNpcId() == 29066 || l2npcinstance.getNpcId() == 29067 || l2npcinstance.getNpcId() == 29068)

{

_LastAction = System.currentTimeMillis();

if(!FWA_OLDANTHARAS && _mobsSpawnTask == null)

startMinionSpawns(l2npcinstance.getNpcId());

} else

if(l2npcinstance.getNpcId() > 29069 && l2npcinstance.getNpcId() < 29077 && l2npcinstance.getCurrentHp() <= (double)i)

{

L2Skill l2skill = null;

switch(l2npcinstance.getNpcId())

{

case 29070:

case 29071:

case 29072:

case 29073:

case 29074:

case 29075:

l2skill = SkillTable.getInstance().getInfo(5097, 1);

break;

 

case 29076:

l2skill = SkillTable.getInstance().getInfo(5094, 1);

break;

}

l2npcinstance.doCast(l2skill);

}

return super.onAttack(l2npcinstance, l2pcinstance, i, flag);

}

 

public String onKill(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, boolean flag)

{

if(l2npcinstance.getNpcId() == 29019 || l2npcinstance.getNpcId() == 29066 || l2npcinstance.getNpcId() == 29067 || l2npcinstance.getNpcId() == 29068)

{

l2npcinstance.broadcastPacket(new PlaySound(1, "BS01_D", 1, l2npcinstance.getObjectId(), l2npcinstance.getX(), l2npcinstance.getY(), l2npcinstance.getZ()));

if(!l2npcinstance.getSpawn().is_customBossInstance())

{

_cubeSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new CubeSpawn(0), 10000L);

GrandBossManager.getInstance().setBossStatus(l2npcinstance.getNpcId(), 3);

long l = (Config.ANTHARAS_RESP_FIRST + Rnd.get(Config.ANTHARAS_RESP_SECOND)) * 0x36ee80;

ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(l2npcinstance.getNpcId()), l);

StatsSet statsset = GrandBossManager.getInstance().getStatsSet(l2npcinstance.getNpcId());

statsset.set("respawn_time", System.currentTimeMillis() + l);

GrandBossManager.getInstance().setStatsSet(l2npcinstance.getNpcId(), statsset);

}

} else

if(l2npcinstance.getNpcId() == 29069)

{

int i = Rnd.get(6, 18);

int j = Rnd.get(6, 18);

for(int k = 0; k < i; k++)

((L2MonsterInstance)l2npcinstance).DropItem(l2pcinstance, 8602, 1);

 

for(int i1 = 0; i1 < j; i1++)

((L2MonsterInstance)l2npcinstance).DropItem(l2pcinstance, 8605, 1);

 

}

if(_monsters.contains(l2npcinstance))

_monsters.remove(l2npcinstance);

return super.onKill(l2npcinstance, l2pcinstance, flag);

}

 

public void run()

{

}

 

protected static final Logger _log = Logger.getLogger(com/l2jfrozen/gameserver/ai/special/Antharas_l2j.getName());

private static final int FWA_ACTIVITYTIMEOFANTHARAS = 120;

protected static final boolean FWA_OLDANTHARAS;

private static final boolean FWA_MOVEATRANDOM = true;

private static final boolean FWA_DOSERVEREARTHQUAKE = true;

private static final int FWA_LIMITOFWEAK = 45;

private static final int FWA_LIMITOFNORMAL = 63;

private static final int FWA_MAXMOBS = 10;

private static final int FWA_INTERVALOFMOBSWEAK = 0x2bf20;

private static final int FWA_INTERVALOFMOBSNORMAL = 0x249f0;

private static final int FWA_INTERVALOFMOBSSTRONG = 0x1d4c0;

private static final int FWA_PERCENTOFBEHEMOTH = 60;

private static final int FWA_SELFDESTRUCTTIME = 15000;

private final int _teleportCubeId = 31859;

private final int _teleportCubeLocation[][] = {

{

0x2b5cf, 0x1c0fd, -7709, 0

}

};

protected List _teleportCubeSpawn;

protected List _teleportCube;

protected HashMap _monsterSpawn;

protected List _monsters;

protected L2GrandBossInstance _antharas;

private static final int ANTHARASOLDID = 29019;

private static final int ANTHARASWEAKID = 29066;

private static final int ANTHARASNORMALID = 29067;

private static final int ANTHARASSTRONGID = 29068;

protected ScheduledFuture _cubeSpawnTask;

protected ScheduledFuture _monsterSpawnTask;

protected ScheduledFuture _activityCheckTask;

protected ScheduledFuture _socialTask;

protected ScheduledFuture _mobiliseTask;

protected ScheduledFuture _mobsSpawnTask;

protected ScheduledFuture _selfDestructionTask;

protected ScheduledFuture _moveAtRandomTask;

protected ScheduledFuture _movieTask;

private static final int DORMANT = 0;

private static final int WAITING = 1;

private static final int FIGHTING = 2;

private static final int DEAD = 3;

protected static long _LastAction = 0L;

protected static L2BossZone _Zone;

 

static

{

FWA_OLDANTHARAS = Config.ANTHARAS_OLD;

}

}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сорри)

// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov Date: 11.02.2014 19:42:12

// Home Page: http://members.fortu...neshkov/dj.html http://www.neshkov.com/dj.html - Check often for new version!

// Decompiler options: packimports(3)

 

package com.l2jfrozen.gameserver.ai.special;

 

import com.l2jfrozen.Config;

import com.l2jfrozen.gameserver.datatables.SkillTable;

import com.l2jfrozen.gameserver.datatables.sql.NpcTable;

import com.l2jfrozen.gameserver.datatables.sql.SpawnTable;

import com.l2jfrozen.gameserver.managers.GrandBossManager;

import com.l2jfrozen.gameserver.model.L2Character;

import com.l2jfrozen.gameserver.model.L2Skill;

import com.l2jfrozen.gameserver.model.actor.instance.*;

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.L2GameServerPacket;

import com.l2jfrozen.gameserver.network.serverpackets.PlaySound;

import com.l2jfrozen.gameserver.templates.L2NpcTemplate;

import com.l2jfrozen.gameserver.templates.StatsSet;

import com.l2jfrozen.gameserver.thread.ThreadPoolManager;

import com.l2jfrozen.util.random.Rnd;

import java.util.*;

import java.util.concurrent.ScheduledFuture;

import java.util.logging.Logger;

import javolution.util.FastList;

import javolution.util.FastMap;

 

public class Antharas_l2j extends Quest

implements Runnable

{

/* member class not found */

class MoveAtRandom {}

 

/* member class not found */

class SetMobilised {}

 

/* member class not found */

class UnlockAntharas {}

 

/* member class not found */

class CubeSpawn {}

 

/* member class not found */

class CheckActivity {}

 

/* member class not found */

class SelfDestructionOfBomber {}

 

/* member class not found */

class MobsSpawn {}

 

/* member class not found */

class AntharasSpawn {}

 

 

public Antharas_l2j(int i, String s, String s1)

{

super(i, s, s1);

_teleportCubeSpawn = new FastList();

_teleportCube = new FastList();

_monsterSpawn = new HashMap();

_monsters = new FastList();

_antharas = null;

_cubeSpawnTask = null;

_monsterSpawnTask = null;

_activityCheckTask = null;

_socialTask = null;

_mobiliseTask = null;

_mobsSpawnTask = null;

_selfDestructionTask = null;

_moveAtRandomTask = null;

_movieTask = null;

int ai[] = {

29019, 29066, 29067, 29068, 29069, 29070, 29071, 29072, 29073, 29074,

29075, 29076

};

registerMobs(ai);

init();

}

 

private void init()

{

try

{

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

L2NpcTemplate l2npctemplate = NpcTable.getInstance().getTemplate(29019);

L2Spawn l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29019), l2spawn);

l2npctemplate = NpcTable.getInstance().getTemplate(29066);

l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29066), l2spawn);

l2npctemplate = NpcTable.getInstance().getTemplate(29067);

l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29067), l2spawn);

l2npctemplate = NpcTable.getInstance().getTemplate(29068);

l2spawn = new L2Spawn(l2npctemplate);

l2spawn.setLocx(0x2c44b);

l2spawn.setLocy(0x1c0a2);

l2spawn.setLocz(-7623);

l2spawn.setHeading(32542);

l2spawn.setAmount(1);

l2spawn.setRespawnDelay(240);

SpawnTable.getInstance().addNewSpawn(l2spawn, false);

_monsterSpawn.put(Integer.valueOf(29068), l2spawn);

}

catch(Exception exception)

{

_log.warning(exception.getMessage());

}

try

{

L2NpcTemplate l2npctemplate1 = NpcTable.getInstance().getTemplate(31859);

int ai[][] = _teleportCubeLocation;

int i = ai.length;

for(int k = 0; k < i; k++)

{

int ai1[] = ai[k];

L2Spawn l2spawn1 = new L2Spawn(l2npctemplate1);

l2spawn1.setAmount(1);

l2spawn1.setLocx(ai1[0]);

l2spawn1.setLocy(ai1[1]);

l2spawn1.setLocz(ai1[2]);

l2spawn1.setHeading(ai1[3]);

l2spawn1.setRespawnDelay(60);

l2spawn1.setLocation(0);

SpawnTable.getInstance().addNewSpawn(l2spawn1, false);

_teleportCubeSpawn.add(l2spawn1);

}

 

}

catch(Exception exception1)

{

_log.warning(exception1.getMessage());

}

Integer integer = GrandBossManager.getInstance().getBossStatus(29019);

if(FWA_OLDANTHARAS || integer.intValue() == 1)

{

StatsSet statsset = GrandBossManager.getInstance().getStatsSet(29019);

Long long1 = Long.valueOf(statsset.getLong("respawn_time"));

if(integer.intValue() == 3 && long1.longValue() <= System.currentTimeMillis())

{

GrandBossManager.getInstance().setBossStatus(29019, 0);

integer = Integer.valueOf(0);

} else

if(integer.intValue() == 2)

{

int j = statsset.getInteger("loc_x");

int l = statsset.getInteger("loc_y");

int i1 = statsset.getInteger("loc_z");

int j1 = statsset.getInteger("heading");

int l1 = statsset.getInteger("currentHP");

int j2 = statsset.getInteger("currentMP");

_antharas = (L2GrandBossInstance)addSpawn(29019, j, l, i1, j1, false, 0);

GrandBossManager.getInstance().addBoss(_antharas);

_antharas.setCurrentHpMp(l1, j2);

_LastAction = System.currentTimeMillis();

_activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000L, 60000L);

} else

if(integer.intValue() == 3)

ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(29019), long1.longValue() - System.currentTimeMillis());

else

setAntharasSpawnTask();

} else

{

Integer integer2 = GrandBossManager.getInstance().getBossStatus(29066);

Integer integer3 = GrandBossManager.getInstance().getBossStatus(29067);

Integer integer4 = GrandBossManager.getInstance().getBossStatus(29068);

char c = '\0';

if(integer2.intValue() == 2 || integer2.intValue() == 3)

{

c = '\u718A';

integer = integer2;

} else

if(integer3.intValue() == 2 || integer3.intValue() == 3)

{

c = '\u718B';

integer = integer3;

} else

if(integer4.intValue() == 2 || integer4.intValue() == 3)

{

c = '\u718C';

integer = integer4;

}

if(c != 0 && integer.intValue() == 2)

{

StatsSet statsset1 = GrandBossManager.getInstance().getStatsSet©;

int k1 = statsset1.getInteger("loc_x");

int i2 = statsset1.getInteger("loc_y");

int k2 = statsset1.getInteger("loc_z");

int l2 = statsset1.getInteger("heading");

int i3 = statsset1.getInteger("currentHP");

int j3 = statsset1.getInteger("currentMP");

_antharas = (L2GrandBossInstance)addSpawn(c, k1, i2, k2, l2, false, 0);

GrandBossManager.getInstance().addBoss(_antharas);

_antharas.setCurrentHpMp(i3, j3);

_LastAction = System.currentTimeMillis();

_activityCheckTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new CheckActivity(), 60000L, 60000L);

} else

if(c != 0 && integer.intValue() == 3)

{

StatsSet statsset2 = GrandBossManager.getInstance().getStatsSet©;

Long long2 = Long.valueOf(statsset2.getLong("respawn_time"));

if(long2.longValue() <= System.currentTimeMillis())

{

GrandBossManager.getInstance().setBossStatus(c, 0);

Integer integer1 = Integer.valueOf(0);

} else

{

ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas©, long2.longValue() - System.currentTimeMillis());

}

}

}

}

 

public void spawnCube()

{

if(_mobsSpawnTask != null)

{

_mobsSpawnTask.cancel(true);

_mobsSpawnTask = null;

}

if(_selfDestructionTask != null)

{

_selfDestructionTask.cancel(true);

_selfDestructionTask = null;

}

if(_activityCheckTask != null)

{

_activityCheckTask.cancel(false);

_activityCheckTask = null;

}

L2Spawn l2spawn;

for(Iterator iterator = _teleportCubeSpawn.iterator(); iterator.hasNext(); _teleportCube.add(l2spawn.doSpawn()))

l2spawn = (L2Spawn)iterator.next();

 

}

 

public void setAntharasSpawnTask()

{

if(_monsterSpawnTask == null)

synchronized(this)

{

if(_monsterSpawnTask == null)

{

GrandBossManager.getInstance().setBossStatus(29019, 1);

_monsterSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new AntharasSpawn(1), 60000 * Config.ANTHARAS_WAIT_TIME);

}

}

}

 

protected void startMinionSpawns(int i)

{

int j;

switch(i)

{

case 29066:

j = 0x2bf20;

break;

 

case 29067:

j = 0x249f0;

break;

 

default:

j = 0x1d4c0;

break;

}

_mobsSpawnTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new MobsSpawn(), j, j);

}

 

protected void broadcastPacket(L2GameServerPacket l2gameserverpacket)

{

if(_Zone != null)

{

Iterator iterator = _Zone.getCharactersInside().values().iterator();

do

{

if(!iterator.hasNext())

break;

L2Character l2character = (L2Character)iterator.next();

if(l2character instanceof L2PcInstance)

l2character.sendPacket(l2gameserverpacket);

} while(true);

}

}

 

public String onAggroRangeEnter(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, boolean flag)

{

switch(l2npcinstance.getNpcId())

{

default:

break;

 

case 29070:

case 29071:

case 29072:

case 29073:

case 29074:

case 29075:

case 29076:

if(_selfDestructionTask == null && !l2npcinstance.isDead())

_selfDestructionTask = ThreadPoolManager.getInstance().scheduleGeneral(new SelfDestructionOfBomber(l2npcinstance), 15000L);

break;

}

return super.onAggroRangeEnter(l2npcinstance, l2pcinstance, flag);

}

 

public String onSpellFinished(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, L2Skill l2skill)

{

if(l2npcinstance.isInvul())

return null;

if(l2skill != null && (l2skill.getId() == 5097 || l2skill.getId() == 5094))

switch(l2npcinstance.getNpcId())

{

case 29070:

case 29071:

case 29072:

case 29073:

case 29074:

case 29075:

case 29076:

l2npcinstance.doDie(l2npcinstance);

break;

}

return super.onSpellFinished(l2npcinstance, l2pcinstance, l2skill);

}

 

public void setUnspawn()

{

_Zone.oustAllPlayers();

if(_cubeSpawnTask != null)

{

_cubeSpawnTask.cancel(true);

_cubeSpawnTask = null;

}

if(_monsterSpawnTask != null)

{

_monsterSpawnTask.cancel(true);

_monsterSpawnTask = null;

}

if(_activityCheckTask != null)

{

_activityCheckTask.cancel(false);

_activityCheckTask = null;

}

if(_socialTask != null)

{

_socialTask.cancel(true);

_socialTask = null;

}

if(_mobiliseTask != null)

{

_mobiliseTask.cancel(true);

_mobiliseTask = null;

}

if(_mobsSpawnTask != null)

{

_mobsSpawnTask.cancel(true);

_mobsSpawnTask = null;

}

if(_selfDestructionTask != null)

{

_selfDestructionTask.cancel(true);

_selfDestructionTask = null;

}

if(_moveAtRandomTask != null)

{

_moveAtRandomTask.cancel(true);

_moveAtRandomTask = null;

}

L2NpcInstance l2npcinstance;

for(Iterator iterator = _monsters.iterator(); iterator.hasNext(); l2npcinstance.deleteMe())

{

l2npcinstance = (L2NpcInstance)iterator.next();

l2npcinstance.getSpawn().stopRespawn();

}

 

_monsters.clear();

L2NpcInstance l2npcinstance1;

for(Iterator iterator1 = _teleportCube.iterator(); iterator1.hasNext(); l2npcinstance1.deleteMe())

{

l2npcinstance1 = (L2NpcInstance)iterator1.next();

l2npcinstance1.getSpawn().stopRespawn();

}

 

_teleportCube.clear();

}

 

public String onAttack(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, int i, boolean flag)

{

if(l2npcinstance.getSpawn() != null && !l2npcinstance.getSpawn().is_customBossInstance() && l2npcinstance.getNpcId() == 29019 || l2npcinstance.getNpcId() == 29066 || l2npcinstance.getNpcId() == 29067 || l2npcinstance.getNpcId() == 29068)

{

_LastAction = System.currentTimeMillis();

if(!FWA_OLDANTHARAS && _mobsSpawnTask == null)

startMinionSpawns(l2npcinstance.getNpcId());

} else

if(l2npcinstance.getNpcId() > 29069 && l2npcinstance.getNpcId() < 29077 && l2npcinstance.getCurrentHp() <= (double)i)

{

L2Skill l2skill = null;

switch(l2npcinstance.getNpcId())

{

case 29070:

case 29071:

case 29072:

case 29073:

case 29074:

case 29075:

l2skill = SkillTable.getInstance().getInfo(5097, 1);

break;

 

case 29076:

l2skill = SkillTable.getInstance().getInfo(5094, 1);

break;

}

l2npcinstance.doCast(l2skill);

}

return super.onAttack(l2npcinstance, l2pcinstance, i, flag);

}

 

public String onKill(L2NpcInstance l2npcinstance, L2PcInstance l2pcinstance, boolean flag)

{

if(l2npcinstance.getNpcId() == 29019 || l2npcinstance.getNpcId() == 29066 || l2npcinstance.getNpcId() == 29067 || l2npcinstance.getNpcId() == 29068)

{

l2npcinstance.broadcastPacket(new PlaySound(1, "BS01_D", 1, l2npcinstance.getObjectId(), l2npcinstance.getX(), l2npcinstance.getY(), l2npcinstance.getZ()));

if(!l2npcinstance.getSpawn().is_customBossInstance())

{

_cubeSpawnTask = ThreadPoolManager.getInstance().scheduleGeneral(new CubeSpawn(0), 10000L);

GrandBossManager.getInstance().setBossStatus(l2npcinstance.getNpcId(), 3);

long l = (Config.ANTHARAS_RESP_FIRST + Rnd.get(Config.ANTHARAS_RESP_SECOND)) * 0x36ee80;

ThreadPoolManager.getInstance().scheduleGeneral(new UnlockAntharas(l2npcinstance.getNpcId()), l);

StatsSet statsset = GrandBossManager.getInstance().getStatsSet(l2npcinstance.getNpcId());

statsset.set("respawn_time", System.currentTimeMillis() + l);

GrandBossManager.getInstance().setStatsSet(l2npcinstance.getNpcId(), statsset);

}

} else

if(l2npcinstance.getNpcId() == 29069)

{

int i = Rnd.get(6, 18);

int j = Rnd.get(6, 18);

for(int k = 0; k < i; k++)

((L2MonsterInstance)l2npcinstance).DropItem(l2pcinstance, 8602, 1);

 

for(int i1 = 0; i1 < j; i1++)

((L2MonsterInstance)l2npcinstance).DropItem(l2pcinstance, 8605, 1);

 

}

if(_monsters.contains(l2npcinstance))

_monsters.remove(l2npcinstance);

return super.onKill(l2npcinstance, l2pcinstance, flag);

}

 

public void run()

{

}

 

protected static final Logger _log = Logger.getLogger(com/l2jfrozen/gameserver/ai/special/Antharas_l2j.getName());

private static final int FWA_ACTIVITYTIMEOFANTHARAS = 120;

protected static final boolean FWA_OLDANTHARAS;

private static final boolean FWA_MOVEATRANDOM = true;

private static final boolean FWA_DOSERVEREARTHQUAKE = true;

private static final int FWA_LIMITOFWEAK = 45;

private static final int FWA_LIMITOFNORMAL = 63;

private static final int FWA_MAXMOBS = 10;

private static final int FWA_INTERVALOFMOBSWEAK = 0x2bf20;

private static final int FWA_INTERVALOFMOBSNORMAL = 0x249f0;

private static final int FWA_INTERVALOFMOBSSTRONG = 0x1d4c0;

private static final int FWA_PERCENTOFBEHEMOTH = 60;

private static final int FWA_SELFDESTRUCTTIME = 15000;

private final int _teleportCubeId = 31859;

private final int _teleportCubeLocation[][] = {

{

0x2b5cf, 0x1c0fd, -7709, 0

}

};

protected List _teleportCubeSpawn;

protected List _teleportCube;

protected HashMap _monsterSpawn;

protected List _monsters;

protected L2GrandBossInstance _antharas;

private static final int ANTHARASOLDID = 29019;

private static final int ANTHARASWEAKID = 29066;

private static final int ANTHARASNORMALID = 29067;

private static final int ANTHARASSTRONGID = 29068;

protected ScheduledFuture _cubeSpawnTask;

protected ScheduledFuture _monsterSpawnTask;

protected ScheduledFuture _activityCheckTask;

protected ScheduledFuture _socialTask;

protected ScheduledFuture _mobiliseTask;

protected ScheduledFuture _mobsSpawnTask;

protected ScheduledFuture _selfDestructionTask;

protected ScheduledFuture _moveAtRandomTask;

protected ScheduledFuture _movieTask;

private static final int DORMANT = 0;

private static final int WAITING = 1;

private static final int FIGHTING = 2;

private static final int DEAD = 3;

protected static long _LastAction = 0L;

protected static L2BossZone _Zone;

 

static

{

FWA_OLDANTHARAS = Config.ANTHARAS_OLD;

}

}

 

 

 

Это опять ж декомпил

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это опять ж декомпил

хватит уже "декомпил не декомпил" как проблему решить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я могу сказать что не так вот с такой херней

 

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

 

и

 

/* member class not found */

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я могу сказать что не так вот с такой херней

 

_Zone = GrandBossManager.getInstance().getZone(0x2bdf4, 0x1bc88, -7709);

 

и

 

/* member class not found */

ну так помоги исправить:) я в этом деле ни шу шу(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ладно ребята,сорри,не напрягайтесь ) возьму другую сборку)

Спасибо всем кто пытался помочь)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял, парень декомпилил фрозенов, а после как не смог решить траблу сменил сборку?

Что?!

Нравное он просто так тролит? Или...

Что только что произошло? :D

Изменено пользователем desolator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...