Jump to content

danvandan

Members
  • Posts

    55
  • Credits

  • Joined

  • Last visited

    Never
  • Feedback

    0%

Everything posted by danvandan

  1. thx for share i will test it on l2j ... others.java WTF ?! it is not patch ... ==================================================== L2Party.java ==================================================== import com.l2jfree.gameserver.model.entity.underground_coliseum.UCWaiting; import com.l2jfree.gameserver.model.entity.underground_coliseum.UCPoint; import com.l2jfree.gameserver.model.entity.underground_coliseum.UCTeam; #################################################### private Object _ucState = null; #################################################### if (isLeader && getPartyMembers().size() > 1) broadcastToPartyMembersNewLeader(); + if(getUCState() != null) + { + if(getUCState() instanceof UCWaiting) + { + UCWaiting waiting = (UCWaiting)getUCState(); + if(_members == null || _members.size() < Config.UC_PARTY_LIMIT) + { + waiting.setParty(null); + waiting.clean(); + } + } + else if(getUCState() instanceof UCTeam) + { + UCTeam team = (UCTeam)getUCState(); + UCTeam otherTeam = team.getOtherTeam(); + + if(_members == null || _members.size() < Config.UC_PARTY_LIMIT) + { + UCPoint[] points = team.getBaseArena().getPoints(); + + for (UCPoint point : points) + point.actionDoors(false); + + team.setParty(null); + team.clean(true); + + otherTeam.setStatus(UCTeam.WIN); + } + + if(player.isDead()) + UCTeam.resPlayer(player); + + player.setTeam(0); + player.cleanUCStats(); + player.teleToLocation(team.getBaseArena().getReturnPoint(), true); + } + } L2PartyRoom room = getPartyRoom(); if (getPartyMembers().size() == 1) #################################################### public Object getUCState() { return _ucState; } public void setUCState(Object uc) { _ucState = uc; } ==================================================== L2PcInstance.java ==================================================== import com.l2jfree.gameserver.model.entity.underground_coliseum.UCTeam; #################################################### private int UCKills = 0; private int UCDeaths = 0; private static final int UC_STATE_NONE = 0; private static final int UC_STATE_POINT = 1; private static final int UC_STATE_ARENA = 2; private int UCState = 0; #################################################### @doDie method if (isInParty() && getParty().isInDimensionalRift()) getParty().getDimensionalRift().memberDead(this); + if (getAgathionId() != 0) + setAgathionId(0); + + if(killer != null && getParty() != null && getParty().getUCState() instanceof UCTeam) + ((UCTeam)getParty().getUCState()).onKill(this, killer.getActingPlayer()); // Calculate death penalty buff calculateDeathPenaltyBuffLevel(killer); #################################################### public int getUCKills() { return UCKills; } public void increaseKillCountUC() { UCKills++; } public int getUCDeaths() { return UCDeaths; } public void increaseDeathCountUC() { UCDeaths++; } public void cleanUCStats() { UCDeaths = 0; UCKills = 0; } public void setUCState(int state) { UCState = state; } public int getUCState() { return UCState; } ==================================================== L2GameServer.java ==================================================== import com.l2jfree.gameserver.instancemanager.games.UndergroundColiseumManager; #################################################### UndergroundColiseumManager.getInstance(); ==================================================== SystemMessageId.java ==================================================== */ STARSTONE_COLLECTION_FAILED(2424), + /** + * ID: 2427<br> + * Message: The Red Team is victorious. + */ + THE_RED_TEAM_IS_VICTORIOUS(2427), + + /** + * ID: 2428<br> + * Message: The Blue Team is victorious. + */ + THE_BLUE_TEAM_IS_VICTORIOUS(2428), /** * ID: 2449<br> //*/ ==================================================== Config.java ==================================================== public static boolean ALLOW_NAIA_MULTY_PARTY_INVASION; public static int ALT_NAIA_ROOM_DURATION; + public static ArrayList<Integer> UC_WARDAYS = new ArrayList<Integer>(7); + public static int UC_START_HOUR; + public static int UC_END_HOUR; + public static int UC_ROUND_TIME; + public static int UC_PARTY_LIMIT; #################################################### ALLOW_NAIA_MULTY_PARTY_INVASION = Boolean.parseBoolean(altSettings.getProperty("AllowNaiaMultiPartyInvasion", "false")); ALT_NAIA_ROOM_DURATION = Integer.parseInt(altSettings.getProperty("AltNaiaRoomDuration", "5")); + String[] UCWardeys = altSettings.getProperty("UCWarDay", "5,6,1").split(","); + + for (String warday : UCWardeys) + UC_WARDAYS.add(Integer.parseInt(warday)); + + UC_START_HOUR = Integer.parseInt(altSettings.getProperty("UCStartHour", "21")); + UC_END_HOUR = Integer.parseInt(altSettings.getProperty("UCEndHour", "23")); + UC_ROUND_TIME = Integer.parseInt(altSettings.getProperty("UCRoundTime", "10")); + UC_PARTY_LIMIT = Integer.parseInt(altSettings.getProperty("UCPartyLimit", "7")); } } ==================================================== npc.sql ==================================================== UPDATE `npc` SET `level`='70',`type`='L2UndergroundColiseumManager' WHERE `id`='32377'; UPDATE `npc` SET `level`='45', `hp`='38120', `mp`='678', `patk`='1538', `pdef`='381', `matk`='713', `mdef`='464', `type`='L2UndergroundColiseumTower' WHERE `id`='18539'; UPDATE `npc` SET `level`='55', `hp`='73028', `mp`='988', `patk`='3799', `pdef`='515', `matk`='1767', `mdef`='628', `type`='L2UndergroundColiseumTower' WHERE `id`='18540'; UPDATE `npc` SET `level`='65', `hp`='102244', `mp`='1320', `patk`='8234', `pdef`='670', `matk`='3825', `mdef`='816', `type`='L2UndergroundColiseumTower' WHERE `id`='18541'; UPDATE `npc` SET `level`='75', `hp`='117407', `mp`='1674', `patk`='12467', `pdef`='838', `matk`='5792', `mdef`='1021', `type`='L2UndergroundColiseumTower' WHERE `id`='18542'; UPDATE `npc` SET `level`='80', `hp`='178902', `mp`='1859', `patk`='18111', `pdef`='923', `matk`='8416', `mdef`='1125', `type`='L2UndergroundColiseumTower' WHERE `id`='18543';
  2. It looks intresting. I don't test it yet but i decrypt Password: MadeByflAmingw0rm
  3. ok i like that here i see 3 new events but in the code i see a lot of think that we don't need like : custom leveling system , handlers WTF ??!?!, custom CommunityBoard, tvt event rework, town war, 50 000 lines for what ??!?!
  4. really useless you can logout any time... man who create it have a lot of free time for ...
  5. I like it a lot but it would be better if you make guide how to make it with more events like DM, town war and more ...
  6. you mean trigger system??!! because i don't see other ... what you can need ...
  7. look here : http://www.maxcheaters.com/forum/index.php?topic=60751.0
  8. 0x30= % use with mul 0x40= just numbers use with add Can be used with: mul order Value Final % 2 +100% 1.9 +90% 1.8 +80% 1.7 +70% 1.6 +60% 1.5 +50% 1.4 +40% 1.3 +30% 1.2 +20% 1.1 +10% 1 0% 0.9 -10% 0.8 -20% 0.7 -30% 0.6 -40% 0.5 -50% 0.4 -60% 0.3 -70% 0.2 -80% 0.1 -90% 0 -100% Can be used with: add order Value Final 1 1 -1 -1
  9. <skill id="912" levels="1" name="Summon Imperial Phoenix"> <set name="mpConsume" val="145"/> <set name="itemConsumeId" val="1461"/> <set name="itemConsumeCount" val="2"/> <set name="itemConsumeIdOT" val="1461"/> <set name="itemConsumeCountOT" val="1"/> <set name="itemConsumeSteps" val="4"/> <set name="summonTotalLifeTime" val="1200000"/> <set name="summonTimeLostIdle" val="500"/> <set name="summonTimeLostActive" val="1000"/> <set name="target" val="TARGET_SELF"/> <set name="reuseDelay" val="45000"/> <set name="hitTime" val="15000"/> <set name="skillType" val="SUMMON"/> <set name="isMagic" val="true"/> <set name="operateType" val="OP_ACTIVE"/> <set name="npcId" val="14918"/> </skill> <skill id="761" levels="1" name="Seed of Revenge"> <set name="mpConsume" val="36"/> <set name="hitTime" val="2500"/> <set name="coolTime" val="1666"/> <set name="reuseDelay" val="95000"/> <set name="staticReuse" val="true"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="triggeredId" val="5561"/> <set name="triggeredLevel" val="1"/> <for> <effect count="1" name="BestowSkill" time="60" noicon="1" val="0"/> <effect count="1" name="Buff" time="60" val="0" stackOrder="1" stackType="special_buff"> <add order="0x40" stat="pAtk" val="75"/> <add order="0x40" stat="earthRes" val="20"/> </effect> </for> </skill> <skill id="5561" levels="1" name="Seed of Revenge"> <set name="activationChance" val="5"/> <set name="chanceType" val="ON_ATTACKED"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <for> <effect count="1" name="Buff" time="20" val="0" stackOrder="1" stackType="knight_buff"> <add order="0x40" stat="pAtk" val="118"/> <mul order="0x30" stat="cAtk" val="1.10"/> </effect> </for> </skill> <skill id="786" levels="1" name="Eva's Will"> <set name="mpConsume" val="36"/> <set name="hitTime" val="2500"/> <set name="coolTime" val="1666"/> <set name="reuseDelay" val="95000"/> <set name="staticReuse" val="true"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="triggeredId" val="5563"/> <set name="triggeredLevel" val="1"/> <for> <effect count="1" name="BestowSkill" time="60" noicon="1" val="0"/> <effect count="1" name="Buff" time="60" val="0" stackOrder="1" stackType="special_buff"> <add order="0x40" stat="mDef" val="75"/> <add order="0x40" stat="waterRes" val="20"/> </effect> </for> </skill> <skill id="5563" levels="1" name="Eva's Will"> <set name="activationChance" val="5"/> <set name="chanceType" val="ON_ATTACKED"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <for> <effect count="1" name="Buff" time="20" val="0" stackOrder="1" stackType="knight_buff"> <mul order="0x30" stat="mDef" val="1.10"/> <add order="0x40" stat="rCrit" val="18"/> </effect> </for> </skill> <skill id="788" levels="1" name="Pain of Shilen"> <set name="mpConsume" val="36"/> <set name="hitTime" val="2500"/> <set name="coolTime" val="1666"/> <set name="reuseDelay" val="95000"/> <set name="staticReuse" val="true"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="triggeredId" val="5564"/> <set name="triggeredLevel" val="1"/> <for> <effect count="1" name="BestowSkill" time="60" noicon="1" val="0"/> <effect count="1" name="Buff" time="60" val="0" stackOrder="1" stackType="special_buff"> <mul order="0x30" stat="cAtk" val="1.05"/> <add order="0x40" stat="windRes" val="20"/> </effect> </for> </skill> <skill id="5564" levels="3" name="Pain of Shillien"> <set name="activationChance" val="5"/> <set name="chanceType" val="ON_ATTACKED"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <for> <effect count="1" name="Buff" time="20" val="0" stackOrder="1" stackType="knight_buff"> <mul order="0x30" stat="cAtk" val="1.10"/> <add order="0x40" stat="absorbDam" val="8"/> </effect> </for> </skill> <skill id="784" levels="1" name="Spirit of Phoenix"> <set name="mpConsume" val="36"/> <set name="hitTime" val="2500"/> <set name="coolTime" val="1666"/> <set name="reuseDelay" val="95000"/> <set name="staticReuse" val="true"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="triggeredId" val="5562"/> <set name="triggeredLevel" val="1"/> <for> <effect count="1" name="BestowSkill" time="60" noicon="1" val="0"/> <effect count="1" name="Buff" time="60" val="0" stackOrder="1" stackType="special_buff"> <add order="0x40" stat="pDef" val="75"/> <add order="0x40" stat="fireRes" val="20"/> </effect> </for> </skill> <skill id="5562" levels="1" name="Spirit of Phoenix"> <set name="activationChance" val="5"/> <set name="chanceType" val="ON_ATTACKED"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_PASSIVE"/> <set name="castRange" val="-1"/> <for> <effect count="1" name="Buff" time="20" val="0" stackOrder="1" stackType="knight_buff"> <mul order="0x30" stat="pDef" val="1.10"/> <mul order="0x30" stat="gainHp" val="1.5"/> </effect> </for> </skill>
  10. !!!!!!!!!!!!!!use Search button!!!!!!!!!!!!!! GUIDE HOW TO UPDATE WITHOUT LOOSE DATA : http://www.maxcheaters.com/forum/index.php?topic=22370.0
  11. it is the SVN : http://svn.assembla.com/svn/L2J-Archid/ it is rev 653 : http://www.rapidshare.com/files/248896076/L2JArchid_rev653.rar but L2J-Archid is death and have lots of bugs so i dont recoment it. Try L2J-Equal L2J-Equal SVN : http://my-svn.assembla.com/svn/L2J-Equal/
  12. 1.)Open Navicat 2.)find your weapon id in weapon or custom_weapon table 3.)make .sql file : UPDATE weapon SET sellable='false' where item_id='ITEM ID'; UPDATE weapon SET dropable='false' where item_id='ITEM ID'; UPDATE weapon SET tradeable='false' where item_id='ITEM ID';
  13. make .sql file : DELETE FROM items WHERE item_id = 'ITEM ID'; but remember it will remove from all players inventory ITEM ID!!! Thanks to DragonHunter
  14. just add new line in your host file: 216.107.250.194 nprotect.lineage2.com
  15. open char_creation_items table in classID you can write : -1=for all characters 0=Human Fighter 10=Human Mystic 18=Elven Fighter 25=Elven Mystic 31=Dark Fighter 38=Dark Mystic 44=Orc Fighter 49=Orc Mystic 53=Dwarven Fighter in itemId write item Id (you can find them in armors,weapons,etcitems tables) in amound write how much items ... in equipped you can write only true or false (true=equipped) if you haven't char_creation_items table look here : http://www.maxcheaters.com/forum/index.php?topic=58722.0
  16. just change config ... : # --------------------------------------------------------------------------- # Skills & Effects # --------------------------------------------------------------------------- # When this is enabled it will read the "SkillDurationList" option. # This will basically overlook the "time = x" in the skill XMLs so that you do not need to modify the L2J Datapack XMLs to increase skill duration. # Skill duration list: # Format: skillid,newtime;skillid2,newtime2 # Example: # This enable 1h(3600) duration for songs, the "\"indicates new line, # and is only set for formating purposes. # SkillDurationList = 264,3600;265,3600;266,3600;267,3600;268,3600;\ # 269,3600;270,3600;304,3600;305,1200;306,3600;308,3600;349,3600;\ # 363,3600;364,3600 # Default: False EnableModifySkillDuration = True SkillDurationList = 264,3600;265,3600;266,3600;267,3600;268,3600;\ 269,3600;270,3600;304,3600;305,1200;306,3600;308,3600;349,3600;\ 363,3600;364,3600;529,3600;271,3600;272,3600;273,3600;274,3600;\ 275,3600;276,3600;277,3600;307,3600;309,3600;310,3600;311,3600;\ 366,3600;530,3600;765,3600;1035,3600;1043,3600;1044,3600;1062,3600;\ 1077,3600;1078,3600;1085,3600;1204,3600;1036,3600;1045,3600;1048,3600;\ 1086,3600;1240,3600;1242,3600;1243,3600;1388,3600;1389,3600;336,3600;\ 1356,3600;1007,3600;1006,3600;1009,3600;1251,3600;1252,3600;1253,3600;\ 1284,3600;1308,3600;1309,3600;1310,3600;1390,3600;1391,3600;1362,3600;\ 1363,3600;1413,3600;1355,3600;1303,3600;1087,3600;1259,3600;1059,3600;\ 305,3600;1268,3600;1040,3600;1478,1200;1477,1200;1479,1200;1476,1200;\ it is the faster way not lame! thx Vicer for config
  17. it is better frenzy : <skill id="176" levels="3" name="Frenzy"> <table name="#swordbluntpole"> 1.5 1.75 2.25 </table> <table name="#sbp-under30"> 1.33 1.43 1.55 </table> <table name="#twohand"> 1.75 2.0 2.5 </table> <table name="#twohand-under30"> 1.43 1.5 1.6 </table> <table name="#other"> 1.30 1.30 1.50 </table> <table name="#accCombat"> 4 4 6 </table> <table name="#mpConsume"> 14 21 25 </table> <table name="#aggro"> 303 438 523 </table> <set name="mpConsume" val="#mpConsume"/> <set name="target" val="TARGET_SELF"/> <set name="condition" val="32"/> <set name="reuseDelay" val="600000"/> <set name="hitTime" val="1500"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <set name="aggroPoints" val="#aggro"/> <cond msg="Usable only when HP are 30 percent or lower."> <player hp="30"/> </cond> <for> <effect name="Buff" time="90" count="1" val="0" stackOrder="1" stackType="pinch"> <add order="0x40" stat="accCombat" val="#accCombat"> <using kind="Big Sword,Big Blunt"/> </add> <mul order="0x30" stat="pAtk" val="#swordbluntpole"> <using kind="Sword,Blunt,Pole"/> </mul> <mul order="0x30" stat="pAtk" val="#sbp-under30"> <and> <player hp="30"/> <using kind="Sword,Blunt,Pole"/> </and> </mul> <mul order="0x30" stat="pAtk" val="#twohand"> <using kind="Big Sword,Big Blunt"/> </mul> <mul order="0x30" stat="pAtk" val="#twohand-under30"> <and> <player hp="30"/> <using kind="Big Sword,Big Blunt"/> </and> </mul> <mul order="0x30" stat="pAtk" val="#other"> <using kind="Dual Fist,Dual Sword,Etc,Bow,Dagger"/> </mul> </effect> </for> </skill> ok here is 1h buff config: # --------------------------------------------------------------------------- # Skills & Effects # --------------------------------------------------------------------------- # When this is enabled it will read the "SkillDurationList" option. # This will basically overlook the "time = x" in the skill XMLs so that you do not need to modify the L2J Datapack XMLs to increase skill duration. # Skill duration list: # Format: skillid,newtime;skillid2,newtime2 # Example: # This enable 1h(3600) duration for songs, the "\"indicates new line, # and is only set for formating purposes. # SkillDurationList = 264,3600;265,3600;266,3600;267,3600;268,3600;\ # 269,3600;270,3600;304,3600;305,1200;306,3600;308,3600;349,3600;\ # 363,3600;364,3600 # Default: False EnableModifySkillDuration = True SkillDurationList = 264,3600;265,3600;266,3600;267,3600;268,3600;\ 269,3600;270,3600;304,3600;305,1200;306,3600;308,3600;349,3600;\ 363,3600;364,3600;529,3600;271,3600;272,3600;273,3600;274,3600;\ 275,3600;276,3600;277,3600;307,3600;309,3600;310,3600;311,3600;\ 366,3600;530,3600;765,3600;1035,3600;1043,3600;1044,3600;1062,3600;\ 1077,3600;1078,3600;1085,3600;1204,3600;1036,3600;1045,3600;1048,3600;\ 1086,3600;1240,3600;1242,3600;1243,3600;1388,3600;1389,3600;336,3600;\ 1356,3600;1007,3600;1006,3600;1009,3600;1251,3600;1252,3600;1253,3600;\ 1284,3600;1308,3600;1309,3600;1310,3600;1390,3600;1391,3600;1362,3600;\ 1363,3600;1413,3600;1355,3600;1303,3600;1087,3600;1259,3600;1059,3600;\ 305,3600;1268,3600;1040,3600;\ thx Vicer for config [Guide]How to add your own teleports : http://www.maxcheaters.com/forum/index.php?topic=18067.0
  18. Server Start : 10.07.09 Site : http://finaldestination.t35.com Forum : http://finaldestination.forumup.com Info : Full Gracia Final [ Server Rate ] Rate Xp. = 10 Rate Sp. = 10 Rate Drop Items = 5 Rate Drop Spoil = 10 Rate Drop Manor = 1 Rate Drop Quest = 2 Rate Quests Reward = 2 Rate Drop Adena = 10 Rate Extract Fish = 3 Rate Raid Drop Items = 3 Grand Boss drop 2 Rate Karma Exp. Lost = 10 Rate Consumable Cost = 1 [ Enchant Rate ] Chance Enchant Chance Scroll Normal = 66 Enchant Chance Scroll Blessed = 75 Safe Enchant Safe Scroll Normal = 4 Enchant Safe Scroll Blessed = 4 Max Enchant Enchant Max All Type Items = 20 [ Vitality Settings ] Rate Vitality level 1 = 10% Rate Vitality level 2 = 20% Rate Vitality level 3 = 30% Rate Vitality level 4 = 40% [ Trader ] All you need max B (Grade) [ NPC Buffer ] Full magic support max to 76 level buffs [ NPC Skill Enchanter ] Support all about Skill Enchantment [ Global Gate Keeper ] All Town and Hunting Zone [ Mammon's ] Custom Npc Full support from original Mammon's [ Server Manager ] Custom support all here cost Coin Of Luck [ More Info ] Max clans in ally 5 War kill = 50 reportation Talismans Works All tattoos work Spawn protection Olympiad 100% real like Class Changer Subs no quest max 5 [ Retail ] Baylor Beleth Epidos DarkMansion Emerald dynasty quests icarus quests enter hellbound quests [ Events ] TvT CTF Tournament Vote event Medals Mantras Coins Trick Transmutating l2day Squash King of the Hill
  19. work in my gracia final server 20x ....... apuff
  20. Site : http://l2fearfactor.hit.bg Info : Full Gracia Final : 20x exp 20x sp 10x drop 15x spoil 30x adena 3x Quest Drop 4x Reward 5x Raid Chanse Enchant Chance Scroll Normal = 66 Enchant Chance Scroll Blessed = 75 Bonus Enchant Chance Class Artisan = +1 % Enchant Chance Class Warsmith = +2 % Enchant Chance Class Maestro = +3 % Safe Enchant = 4 Max Enchant = 20 Vitality Settings Rate Vitality Level 1 =10% Rate Vitality Level 2 =20% Rate Vitality Level 3 =30% Rate Vitality Level 4 =40% Trader-All you need max B (Grade) Buffer-Buff,Dane,Song,Chant,Summon,Custom Skill Enchanter-Support all about Skill Enchantment Global Gate Keeper-All Town and Hunting Zone Mammon's-Full support A ,S , S80 + Upgrade S 80, S 82, S 84 Server Manager-support all here cost Coin Of Luck Max clans in ally 5 , War kill = 50 reportation , Talismans Works , All tattoos work, Spawn protection , Olympiad 100% real like , Class Changer , Subs no quest max 5 Retail:Baylor, Beleth, Epidos ,DarkMansion, Emerald Retail: dynasty, icarus, enter hellbound quests Events: TvT, CTF, Tournament, Vote event, Medals ,Mantras, Town War, Coins, Trick Transmutating, l2day, Squash Kamaloka 100% work 81 lvl skills 100% work 100% gracia Final Items work 90% Gracia Final Skills work 90% Gracia Final quest work
  21. 1. In the net havent more stable Gracia Final than that for now. 2. l2jserver's site still down for now.
  22. - Packet exchange with the client. - Edit the kernel code. - Fix your favorite skills. Download : http://dump.ru/file/2662341 Credits to la2base.ru
×
×
  • Create New...