Jump to content

™PoKoPikO*

Banned
  • Posts

    344
  • Credits

  • Joined

  • Last visited

    Never
  • Feedback

    0%

Everything posted by ™PoKoPikO*

  1. Hello MaxCheaters Αποφάσισα να κάνω αυτό το post για να κάνετε ένα οποιο δήποτε mob,bos pet σας Ξεκινάμε : 1)Ανοίξτε το Navicat(database) και πηγαίντε στο table npc και βρείτε το npc που θέλετε να πάρετε τα stats του εμείς θα χρησιμοποιήσουμε το Valaka εσείς πάρτε οποιο θέλετε(το Valakas σαν pet ωραίο ακούγεται Wink ) και για καλύτερα γράψτε τα κάπου τα stats να τα θύμαστε 2)Πατήστε κάτω αριστερά το '+' (Insert Record) και βάλτε σε ΌΛΕΣ τις καρτέλες βάλτε τα stats του Valakas ΕΚΤΟΣ Από την Καρτέλα ID που πρέπει να είναι κάτι μοναδικό ας πούμε 88888 και επίσης Στον ΤΎΠΟ του NPC βάλτε L2Pet 3)Πηγαίντε πηγαίντε στο data/stats/skills μέσα στο pack σας (default C:/Server/data/stats/skills) και κατεβείτε μέχρι το τέλος και πριν από την ΓΡΑΜΜΉ </list> ΕΠΙΚΟΛΛΉΣΤΕ το ακόλουθο : <skill id="1192 <--- με αυτό το skill θα κανεις spawn τo valakas" levels="1" name="Summon Valakas"> <table name="#mpConsume_Init"> 8 </table> <table name="#mpConsume"> 31 </table> <table name="#reuseDelay"> 21600000 </table> <table name="#itemConsumeCount"> 3 </table> <table name="#itemConsumeCountOT"> 0 </table> <set name="itemConsumeId" val="1458"/> <set name="itemConsumeCount" val="#itemConsumeCount"/> <set name="itemConsumeIdOT" val="1458"/> <set name="itemConsumeCountOT" val="#itemConsumeCountOT"/> <set name="itemConsumeTime" val="240000" /> <set name="mpInitialConsume" val="#mpConsume_Init"/> <set name="mpConsume" val="#mpConsume"/> <set name="power" val="0.0"/> <set name="target" val="TARGET_SELF"/> <set name="hitTime" val="15000"/> <set name="reuseDelay" val="#reuseDelay"/> <set name="skillTime" val="15000"/> <set name="skillType" val="SUMMON"/> <set name="isMagic" val="true"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <!-- Summon-specific --> <table name="#npcIds"> Εδώ βάλτε το ID που βάλατε στο table npc, βάλαμε 88888 </table> <set name="npcId" val="#npcIds" /> <set name="expPenalty" val="0.3" /> <set name="isCubic" val="false" /> <for> </for> </skill> Τώρα αφού κάνετε ένα RR τον server πηγαίντε και κάντε add skill 1192 και level 1 και θα σας βγει το skill που κάνετε spawn το Valakas τώρα άμα δείτε πως το Pet σας δεν έχει το ATTACK τότε κάντε spawn ένα άλλο pet, βάλτε το attack κάτω στην μπάρα και ξανακάνετε spawn το Valaka
  2. HeLLo MaxCheaters Επειδή είδα οτι πολλοί απο εσάς ζητήσατε να κάνετε το δικό σας NPC σκέφτηκα να κάνω ένα guide για το πως να κάνεις τα δικά σου NPC! Πάμε λοιπόν! 1)Πώς Να Κανετε GM-Shop! Θα σας δείξω τον απλό τρόπο με τον οποίο μπορείς να κάνεις ένα GM-Shop! Τι θα χρειαστούμε? *.htm Files (Ανάλογα με τα actions που θα έχει το shop τόσα περίπου files) *.xml Files (Επίσης Ανάλογα με τα actions που θα έχει το shop τόσα files) *.sql File (To file αυτό θα μας χρειαστεί για να περάσουμε το shop στην database μας) Ας ξεκινήσουμε λοιπόν! Ανοίξτε το σημειωματάριο(notepad) Εδώ πρέπει να γνωρίζετε και λίγο ΗΤΜL(ΗyperText Markup Language) Θα σας πω τα βασικά τα οποία πρέπει να γνωρίζετε! <html>(άνοιγμα εισόδου γλώσσας HTML) <body>(άνοιγμα κειμένου γλώσσας HTML) <title>(δίνει τίτλο στο παράθυρο) <br>(κενό γραμμής,στο απλό γράψιμο είναι το enter για να καταλάβετε) <center>(εστίαση στο κέντρο) <left>(εστίαση στα αριστερά) <right>(εστίαση στα δεξιά) <font color="εδώ το code του HTML Color">text</font>(χρωματισμός κειμένου,κάντε click εδώ για τα color code) Να διευκρινήσω κάποια πράγματα. Θα πρέπει πάντοτε να κλείνετε το command που ανοίγετε. Τι εννοώ? π.χ. Βάζετε <center>εδώ το κείμενο σας,και πρέπει πάντα να το κλεινετε,δηλαδή <center>το κείμενο σας</center> Πάμε λοιπόν Θα σας κάνω ένα mini text και θα πάρετε παράδειγμα! <html> <body> <title>MaxCheaters.Com</title> <center><font color="FF0000">WelCome To MaxCheaters.Com Community <br> Here You Can Buy The Custom Armor! εδώ πρέπει να βάλουμε το action <button value="Εδώ το text που θέλετε" action="bypass -h npc_%objectId%_multisell 50001" width=196 height=22 back="L2UI_ct1.button_df" fore="L2UI_ct1.button_df"> </center> </body> </html> Αποθήκευση ως και το απο8ηκεύετε ως ένα *.htm αρχείο. Από την στιγμή που βάλαμε path με multisell 50001 Πρέπει να δημιουργήσουμε την λίστα με τα items που 8α δίνουμε στον player Θα σας δώσω το code που πρέπει να έχετε για να πέρνει ο Player Item! <?xml version='1.0' encoding='utf-8'?> <!-- Εδώ αν θέλετε βάζετε για το που χρησιμοποιείτε το file auto -->[/b] <list> <!-- Η ενέργεια του 1ου Obtain Item --> <item id="1"> <ingredient id="to id tou ingredient" count="posa apo auta(ari8mo)" /> <production id="to id tou production" count="posa apo auta(ari8mo)" /> </item> </list> Διευκρηνίσεις! Ingredient ID = εδώ βάζετε το ID του item που θα χρειάζεται ο player για να πάρει το item! Ingredient Count = πόσα από αυτά πρέπει να έχει ο Player για να πάρει το item! Production ID = το ID του item που θα πάρει ο Player! Production Count = πόσα από αυτά τα items θα πάρει ο Player! ΠΡΟΣΟΧΗ! Αν θέλετε να βάλετε και άλλα items πρέπει να αλλάξετε το Item ID. Δεν Πρέπει να είναι ίδιο πουθενά στο περιεχόμενο ενώς *.xml File Last Step: Eδώ είμαστε στο τελευταίο βήμα και το ευκολότερο! Να κάνουμε το *.sql File! Θα σας Δώσω το code και εσείς απλά πρέπει να addarete μερικά ids INSERT INTO custom_npc (`id`, `idTemplate`, `name`, `serverSideName`, `title`, `serverSideTitle`, `class`, `collision_radius`, `collision_height`, `level`, `sex`, `type`, `attackrange`, `hp`, `mp`, `hpreg`, `mpreg`, `str`, `con`, `dex`, `int`, `wit`, `men`, `exp`, `sp`, `patk`, `pdef`, `matk`, `mdef`, `atkspd`, `aggro`, `matkspd`, `rhand`, `lhand`, `armor`, `walkspd`, `runspd`, `faction_id`, `faction_range`, `isUndead`, `absorb_level`, `absorb_type`, `ss`, `bss`, `ss_rate`, `AI`, `drop_herbs`) VALUES (ID NPC, Template ID, 'Name', 1, 'Title', 1, 'LineageMonster4.Keyache_tr', 12.00, 29.00, 70, 'female', 'L2Merchant', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 55, 132, 'NULL', 0, 1, 0, 'LAST_HIT', 0, 0, 0, 'fighter', 'false'); Πρέπει να βάλετε μόνο 4α πράγματα ID NPC Template ID Name Title! Αυτό Ήταν! το *.htm file μπαίνει στο c:/myserver/gameserver/data/html/merchant/ το *.xml στο c:/myserver/gameserver/data/multisell/ το *.sql το κάνετε execute από το Navicat![/color] 2)Πώς να κάνετε Gatekeeper Πιο πάνω σας έδειξα μερικά πράγματα για HTML χρησιμοποιήστε και εδώ τα ίδια.Aνοίξτε σημειωματάριο και κάντε πάλι τα ίδια Πρέπει να βάλουμε το path? Οhh Yeah! <a action="bypass -h npc_%objectId%_goto Εδώ θα βάλετε το ID του Teleport" msg="811;εδώ το όνομα του Teleport"> Εδώ τι θα λέει στον player οταν πηγαίνει στην Gatekeeper</a> Aπό την στιγμή που βάλαμε στο path ΙDs πρέπει να τα περάσουμε και στην Database μας! Πώς? Αυτή είναι η λειτουργεία του *.sql file! Πάμε λοιπόν INSERT INTO `teleport` VALUES ('Name', ID, loc_x, loc_y, loc_z, price, 0) Αυτό είναι το *.sql path! Πώς θα βρείτε το loc_x, loc_y, loc_z ? Easy! Πηγαίνετε στο μέρος που θέλετε και πατήστε /loc εκεί θα σας βγάλει το όνομα της περιοχής και δίπλα κάτι αριθμούς. Είναι το loc_x το loc_y και το loc_z καταγράψτε τους αριθμούς κάπου για να τους θυμάστε Στην θέση name θα βάλετε το όνομα του Teleport που θέλετε να βάλετε Στην θέση ID θα βάλετε έναν αριθμό τον οποίο πρέπει να θυμάστε Στην θέση loc_x, loc_y, loc_z τους αριθμούς που καταγράψατε! ΠΡΟΣΟΧΗ! Δεν έχει σημασία αν στο *.sql file η θέση name είναι διαφορετική από το όνομα του Teleport στο Path Μας! Δηλαδή Εδώ msg="811;εδώ το όνομα του Teleport Το όνομα που θα βάλετε εδώ θα σας το δείχνει μέσα στο Game οταν είναι να επικυρώσετε το Teleport Σας! π.χ. Αre You Sure To Want to Teleport At και εδώ θα έχει το όνομα που βάλατε στο path! Πάμε Τώρα στο άλλο *.sql file. Αν θέλετε απλά να βάλετε ένα Teleport στην Gatekeeper που έχετε δεν θα χρειαστεί να κάνετε αυτό το βήμα! INSERT INTO custom_npc (`id`, `idTemplate`, `name`, `serverSideName`, `title`, `serverSideTitle`, `class`, `collision_radius`, `collision_height`, `level`, `sex`, `type`, `attackrange`, `hp`, `mp`, `hpreg`, `mpreg`, `str`, `con`, `dex`, `int`, `wit`, `men`, `exp`, `sp`, `patk`, `pdef`, `matk`, `mdef`, `atkspd`, `aggro`, `matkspd`, `rhand`, `lhand`, `armor`, `walkspd`, `runspd`, `faction_id`, `faction_range`, `isUndead`, `absorb_level`, `absorb_type`, `ss`, `bss`, `ss_rate`, `AI`, `drop_herbs`) VALUES (ID NPC, Template ID, 'Name', 1, 'Title', 1, 'LineageMonster4.Keyache_tr', 12.00, 29.00, 70, 'female', 'L2Teleport', 40, 3862, 1493, 11.85, 2.78, 40, 43, 30, 21, 20, 10, 0, 0, 1314, 470, 780, 382, 278, 0, 333, 0, 0, 0, 55, 132, 'NULL', 0, 1, 0, 'LAST_HIT', 0, 0, 0, 'fighter', 'false'); Βάζετε τα ID name κ.λπ. και κάνετε Execute! Το ΗΤΜL File μπαίνει στο c:/myserver/gameserver/data/html/teleport Tα *.sql τα κάνετε execute με Navicat!
  3. Hello MaxCheaters Me ayto to patch mporeite na exete Color names sta PVP / PK analoga me ton ari8mo twn PvP / PK pou exeis... Index: /java/config/l2jmods.properties =================================================================== --- /java/config/l2jmods.properties (revision 174) +++ /java/config/l2jmods.properties (working copy) @@ -161,4 +161,62 @@ #---------------------------------- EnableWarehouseSortingClan = False EnableWarehouseSortingPrivate = False -EnableWarehouseSortingFreight = False \ No newline at end of file +EnableWarehouseSortingFreight = False + +# --------------------------------------- +# Section: PvP Title Color Change System by Level +# --------------------------------------- +# Each Amount will change the name color to the values defined here. +# Example: PvpAmmount1 = 500, when a character's PvP counter reaches 500, their name color will change +# according to the ColorForAmount value. +# Note: Colors Must Use RBG format +EnablePvPColorSystem = false + +# Pvp Amount & Name color level 1. +PvpAmount1 = 500 +ColorForAmount1 = CCFF00 + +# Pvp Amount & Name color level 2. +PvpAmount2 = 1000 +ColorForAmount2 = 00FF00 + +# Pvp Amount & Name color level 3. +PvpAmount3 = 1500 +ColorForAmount3 = 00FF00 + +# Pvp Amount & Name color level 4. +PvpAmount4 = 2500 +ColorForAmount4 = 00FF00 + +# Pvp Amount & Name color level 5. +PvpAmount5 = 5000 +ColorForAmount5 = 00FF00 + +# --------------------------------------- +# Section: PvP Nick Color System by Level +# --------------------------------------- +# Same as above, with the difference that the PK counter changes the title color. +# Example: PkAmmount1 = 500, when a character's PK counter reaches 500, their title color will change +# according to the Title For Amount +# WAN: Colors Must Use RBG format +EnablePkColorSystem = false + +# Pk Amount & Title color level 1. +PkAmount1 = 500 +TitleForAmount1 = 00FF00 + +# Pk Amount & Title color level 2. +PkAmount2 = 1000 +TitleForAmount2 = 00FF00 + +# Pk Amount & Title color level 3. +PkAmount3 = 1500 +TitleForAmount3 = 00FF00 + +# Pk Amount & Title color level 4. +PkAmount4 = 2500 +TitleForAmount4 = 00FF00 + +# Pk Amount & Title color level 5. +PkAmount5 = 5000 +TitleForAmount5 = 00FF00 \ No newline at end of file Index: /java/net/sf/l2j/Config.java =================================================================== --- /java/net/sf/l2j/Config.java (revision 174) +++ /java/net/sf/l2j/Config.java (working copy) @@ -544,6 +546,28 @@ public static boolean L2JMOD_ENABLE_WAREHOUSESORTING_CLAN; public static boolean L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE; public static boolean L2JMOD_ENABLE_WAREHOUSESORTING_FREIGHT; + public static boolean PVP_COLOR_SYSTEM_ENABLED; + public static int PVP_AMOUNT1; + public static int PVP_AMOUNT2; + public static int PVP_AMOUNT3; + public static int PVP_AMOUNT4; + public static int PVP_AMOUNT5; + public static int NAME_COLOR_FOR_PVP_AMOUNT1; + public static int NAME_COLOR_FOR_PVP_AMOUNT2; + public static int NAME_COLOR_FOR_PVP_AMOUNT3; + public static int NAME_COLOR_FOR_PVP_AMOUNT4; + public static int NAME_COLOR_FOR_PVP_AMOUNT5; + public static boolean PK_COLOR_SYSTEM_ENABLED; + public static int PK_AMOUNT1; + public static int PK_AMOUNT2; + public static int PK_AMOUNT3; + public static int PK_AMOUNT4; + public static int PK_AMOUNT5; + public static int TITLE_COLOR_FOR_PK_AMOUNT1; + public static int TITLE_COLOR_FOR_PK_AMOUNT2; + public static int TITLE_COLOR_FOR_PK_AMOUNT3; + public static int TITLE_COLOR_FOR_PK_AMOUNT4; + public static int TITLE_COLOR_FOR_PK_AMOUNT5; /** ************************************************** **/ /** L2JMods Settings -End **/ @@ -1654,6 +1678,34 @@ L2JMOD_ENABLE_WAREHOUSESORTING_CLAN = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingClan", "False")); L2JMOD_ENABLE_WAREHOUSESORTING_PRIVATE = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingPrivate", "False")); L2JMOD_ENABLE_WAREHOUSESORTING_FREIGHT = Boolean.valueOf(L2JModSettings.getProperty("EnableWarehouseSortingFreight", "False")); + + // PVP Name Color System configs - Start + PVP_COLOR_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("EnablePvPColorSystem", "false")); + PVP_AMOUNT1 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount1", "500")); + PVP_AMOUNT2 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount2", "1000")); + PVP_AMOUNT3 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount3", "1500")); + PVP_AMOUNT4 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount4", "2500")); + PVP_AMOUNT5 = Integer.parseInt(L2JModSettings.getProperty("PvpAmount5", "5000")); + NAME_COLOR_FOR_PVP_AMOUNT1 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount1", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT2 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount2", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT3 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount3", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT4 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount4", "00FF00")); + NAME_COLOR_FOR_PVP_AMOUNT5 = Integer.decode("0x" + L2JModSettings.getProperty("ColorForAmount4", "00FF00")); + // PvP Name Color System configs - End + + // PK Title Color System configs - Start + PK_COLOR_SYSTEM_ENABLED = Boolean.parseBoolean(L2JModSettings.getProperty("EnablePkColorSystem", "false")); + PK_AMOUNT1 = Integer.parseInt(L2JModSettings.getProperty("PkAmount1", "500")); + PK_AMOUNT2 = Integer.parseInt(L2JModSettings.getProperty("PkAmount2", "1000")); + PK_AMOUNT3 = Integer.parseInt(L2JModSettings.getProperty("PkAmount3", "1500")); + PK_AMOUNT4 = Integer.parseInt(L2JModSettings.getProperty("PkAmount4", "2500")); + PK_AMOUNT5 = Integer.parseInt(L2JModSettings.getProperty("PkAmount5", "5000")); + TITLE_COLOR_FOR_PK_AMOUNT1 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount1", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT2 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount2", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT3 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount3", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT4 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount4", "00FF00")); + TITLE_COLOR_FOR_PK_AMOUNT5 = Integer.decode("0x" + L2JModSettings.getProperty("TitleForAmount5", "00FF00")); + //PK Title Color System configs - End if (TVT_EVENT_PARTICIPATION_NPC_ID == 0) { Index: /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java =================================================================== --- /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (revision 174) +++ /java/net/sf/l2j/gameserver/clientpackets/EnterWorld.java (working copy) @@ -177,6 +177,16 @@ Quest.playerEnter(activeChar); activeChar.sendPacket(new QuestList()); loadTutorial(activeChar); + + // ================================================================================= + // Color System checks - Start ===================================================== + // Check if the custom PvP and PK color systems are enabled and if so ============== + // check the character's counters and apply any color changes that must be done. === + if (activeChar.getPvpKills()>=(Config.PVP_AMOUNT1) && (Config.PVP_COLOR_SYSTEM_ENABLED)) activeChar.updatePvPColor(activeChar.getPvpKills()); + if (activeChar.getPkKills()>=(Config.PK_AMOUNT1) && (Config.PK_COLOR_SYSTEM_ENABLED)) activeChar.updatePkColor(activeChar.getPkKills()); + // Color System checks - End ======================================================= + // ================================================================================= + if (Config.PLAYER_SPAWN_PROTECTION > 0) activeChar.setProtection(true); @@ -3660,7 +3661,75 @@ DuelManager.getInstance().broadcastToOppositTeam(this, update); } } - + + // Custom PVP Color System - Start + public void updatePvPColor(int pvpKillAmount) + { + if (Config.PVP_COLOR_SYSTEM_ENABLED) + { + //Check if the character has GM access and if so, let them be. + if (isGM()) + return; + { + if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT2))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT2)) && (pvpKillAmount <= (Config.PVP_AMOUNT3))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT3)) && (pvpKillAmount <= (Config.PVP_AMOUNT4))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT4)) && (pvpKillAmount <= (Config.PVP_AMOUNT5))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4); + } + else if (pvpKillAmount >= (Config.PVP_AMOUNT5)) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5); + } + } + } + } + //Custom PVP Color System - End + + // Custom Pk Color System - Start + public void updatePkColor(int pkKillAmount) + { + if (Config.PK_COLOR_SYSTEM_ENABLED) + { + //Check if the character has GM access and if so, let them be, like above. + if (isGM()) + return; + { + if ((pkKillAmount >= (Config.PK_AMOUNT1)) && (pkKillAmount <= (Config.PVP_AMOUNT2))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT1); + } + else if ((pkKillAmount >= (Config.PK_AMOUNT2)) && (pkKillAmount <= (Config.PVP_AMOUNT3))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT2); + } + else if ((pkKillAmount >= (Config.PK_AMOUNT3)) && (pkKillAmount <= (Config.PVP_AMOUNT4))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT3); + } + else if ((pkKillAmount >= (Config.PK_AMOUNT4)) && (pkKillAmount <= (Config.PVP_AMOUNT5))) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT4); + } + else if (pkKillAmount >= (Config.PK_AMOUNT5)) + { + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PK_AMOUNT5); + } + } + } + } + //Custom Pk Color System - End + @Override public final void updateEffectIcons(boolean partyOnly) { @@ -4996,6 +5065,10 @@ // Add karma to attacker and increase its PK counter setPvpKills(getPvpKills() + 1); + //Update the character's name color if they reached any of the 5 PvP levels. + updatePvPColor(getPvpKills()); + broadcastUserInfo(); + // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); } @@ -5047,6 +5120,10 @@ setPkKills(getPkKills() + 1); setKarma(getKarma() + newKarma); + //Update the character's title color if they reached any of the 5 PK levels. + updatePkColor(getPkKills()); + broadcastUserInfo(); + // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); } credits:Ao KiJi From l2jForum
  4. Hello MaxCheaters Twra den xreiazete na phgenete Town gia change class , ena pop up window 8a emfanizete sthn o8onh sas sta lvl 20/40/76 gia change class.. [b]Index: java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (revision 2705) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2ClassMasterInstance.java (working copy) @@ -18,9 +18,11 @@ import net.sf.l2j.Config; import net.sf.l2j.gameserver.ai.CtrlIntention; import net.sf.l2j.gameserver.datatables.CharTemplateTable; +import net.sf.l2j.gameserver.datatables.NpcTable; import net.sf.l2j.gameserver.model.base.ClassId; import net.sf.l2j.gameserver.model.base.ClassLevel; import net.sf.l2j.gameserver.model.base.PlayerClass; +import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ActionFailed; @@ -40,7 +42,11 @@ //private static Logger _log = Logger.getLogger(L2ClassMasterInstance.class.getName()); private static final int[] SECONDN_CLASS_IDS = {2,3,5,6,9,8,12,13,14,16,17,20,21,23,24,27, 28,30,33,34,36,37,40,41,43,46,48,51,52,55,57}; - + public static L2ClassMasterInstance ClassMaster = new L2ClassMasterInstance(31228, NpcTable.getInstance().getTemplate(31228)); + static + { + L2World.getInstance().storeObject(ClassMaster); + } /** * @param template */ @@ -52,8 +58,8 @@ @Override public void onAction(L2PcInstance player) { - if (!canTarget(player)) return; - + //if (!canTarget(player)) return; +/* // Check if the L2PcInstance already target the L2NpcInstance if (getObjectId() != player.getTargetId()) { @@ -73,7 +79,7 @@ player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this); return; } - +*/ if (Config.DEBUG) _log.fine("ClassMaster activated"); @@ -94,19 +100,16 @@ jobLevel = 3; } - if (!Config.ALLOW_CLASS_MASTERS) - jobLevel = 3; - if(player.isGM()) { showChatWindowChooseClass(player); } - else if (((level >= 20 && jobLevel == 1 ) || - (level >= 40 && jobLevel == 2 )) && Config.ALLOW_CLASS_MASTERS) + else if ((level >= 20 && jobLevel == 1 ) || + (level >= 40 && jobLevel == 2 )) { showChatWindow(player, classId.getId()); } - else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && classId.getId() < 88) + else if (level >= 76 && classId.getId() < 88) { for (int i = 0; i < SECONDN_CLASS_IDS.length; i++) { @@ -126,7 +129,7 @@ } } } - else if (level >= 76 && Config.ALLOW_CLASS_MASTERS && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer + else if (level >= 76 && ((classId.getId() >= 123 && classId.getId() < 131 ) || classId.getId() == 135)) // this is for Kamael Race 3rd Transfer { showChatWindow(player, classId.getId()); } @@ -155,7 +158,7 @@ html.setHtml(sb.toString()); player.sendPacket(html); } - } + //} player.sendPacket(ActionFailed.STATIC_PACKET); } Index: java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java (revision 2705) +++ java/net/sf/l2j/gameserver/model/actor/stat/PcStat.java (working copy) @@ -16,6 +16,7 @@ import net.sf.l2j.Config; import net.sf.l2j.gameserver.model.L2Character; +import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance; import net.sf.l2j.gameserver.model.base.Experience; @@ -151,6 +152,17 @@ if (getLevel() + value > Experience.MAX_LEVEL - 1) return false; boolean levelIncreased = super.addLevel(value); + + switch (getLevel()) + { + case 20: + case 40: + case 76: + L2ClassMasterInstance.ClassMaster.onAction(getActiveChar()); + break; + default: + break; + } if (levelIncreased) { Index: java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (revision 2705) +++ java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java (working copy) @@ -28,6 +28,7 @@ import net.sf.l2j.gameserver.model.L2CharPosition; import net.sf.l2j.gameserver.model.L2Object; import net.sf.l2j.gameserver.model.L2World; +import net.sf.l2j.gameserver.model.actor.instance.L2ClassMasterInstance; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.entity.L2Event; @@ -113,9 +114,9 @@ try { L2Object object = L2World.getInstance().findObject(Integer.parseInt(id)); - + if (_command.substring(endOfId+1).startsWith("event_participate")) L2Event.inscribePlayer(activeChar); - else if (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false)) + else if (object instanceof L2ClassMasterInstance || (object instanceof L2NpcInstance && endOfId > 0 && activeChar.isInsideRadius(object, L2NpcInstance.INTERACTION_DISTANCE, false, false))) { ((L2NpcInstance)object).onBypassFeedback(activeChar, _command.substring(endOfId+1)); }[/b] credits:Ao KiJi From l2jForum
  5. Hello again MxC I create this npc to help some admin's who they have problem about html editing:P So Let's Start without lossing any time Photo: And here is the Links ~>http://www.4shared.com/file/x5URV7P2/Server_Info_Npc_PoKoPiKo.html Passowrd PoKoPiKo
  6. Thx Ekana Ena Proxiro Gia Na Do Ama To Petixete.. Tr Pou Ida Oti To Ekana Kalo Lew Na Kano Kai Alla :D :D
  7. Hello MaxCheaters Members. I am here to share one more of my creations. So lets start.! Here is one photo: Download~> http://www.4shared.com/file/x5ITlDQn/custom_shop_by_PoKoPiKo.html Passowrd : PoKoPiKo
  8. nC file mOU Poli Kalo nC Doulevoune Ola:P Kai Idietera bravo Se Aftous Pou Eftia3e Ta nPc
  9. HeLLo (vasilios) And WelCome To Hacking Forum Site.. :P
  10. Welcome on MaxChetares. :) Hi..
  11. File Mou Edw Exei RVN Geia Compile Pack's Opioi Dn 3eroune Na Kanoune Mporoune Na Mathoune... Apo Edw ~> http://www.maxcheaters.com/forum/index.php?topic=84234.0 Kai Ama Variounte Na Pane Na Agorasounena Ena Kalo... Kai Ama Dn Exei Lefta Na Psa3i .. Exei Pola edw..
  12. Mp@ Siga Min To Dokimaso Na Xalasi To pC Mou:) 8a Kano Antigrafo Opos To Diko Sou Kai 8a Matho Na Kano Kai Diko Mou
  13. niCe Guide re To Ekanes Polu Kala Alla Dn 3erw Dn Doulevei Na To Po.. Ekana Oloidio San To Diko Sou Kai Pali Dn Doulevei..
  14. Giati Den Mas Les Ti Exei Mesa Dld Ta Features Kai Mas Les Mono Multihack Kai 100% work
  15. File Mou Ama Me Kanis Ena Tou Olympiakou 8a Eisai Kai O Protos Epidi Imaster Olympiakara
  16. Topic Is [GR] Or (Sorry Mxc) (Go Fack) Kai Gia Min Lete (Sorry)(Malakies) Ta Active Ta Pira Apo Ton Alon Char Mou Kai Ekana Ligo Donate...Sorry Pou Apantisa Duo Fores :-[
  17. OMG TI LES RE 35 ATOMA O SERVER AMA DIS STA SIEGE EXEI 200 ATOMA KAI KATHIMERINA EXEI 90/100 KAI MIN SE PO GIA TON CHAR OTI LEW POLI MIKRI TIMI..
  18. http://www.maxcheaters.com/forum/index.php?topic=170061.0 Hare Sell My Char
×
×
  • Create New...