chuliganas Posted January 24, 2010 Posted January 24, 2010 Hi, I'm working on quite specified project using L2 client. I plan use C4 client, and i need to forbid players create characters that are not Dworfs. Anyone could give me a clue what file i should check if it's possible to do with stadart mod tool or if it requires more maybe anyone could give detailed information? Thanks.
takhs7 Posted January 24, 2010 Posted January 24, 2010 client side i would say its near impossible... server side tho .. (especialy if u had a java server.. but since u say C4 u must be using OFF..) its easy.. u just add a check on enterworld.. and if the player isnt dwarf.. then send him a msg and tell him something like: "Only Dwarfs are allowed in this server! please create a dwarf and try again." and then kick him out of game and automaticaly delete the char... if u had java i could even give u the code.. piece of cake
chuliganas Posted January 25, 2010 Author Posted January 25, 2010 client side i would say its near impossible... server side tho .. (especialy if u had a java server.. but since u say C4 u must be using OFF..) its easy.. u just add a check on enterworld.. and if the player isnt dwarf.. then send him a msg and tell him something like: "Only Dwarfs are allowed in this server! please create a dwarf and try again." and then kick him out of game and automaticaly delete the char... if u had java i could even give u the code.. piece of cake i think i can switch to java :) send me code and instructions what to do with it please :) P.S. maybe you know how to alter XP table in java? to set manualy how much XP needed for next level?
takhs7 Posted January 25, 2010 Posted January 25, 2010 i will make a .patch file for L2j epilogue.. after i test it i will post.. and yes u can change the XP needed for each level but i think if u change the values u gonna have visual glitches.. im not sure.. changing the rates isnt enough?
chuliganas Posted January 26, 2010 Author Posted January 26, 2010 i will make a .patch file for L2j epilogue.. after i test it i will post.. and yes u can change the XP needed for each level but i think if u change the values u gonna have visual glitches.. im not sure.. changing the rates isnt enough? point is that for the thing I want to do 78 lvl is too much and first levels should go slower... :) and you can't make less than 1 XP per mob or action... (i heard there is woodcutting and mining patch somewhere... have'nt looked yet tho...)
takhs7 Posted January 26, 2010 Posted January 26, 2010 ok i coded it and tested.. i even made configs to enable disable. here is the diff ### Eclipse Workspace Patch 1.0 #P L2_GameServer Index: java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java (revision 3862) +++ java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -15,6 +15,8 @@ package com.l2jserver.gameserver.network.clientpackets; import java.io.UnsupportedEncodingException; +import java.util.Timer; +import java.util.TimerTask; import java.util.logging.Logger; import com.l2jserver.Base64; @@ -47,6 +49,7 @@ import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2ClassMasterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; +import com.l2jserver.gameserver.model.base.Race; import com.l2jserver.gameserver.model.entity.ClanHall; import com.l2jserver.gameserver.model.entity.Couple; import com.l2jserver.gameserver.model.entity.Fort; @@ -139,7 +142,7 @@ @Override protected void runImpl() { - L2PcInstance activeChar = getClient().getActiveChar(); + final L2PcInstance activeChar = getClient().getActiveChar(); if (activeChar == null) { @@ -486,6 +489,54 @@ sm.addString(Integer.toString(birthday)); activeChar.sendPacket(sm); } + + /** By TK-Master */ + // Custom Dwarf-Only Mod - Start + if (Config.ENABLE_DWARF_MOD) + { + if(activeChar.getRace() != Race.Dwarf && !activeChar.isGM()) + { + kickNoDwarf(); + } + if (activeChar.getRace() != Race.Dwarf && activeChar.isGM() + && !Config.ENABLE_GM_NO_DWARF) + { + kickNoDwarf(); + } + } + } + + // Kick/Delete void + private void kickNoDwarf() + { + final L2PcInstance activeChar = getClient().getActiveChar(); + + /**Send HTML Window, Set deletetime=1 And Start Kick-Timer. */ + + //Delete + activeChar.setDeleteTimer(1); + + //Send HTML + final String htmContent; + NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(0); + + htmContent = HtmCache.getInstance().getHtm("data/html/NotDwarf.htm"); + if (htmContent != null) + { + npcHtmlMessage.setHtml(htmContent); + activeChar.sendPacket(npcHtmlMessage); + } + + Timer KickTimer = new Timer(); + KickTimer.schedule(new TimerTask() + { + public void run() + { + //Kick His Ass + activeChar.logout(); + } + },9*1000); + // Custom Dwarf-Only Mod - end } /** Index: java/config/l2jmods.properties =================================================================== --- java/config/l2jmods.properties (revision 3862) +++ java/config/l2jmods.properties (working copy) @@ -334,3 +334,14 @@ # Check access_levels.sql and admin_command_access_rights for details. # Default: False ChatAdmin = False + +# --------------------------------------------------------------------------- +# Dwarf-Only Mod By TK-Master +# --------------------------------------------------------------------------- +# If set to True every character that logins and is not dwarf will be send +# a html window to inform him that only dwarfs allowed. Then the char. will +# be automaticaly kicked after 10 seconds and deleted. +EnableDwarfsOnlyMod = True + +# This setting will allow only a GM character to play with no-dwarf. +EnableGMNoDwarf = False \ No newline at end of file Index: java/com/l2jserver/Config.java =================================================================== --- java/com/l2jserver/Config.java (revision 3862) +++ java/com/l2jserver/Config.java (working copy) @@ -655,6 +655,10 @@ public static String ANNOUNCE_PK_MSG; public static String ANNOUNCE_PVP_MSG; public static boolean L2JMOD_CHAT_ADMIN; + /** By TK-Master */ + // Custom Dwarf-Only Mod + public static boolean ENABLE_DWARF_MOD; + public static boolean ENABLE_GM_NO_DWARF; //-------------------------------------------------- // NPC Settings @@ -2150,6 +2154,12 @@ ANNOUNCE_PVP_MSG = L2JModSettings.getProperty("AnnouncePvpMsg", "$killer has defeated $target"); L2JMOD_CHAT_ADMIN = Boolean.parseBoolean(L2JModSettings.getProperty("ChatAdmin", "false")); + + /** By TK-Master */ + // Custom Dwarf-Only Mod + ENABLE_DWARF_MOD = Boolean.parseBoolean(L2JModSettings.getProperty("EnableDwarfsOnlyMod", "True")); + ENABLE_GM_NO_DWARF = Boolean.parseBoolean(L2JModSettings.getProperty("EnableGMNoDwarf", "False")); + } catch (Exception e) { and here is the html that popups if ur not dwarf. make a file named NotDwarf.htm in gameserver\data\html folder and copy paste this.. <html><title>Dwarfs-Only Mod</title><body> <center> <br> Sorry but only <font color="LEVEL">Dwarfs</font> are allowed in this server! <br> Please make a Dwarf and try again. <br><br> </center> This character will be automaticaly deleted in 10 seconds. </body> </html> btw some mod can move this?.. coz its not about client modding anymore.
chuliganas Posted January 27, 2010 Author Posted January 27, 2010 oh my, java files... :D now i will have to learn how to worj with those... any guide how to change what you gave me? :)
takhs7 Posted January 27, 2010 Posted January 27, 2010 well its easy to apply a patch file... look at this guide http://www.maxcheaters.com/forum/index.php?topic=64593.0 or search for other guide.. there are many around.. or even search google basicaly u download and setup eclipse.. then u "checkout" latest L2j revision.. then inside eclipse u right click on the gameserver folder and u go to.. Team>>Apply Patch... when its done u compile. edit: for setting up eclipse u should look at this guide http://www.l2jserver.com/trac/wiki/Eclipse
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now