Jump to content

Kotegaeshi92

Members
  • Posts

    50
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

About Kotegaeshi92

Profile Information

  • Current Mood
    Confused
  • Gender
    Male
  • Country
    Argentina
  • Interests
    L2

Recent Profile Visitors

950 profile views

Kotegaeshi92's Achievements

Explorer

Explorer (4/16)

  • Reacting Well Rare
  • First Post Rare
  • Collaborator Rare
  • Dedicated Rare
  • Conversation Starter Rare

Recent Badges

0

Reputation

  1. Hi folks, im adapting a event engine to acis 399, but some methods have changed, ive adapted the most of them but i cant get rid of this code: "if (Math.sqrt(player.getPlanDistanceSq(zone.getLastSpawn().getX(), zone.getLastSpawn().getY())) <= getInt("zoneRadius"))" getPlanDistanceSq i think maybe i should use "getCollisionRadius" but cannot make it work.. if anyone can help me ill be gratefull Thanks !!
  2. Yeah, i can buy the static ip service, but the point is that in previous versions of acis(ex . 365) this didnt happen, im using the same configuration, im using the dns in the config, so i dont know why the gameserver uses the current ip and not the dns name instead. But well. thanks anyway !
  3. my ip es dynamic, i have a no-ip, but still with that , if the ip changes, the gameserver keeps using the old ip.. i have the dns configured in both login and gameserver. In older versions this didnt happen.
  4. Hi friends ! I am wondering if there is a way to make the login and game server update the current ip (masked by dns) because when my dynamic ip changes the game server and login server still connect to the old ip (I have dns set on both) and then I can't log back in until I close and restart both game server and login server. In previous versions I did not have this problem. The game and login server always took the dns and not the ip behind the dns. Thanks a lot !
  5. FIRST LINE (GAMECLIENT 686) : public void close(L2GameServerPacket gsp) { getConnection().close(gsp); } SECOND LINE (GAMECLIENT 707) : public synchronized void closeNow() { // Prevent packets execution. _isDetached = true; close(ServerClose.STATIC_PACKET); // Cancel cleanup task, if running. if (_cleanupTask != null) { _cleanupTask.cancel(true); _cleanupTask = null; } // Instant cleaning. ThreadPool.schedule(new CleanupTask(), 0); } THIRD LINE (LOGINSERVERTHREAD 335) ILL NOT POST THE FULL CODE ITS VERY LARGE.. case 0x04: final KickPlayer kp = new KickPlayer(decrypt); kickPlayer(kp.getAccount()); break; FOURTH LINE (LOGINSERVERTHREAD 239) public void kickPlayer(String account) { final GameClient client = _clients.get(account); if (client != null) client.closeNow(); } I have an offline trade mod... i wonder if the problem is that ?
  6. Hi ! im having this error, when it happens, the login goes offline... its weird because te gameserver and loginserver keeps going without errors. but you cannot connect again until i restart both. i looked into the code and i didnt found nothing "rare" . Im using acis 399 . this error occurs randomly and its very annoying because the server goes off.. any suggestions ?
  7. thanks tryskell ! thanks zake !
  8. Hi, im using acis 399. I want to block the lethal chance on a attackable npc(not monster) is there any condition to make ? i want that the skill hit the npc but not to do lethal and total kill or half kill on the npc. thanks !!
  9. hi! im using a sub stuck mod i found in the forum. Everything works ok but there is a bug.. if you cancel the subclass the first time and you dont go back to the main class, all skills from that class are removed (thats how supposed to work) but if you go back to main and you cancel the subclass, the skills from the subclass are not removed. So you can have skills from whatever subclass you want at the same time ( :S ) . ill paste te code here if anyone can give me some suggestion to fix this, i will be gratefull. Thanks ! edit: Im using Acis rev.399 /* * L2J_EngineMods * Engine developed by Fissban. * * This software is not free and you do not have permission * to distribute without the permission of its owner. * * This software is distributed only under the rule * of www.devsadmins.com. * * Contact us with any questions by the media * provided by our web or email marco.faccio@gmail.com */ package main.engine.mods; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.logging.Level; import main.data.ConfigData; import main.engine.AbstractMods; import net.sf.l2j.commons.pool.ConnectionPool; import net.sf.l2j.gameserver.data.SkillTable; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.skills.L2Skill; /** * @author fissban */ public class SubClassAcumulatives extends AbstractMods { // SQL private static final String RESTORE_SKILLS_FOR_CHAR = "SELECT skill_id,skill_level,class_index FROM character_skills WHERE char_obj_id=?"; /** * Constructor */ public SubClassAcumulatives() { registerMod(ConfigData.ENABLE_SubClassAcumulatives); } @Override public void onModState() { // } @Override public boolean onRestoreSkills(Player player) { Map<Integer, Integer> skills = new HashMap<>(); try (Connection con = ConnectionPool.getConnection(); PreparedStatement ps = con.prepareStatement(RESTORE_SKILLS_FOR_CHAR)) { // Retrieve all skills of this Player from the database ps.setInt(1, player.getObjectId()); try (ResultSet rs = ps.executeQuery()) { while (rs.next()) { final int id = rs.getInt("skill_id"); final int level = rs.getInt("skill_level"); final int classIndex = rs.getInt("class_index"); // fake skills for base stats if (id > 9000) { continue; } if (player.getClassIndex() != classIndex) { final L2Skill skill = SkillTable.getInstance().getInfo(id, level); if (skill == null) { LOG.log(Level.SEVERE, "Skipped null skill Id: " + id + ", Level: " + level + " while restoring player skills for " + player.getName()); continue; } if (!ConfigData.ACUMULATIVE_PASIVE_SKILLS) { if (skill.isPassive()) { continue; } } if (ConfigData.DONT_ACUMULATIVE_SKILLS_ID.contains(id)) { continue; } } // We save all the skills that we will teach our character. // This will avoid teaching a skill from lvl 1 to 15 for example // And directly we teach the lvl 15 =) skills.put(id, level); } } } catch (Exception e) { LOG.log(Level.SEVERE, "Could not restore " + player.getName() + " skills:", e); } for (Entry<Integer, Integer> skillLearn : skills.entrySet()) { final int id = skillLearn.getKey(); final int level = skillLearn.getValue(); // Create a L2Skill object for each record final L2Skill skill = SkillTable.getInstance().getInfo(id, level); if (skill == null) { LOG.log(Level.SEVERE, "Skipped null skill Id: " + id + ", Level: " + level + " while restoring player skills for " + player.getName()); continue; } // solo le enseniamos el skill si es que el mismo no lo tiene aun o si es el inferior al q le vamos a enseniar if (player.getSkillLevel(id) < level) { // Add the L2Skill object to the L2Character _skills and its Func objects to the calculator set of the L2Character player.addSkill(skill, true); } } return true; } public static SubClassAcumulatives getInstance() { return SingletonHolder.INSTANCE; } private static class SingletonHolder { protected static final SubClassAcumulatives INSTANCE = new SubClassAcumulatives(); } }
  10. Hi folks, im having a weird issue or maybe i made something wrong. Im currently in quest period in seven sings and in the catacombs or necropolis there are no mobs that drops seal stones .. just the one that not drops. in database says "COMPETITION"... someone can help ? thanks ! im using acis 399.
  11. Thanks im trying this.. the WorldRegion part its ok ?
  12. Hi, im using acis 399, im trying to adapt a mutizone code, everything works fine except for this: @Override public void onDieInside(Creature character) { if (character instanceof Player && _isReviveEnabled) { ThreadPool.schedule(() -> respawnCharacter(character), _reviveDelay * 1000); character.sendPacket(new ExShowScreenMessage("Respawn in " + _reviveDelay + " seconds", 5000)); } } @Override public void onReviveInside(Creature character) { if (character instanceof Player && _isHealEnabled) { character.setCurrentCp(character.getStatus().getMaxCp()); character.setCurrentHpMp(character.getStatus().getMaxHp(), character.getStatus().getMaxMp()); } } and i have this in WorldRegion public void onDeath(Creature character) { _zones.stream().filter(z -> z.isCharacterInZone(character)).forEach(z -> z.onDieInside(character)); } public void onRevive(Creature character) { _zones.stream().filter(z -> z.isCharacterInZone(character)).forEach(z -> z.onReviveInside(character)); } But nothing happens.. i was using this code in older acis version, but in the new one, i cant make it work. its there any part of the code that im missing? Thanks !!
  13. how can i get that update ? , need to fix this ... started a project and i didnt know that this might happen
×
×
  • Create New...