Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ai.custom1;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import l2f.gameserver.ThreadPoolManager;
- import l2f.gameserver.ai.DefaultAI;
- import l2f.gameserver.model.Player;
- import l2f.gameserver.model.World;
- import l2f.gameserver.model.instances.NpcInstance;
- import l2f.gameserver.tables.SkillTable;
- public class custom extends DefaultAI
- {
- private int SKILL_ID_1 = 555;
- private int i = 1;
- private final long MINIMUM_DELAY = i;
- private String TASK_NAME = "skill reuse";
- public custom(NpcInstance actor)
- {
- super(actor);
- }
- protected boolean thinkActive()
- {
- NpcInstance actor = getActor();
- if (actor == null)
- {
- return true;
- }
- int skillId = SKILL_ID_1;
- for (Player player : World.getAroundPlayers(actor, 200, 200))
- {
- if ((player != null) && (player.isInAnonymousZone()))
- {
- while (i < 10)
- {
- actor.doCast(SkillTable.getInstance().getInfo(skillId, 1), player, true);
- skillusedelay();
- i = i + 1;
- }
- }
- }
- return false;
- }
- public void skillusedelay()
- {
- long[] timeTable = new long[]{
- calcDelay(MINIMUM_DELAY),
- };
- Arrays.sort(timeTable);
- final long delay = timeTable[0] - System.currentTimeMillis();
- ThreadPoolManager.getInstance().schedule(new Runnable()
- {
- @Override
- public void run() {
- NpcInstance actor = getActor();
- int skillId = SKILL_ID_1;
- for (Player player : World.getAroundPlayers(actor, 200, 200))
- {
- actor.doCast(SkillTable.getInstance().getInfo(skillId, 1), player, true);
- }
- }
- }, delay);
- System.out.println(TASK_NAME + ": Scheduled " + new Date(timeTable[0]).toString());
- }
- private long calcDelay(long minimumDelay)
- {
- long now = System.currentTimeMillis();
- GregorianCalendar reset = new GregorianCalendar();
- reset.setTimeInMillis(now);
- reset.set(Calendar.MILLISECOND, 0);
- reset.set(Calendar.SECOND, 0);
- reset.set(Calendar.MINUTE, i);
- return reset.getTimeInMillis();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment