rendered paste bodypackage net.sf.l2j.fscript;import java.util.ArrayList;import net.sf.l2j.gameserver.AIScript;import net.sf.l2j.gameserver.SkillTable;import net.sf.l2j.gameserver.model.L2Character;import net.sf.l2j.gameserver.model.L2NpcInstance;import net.sf.l2j.gameserver.model.L2PcInstance;import net.sf.l2j.gameserver.model.L2Skill;import net.sf.l2j.gameserver.model.L2World;import net.sf.l2j.gameserver.serverpackets.CreatureSay;public class L2JAIExtension extends FScript{ private Object files[]; /**Constructor*/ public L2JAIExtension() { super(); files=new Object[25]; } public Object callFunction(String name,ArrayList param) throws FSException { if (name.equals("dbgprint")) { if(AIScript.getInstance()._debug) { String s=""; for(int n=0;n<param.size();n++) { s=s+param.get(n); } System.out.println(s); } } else if(name.equals("GetPlayerName")) { Integer objectId = (Integer)param.get(0); L2PcInstance player = (L2PcInstance)L2World.getInstance().findObject(objectId); if(player != null) return player.getName(); } else if(name.equals("Say")) { Integer objectId = (Integer)param.get(0); String s=""; for(int n=1;n<param.size();n++) { s=s+param.get(n); } L2Character npc = (L2Character)L2World.getInstance().findObject(objectId); if(npc != null) npc.broadcastPacket(new CreatureSay(objectId,0,npc.getName(),s)); } else if(name.equals("GetHP")) { Integer objectId = (Integer)param.get(0); L2Character npc = (L2Character)L2World.getInstance().findObject(objectId); if(npc != null) return npc.getCurrentHp(); } else if(name.equals("GetMP")) { Integer objectId = (Integer)param.get(0); L2Character npc = (L2Character)L2World.getInstance().findObject(objectId); if(npc != null) return npc.getCurrentMp(); } else if(name.equals("GetNpcClass")) { Integer objectId = (Integer)param.get(0); L2NpcInstance npc = (L2NpcInstance)L2World.getInstance().findObject(objectId); if(npc != null) return npc.getTemplate().type; } else if(name.equals("GetNpcFaction")) { Integer objectId = (Integer)param.get(0); L2NpcInstance npc = (L2NpcInstance)L2World.getInstance().findObject(objectId); if(npc != null) return npc.getTemplate().factionId; } else if(name.equals("GetDistToTarget")) { Integer objectId = (Integer)param.get(0); // self Integer targetId = (Integer)param.get(1); // target L2Character self = (L2Character)L2World.getInstance().findObject(objectId); L2Character target = (L2Character)L2World.getInstance().findObject(objectId); if(self != null && target != null) return self.getDistance(target.getX(),target.getY()); } else if(name.equals("UseSkill")) { Integer objectId = (Integer)param.get(0); // self Integer targetId = (Integer)param.get(1); // target Integer skillId = (Integer)param.get(2); // target L2Skill skill = SkillTable.getInstance().getInfo(skillId,1); L2NpcInstance self = (L2NpcInstance)L2World.getInstance().findObject(objectId); } else { super.callFunction(name,param); } return new Integer(0); }}