{
return false;
}
StringTokenizer st;
L2NpcInstance target;
L2Spawn spawn;
L2NpcInstance npc;
switch(command)
{
case admin_show_spawns:
activeChar.sendPacket(new NpcHtmlMessage(5).setFile("data/html/admin/spawns.htm"));
break;
case admin_spawn_index:
try
{
String val = fullString.substring(18);
activeChar.sendPacket(new NpcHtmlMessage(5).setFile("data/html/admin/spawns/" + val + ".htm"));
}
catch(StringIndexOutOfBoundsException e)
{
}
break;
case admin_spawn1:
st = new StringTokenizer(fullString, " ");
try
{
st.nextToken();
String id = st.nextToken();
int mobCount = 1;
if(st.hasMoreTokens())
{
mobCount = Integer.parseInt(st.nextToken());
}
spawnMonster(activeChar, id, 0, mobCount);
}
catch(Exception e)
{
// Case of wrong monster data
}
break;
case admin_spawn:
case admin_spawn_monster:
st = new StringTokenizer(fullString, " ");
try
{
st.nextToken();
String id = st.nextToken();
int respawnTime = 30;
int mobCount = 1;
if(st.hasMoreTokens())
{
mobCount = Integer.parseInt(st.nextToken());
}
if(st.hasMoreTokens())
{
respawnTime = Integer.parseInt(st.nextToken());
}
spawnMonster(activeChar, id, respawnTime, mobCount);
if(Config.SpawnMobToConsole)
{
System.out.println("INSERT INTO spawnlist VALUES ('', '1', '" + id + "', '" + activeChar.getX() + "', '" + activeChar.getY() + "', '" + activeChar.getZ() + "', '" + activeChar.getHeading() + "', '" + respawnTime + "', '0', '0', '0', '0');");
}
}
catch(Exception e)
{
// Case of wrong monster data
}
break;
case admin_unspawnall:
for(L2Player player : L2ObjectsStorage.getAllPlayersForIterate())
{
player.sendPacket(Msg.THE_NPC_SERVER_IS_NOT_OPERATING);
}
L2World.deleteVisibleNpcSpawns();
GmListTable.broadcastMessageToGMs("NPC Unspawn completed!");
break;
case admin_setai:
if(activeChar.getTarget() == null || !activeChar.getTarget().isNpc())
{
activeChar.sendMessage("Please select target NPC or mob.");
return false;
}
st = new StringTokenizer(fullString, " ");
st.nextToken();
if(!st.hasMoreTokens())
{
activeChar.sendMessage("Please specify AI name.");
return false;
}
String aiName = st.nextToken();
target = (L2NpcInstance) activeChar.getTarget();
Constructor<?> aiConstructor = null;
try
{
if(!aiName.equalsIgnoreCase("npc"))
{
aiConstructor = Class.forName("l2p.gameserver.ai." + aiName).getConstructors()[0];
}
}
catch(Exception e)
{
try
{
aiConstructor = ScriptManager.getInstance().getClasses().get("ai." + aiName).getRawClass().getConstructors()[0];
}
catch(Exception e1)
{
activeChar.sendMessage("This type AI not found.");
return false;
}
}
if(aiConstructor != null)
{
try
{
target.setAI((L2CharacterAI) aiConstructor.newInstance(target));
}
catch(Exception e)
{
e.printStackTrace();
}
target.getAI().startAITask();
}
break;
case admin_setaiparam:
if(activeChar.getTarget() == null || !activeChar.getTarget().isNpc())
{
activeChar.sendMessage("Please select target NPC or mob.");
return false;
}
st = new StringTokenizer(fullString, " ");
st.nextToken();
if(!st.hasMoreTokens())
{
activeChar.sendMessage("Please specify AI parameter name.");
activeChar.sendMessage("USAGE: //setaiparam <param> <value>");
return false;
}
String paramName = st.nextToken();
if(!st.hasMoreTokens())
{
activeChar.sendMessage("Please specify AI parameter value.");
activeChar.sendMessage("USAGE: //setaiparam <param> <value>");
return false;
}
String paramValue = st.nextToken();
target = (L2NpcInstance) activeChar.getTarget();
((DefaultAI) target.getAI()).set(paramName, paramValue);
target.decayMe();
target.spawnMe();
activeChar.sendMessage("AI parameter " + paramName + " succesfully setted to " + paramValue);
break;
case admin_dumpaiparams:
if(activeChar.getTarget() == null || !activeChar.getTarget().isNpc())
{
activeChar.sendMessage("Please select target NPC or mob.");
return false;
}
target = (L2NpcInstance) activeChar.getTarget();
StatsSet set = target.getTemplate().getAIParams();
if(set != null)
{
System.out.println("Dump of AI Params:\r\n" + set.dump());
}
else
{
System.out.println("AI Params not setted.");
}
break;
case admin_setheading:
L2Object obj = activeChar.getTarget();
if(!obj.isNpc())
{
activeChar.sendMessage("Target is incorrect!");
return false;
}
npc = (L2NpcInstance) obj;
npc.setHeading(activeChar.getHeading());
npc.decayMe();
npc.spawnMe();
activeChar.sendMessage("New heading : " + activeChar.getHeading());
spawn = npc.getSpawn();
if(spawn == null)
{
activeChar.sendMessage("Spawn for this npc == null!");
return false;
}
if(!mysql.set("update spawnlist set heading = " + activeChar.getHeading() //
+ " where npc_templateid = " + npc.getNpcId() //
+ " and locx = " + spawn.getLocx() //
+ " and locy = " + spawn.getLocy() //
+ " and locz = " + spawn.getLocz() //
+ " and loc_id = " + spawn.getLocation()))
{
activeChar.sendMessage("Error in mysql query!");
return false;
}
break;