Elfo Posted December 8, 2017 Author Posted December 8, 2017 2 hours ago, valentin said: excused the question , I saw from those videos, hit or skill is delay a 1 second,this is a problem? No, players are barely buffed. Melee users and archers have autoattack so its more than once a second when possible. For mages yeah it is one per second but when i add the queuing system it will be more. Quote
valentin Posted December 8, 2017 Posted December 8, 2017 (edited) 372 last version dont work Edited December 8, 2017 by valentin Quote
Elfo Posted December 8, 2017 Author Posted December 8, 2017 42 minutes ago, valentin said: 372 last version dont work Well apparently (If you read the comments above) if you fix one change that acis did, it will work. Quote
Elfo Posted December 8, 2017 Author Posted December 8, 2017 I will start working on a kinda important update today. The FakePlayerAI will be split two two AIs, one for combat and one for general functions. This makes the system more flexible. Here is a list of things that will be added. It also shows the hierarchy system im going for. FakePlayerAI CombatAI Class Ais Here SocialAI WalkerAI EnchanterAI MerchantAI PrivateStoreSellAI PrivateStoreBuyAI CrafterAI TraderAI setFakeAi drives the current AIonFakeAiSet event will be triggered which will give all the necessary items for this ai After the separation the methods will be split in the following way. FakePlayerAI methods public abstract void thinkAndAct(); protected void tryTargetRandomCreatureByTypeInRadius(Class<? extends Creature> creatureClass, int radius) protected void applyDefaultBuffs() protected abstract int[][] getBuffs(); public void castSpell(L2Skill skill) protected void castSelfSpell(L2Skill skill) protected void clientStopMoving(SpawnLocation loc) protected boolean checkTargetLost(WorldObject target) protected boolean maybeMoveToPosition(Location worldPosition, int offset) protected void moveToPawn(WorldObject pawn, int offset) public void moveTo(int x, int y, int z) protected boolean maybeMoveToPawn(WorldObject target, int offset) CombatAI methods protected volatile boolean _clientAutoAttacking; public boolean isPickingMageSpell() protected abstract List<OffensiveSpell> getOffensiveSpells(); protected abstract List<HealingSpell> getHealingSpells(); protected abstract List<SupportSpell> getSelfSupportSpells(); protected abstract ShotType getShotType(); protected void tryAttackingUsingMageOffensiveSkill() protected void handleShots() public HealingSpell getRandomAvaiableHealingSpellForTarget() protected BotSkill getRandomAvaiableMageSpellForTarget() private BotSkill waitAndPickAvailablePrioritisedSpell(List<? extends BotSkill> spellsOrdered, int skillListSize) protected L2Skill getRandomAvaiableFighterSpellForTarget() protected void selfSupportBuffs() protected int getArrowId() protected int getShotId() 1 1 Quote
Stive Posted December 8, 2017 Posted December 8, 2017 Dont understant why you update this for every boob here to use it and tale it ready...why you kill your time for this shit.. Quote
Elfo Posted December 8, 2017 Author Posted December 8, 2017 6 minutes ago, Stive said: Dont understant why you update this for every boob here to use it and tale it ready...why you kill your time for this shit.. Why do you assume i kill me time? It is pretty fun to develop. Closed development died a long time ago. I love open source development. Projects in my Github page like L2dotNET and my L2ACP got me and amazing job in an amazing company (I am actually serious i was asked about L2 in job interviews). As a professional software engineer my portfolio is my Github page with all the open source projects i have and the contributions i do on other projects. Recruiters and companies value that even more than past experience (at least in London which is where i am). Now should i care about a bunch of kids that will use my code to do shitty things? Ofc not, that's been happening for years now. If you think i gain nothing from doing this then i really really (really) feel bad for you. Quote
Stive Posted December 8, 2017 Posted December 8, 2017 Then go work in you job and dont kill l2 cause you killing it when every noob here gets unique free codes... i got this fakes for acis since 2 years and updating it and its made from 2 ppl that working for me from l2j team, and its really good... and now see shity home server with system not like mine but same style.. Quote
Elfo Posted December 8, 2017 Author Posted December 8, 2017 1 minute ago, Stive said: Then go work in you job and dont kill l2 cause you killing it when every noob here gets unique free codes... i got this fakes for acis since 2 years and updating it and its made from 2 ppl that working for me from l2j team, and its really good... and now see shity home server with system not like mine but same style.. Well why should i care about you and your files? Mate get real. You are just triggered because something that you probably spend money on, is shared for free for everyone to use. Go cry on another topic. Quote
djdiablo Posted December 8, 2017 Posted December 8, 2017 java.lang.NullPointerException at com.elfocrash.roboto.FakePlayer.checkUseMagicConditions(FakePlayer.ja va:89) at com.elfocrash.roboto.ai.CombatAI.selfSupportBuffs(CombatAI.java:158) at com.elfocrash.roboto.ai.DestroyerAI.thinkAndAct(DestroyerAI.java:31) at com.elfocrash.roboto.task.AITask.lambda$run$63(AITask.java:26) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source) at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Sou rce) at java.util.stream.AbstractPipeline.copyInto(Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Sour ce) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknow n Source) at java.util.stream.AbstractPipeline.evaluate(Unknown Source) at java.util.stream.ReferencePipeline.forEach(Unknown Source) at com.elfocrash.roboto.task.AITask.run(AITask.java:26) at net.sf.l2j.commons.concurrent.ThreadPool$TaskWrapper.run(ThreadPool.j ava:248) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) pls help fix it (i bad speack english) Quote
Elfo Posted December 8, 2017 Author Posted December 8, 2017 (edited) 2 hours ago, djdiablo said: pls help fix it (i bad speack english) DO NOT POST BUGS HERE. POST THEM IN HERE FOR CHRIST SAKE https://github.com/Elfocrash/L2jRoboto/issues Also update: Added Duelist Spellcasters will now run to the target to cast the spell instead of staying idle Edited December 9, 2017 by .Elfocrash Quote
ZOUMHSESL2 Posted December 9, 2017 Posted December 9, 2017 17 hours ago, Stive said: Dont understant why you update this for every boob here to use it and tale it ready...why you kill your time for this shit.. they see it like a Hobby, @.Elfocrash cant feel lineage 2 scene like you Stive and me back to 2005-2009 [nice years], now we are already to go 2018. Example: call of duty or leauge of legends have bots system. but you choose to play it. its the same. Lineage 2 will be die or grow up the same with or without bots system, and why? Think about it! Quote
Devlin Posted December 9, 2017 Posted December 9, 2017 5 hours ago, ZOUMHS said: they see it like a Hobby, @.Elfocrash cant feel lineage 2 scene like you Stive and me back to 2005-2009 [nice years], now we are already to go 2018. Example: call of duty or leauge of legends have bots system. but you choose to play it. its the same. Lineage 2 will be die or grow up the same with or without bots system, and why? Think about it! Why you care so much old man? Quote
ZOUMHSESL2 Posted December 9, 2017 Posted December 9, 2017 36 minutes ago, Devlin said: Why you care so much old man? kid omg lol fail Quote
bravetobe Posted December 9, 2017 Posted December 9, 2017 1 hour ago, ZOUMHS said: kid omg lol fail that reminds me 2k8 posts LUL Quote
Elfo Posted December 9, 2017 Author Posted December 9, 2017 Update Added EnchanterAI Added //spawnenchanter which spawns a random fake player with EnchanterAI Enchanter AI is using the server's chances and max rates (acis doenst have safe in a config so i hardcoded it) in order to emulate a player that is trying to enchant his weapons, assuming he has unlimited scrolls and weapons. Again, i suggest you use this feature to see how long it takes for a user to get to your server's max. 2 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.