nortim
Members-
Posts
209 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by nortim
-
Discussion FA v4.7.11 Interface (Under Development)
nortim replied to Iordanov's topic in General Discussion [English]
E assim nunca mais ele disponibilizou essa versão ... acredito que foi mais para todos ficarem loucos com a versão do que realmente tem a intenção de disponibilizar algo. -
ERROR IN FAKEPLAYERUTILS - PM
nortim replied to nortim's question in Request Server Development Help [L2J]
part of the code that does the pm responder function: public static void answerPlayers(L2PcInstance sender, FakePlayer receiver, String text) { ThreadPoolManager.getInstance().scheduleAi(new Runnable() { @Override public void run() { for (String s : CUMPLIMENTS) { if (text.equals(s)) { _answer = CUMPLIMENTS[Rnd.get(CUMPLIMENTS.length - 1)]; _isCumpliment = true; } } if (!_isCumpliment) { _answer = PHRASES[Rnd.get(PHRASES.length - 1)]; } sender.sendPacket(new CreatureSay(receiver.getObjectId(), Say2.TELL, receiver.getName(), _answer)); } }, Rnd.get(10, 50) * 1000); } -
Good afternoon / day / night everyone! I'm having a bug on my game server when I try to send fakeplayer pm! The function is that he answers me, but he does not even receive the message and I still receive this message in gs .. could someone help me please? I don't know what to do anymore = / Ps: Sorry for bad english! is Google tradutor :) https://uploaddeimagens.com.br/imagens/error-png-180d644b-8ed5-4522-bf67-3e4fdadadf9a
-
Code TOOL - ClassBalancer XML
nortim replied to StinkyMadness's topic in Server Shares & Files [L2J]
niceeee -
Code TOOL - ClassBalancer XML
nortim replied to StinkyMadness's topic in Server Shares & Files [L2J]
Nice! -
Good morning! I am trying to pull a java setting to disable weapons glow and aura hero and add the "ON" "OFF" option to the dot .menu so when the player wants to enable or disable this command, can anyone help me? I couldn't find where I should move yet. I use acys 370.
-
Help ERROR IN L2ROBOTO ELFO
nortim replied to nortim's question in Request Server Development Help [L2J]
Print error -
Good evening friends, I'm having this mistake spawning the elf fakeswalkers! Are l2roboto, can anyone help me? https://ibb.co/B233cm0
-
Does anyone know how to block this attack?
-
link?
-
yeah
-
I'm buy AutoCaptha for L2League! Send me pm for price!!
-
Good afternoon guys, does anyone own this antcaptha so they can make it available for free? Please..
-
Discussion FA v4.7.11 Interface (Under Development)
nortim replied to Iordanov's topic in General Discussion [English]
Put the box to set the automatic capability delay and automatic buff delay and add the option to decrease the pt size. -
Good morning guys, I'm working on a project and after leaving a few days on a VPS, I get this message
-
Good evening / afternoon / morning guys, I'm adding the Phantom Players Town and I'm having this error in my gs .. however I have no error compiling! Can someone help me?
-
Help ERROR STREAM COLLECTORS ACIS JAVA 7
nortim replied to nortim's question in Request Server Development Help [L2J]
Is there any teaching tutorial to switch to Java 8? I can not do this yet. -
Help ERROR STREAM COLLECTORS ACIS JAVA 7
nortim posted a question in Request Server Development Help [L2J]
Good afternoon, I'm working on a personal project and I'm having problems adding fakeplayers to my pack, it's there, use java 7, can anyone help me find this directory? Reference: List<OffensiveSpell> spellsOrdered = getOffensiveSpells().stream().sorted((o1, o2) -> Integer.compare(o1.getPriority(), o2.getPriority())).collect(Collectors.toList()); -
Good evening, I'm having a problem with my FakePlayers, when they are pulled into the pvp area they are not attacked ... can anyone help me? Here is the FakePlayerAi diff ... /* * Decompiled with CFR 0_132. */ package phantom.ai; import java.util.ArrayList; import net.sf.l2j.Config; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.data.SkillTable; import net.sf.l2j.gameserver.events.TvT; import net.sf.l2j.gameserver.geoengine.GeoEngine; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.WorldObject; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.ai.CtrlIntention; import net.sf.l2j.gameserver.model.actor.instance.Door; import net.sf.l2j.gameserver.model.actor.instance.Monster; import net.sf.l2j.gameserver.model.actor.instance.Player; import net.sf.l2j.gameserver.model.location.Location; import net.sf.l2j.gameserver.model.location.SpawnLocation; import net.sf.l2j.gameserver.network.serverpackets.MoveToLocation; import net.sf.l2j.gameserver.network.serverpackets.MoveToPawn; import net.sf.l2j.gameserver.network.serverpackets.StopMove; import net.sf.l2j.gameserver.network.serverpackets.StopRotation; import phantom.FakePlayer; public abstract class FakePlayerAI { protected final FakePlayer _fakePlayer; protected volatile boolean _clientMoving; protected volatile boolean _clientAutoAttacking; private long _moveToPawnTimeout; protected int _clientMovingToPawnOffset; protected boolean _isBusyThinking = false; public FakePlayerAI(FakePlayer character) { this._fakePlayer = character; this.setup(); this.applyDefaultBuffs(); } public void setup() { this._fakePlayer.setIsRunning(true); } protected void applyDefaultBuffs() { for (Integer skillid : this.getBuffs()) { try { L2Skill skill = SkillTable.getInstance().getInfo(skillid, SkillTable.getInstance().getMaxLevel(skillid)); if (skill == null) continue; skill.getEffects(this._fakePlayer, this._fakePlayer); } catch (Exception e) { e.printStackTrace(); } } } public void setBusyThinking(boolean thinking) { this._isBusyThinking = thinking; } public boolean isBusyThinking() { return this._isBusyThinking; } protected void tryTargetRandomCreatureByTypeInRadius(Class<? extends Creature> creatureClass, int radius) { if (_fakePlayer.getTarget() == null) { ArrayList<Creature> targetList = new ArrayList<>(); for (WorldObject target : _fakePlayer.getKnownType(WorldObject.class)) { if (TvT.is_started() && _fakePlayer._inEventTvT) { if (target instanceof Player && !((Player)target).isDead() && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 400, false, false) && ((Player)target)._inEventTvT && _fakePlayer._inEventTvT && !((Player)target)._teamNameTvT.equals(_fakePlayer._teamNameTvT)) { targetList.add((Player)target); } if (target instanceof Player && !((Player)target).isDead() && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 800, false, false) && ((Player)target)._inEventTvT && _fakePlayer._inEventTvT && !((Player)target)._teamNameTvT.equals(_fakePlayer._teamNameTvT)) { targetList.add((Player)target); } if (target instanceof Player && !((Player)target).isDead() && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 1500, false, false) && ((Player)target)._inEventTvT && _fakePlayer._inEventTvT && !((Player)target)._teamNameTvT.equals(_fakePlayer._teamNameTvT)) { targetList.add((Player)target); } if (!(target instanceof Player) || ((Player)target).isDead() || ((Player)target).getAppearance().getInvisible() || !((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 6000, false, false) || !((Player)target)._inEventTvT || !_fakePlayer._inEventTvT || ((Player)target)._teamNameTvT.equals(_fakePlayer._teamNameTvT)) targetList.add((Player)target); continue; } if (target instanceof Player && !((Player)target).isDead() && !((Player)target).isPhantomAntBot() && (((Player)target).getPvpFlag() > 0 || ((Player)target).getKarma() > 0) && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 400, false, false) && (_fakePlayer.getClan() != null && ((Player)target).getClan() != null || _fakePlayer.getAllyId() != 0 && ((Player)target).getAllyId() != 0)) { targetList.add((Player)target); continue; } if (target instanceof Player && !((Player)target).isDead() && !((Player)target).isPhantomAntBot() && (((Player)target).getPvpFlag() > 0 || ((Player)target).getKarma() > 0) && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 800, false, false) && (_fakePlayer.getClan() != null && ((Player)target).getClan() != null || _fakePlayer.getAllyId() != 0 && ((Player)target).getAllyId() != 0)) { targetList.add((Player)target); continue; } if (target instanceof Player && !((Player)target).isDead() && !((Player)target).isPhantomAntBot() && (((Player)target).getPvpFlag() > 0 || ((Player)target).getKarma() > 0) && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 2000, false, false) && (_fakePlayer.getClan() != null && ((Player)target).getClan() != null || _fakePlayer.getAllyId() != 0 && ((Player)target).getAllyId() != 0)) { targetList.add((Player)target); continue; } if (target instanceof Player && !((Player)target).isDead() && !((Player)target).isPhantomAntBot() && (((Player)target).getPvpFlag() > 0 || ((Player)target).getKarma() > 0) && !((Player)target).getAppearance().getInvisible() && ((Player)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 4000, false, false) && (_fakePlayer.getClan() != null && ((Player)target).getClan() != null || _fakePlayer.getAllyId() != 0 && ((Player)target).getAllyId() != 0)) { targetList.add((Player)target); continue; } if (target instanceof Monster && ((Monster)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 400, false, false)) { targetList.add((Monster)target); continue; } if (target instanceof Monster && ((Monster)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 800, false, false)) { targetList.add((Monster)target); continue; } if (target instanceof Monster && ((Monster)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 1500, false, false)) { targetList.add((Monster)target); continue; } if (target instanceof Monster && ((Monster)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 2000, false, false)) { targetList.add((Monster)target); continue; } if (!(target instanceof Monster) || !((Monster)target).isInsideRadius(_fakePlayer.getX(), _fakePlayer.getY(), _fakePlayer.getZ(), 2500, false, false)) targetList.add((Monster)target); } if (targetList.isEmpty()) { this._fakePlayer.setTarget(null); } else { WorldObject target; int nextTargetIdx = Rnd.get(targetList.size()); target = targetList.get(nextTargetIdx); this._fakePlayer.setTarget(target); } } else if (((Creature)this._fakePlayer.getTarget()).isDead() || this._fakePlayer.getTarget() instanceof Player && ((Player)this._fakePlayer.getTarget()).getPvpFlag() == 0 && ((Player)this._fakePlayer.getTarget()).getKarma() == 0 && (!TvT.is_started() || !this._fakePlayer._inEventTvT)) { this._fakePlayer.setTarget(null); if (Rnd.get(100) < Config.PHANTOM_MAGE_RANDOM_WALK) { this.setBusyThinking(true); this._fakePlayer.rndWalkMonster(); try { Thread.sleep(3000L); } catch (InterruptedException targetList) { // empty catch block } this.setBusyThinking(false); } } } public void castSpell(L2Skill skill) { if (!this._fakePlayer.isCastingNow()) { if (skill.getTargetType() == L2Skill.SkillTargetType.TARGET_GROUND) { if (this.maybeMoveToPosition(this._fakePlayer.getCurrentSkillWorldPosition(), skill.getCastRange())) { this._fakePlayer.setIsCastingNow(false); return; } } else { if (this.checkTargetLost(this._fakePlayer.getTarget())) { if (skill.isOffensive() && this._fakePlayer.getTarget() != null) { this._fakePlayer.setTarget(null); } this._fakePlayer.setIsCastingNow(false); return; } if (this._fakePlayer.getTarget() != null && this.maybeMoveToPawn(this._fakePlayer.getTarget(), skill.getCastRange())) { return; } if (this._fakePlayer.isSkillDisabled(skill)) { return; } } if (skill.getHitTime() > 50 && !skill.isSimultaneousCast()) { this.clientStopMoving(null); } this._fakePlayer.doCast(skill); } else { this._fakePlayer.forceAutoAttack((Creature)this._fakePlayer.getTarget()); } } protected void castSelfSpell(L2Skill skill) { if (!this._fakePlayer.isCastingNow() && !this._fakePlayer.isSkillDisabled(skill)) { if (skill.getHitTime() > 50 && !skill.isSimultaneousCast()) { this.clientStopMoving(null); } this._fakePlayer.doCast(skill); } } protected void clientStopMoving(SpawnLocation loc) { if (this._fakePlayer.isMoving()) { this._fakePlayer.stopMove(loc); } this._clientMovingToPawnOffset = 0; if (this._clientMoving || loc != null) { this._clientMoving = false; this._fakePlayer.broadcastPacket(new StopMove(this._fakePlayer)); if (loc != null) { this._fakePlayer.broadcastPacket(new StopRotation(this._fakePlayer.getObjectId(), loc.getHeading(), 0)); } } } protected boolean checkTargetLost(WorldObject target) { Player victim; if (target instanceof Player && (victim = (Player)target).isFakeDeath()) { victim.stopFakeDeath(true); return false; } if (target == null) { this._fakePlayer.getAI().setIntention(CtrlIntention.ACTIVE); return true; } return false; } protected boolean maybeMoveToPosition(Location worldPosition, int offset) { if (worldPosition == null) { return false; } if (offset < 0) { return false; } if (!this._fakePlayer.isInsideRadius(worldPosition.getX(), worldPosition.getY(), (int)(offset + this._fakePlayer.getCollisionRadius()), false)) { if (this._fakePlayer.isMovementDisabled()) { return true; } int x = this._fakePlayer.getX(); int y = this._fakePlayer.getY(); double dx = worldPosition.getX() - x; double dy = worldPosition.getY() - y; double dist = Math.sqrt(dx * dx + dy * dy); double sin = dy / dist; double cos = dx / dist; this.moveTo(x += (int)((dist -= offset - 5) * cos), y += (int)(dist * sin), worldPosition.getZ()); return true; } return false; } protected void moveToPawn(WorldObject pawn, int offset) { if (!this._fakePlayer.isMovementDisabled()) { if (offset < 10) { offset = 10; } boolean sendPacket = true; if (this._clientMoving && this._fakePlayer.getTarget() == pawn) { if (this._clientMovingToPawnOffset == offset) { if (System.currentTimeMillis() < this._moveToPawnTimeout) { return; } sendPacket = false; } else if (this._fakePlayer.isOnGeodataPath() && System.currentTimeMillis() < this._moveToPawnTimeout + 1000L) { return; } } this._clientMoving = true; this._clientMovingToPawnOffset = offset; this._fakePlayer.setTarget(pawn); this._moveToPawnTimeout = System.currentTimeMillis() + 1000L; if (pawn == null) { return; } this._fakePlayer.moveToLocation(pawn.getX(), pawn.getY(), pawn.getZ(), offset); if (!this._fakePlayer.isMoving()) { return; } if (pawn instanceof Creature) { if (this._fakePlayer.isOnGeodataPath()) { this._fakePlayer.broadcastPacket(new MoveToLocation(this._fakePlayer)); this._clientMovingToPawnOffset = 0; } else if (sendPacket) { this._fakePlayer.broadcastPacket(new MoveToPawn(this._fakePlayer, pawn, offset)); } } else { this._fakePlayer.broadcastPacket(new MoveToLocation(this._fakePlayer)); } } } public void moveTo(int x, int y, int z) { if (!this._fakePlayer.isMovementDisabled()) { this._clientMoving = true; this._clientMovingToPawnOffset = 0; this._fakePlayer.moveToLocation(x, y, z, 0); this._fakePlayer.broadcastPacket(new MoveToLocation(this._fakePlayer)); } } protected boolean maybeMoveToPawn(WorldObject target, int offset) { if (target == null || offset < 0) { return false; } offset = (int)(offset + this._fakePlayer.getCollisionRadius()); if (target instanceof Creature) { offset = (int)(offset + ((Creature)target).getCollisionRadius()); } if (!this._fakePlayer.isInsideRadius(target, offset, false, false)) { if (this._fakePlayer.isMovementDisabled()) { if (_fakePlayer.getAI().getDesire().getIntention() == CtrlIntention.ATTACK) { this._fakePlayer.getAI().setIntention(CtrlIntention.IDLE); } return true; } if (target instanceof Creature && !(target instanceof Door)) { if (((Creature)target).isMoving()) { offset -= 30; } if (offset < 5) { offset = 5; } } this.moveToPawn(target, offset); return true; } if (!GeoEngine.getInstance().canSeeTarget(this._fakePlayer, this._fakePlayer.getTarget())) { this._fakePlayer.setIsCastingNow(false); this.moveToPawn(target, 50); return true; } return false; } public abstract void thinkAndAct(); protected abstract ArrayList<Integer> getBuffs(); }
-
Good afternoon mxc, I'm having some problems with a mod I'm adding, the mod is the Phantom players. When I use the // roboto command, the phantons spawn but do not appear in game .. it looks like a photo: also this critical error when I try to log: Assertion failed: Delta==Delta [File:.\UnPhysic.cpp] [Line: 1027] History: APawn::physWalking <- MOrc 20_17.MOrc0 Loc.X=11443.000000 Y=-24021.000000 Z=-3669.484375 Acc.X0.000000 Y=0.000000 Z=0.000000 Vel.X=-1.#IND00 Y=-1.#IND00 Z=-1.#IND00 Delta.X=-1.#IND00 Y=-1.#IND00 Z=0.000000 <- APawn::performPhysics <- AActor::Tick <- TickAllActors <- ULevel::Tick <- (NetMode=0) <- TickLevel <- UGameEngine::Tick <- UpdateWorld <- MainLoop
-
Help BUG MULTISELL ACIS 370
nortim replied to nortim's question in Request Server Development Help [L2J]
Resolved, locked topic. -
Good afternoon, I'm working on a project based on 370, and I came across the same error in this post: I noticed that they solved the problem, but they did not post the solution .. can anyone help me to solve the problem?
-
Help ERROR PHANTOM PLAYERS
nortim replied to nortim's question in Request Server Development Help [L2J]
Locked topic! Resolved. -
Good afternoon mxc I'm having a problem with a mod in my project, the mod is the Phantom of the Phantom Players, my pack has the ANT FARM PVP, if I activate it I have a message in the GS, however if I disable it the messages disappear , my doubt is what should be the line so that ANT FARM does not disturb the PVP of the PHANTONS PLAYERS, I mean .. should stay !isPhantom ...? I tried some things and I could not. Ex: (! IsPhantom ()) && (! (IsPhantom ()))
-
Good afternoon mxc, I'm working on a base acys 374 project, however I'm having several errors, even without having added anything that interfered with the progress of the server. When soon two characters the screens lock and they gain a huge delay and in the GS does not appear some mistake. I have error when the char is walking in primeval island and suddenly he returns to the starting place .. can anyone help?
