Jump to content

te0x

Members
  • Posts

    460
  • Credits

  • Joined

  • Last visited

  • Days Won

    2
  • Feedback

    0%

Everything posted by te0x

  1. well guyz thanks i am gonna check it out thanks again
  2. hey i was trying to set a "cover" name in olympiad to avoid a bit the feed so i start searching how to do this. anyway i did that _playerOne._originalTitleTvT = _playerOne.getName(); _playerOne.setName("Guest"); _playerOne.broadcastUserInfo(); _playerOne.setIsInOlympiadMode(true); _playerOne.setIsOlympiadStart(false); _playerOne.setOlympiadSide(1); _playerTwo._originalTitleCTF = _playerTwo.getName(); _playerTwo.setName("Challenger"); _playerTwo.broadcastUserInfo(); _playerTwo.setIsInOlympiadMode(true); _playerTwo.setIsOlympiadStart(false); _playerTwo.setOlympiadSide(2); player.getStatus().startHpMpRegeneration(); player.setCurrentCp(player.getMaxCp()); player.setCurrentHp(player.getMaxHp()); player.setCurrentMp(player.getMaxMp()); player.setName(_playerOne._originalTitleTvT); player.setName(_playerTwo._originalTitleCTF); player.broadcastUserInfo(); player.setIsInOlympiadMode(false); player.setIsOlympiadStart(false); player.setOlympiadSide(-1); player.setOlympiadGameId(-1); player.sendPacket(new ExOlympiadMode(0)); so when they join in oly their name changed to Challenger and Guest and when they tp back its going to their real name. but if some1 get a dc and he relog his name is Challenger or Guest not his real name.. what should i do ?
  3. hello, i was seaching 5 min ago something and i found a code that removes karma with an item and i thought that it was something that removing pk amount with your pvp amount. so i did some modifies and i did that ;D so create in instance a file called L2PkTraderInstance /* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ package com.l2jfrozen.gameserver.model.actor.instance; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed; import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jfrozen.gameserver.templates.L2NpcTemplate; /** + * Author: te0x + */ public class L2PkTraderInstance extends L2NpcInstance { public L2PkTraderInstance(int objectID, L2NpcTemplate template) { super(objectID, template); } @Override public void onBypassFeedback(L2PcInstance player, String command) { if (command.startsWith("CleanPK")) { if(player.getPkKills() <= Config.PK_TRADER) { player.sendMessage("You must have at least " + Config.PK_TRADER+ " pks to clean em"); return; } else if(player.getPvpKills() <= Config.PVPS_CLEAN_PK) { player.sendMessage("You must have at least " + Config.PVPS_CLEAN_PK+ " pvps to clean " + Config.PK_TRADER+ " pk!"); return; } else player.setPkKills(player.getPkKills() - Config.PK_TRADER); player.setPvpKills(player.getPvpKills() - Config.PVPS_CLEAN_PK); player.sendMessage("You have successfully removed "+ Config.PK_TRADER+" pk kill!"); player.broadcastUserInfo(); } super.onBypassFeedback(player, command); } @Override public void showChatWindow(L2PcInstance player) { player.sendPacket(ActionFailed.STATIC_PACKET); NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); html.setFile("data/html/PKCleaner/" + getTemplate().getNpcId() + ".htm"); html.replace("%objectId%", String.valueOf(getObjectId())); html.replace("%name%", player.getName()); player.sendPacket(html); } } now in configs public static boolean SCROLL_STACKABLE; + public static int PVPS_CLEAN_PK; + public static int PK_TRADER; SCROLL_STACKABLE = Boolean.parseBoolean(L2JFrozenSettings.getProperty("ScrollStackable", "False")); + PVPS_CLEAN_PK = Integer.parseInt(L2JFrozenSettings.getProperty("PvpNeedToRemovePk", "15")); + PK_TRADER = Integer.parseInt(L2JFrozenSettings.getProperty("PkRemoveby", "15")); DP part create a file with ur npc id and add this. Don't forget the type must be L2PkTrader +<html><title>PK Cleaner</title> +<html> +<body> +<center> +<img src="L2UI_CH3.herotower_deco" width=256 height=32> +</center> +<center> +<br> +<font color="FF0000">PK Cleaner</font><br> +<font color="00FF00">Hello, %name%<br> +I'm the PK Cleaner, I'll Change your karma to 0, it costs 1 Coin of Luck.<br> +</font><br> +</center> +<center> +<button value="Clean" action="bypass -h npc_%objectId%_CleanPK" width=75 height=21 back="L2UI_ch3.Btn1_normalOn" fore="L2UI_ch3.Btn1_normal"> +<img src="L2UI_CH3.herotower_deco" width=256 height=32><br> +</center> +</body></html> \ No newline at end of file Configs/functions/l2jfrozen # How many pvps wants to delete so u can clean up pks PvpNeedToRemovePk = 5 # How many pks will be cleaned PkRemoveby = 1 thats all ;D
  4. hello i was playing with some skills stats like PVP_PHYSICAL_DMG("pvpPhysDmg"), PVP_MAGICAL_DMG("pvpMagicalDmg"), PVP_PHYS_SKILL_DMG("pvpPhysSkillsDmg"), and i saw a guy asking somewhere for pvpPhysicalDef stats so i tryed to make em.. its based on l2jfrozen also. com.l2jfrozen.gameserver.skills.stats find this PVP_PHYS_SKILL_DMG("pvpPhysSkillsDmg"), and below add these PVP_PHYSICAL_DEF("pvpPhysDef"), PVP_MAGICAL_DEF("pvpMagicalDef"), PVP_PHYS_SKILL_DEF("pvpPhysSkillsDef"), now go to com.l2jfrozen.gameserver.skills.formulas find always the first line and add the + if((attacker instanceof L2PcInstance || attacker instanceof L2Summon) && (target instanceof L2PcInstance || target instanceof L2Summon)) { if(skill == null) { damage *= attacker.calcStat(Stats.PVP_PHYSICAL_DMG, 1, null, null); +damage /= target.calcStat(Stats.PVP_PHYSICAL_DEF, 1, null, null); } else { damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null); +damage /= target.calcStat(Stats.PVP_PHYS_SKILL_DEF, 1, null, null); } } // Pvp bonusses for dmg if((attacker instanceof L2PcInstance || attacker instanceof L2Summon) && (target instanceof L2PcInstance || target instanceof L2Summon)) { if(skill.isMagic()) { damage *= attacker.calcStat(Stats.PVP_MAGICAL_DMG, 1, null, null); +damage /= target.calcStat(Stats.PVP_MAGICAL_DEF, 1, null, null); } else { damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null); +damage /= target.calcStat(Stats.PVP_PHYS_SKILL_DEF, 1, null, null); } } // Dmg bonusses in PvP fight if(isPvP) { if(skill == null) { damage *= attacker.calcStat(Stats.PVP_PHYSICAL_DMG, 1, null, null); +damage /= target.calcStat(Stats.PVP_PHYSICAL_DEF, 1, null, null); } else { damage *= attacker.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null); damage /= target.calcStat(Stats.PVP_PHYS_SKILL_DMG, 1, null, null); } } so you can go ingame and use as stats "pvpPhysDef" , "pvpMagicalDef" , "pvpPhysSkillsDef" its tested and works fine. also something else to make a better balance with the mages. Its exactly the same with the critical damage that fighters got. this is for mages magical critical damage in a better way than it is. com.l2jfrozen.gameserver.skills.stats find CRITICAL_DAMAGE_ADD("cAtkAdd"), and below add MAGICAL_CRITICAL_DAMAGE("mcAtk"), MCRITICAL_DAMAGE_ADD("mAtkAdd"), MCRIT_VULN("mCritVuln"), now go to com.l2jfrozen.gameserver.model.actor.stats.CharStat find public final double getCriticalDmg(L2Character target, double init) { return calcStat(Stats.CRITICAL_DAMAGE, init, target, null); } and below add /** * Return the MCritical Damage rate (base+modifier) of the L2Character. * * @param target the target * @param init the init * @return the critical dmg */ public final double getMagicalCriticalDmg(L2Character target, double init) { return calcStat(Stats.MAGICAL_CRITICAL_DAMAGE, init, target, null); } now go to com.l2jfrozen.gameserver.datatables.xml.AugmentationData find and delete this line if(as.getStat() == Stats.CRITICAL_DAMAGE) and add this one if(as.getStat() == Stats.CRITICAL_DAMAGE || as.getStat() == Stats.MAGICAL_CRITICAL_DAMAGE) finally go to com.l2jfrozen.gameserver.skills.formulas find else if(mcrit) { //damage *= 4; damage *= Config.MAGIC_CRITICAL_POWER; }and replace it with else if (mcrit) { //Finally retail like formula double mAtkMultiplied = damage + attacker.calcStat(Stats.MAGICAL_CRITICAL_DAMAGE, damage, target, skill); double mAtkVuln = target.calcStat(Stats.MCRIT_VULN, 1, target, null); double improvedDamageBymriticalMulAndVuln = mAtkMultiplied * mAtkVuln; double improvedDamageBymriticalMulAndAdd = improvedDamageBymriticalMulAndVuln + attacker.calcStat(Stats.MCRITICAL_DAMAGE_ADD, 0, target, skill); damage = improvedDamageBymriticalMulAndAdd; } now you will have stats "mcAtk" , "mAtkAdd", "mCritVuln". also i've got a cp drain and mp drain on attack. its like "absorbDam" com.l2jfrozen.gameserver.skills.stats find ABSORB_DAMAGE_PERCENT("absorbDam"), and below add ABSORB_CP_PERCENT("absorbCp"), ABSORB_MP_PERCENT("absorbMp"), now go to com.l2jfrozen.gameserver.model.L2Characters find double absorbPercent = getStat().calcStat(Stats.ABSORB_DAMAGE_PERCENT, 0, null, null); if (absorbPercent > 0) { int maxCanAbsorb = (int) (getMaxHp() - getCurrentHp()); int absorbDamage = (int) (absorbPercent / 100. * damage); if (absorbDamage > maxCanAbsorb) { absorbDamage = maxCanAbsorb; // Can't absord more than max hp } if (absorbDamage > 0) { setCurrentHp(getCurrentHp() + absorbDamage); // Custom messages - nice but also more network load // Custom messages - nice but also more network load if (Config.CUSTOM_MSG) { if (this instanceof L2PcInstance) ((L2PcInstance) this).sendMessage("You absorbed " + absorbDamage + " Hp."); } } } and below add // Absorb CP from the damage inflicted double absorbCPPercent = getStat().calcStat(Stats.ABSORB_CP_PERCENT, 0, null, null); if (absorbCPPercent > 0) { int maxCanAbsorb = (int) (getMaxCp() - getCurrentCp()); int absorbDamage = (int) (absorbCPPercent / 100. * damage); if (absorbDamage > maxCanAbsorb) { absorbDamage = maxCanAbsorb; // Can't absord more than max hp } if (absorbDamage > 0) { setCurrentCp(getCurrentCp() + absorbDamage); // Custom messages - nice but also more network load // Custom messages - nice but also more network load if (Config.CUSTOM_MSG) { if (this instanceof L2PcInstance) ((L2PcInstance) this).sendMessage("You absorbed " + absorbDamage + " Cp."); } } } // Absorb HP from the damage inflicted double absorbMPPercent = getStat().calcStat(Stats.ABSORB_MP_PERCENT, 0, null, null); if (absorbMPPercent > 0) { int maxCanAbsorb = (int) (getMaxMp() - getCurrentMp()); int absorbDamage = (int) (absorbMPPercent / 100. * damage); if (absorbDamage > maxCanAbsorb) { absorbDamage = maxCanAbsorb; // Can't absord more than max hp } if (absorbDamage > 0) { setCurrentMp(getCurrentMp() + absorbDamage); // Custom messages - nice but also more network load // Custom messages - nice but also more network load if (Config.CUSTOM_MSG) { if (this instanceof L2PcInstance) ((L2PcInstance) this).sendMessage("You absorbed " + absorbDamage + " Mp."); } } } so u can use "absorbCp", "absorbMp" well thats all ;D its nothing special but it can help
  5. well i've already start making this. i made some basics like the human cannot hit humans and the elfs . the same for the other races too. you will be able to make subclasses but only from ur race. if u are human u will be able to make all the classes that humans have. also i was testing to add new classes. i added 3 new classes in the dwarfs but there is a bug in the alt+t. it doesnt show what class u are it shows something else like Graphic Cursor, Very fast etc.. anyway anyway thanks for your opinions they rly helped me.
  6. hello guyz i've been thinking of making a war races server but still i am not sure if it will work.. always interlude client. what i mean with war races? Human with Elfs vs DElfs and Orcs. Dwarfs can take part with Human and Dark elfs their choise. so human cannot hit humans or elfs but they can use buffing, healing etc.. custom skills like Increases by 10% damage to dark elf class and take 10% increased dmg by orcs.. i've been thinking also taking custom item when u are killing a race *different for each one so with these u can take customs* but anyway these are only some first ideas that can be done easily. so i am thinking if this war races can rly be a success.. taking a lot of ppl etc.. i know that need also nice webs, adversion of the server etc to take ppls but i am thinking.. what if they are 500 humans and 0 dwarfs? its gonna be rly unbalanced. Do the players like a war race server? i can remember only "race supermancy" to be something like that.. anyway i would like to see some opinions about that.. thanks .
  7. authlogin founded in l2jserver // avoid potential exploits if (client.getAccountName() == null) { // Preventing duplicate login in case client login server socket was disconnected or this packet was not sent yet if (LoginServerThread.getInstance().addGameServerLogin(_loginName, client)) { client.setAccountName(_loginName); LoginServerThread.getInstance().addWaitingClientAndSendRequest(_loginName, client, key); } else { client.close((L2GameServerPacket) null); } + public boolean addGameServerLogin(String account, L2GameClient client) { + + L2GameClient savedClient = _accountsInGameServer.get(account); + + if (savedClient != null) { + if (savedClient.isDetached()) { + LOGGER.debug("Old Client was disconnected: Offline or OfflineMode --> Login Again [Account: " + account + "]"); + ((FastMap<String, L2GameClient>) _accountsInGameServer).put( + account, client); + return true; + } else { + LOGGER.debug("Old Client was online --> Close Old Client Connection [Account: " + account + "]"); + savedClient.closeNow(); + _accountsInGameServer.remove(account); + return false; + } + } else { + LOGGER.debug("Client was not online --> New Client Connection [Account: " + account + "]"); + ((FastMap<String, L2GameClient>) _accountsInGameServer).put( + account, client); + return true; + } + } well i found this in the gta version of frozen.. i dont have idea if this works also this public boolean addGameServerLogin(String account, L2GameClient client) { return _accountsInGameServer.putIfAbsent(account, client) == null; }
  8. its a nice idea i like it but u should add also some restrict lines so players that dont have any more fortress wont be able to use the crowns etc.. also i think that in frozen the fortress sieges doesnt work but i'm not sure about this.. anyway ;D i rly like it gj
  9. public void addGameServerLogin(String account, L2GameClient client) { _accountsInGameServer.put(account, client); } L2GameClient client = getClient(); // avoid potential exploits if (client.getAccountName() == null) { client.setAccountName(_loginName); LoginServerThread.getInstance().addGameServerLogin(_loginName, client); LoginServerThread.getInstance().addWaitingClientAndSendRequest(_loginName, client, key); i found this is the l2jserver timeline but as i see they are the same as in l2jfrozen.. correct me if i am wrong cauze i am a little bit new on this..
  10. http://www.maxcheaters.com/topic/177129-custom-gatekeeper-il/ o test gk pou eftiaxna gia ton l2Vox..
  11. also i just checked his features but i cant see something more that the already features that i have done xD except [ If you want to get rid of a buff, just choose it again from the buffer and it will be removed Heal from buffer every 3 minutes, can't be used during pvp]
  12. i am not going to open a live server i just have some free time and i am newbie in java so i am making it for fun ;D
  13. hello guyz, i have some time that i am working on a nice copy of the c6 pride [not Finest] i have done the most features that i remember like the enchant system, +35 items untradable undroppable unsellable, the normal items can be broke with normal scrolls if fails, hero chat with 5500 pvps, augment the main armor body, the wedding bow skills + the greater shield that the cupid bow gives, the killing spree also the announce for the Stopper of the killing spree after 25kills in a row, the hero skills in every class, the color system, the pvp skills, the max lvl 90 with normal xp bar, the hunters village pvp some but not with items that costs glits,Gludin&Goddard pvp zones, CTF and TvT with the same prices but not to the same place cauze i dont know it, the items like Dynasty rapier to make dagger and sword skills also that it gives deadly blow and power smash of some classes, also i made the clan halls with Golds not with adena but i dont know if in pride was like dat.. anyway that's all that i remember now :) if some1 knows something else about his features pl let me know ;D thanks :)
  14. did you add the id of the item into itemname-e?
  15. te0x

    interlude [L2J] L2Vox

    up
  16. you are rly doing a nice job man :) all your last shares here are awsome
  17. te0x

    interlude [L2J] L2Vox

    HAHAHAHA ok :) just try to find something better the other time :)
  18. te0x

    interlude [L2J] L2Vox

    ok find em :) and tell to me the things that u call bugs. also i guess the first thing that u will say to me is for the salvation that u gain in the mass pvp and u can leave with it. second is about the rebirth skills. so i'm w8ting for some srsly bugs here.
  19. te0x

    interlude [L2J] L2Vox

    up with new updates. 7/4
  20. te0x

    interlude [L2J] L2Vox

    Albanian Server Like L2Psychodrama same svr but everything is changed xaxaxa u have a point here i guess. so i must be from london to be a good administrator? also why u will need L2Walker here? + what bugs? When you will have a good reason to replay then do it :)
  21. te0x

    interlude [L2J] L2Vox

    u are fail kiddo :)
  22. te0x

    interlude [L2J] L2Vox

    up
  23. rly nice job i like it :) so if they are included in 19_11 & 18_11 they will not have any problem with geodata right?
  24. te0x

    interlude [L2J] L2Vox

    up with new updates
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock