Jump to content

wongerlt

Members
  • Posts

    539
  • Credits

  • Joined

  • Last visited

  • Days Won

    7
  • Feedback

    0%

Everything posted by wongerlt

  1. Hello, Me server have 2 ip with different country. First ip i registered in game server list, now i need register and second ip to same server. How i can do it on aCis?
  2. Oh why on latest version material, crystal_type, weapon_type are upercase? :D
  3. Im use only notepad++ and ant (to compile). Im try to use eclipse but its very uncomfortable for me :/ And i see on latest version many changes, so i need rework all me codes to adapt ;) Will be a lot of work from ~300 to ~360 :D
  4. Little? I'm many things changed in server core , so move all changes is hard :D
  5. Yes.. i read all chagelog from me revision to latest and see many chages... Time to move all features to latest version, will be hard..
  6. L2J aCis. Error: Exception in thread "AISTPool-5" java.lang.StackOverflowError at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.startWaterTask(L2PcInstance.java:9109) at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.checkWaterState(L2PcInstance.java:9122) at net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.revalidateZone(L2PcInstance.java:1540) at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:626) at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373) at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296) at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3586) at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2819) at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:538) at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:494) at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:877) at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235) at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312) at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:641) at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373) at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296) at net.sf.l2j.gameserver.model.actor.L2Character.moveToLocation(L2Character.java:3586) at net.sf.l2j.gameserver.model.actor.L2Character$AIAccessor.moveTo(L2Character.java:2819) at net.sf.l2j.gameserver.ai.AbstractAI.moveTo(AbstractAI.java:538) at net.sf.l2j.gameserver.ai.AbstractAI.moveToPawn(AbstractAI.java:494) at net.sf.l2j.gameserver.ai.L2CharacterAI.maybeMoveToPawn(L2CharacterAI.java:877) at net.sf.l2j.gameserver.ai.L2PlayerAI.thinkCast(L2PlayerAI.java:235) at net.sf.l2j.gameserver.ai.L2PlayerAI.onEvtThink(L2PlayerAI.java:312) at net.sf.l2j.gameserver.ai.L2CharacterAI.onEvtArrived(L2CharacterAI.java:641) at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:373) at net.sf.l2j.gameserver.ai.AbstractAI.notifyEvent(AbstractAI.java:296) and 100 same error like last block L2Character.java:3586 i marked it with plus "+" .... if (offset > 0 || distance < 1) { // approximation for moving closer when z coordinates are different // TODO: handle Z axis movement better offset -= Math.abs(dz); if (offset < 5) offset = 5; // If no distance to go through, the movement is canceled if (distance < 1 || distance - offset <= 0) { if (Config.DEBUG) _log.fine("already in range, no movement needed."); // Notify the AI that the L2Character is arrived at destination + getAI().notifyEvent(CtrlEvent.EVT_ARRIVED); return; } .... L2Character.java:2819 public void moveTo(int x, int y, int z, int offset) { + moveToLocation(x, y, z, offset); } AbstractAI.java:538 protected void moveTo(int x, int y, int z, int offset) { // Check if actor can move if (_actor.isMovementDisabled()) { _actor.sendPacket(ActionFailed.STATIC_PACKET); return; } // Set AI movement data _clientMoving = true; if (_accessor == null) return; // Calculate movement data for a move to location action and add the actor to + _accessor.moveTo(x, y, z, offset); if (!_actor.isMoving()) { _actor.sendPacket(ActionFailed.STATIC_PACKET); return; } // Send a Server->Client packet CharMoveToLocation to the actor and all L2PcInstance in _actor.broadcastPacket(new MoveToLocation(_actor)); } AbstractAI.java:494 protected void moveToPawn(L2Object pawn, int offset) { if (_clientMoving && _target == pawn && _actor.isOnGeodataPath() && GameTimeController.getGameTicks() < _moveToPawnTimeout) return; _target = pawn; if (_target == null) return; _moveToPawnTimeout = GameTimeController.getGameTicks() + 20; + moveTo(_target.getX(), _target.getY(), _target.getZ(), offset = offset < 10 ? 10 : offset); } L2CharacterAI.java:877 protected boolean maybeMoveToPawn(L2Object target, int offset) { if (target == null || offset < 0) // skill radius -1 return false; offset += _actor.getTemplate().getCollisionRadius(); if (target instanceof L2Character) offset += ((L2Character) target).getTemplate().getCollisionRadius(); if (!_actor.isInsideRadius(target, offset, false, false)) { if (getFollowTarget() != null) { int foffset = offset + (((L2Character) target).isMoving() ? 100 : 0); // allow larger hit range when the target is moving (check is run only once per second) if (!_actor.isInsideRadius(target, foffset, false, false)) { if (!_actor.isAttackingNow() || _actor instanceof L2Summon) + moveToPawn(target, offset); return true; } stopFollow(); return false; } if (_actor.isMovementDisabled() && !(_actor instanceof L2Attackable)) { if (getIntention() == CtrlIntention.ATTACK) setIntention(CtrlIntention.IDLE); return true; } // If not running, set the L2Character movement type to run and send Server->Client packet ChangeMoveType to all others L2PcInstance if (!(this instanceof L2PlayerAI) && !(this instanceof L2SummonAI)) _actor.setRunning(); if ((target instanceof L2Character) && !(target instanceof L2DoorInstance)) startFollow((L2Character) target, offset); else { // Move the actor to Pawn server side AND client side by sending Server->Client packet MoveToPawn (broadcast) moveToPawn(target, offset); } return true; } stopFollow(); return false; } L2PlayerAI.java:235 private void thinkCast() { L2Character target = (L2Character) getTarget(); if (Config.DEBUG) _log.warning("L2PlayerAI: thinkCast -> Start"); if (_skill.getTargetType() == SkillTargetType.TARGET_GROUND && _actor instanceof L2PcInstance) { if (maybeMoveToPosition(((L2PcInstance) _actor).getCurrentSkillWorldPosition(), _skill.getCastRange())) { _actor.setIsCastingNow(false); return; } } else { if (checkTargetLost(target)) { // Notify the target if (_skill.isOffensive() && getTarget() != null) setTarget(null); _actor.setIsCastingNow(false); return; } + if (target != null && maybeMoveToPawn(target, _skill.getCastRange())) { _actor.setIsCastingNow(false); return; } } L2PlayerAI.java:312 protected void onEvtThink() { // Check if the actor can't use skills and if a thinking action isn't already in progress if (_thinking && getIntention() != CtrlIntention.CAST) // casting must always continue return; // Start thinking action _thinking = true; try { // Manage AI thoughts switch (getIntention()) { case ATTACK: thinkAttack(); break; case CAST: + thinkCast(); break; case PICK_UP: thinkPickUp(); break; case INTERACT: thinkInteract(); break; } } finally { // Stop thinking action _thinking = false; } } L2CharacterAI.java:641 protected void onEvtArrived() { _accessor.getActor().revalidateZone(true); if (_accessor.getActor().moveToNextRoutePoint()) return; if (_accessor.getActor() instanceof L2Attackable) ((L2Attackable) _accessor.getActor()).setIsReturningToSpawnPoint(false); clientStoppedMoving(); // If the Intention was MOVE_TO, set the Intention to ACTIVE if (getIntention() == CtrlIntention.MOVE_TO) setIntention(CtrlIntention.ACTIVE); // Launch actions corresponding to the Event Think + onEvtThink(); } AbstractAI.java:373 ... case EVT_ARRIVED: if (!_actor.isCastingNow() && !_actor.isCastingSimultaneouslyNow()) + onEvtArrived(); break; ... AbstractAI.java:296 public final void notifyEvent(CtrlEvent evt) { + notifyEvent(evt, null, null); } i get this error not only with startWaterTask i get and with others, and same error 14000 lines... one time per day. Maybe anyone know how to solve this problem?
  7. I'm creating to antibot for interlude. i do this with dsetup.dll * Mix packets id's. [with this all OOG bots stop working.] * Search in processes. * Seatch in titles * Search in windows texts. * Search in l2.exe threads. * Search for hooks in l2.exe * Query GG with strong random hash every time to client and back every 15. sec. It stop many bots. ~80%-100%.
  8. I see all servers have own balance. reworked again:
  9. So its bad? i dont have more ideas.. I get this idea from http://www.maxcheaters.com/topic/176348-class-balance-with-config/ just reworked :)
  10. Just finished creating balance system >:D <class mean attacker class id <weapon what damage make with weapon type if i set DAGGER to 2 then with dagger make damage/2 , if 0.5 then damage*2 <vs damage to other class if i make at class="16" damage="2" then duelist to bishop make damage/2. it change fighter damage, mage damage, skill damage. and command: //reload balance so you can change all without server restarts and test fast. All interlude classes. If anyone interesed to it please pm, it work great :)
  11. Oh thanks it worked!!! >:D
  12. Hello, Im using old acis rev. now im looking balanced formulas java and skills/classes xml files. Im trying to balance it self but is to much skills and stats. Now i got ~20% balance in olympiad with a grade items (10+ arrmors, 16+ weaps.), no customs. it does not matter if xml difference i will addapt it on me pack but all information must be in xml not 50% in sql. Anyone can recommend any pack with at least ~70% balance? Maybe in last free acis rev good balance?
  13. fixed, can lock it.
  14. Yes it shared code. Any other can help with it? :)
  15. Hello, How to send packet back when get it? int __fastcall new_AddNetworkQueue(unsigned int This, unsigned int EDX, TNetworkPacket *NetworkPacket) { if (NetworkPacket->subid == 0xFFFF) { switch (NetworkPacket->id) { case 0x2E: decodeKey(NetworkPacket->data + 1); break; case 0x74: // reply ? Logger("Get from server."); break; default: Logger("Get from server other"); break; } } return true_AddNetworkQueue(This, EDX, NetworkPacket); } Packet i get from server, now i want reply to server, how to do it? i want reply to 0x74 packet. If need more code tell me :) Thanks for help.
  16. how to verify? i tryng emulator verify server but not work
  17. Not work, any settings. Maybe need verify walker? or something like it?
  18. Hello, im trying to run it on c4 server, it work,walker version 1.55 , some screenshots: http://prntscr.com/c6j5bq http://prntscr.com/c6j5ol example if i click on monster in map it go and kill it. but why not working auto target, auto attack, wheen i click .START combat nothing hapening. all skills, items, othert info is correctly showing in bot. just not work auto attack and auto target. Where is problem?
  19. next time i mean like wipe, when server reach 0 online, first start so idk , maybe players dont like it.
  20. what wrong with site?
  21. At first start i dont want make good ad, if players like it next time i make better :)
  22. Interlude (C6) PVP server with custom modifications. Server has hight rates and max lvl at start, so you dont need to level up. In server shops you can get free a grade and farm with it for better gears. You dont need buy many potions, soulshots, arrows and etc, because this items is not consumable. http://L2Custom.com Rates: Xp 9999x. Sp 9999x. Adena (custom) 1x. Dropas (custom) 1x. PartyXp 1x. PartySp 1x. Starting level 80lv. Enchant rates: S Grade Weapons - 75%/85% Max: +21 A Grade Weapons - 75%/85% Max: +16 S Grade Arrmors - 75%/85% Max: +20 A Grade Arrmors - 75%/85% Max: +8 Blessed - 85% Normal - 75% Crystal - 100% Customs: Custom Weapons (Like L2Gold) Custom Arrmors Apella, Dynasty Custom Jewellery (Like L2Gold) Custom Tattos Custom Dyes Custom Augments Custom Zones Custom Rebirth Manager Custom Nobless Manager Custom Buffer Full buffs Custom Class skills Custom TvT Event zones Custom RB zones with teleporter Custom Sub Class Olympiad: Period 7 days. Every day at 18:00 GMT+2 Only A grade gears, no customs. And much more. Some screen shots: Custom augments http://image.prntscr.com/image/e4e5ba60cf6f405299f48dcfb8ae3440.png Custom dyes http://image.prntscr.com/image/96b958f795d848b8b96ffef9261e31c0.png RaidBoss teleporter http://prntscr.com/bys0eh Its me =GM=Avice http://prntscr.com/bys2g4 with full items ++ Custom TvT arena http://prntscr.com/bys4h4 PvP Reward arena http://prntscr.com/bys5nt ant much more other things. Server start 2016-08-08 18:00 GMT+2
  23. Hello, I have two problems i can't find where to change color chat i mean color what player write together in normal or shout or pm, what file in client? Other i cant find file where to change ExShowScreenMessage color i know it need change in client side , because is interlude client. Other problem where to find this i want make custom dyes, but where find Symbol of Stenght Str+1 Dex-1 in me opinion it in client side but what file? where all symbol list? Thanks for all ;) Client is Interlude
  24. Me created scripts for web. Register script nude: <?php $error = ""; if(isset($_POST['register'])) { $conn = new mysqli("server_host", "db_user_name", "db_user_password", "db_database"); $id = mysqli_real_escape_string($conn, $_POST['id']); $password = base64_encode(sha1($_POST['password'], true)); if($_POST['password']!=$_POST['rpassword']){ $error .= "Password does not match the repeat password.<br>"; } if(mb_strlen($id)<4){ $error .= "User ID must be more than 3 symbol.<br>"; } $sql = "SELECT `login` FROM `accounts` WHERE `login`='".$id."'"; $result = $conn->query($sql); if ($result->num_rows!=0) { $error .= "User ID already exist. Please chose other User ID.<br>"; } if(empty($error)){ $sql = "INSERT INTO `accounts` VALUES('".$id."','".$password."','0','0','1','','".date("Y-m-d H:i:s")."')"; $result = $conn->query($sql); $error = "Account created, now you can login!!!!"; } } echo '<form id="register" method="post" action="#">'; echo (!empty($error)?"<label><strong>".$error."</strong></label>":''); echo '<label for="userid">User ID</label> <input id="userid" name="id" type="text"> <label for="userpass">Password</label> <input id="userpass" name="password" type="password"> <label for="userpassr">Repeat password</label> <input id="userpassr" name="rpassword" type="password"> <input id="submit" name="register" type="submit" value="Register"> </form>'; ?> Change password script nude: <?php $error = ""; if(isset($_POST['changepass'])) { $conn = new mysqli("server_host", "db_user_name", "db_user_password", "db_database"); $id = mysqli_real_escape_string($conn, $_POST['id']); $password = base64_encode(sha1($_POST['password'], true)); $newp = $_POST['newp']; $renewp = $_POST['renewp']; $pass = base64_encode(sha1($_POST['newp'], true)); $sql = "SELECT `login` FROM `accounts`,`characters` WHERE accounts.login='".$id."' AND accounts.password='".$password."' AND characters.account_name='".$id."' AND characters.online=0"; $result = $conn->query($sql); if ($result->num_rows==0) { $error .= "User ID or Password is wrong or you are online in game, please check and try again."; } if($newp!=$renewp){ $error .= "New password does not match the confirm password, please check and try again."; } if(empty($error)) { mysqli_query($conn,"UPDATE `accounts` SET `password`='".$pass."' WHERE `login`='".$id."'"); $error = "Password changed."; } } echo '<form id="change-password" method="post" action="#">'; echo (!empty($error)?"<label><strong>".$error."</strong></label>":''); echo '<label for="cpw">User ID</label> <input id="userid" name="id" type="text"> <label for="userpass">Current password</label> <input id="userpass" name="password" type="password"> <label for="newpass">New password</label> <input id="newpass" name="newp" type="password"> <label for="newpassr">Confirm new password</label> <input id="newpassr" name="renewp" type="password"> <input id="submit" name="changepass" type="submit" value="Change Password"> </div> </form>'; ?>
×
×
  • Create New...