Jump to content

Question

7 answers to this question

Recommended Posts

  • 0

alguem pode me ajudar a adaptar esse mod para BrExtreme Freya?

 

na Br Extreme n tem essa parte 

--- /trunk/L2JKombat_Core/java/config/main/GMAccess.properties (revision 14)
+++ /trunk/L2JKombat_Core/java/config/main/GMAccess.properties (revision 16)
@@ -35,4 +35,6 @@
GMTest = 100
GMFortSiege = 100
+GMVip = 100
+GMAio = 100

 

 

Edited by ganker

Share this post


Link to post
Share on other sites

Ok amigo agora me diga aonde é a Area de mods Java do l2jbr que eu não achei?

Edited by ADM-Sherlock

kermit-fapping-gif-5.gif

Quer muito uma coisa ? persista não desista assim como o seu semelhante conseguiu você também é capaz.

Share this post


Link to post
Share on other sites

Ok amigo agora me diga aonde é a Area de mods Java do l2jbr que eu não achei?

Você não pode ver. :rolleyes: :lala:

tem que ter no minimo 100 Posts :D :laugh:


Tô voltando, neeegada \o/

Share this post


Link to post
Share on other sites

Castiel manolo vc tem 400 entra lá procura pra eu e posta aqui OMG fazendo favor :rolleyes:

 

 

Ai esta do AIO junto esta o VIP.

 

Index: /trunk/L2JKombat_Core/java/config/main/GMAccess.properties
===================================================================
--- /trunk/L2JKombat_Core/java/config/main/GMAccess.properties (revision 14)
+++ /trunk/L2JKombat_Core/java/config/main/GMAccess.properties (revision 16)
@@ -35,4 +35,6 @@
GMTest = 100
GMFortSiege = 100
+GMVip = 100
+GMAio = 100

# Disable Transaction
Index: /trunk/L2JKombat_Core/java/config/custom/L2JKombatMods.properties
===================================================================
--- /trunk/L2JKombat_Core/java/config/custom/L2JKombatMods.properties (revision 13)
+++ /trunk/L2JKombat_Core/java/config/custom/L2JKombatMods.properties (revision 16)
@@ -298,2 +298,47 @@
# Color of the name in offline mode (if OfflineSetNameColor = True)
OfflineNameColor = 808080
+
+# ---------------------------------------
+# Aio System ( By KhayrusS ) 
+# ---------------------------------------
+# Enable / Disable Name Color
+AllowAioNameColor = True
+AioNameColor = 88AA88
+# Enable / Disable Title Color
+AllowAioTitleColor = True
+AioTitleColor = 88AA88
+
+EnableAioSystem = True
+# List of Aio Skills
+# Format : skillid,skilllvl;skillid2,skilllvl2;....skillidn,skilllvln
+AioSkills = 1085,3;1304,3;1087,3;1354,1;1062,2;1005,3;1243,6;1045,6;1048,6;\
+1311,6;168,3;213,8;1007,3;1309,3;1552,3;1006,3;1229,15;1308,3;1253,3;1284,3;\
+1009,3;1310,4;1363,1;1362,1;1397,3;1292,6;1078,6;307,1;276,1;309,1;274,1;275,1;\
+272,1;277,1;273,1;311,1;366,1;365,1;310,1;271,1;1242,3;1257,3;1353,3;1391,3;\
+1352,1;229,7;228,3;1077,3;1218,33;1059,3;1219,33;1217,33;1388,3;1389,3;1240,3;\
+1086,2;1032,3;1073,2;1036,2;1035,4;1068,3;1003,3;1282,2;1356,1;1355,1;1357,33;\
+1044,3;1182,3;1191,3;1033,3;1189,3;1259,4;1306,6;234,23;1040,3;364,1;264,1;306,1;\
+269,1;270,1;265,1;363,1;349,1;308,1;305,1;304,1;267,1;266,1;268,1;1390,3;1303,2;\
+1204,2;1268,4
+
+# Ativa ou Desativar a opcao de AIO ganhar Item!
+AllowAIOItem = False
+
+# ID do item que vai ganhar quando virar AIO!
+ItemIdAio = 9945
+
+# ---------------------------------------
+# Vip System ( By KhayrusS ) 
+# ---------------------------------------
+# Enable / Disable Name Color
+AllowVipNameColor = True
+VipNameColor = 0088FF
+# Enable / Disable Title Color
+AllowVipTitleColor = True
+VipTitleColor = 0088FF
+
+# if True Player Vip gain Xp*VipMulXp and Sp*VipMulSp
+# Note only works if player not in party
+AllowVipMulXpSp = True
+VipMulXp = 2
+VipMulSp = 2
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/Config.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/Config.java (revision 14)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/Config.java (revision 16)
@@ -107,4 +107,21 @@
       public static final FloodProtectorConfig FLOOD_PROTECTOR_POTION = new FloodProtectorConfig("PotionFloodProtector");
       public static final FloodProtectorConfig FLOOD_PROTECTOR_ENCHANT = new FloodProtectorConfig("EnchantFloodProtector");
+       /* Vip System */
+       public static boolean ALLOW_VIP_NCOLOR;
+       public static int VIP_NCOLOR;
+       public static boolean ALLOW_VIP_TCOLOR;
+       public static int VIP_TCOLOR;
+       public static boolean ALLOW_VIP_XPSP;
+       public static int VIP_XP;
+       public static int VIP_SP;
+       /* Aio System */
+       public static boolean ENABLE_AIO_SYSTEM;
+       public static Map<Integer, Integer> AIO_SKILLS;
+       public static boolean ALLOW_AIO_NCOLOR;
+       public static int AIO_NCOLOR;
+       public static boolean ALLOW_AIO_TCOLOR;
+       public static int AIO_TCOLOR;
+       public static boolean ALLOW_AIO_ITEM;
+       public static int AIO_ITEMID;
       /** Start AltSettings.properties */
       // Auto loots configs
@@ -340,4 +357,6 @@
       public static int GM_CLAN_PANEL;
       public static int GM_REPAIR = 75;
+       public static int GM_VIP;
+       public static int GM_AIO;
       // Disable transaction
       public static boolean GM_DISABLE_TRANSACTION;
@@ -1826,4 +1845,6 @@
                                       GM_FORTSIEGE = Integer.parseInt(gmSettings.getProperty("GMFortSiege", "100"));
                                       GM_CLAN_PANEL = Integer.parseInt(gmSettings.getProperty("GMClanPanel", "100"));
+                                       GM_VIP = Integer.parseInt(gmSettings.getProperty("GMVip", "100"));
+                                       GM_AIO = Integer.parseInt(gmSettings.getProperty("GMAio", "100"));
                                       String gmTrans = gmSettings.getProperty("GMDisableTransaction", "False");
                                       if (!gmTrans.equalsIgnoreCase("False"))
@@ -2555,4 +2576,48 @@
                                       OFFLINE_SET_NAME_COLOR = Boolean.parseBoolean(L2JKombatEventMods.getProperty("OfflineSetNameColor", "False"));
                                       OFFLINE_NAME_COLOR = Integer.decode("0x" + L2JKombatEventMods.getProperty("OfflineNameColor", "808080"));
+                                       // -------------------- //
+                                       // Aio e Vip System //
+                                       // -------------------- //
+                       ALLOW_VIP_NCOLOR = Boolean.parseBoolean(L2JKombatEventMods.getProperty("AllowVipNameColor", "True"));
+                       VIP_NCOLOR = Integer.decode("0x" + L2JKombatEventMods.getProperty("VipNameColor", "0088FF"));
+                       ALLOW_VIP_TCOLOR = Boolean.parseBoolean(L2JKombatEventMods.getProperty("AllowVipTitleColor", "True"));
+                       VIP_TCOLOR = Integer.decode("0x" + L2JKombatEventMods.getProperty("VipTitleColor", "0088FF"));
+                       ALLOW_VIP_XPSP = Boolean.parseBoolean(L2JKombatEventMods.getProperty("AllowVipMulXpSp", "True"));
+                       VIP_XP = Integer.parseInt(L2JKombatEventMods.getProperty("VipMulXp", "2"));
+                       VIP_SP = Integer.parseInt(L2JKombatEventMods.getProperty("VipMulSp", "2"));
+                       ENABLE_AIO_SYSTEM = Boolean.parseBoolean(L2JKombatEventMods.getProperty("EnableAioSystem", "True"));
+                       ALLOW_AIO_NCOLOR = Boolean.parseBoolean(L2JKombatEventMods.getProperty("AllowAioNameColor", "True"));
+                       AIO_NCOLOR = Integer.decode("0x" + L2JKombatEventMods.getProperty("AioNameColor", "88AA88"));
+                       ALLOW_AIO_TCOLOR = Boolean.parseBoolean(L2JKombatEventMods.getProperty("AllowAioTitleColor", "True"));
+                       AIO_TCOLOR = Integer.decode("0x" + L2JKombatEventMods.getProperty("AioTitleColor", "88AA88"));
+                       AIO_ITEMID = Integer.parseInt(L2JKombatEventMods.getProperty("ItemIdAio", "9945"));
+                       ALLOW_AIO_ITEM = Boolean.parseBoolean(L2JKombatEventMods.getProperty("AllowAIOItem", "False"));
+                       if(ENABLE_AIO_SYSTEM) //create map if system is enabled
+                       {
+                               String[] AioSkillsSplit = L2JKombatEventMods.getProperty("AioSkills", "").split(";");
+                               AIO_SKILLS = new FastMap<Integer, Integer>(AioSkillsSplit.length);
+                               for (String skill : AioSkillsSplit)
+                               {
+                                       String[] skillSplit = skill.split(",");
+                                       if (skillSplit.length != 2)
+                                       {
+                                               System.out.println("[Aio System]: invalid config property in L2JKombatMods.properties -> AioSkills \"" + skill + "\"");
+                                       }
+                                       else
+                                       {
+                                               try
+                                               {
+                                                       AIO_SKILLS.put(Integer.parseInt(skillSplit[0]), Integer.parseInt(skillSplit[1]));
+                                               }
+                                               catch (NumberFormatException nfe)
+                                               {
+                                                       if (!skill.equals(""))
+                                                       {
+                                                               System.out.println("[Aio System]: invalid config property in L2JKombatMods.properties -> AioSkills \"" + skillSplit[0] + "\"" + skillSplit[1]);
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
                                       }
                               catch (Exception e)
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 13)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 16)
@@ -18,4 +18,7 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
import java.util.logging.Logger;

@@ -100,4 +103,6 @@
       private static final String _C__03_ENTERWORLD = "[C] 03 EnterWorld";
       private static Logger _log = Logger.getLogger(EnterWorld.class.getName());
+       long _daysleft;
+       SimpleDateFormat df = new SimpleDateFormat("dd MM yyyy");

       public TaskPriority getPriority()
@@ -324,4 +329,21 @@
                       sendPacket(sm);
               }
+        if(activeChar.isVip())
+               onEnterVip(activeChar);
+        
+        if(activeChar.isAio())
+               onEnterAio(activeChar);
+        
+        if(Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
+               activeChar.getAppearance().setNameColor(Config.VIP_NCOLOR);
+        
+        if(Config.ALLOW_VIP_TCOLOR && activeChar.isVip())
+               activeChar.getAppearance().setTitleColor(Config.VIP_TCOLOR);
+        
+        if(Config.ALLOW_AIO_NCOLOR && activeChar.isAio())
+               activeChar.getAppearance().setNameColor(Config.AIO_NCOLOR);
+        
+        if(Config.ALLOW_AIO_TCOLOR && activeChar.isAio())
+               activeChar.getAppearance().setTitleColor(Config.AIO_TCOLOR);

               if (Config.SHOW_WELCOME_PM)
@@ -340,5 +362,7 @@
               // check player for unlegit skills
               if (Config.CHECK_SKILLS_ON_ENTER && !Config.ALT_GAME_SKILL_LEARN)
-                       activeChar.checkAllowedSkills();
+               if(!activeChar.isAio())
+                       activeChar.checkAllowedSkills();
+               
               // send user info again .. just like the real client sendPacket(ui);
               if (activeChar.getClanId() != 0 && activeChar.getClan() != null)
@@ -470,4 +494,57 @@
                       }
       }
+       
+       private void onEnterAio(L2PcInstance activeChar)
+       {
+               long now = Calendar.getInstance().getTimeInMillis();
+               long endDay = activeChar.getAioEndTime();
+               if(now > endDay)
+       {
+               activeChar.setAio(false);
+               activeChar.setAioEndTime(0);
+               activeChar.lostAioSkills();
+               activeChar.sendMessage("Removed your Aio stats... period ends ");
+       }
+       else
+       {
+               Date dt = new Date(endDay);
+               _daysleft = (endDay - now)/86400000;
+               if(_daysleft > 30)
+                       activeChar.sendMessage("Aio period ends in " + df.format(dt) + ". enjoy the Game");
+               else if(_daysleft > 0)
+                       activeChar.sendMessage("left " + (int)_daysleft + " days for Aio period ends");
+               else if(_daysleft < 1)
+               {
+                       long hour = (endDay - now)/3600000;
+                       activeChar.sendMessage("left " + (int)hour + " hours to Aio period ends");
+               }
+       }
+       }
+       
+       private void onEnterVip(L2PcInstance activeChar)
+       {
+               long now = Calendar.getInstance().getTimeInMillis();
+               long endDay = activeChar.getVipEndTime();
+               if(now > endDay)
+       {
+               activeChar.setVip(false);
+               activeChar.setVipEndTime(0);
+               activeChar.sendMessage("Removed your Vip stats... period ends ");
+       }
+       else
+       {
+               Date dt = new Date(endDay);
+               _daysleft = (endDay - now)/86400000;
+               if(_daysleft > 30)
+                       activeChar.sendMessage("Vip period ends in " + df.format(dt) + ". enjoy the Game");
+               else if(_daysleft > 0)
+                       activeChar.sendMessage("left " + (int)_daysleft + " days for Vip period ends");
+               else if(_daysleft < 1)
+               {
+                       long hour = (endDay - now)/3600000;
+                       activeChar.sendMessage("left " + (int)hour + " hours to Vip period ends");
+               }
+       }
+       }

       /**
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 14)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 16)
@@ -221,6 +221,6 @@
       private static final String RESTORE_SKILL_SAVE = "SELECT skill_id,skill_level,effect_count,effect_cur_time, reuse_delay FROM character_skills_save WHERE char_obj_id=? AND class_index=? AND restore_type=? ORDER BY buff_index ASC";
       private static final String DELETE_SKILL_SAVE = "DELETE FROM character_skills_save WHERE char_obj_id=? AND class_index=?";
-       private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=? WHERE obj_id=?";
-       private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon,donator,hero,death_penalty_level,koof,noob FROM characters WHERE obj_id=?";
+       private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,in_jail=?,jail_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,event_points=?,coupon=?,donator=?,death_penalty_level=?,koof=?,noob=?,vip=?,vip_end=?,aio=?,aio_end=? WHERE obj_id=?";
+       private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, in_jail, jail_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,event_points,coupon,donator,hero,death_penalty_level,koof,noob,vip,vip_end,aio,aio_end FROM characters WHERE obj_id=?";
       private static final String RESTORE_CHAR_SUBCLASSES = "SELECT class_id,exp,sp,level,class_index FROM character_subclasses WHERE char_obj_id=? ORDER BY class_index ASC";
       private static final String ADD_CHAR_SUBCLASS = "INSERT INTO character_subclasses (char_obj_id,class_id,exp,sp,level,class_index) VALUES (?,?,?,?,?,?)";
@@ -479,4 +479,11 @@
       private boolean _isKoof = false;
       private boolean _isNoob = false;
+       /** Vip System */
+       private boolean _isVip = false;
+       private long _vip_endTime = 0;
+       
+       /** Aio System */
+       private boolean _isAio = false;
+       private long _aio_endTime = 0;
       /**
        * The L2FolkInstance corresponding to the last Folk wich one the player talked.
@@ -5732,5 +5739,5 @@
                       PreparedStatement statement;
                       statement = con.prepareStatement("INSERT INTO characters " + "(account_name,obj_Id,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp," + "acc,crit,evasion,mAtk,mDef,mSpd,pAtk,pDef,pSpd,runSpd,walkSpd," + "str,con,dex,_int,men,wit,face,hairStyle,hairColor,sex," + "movement_multiplier,attack_speed_multiplier,colRad,colHeight,"
-                                       + "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," + "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," + "base_class,newbie,nobless,power_grade,last_recom_date,coupon) " + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
+                                       + "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," + "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," + "base_class,newbie,nobless,power_grade,last_recom_date,coupon,vip,vip_end,aio,aio_end) " + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
                       statement.setString(1, _accountName);
                       statement.setInt(2, getObjectId());
@@ -5791,4 +5798,8 @@
                       statement.setLong(57, System.currentTimeMillis());
                       statement.setInt(58, 0);
+                       statement.setInt(59, isVip() ? 1 :0);
+                       statement.setLong(60, 0);
+                       statement.setInt(61, isAio() ? 1 :0);
+                       statement.setLong(62, 0);
                       statement.executeUpdate();
                       statement.close();
@@ -5943,4 +5954,8 @@
                               player.setCoupon(rset.getInt("coupon"));
                               player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level"));
+                player.setVip(rset.getInt("vip") == 1 ? true : false);
+                player.setVipEndTime(rset.getLong("vip_end"));
+                player.setAio(rset.getInt("aio") == 1 ? true : false);
+                player.setAioEndTime(rset.getLong("aio_end"));
                               // Add the L2PcInstance object in _allObjects
                               // L2World.getInstance().storeObject(player);
@@ -6302,5 +6317,9 @@
                       statement.setInt(60, isKoof() ? 1 : 0);
                       statement.setInt(61, isNoob() ? 1 : 0);
-                       statement.setInt(62, getObjectId());
+            statement.setInt(62, isVip() ? 1 : 0);
+            statement.setLong(63, getVipEndTime());
+            statement.setInt(64, isAio() ? 1 : 0);
+            statement.setLong(65, getAioEndTime());
+            statement.setInt(66, getObjectId());
                       statement.execute();
                       statement.close();
@@ -10605,5 +10624,5 @@
               getStatus().setCurrentHpMp(getMaxHp(), getMaxMp());
       }
-
+       
       public void restoreCP()
       {
@@ -10611,4 +10630,135 @@
       }

+       /** Vip System Start */
+       public boolean isVip()
+       {
+               return _isVip;
+       }
+       
+       public void setVip(boolean val)
+       {
+               _isVip = val;
+               
+       }
+       
+       public void setVipEndTime(long val)
+       {
+               _vip_endTime = val;
+       }
+       
+       public long getVipEndTime()
+       {
+               return _vip_endTime;
+       }
+       
+       /** Aio System Start */
+       public boolean isAio()
+       {
+               return _isAio;
+       }
+
+       public void setAio(boolean val)
+       {
+               _isAio = val;
+               
+       }
+
+       public void rewardAioSkills()
+       {
+               L2Skill skill;
+               for(Integer skillid : Config.AIO_SKILLS.keySet())
+               {
+                       int skilllvl = Config.AIO_SKILLS.get(skillid);
+                       skill = SkillTable.getInstance().getInfo(skillid,skilllvl);
+                       if(skill != null)
+                       {
+                               addSkill(skill, true);
+                       }
+               }
+               sendMessage("GM give to you Aio's skills");
+       }
+
+       public void lostAioSkills()
+       {
+               L2Skill skill;
+               for(Integer skillid : Config.AIO_SKILLS.keySet())
+               {
+                       int skilllvl = Config.AIO_SKILLS.get(skillid);
+                       skill = SkillTable.getInstance().getInfo(skillid,skilllvl);
+                       removeSkill(skill);
+               }
+       }
+
+       public void setAioEndTime(long val)
+       {
+               _aio_endTime = val;
+       }
+
+       public void setEndTime(String process, int val)
+       {
+               if (val > 0)
+               {
+                       long end_day;
+                       Calendar calendar = Calendar.getInstance();
+                       if (val >= 30)
+                       {
+                               while(val >= 30)
+                               {
+                                       if(calendar.get(Calendar.MONTH)== 11)
+                                               calendar.roll(Calendar.YEAR, true);
+                                       calendar.roll(Calendar.MONTH, true);
+                                       val -= 30;
+                               }
+                       }
+                       if (val < 30 && val > 0)
+                       {
+                               while(val > 0)
+                               {
+                                       if(calendar.get(Calendar.DATE)== 28 && calendar.get(Calendar.MONTH) == 1)
+                                               calendar.roll(Calendar.MONTH, true);                    
+                                       if(calendar.get(Calendar.DATE)== 30)
+                                       {
+                                               if(calendar.get(Calendar.MONTH) == 11)
+                                                       calendar.roll(Calendar.YEAR, true);
+                                               calendar.roll(Calendar.MONTH, true);
+                                               
+                                       }
+                                       calendar.roll(Calendar.DATE, true);
+                                       val--;
+                               }
+                       }
+
+                       end_day = calendar.getTimeInMillis();
+                       if(process.equals("aio"))
+                               _aio_endTime = end_day;
+                       else if(process.equals("vip"))
+                               _vip_endTime = end_day;
+                       else
+                       {
+                               System.out.println("process "+ process + "no Known while try set end date");
+                               return;
+                       }
+                       Date dt = new Date(end_day);
+                       System.out.println(""+process +" end time for player " + getName() + " is " + dt);
+               }
+               else
+               {
+                       if(process.equals("aio"))
+                               _aio_endTime = 0;
+                       else if(process.equals("vip"))
+                               _vip_endTime = 0;
+                       else
+                       {
+                               System.out.println("process "+ process + "no Known while try set end date");
+                               return;
+                       }
+               }
+       }
+
+       public long getAioEndTime()
+       {
+               return _aio_endTime;
+       }
+       
       /**
        * @return
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/model/L2Attackable.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/model/L2Attackable.java (revision 4)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/model/L2Attackable.java (revision 16)
@@ -668,4 +668,9 @@
                                                                       player.sendPacket(new SystemMessage(SystemMessageId.OVER_HIT));
                                                                       exp += calculateOverhitExp(exp);
+                                                               }
+                                                               if (player.isVip() && Config.ALLOW_VIP_XPSP)
+                                                               {
+                                                                       exp *= Config.VIP_XP;
+                                                                       sp *= Config.VIP_SP;
                                                               }
                                                       }
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java (revision 4)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/AdminCommandHandler.java (revision 16)
@@ -23,4 +23,5 @@
import net.sf.l2j.Config;
import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAdmin;
+import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAio;
import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAnnouncements;
import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAutoAnnouncements;
@@ -85,4 +86,5 @@
import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminTvTEngine;
import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminUnblockIp;
+import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminVip;
import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminZone;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
@@ -174,4 +176,6 @@
               registerAdminCommandHandler(new AdminManor());
               registerAdminCommandHandler(new AdminMassRecall());
+               registerAdminCommandHandler(new AdminAio());
+               registerAdminCommandHandler(new AdminVip());
               _log.config("AdminCommandHandler: Loaded " + _datatable.size() + " handlers.");
       }
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminVip.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminVip.java (revision 16)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminVip.java (revision 16)
@@ -0,0 +1,253 @@
+/*
+ * 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 2, 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+package net.sf.l2j.gameserver.handler.admincommandhandlers;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.StringTokenizer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.gameserver.GmListTable;
+import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
+import net.sf.l2j.gameserver.model.L2Object;
+import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.network.SystemMessageId;
+import net.sf.l2j.gameserver.network.serverpackets.EtcStatusUpdate;
+import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
+
+/**
+ * Give / Take Status Vip to Player
+ * Changes name color and title color if enabled
+ * 
+ * Uses:
+ * setvip [<player_name>] [<time_duration in days>]
+ * removevip [<player_name>]
+ *
+ * If <player_name> is not specified, the current target player is used.
+ *
+ *
+ * @author KhayrusS
+ *
+ */
+public class AdminVip implements IAdminCommandHandler
+{
+       private static final int REQUIRED_LEVEL = Config.GM_VIP;
+
+       private static String[] _adminCommands = { "admin_setvip", "admin_removevip" };
+       private final static Logger _log = Logger.getLogger(AdminVip.class.getName());
+
+       public boolean useAdminCommand(String command, L2PcInstance activeChar)
+       {
+               if (!Config.ALT_PRIVILEGES_ADMIN)
+                       if (!(checkLevel(activeChar.getAccessLevel()) && activeChar.isGM()))
+                       {
+                               GmListTable.broadcastMessageToGMs("Player "+activeChar.getName()+ " tryed illegal action set vip stat");
+                               return false;
+                       }
+
+               if (command.startsWith("admin_setvip"))
+               {
+                       StringTokenizer str = new StringTokenizer(command);
+                       L2Object target = activeChar.getTarget();
+
+                       L2PcInstance player = null;
+                       SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
+
+                       if (target != null && target instanceof L2PcInstance)
+                               player = (L2PcInstance)target;
+                       else
+                               player = activeChar;
+
+                       try
+                       {
+                               str.nextToken();
+                               String time = str.nextToken();
+                               if (str.hasMoreTokens())
+                               {
+                                       String playername = time;
+                                       time = str.nextToken();
+                                       player = L2World.getInstance().getPlayer(playername);
+                                       doVip(activeChar, player, playername, time);
+                               }
+                               else
+                               {
+                                       String playername = player.getName();
+                                       doVip(activeChar, player, playername, time);
+                               }
+                               if(!time.equals("0"))
+                               {
+                                       sm.addString("You are now a Vip , congratulations!");
+                                       player.sendPacket(sm);
+                               }
+                       }
+                       catch(Exception e)
+                       {
+                               activeChar.sendMessage("Usage: //setvip <char_name> [time](in days)");
+                       }
+
+                       player.broadcastUserInfo();
+                       if(player.isVip())
+                               return true;
+               }
+               else if(command.startsWith("admin_removevip"))
+               {
+                       StringTokenizer str = new StringTokenizer(command);
+                       L2Object target = activeChar.getTarget();
+
+                       L2PcInstance player = null;
+
+                       if (target != null && target instanceof L2PcInstance)
+                               player = (L2PcInstance)target;
+                       else
+                               player = activeChar;
+
+                       try
+                       {
+                               str.nextToken();
+                               if (str.hasMoreTokens())
+                               {
+                                       String playername = str.nextToken();
+                                       player = L2World.getInstance().getPlayer(playername);
+                                       removeVip(activeChar, player, playername);
+                               }
+                               else
+                               {
+                                       String playername = player.getName();
+                                       removeVip(activeChar, player, playername);
+                               }
+                       }
+                       catch(Exception e)
+                       {
+                               activeChar.sendMessage("Usage: //removevip <char_name>");
+                       }
+                       player.broadcastUserInfo();
+                       if(!player.isVip())
+                               return true;
+               }
+               return false;
+       }
+
+       public void doVip(L2PcInstance activeChar, L2PcInstance _player, String _playername, String _time)
+       {
+               int days = Integer.parseInt(_time);
+               if (_player == null)
+               {
+                       activeChar.sendMessage("not found char" + _playername);
+                       return;
+               }
+
+               if(days > 0)
+               {
+                       _player.setVip(true);
+                       _player.setEndTime("vip", days);
+
+                       Connection connection = null;
+                       try
+                       {
+                               connection = L2DatabaseFactory.getInstance().getConnection();
+
+                               PreparedStatement statement = connection.prepareStatement("UPDATE characters SET vip=1, vip_end=? WHERE obj_id=?");
+                               statement.setLong(1, _player.getVipEndTime());
+                               statement.setInt(2, _player.getObjectId());
+                               statement.execute();
+                               statement.close();
+                               connection.close();
+
+                               if(Config.ALLOW_VIP_NCOLOR && activeChar.isVip())
+                                       _player.getAppearance().setNameColor(Config.VIP_NCOLOR);
+
+                               if(Config.ALLOW_VIP_TCOLOR && activeChar.isVip())
+                                       _player.getAppearance().setTitleColor(Config.VIP_TCOLOR);
+
+                               _player.broadcastUserInfo();
+                               _player.sendPacket(new EtcStatusUpdate(_player));
+                               GmListTable.broadcastMessageToGMs("GM "+ activeChar.getName()+ " set vip stat for player "+ _playername + " for " + _time + " day(s)");
+                       }
+                       catch (Exception e)
+                       {
+                               _log.log(Level.WARNING,"could not set vip stats of char:", e);
+                       }
+                       finally
+                       {
+                               try {
+                                       connection.close();
+                               } catch (SQLException e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+                       }
+               }
+               else
+               {
+                       removeVip(activeChar, _player, _playername);
+               }
+       }
+
+       public void removeVip(L2PcInstance activeChar, L2PcInstance _player, String _playername)
+       {
+               _player.setVip(false);
+               _player.setVipEndTime(0);
+
+               Connection connection = null;
+               try
+               {
+                       connection = L2DatabaseFactory.getInstance().getConnection();
+
+                       PreparedStatement statement = connection.prepareStatement("UPDATE characters SET vip=0, vip_end=0 WHERE obj_id=?");
+                       statement.setInt(1, _player.getObjectId());
+                       statement.execute();
+                       statement.close();
+                       connection.close();
+
+                       _player.getAppearance().setNameColor(0xFFFFFF);
+                       _player.getAppearance().setTitleColor(0xFFFFFF);
+                       _player.broadcastUserInfo();
+                       _player.sendPacket(new EtcStatusUpdate(_player));
+                       GmListTable.broadcastMessageToGMs("GM "+activeChar.getName()+" remove vip stat of player "+ _playername);
+               }
+               catch (Exception e)
+               {
+                       _log.log(Level.WARNING,"could not remove vip stats of char:", e);
+               }
+               finally
+               {
+                       try {
+                               connection.close();
+                       } catch (SQLException e) {
+                               // TODO Auto-generated catch block
+                               e.printStackTrace();
+                       }
+               }
+       }
+
+       private boolean checkLevel(int level)
+    {
+               return (level >= REQUIRED_LEVEL);
+    }
+
+       public String[] getAdminCommandList()
+       {
+               return _adminCommands;
+       }
+}
Index: /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAio.java
===================================================================
--- /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAio.java (revision 16)
+++ /trunk/L2JKombat_Core/java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAio.java (revision 16)
@@ -0,0 +1,266 @@
+/*
+ * 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 2, 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ *
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+package net.sf.l2j.gameserver.handler.admincommandhandlers;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.StringTokenizer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import net.sf.l2j.Config;
+import net.sf.l2j.L2DatabaseFactory;
+import net.sf.l2j.gameserver.GmListTable;
+import net.sf.l2j.gameserver.handler.IItemHandler;
+import net.sf.l2j.gameserver.model.L2ItemInstance;
+import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
+import net.sf.l2j.gameserver.model.L2Object;
+import net.sf.l2j.gameserver.model.L2World;
+import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
+import net.sf.l2j.gameserver.network.SystemMessageId;
+import net.sf.l2j.gameserver.network.serverpackets.EtcStatusUpdate;
+import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
+
+/**
+ * Give / Take Status Aio to Player
+ * Changes name color and title color if enabled
+ * 
+ * Uses:
+ * setaio [<player_name>] [<time_duration in days>]
+ * removeaio [<player_name>]
+ *
+ * If <player_name> is not specified, the current target player is used.
+ *
+ *
+ * @author KhayrusS
+ *
+ */
+public class AdminAio implements IAdminCommandHandler
+{
+       private static final int REQUIRED_LEVEL = Config.GM_AIO;
+
+       private static String[] _adminCommands = { "admin_setaio", "admin_removeaio" };
+       private final static Logger _log = Logger.getLogger(AdminAio.class.getName());
+
+       public boolean useAdminCommand(String command, L2PcInstance activeChar)
+       {
+               if (!Config.ALT_PRIVILEGES_ADMIN)
+                       if (!(checkLevel(activeChar.getAccessLevel()) && activeChar.isGM()))
+                       {
+                               GmListTable.broadcastMessageToGMs("Player "+activeChar.getName()+ " tryed illegal action set Aio stat");
+                               return false;
+                       }
+
+               if (command.startsWith("admin_setaio"))
+               {
+                       StringTokenizer str = new StringTokenizer(command);
+                       L2Object target = activeChar.getTarget();
+
+                       L2PcInstance player = null;
+                       SystemMessage sm = new SystemMessage(SystemMessageId.S1_S2);
+
+                       if (target != null && target instanceof L2PcInstance)
+                               player = (L2PcInstance)target;
+                       else
+                               player = activeChar;
+
+                       try
+                       {
+                               str.nextToken();
+                               String time = str.nextToken();
+                               if (str.hasMoreTokens())
+                               {
+                                       String playername = time;
+                                       time = str.nextToken();
+                                       player = L2World.getInstance().getPlayer(playername);
+                                       doAio(activeChar, player, playername, time);
+                               }
+                               else
+                               {
+                                       String playername = player.getName();
+                                       doAio(activeChar, player, playername, time);
+                               }
+                               if(!time.equals("0"))
+                               {
+                                       sm.addString("You are now a Aio, Congratulations!");
+                                       player.sendPacket(sm);
+                               }
+                       }
+                       catch(Exception e)
+                       {
+                               activeChar.sendMessage("Usage: //setaio <char_name> [time](in days)");
+                       }
+
+                       player.broadcastUserInfo();
+                       if(player.isAio())
+                               return true;
+               }
+               else if(command.startsWith("admin_removeaio"))
+               {
+                       StringTokenizer str = new StringTokenizer(command);
+                       L2Object target = activeChar.getTarget();
+
+                       L2PcInstance player = null;
+
+                       if (target != null && target instanceof L2PcInstance)
+                               player = (L2PcInstance)target;
+                       else
+                               player = activeChar;
+
+                       try
+                       {
+                               str.nextToken();
+                               if (str.hasMoreTokens())
+                               {
+                                       String playername = str.nextToken();
+                                       player = L2World.getInstance().getPlayer(playername);
+                                       removeAio(activeChar, player, playername);
+                               }
+                               else
+                               {
+                                       String playername = player.getName();
+                                       removeAio(activeChar, player, playername);
+                               }
+                       }
+                       catch(Exception e)
+                       {
+                               activeChar.sendMessage("Usage: //removeaio <char_name>");
+                       }
+                       player.broadcastUserInfo();
+                       if(!player.isAio())
+                               return true;
+               }
+               return false;
+       }
+
+       public void doAio(L2PcInstance activeChar, L2PcInstance _player, String _playername, String _time)
+       {
+               int days = Integer.parseInt(_time);
+               if (_player == null)
+               {
+                       activeChar.sendMessage("not found char" + _playername);
+                       return;
+               }
+
+               if(days > 0)
+               {
+                       _player.setAio(true);
+                       _player.setEndTime("aio", days);
+                       _player.getStat().addExp(_player.getStat().getExpForLevel(81));
+
+                       Connection connection = null;
+                       try
+                       {
+                               connection = L2DatabaseFactory.getInstance().getConnection();
+
+                               PreparedStatement statement = connection.prepareStatement("UPDATE characters SET aio=1, aio_end=? WHERE obj_id=?");
+                               statement.setLong(1, _player.getAioEndTime());
+                               statement.setInt(2, _player.getObjectId());
+                               statement.execute();
+                               statement.close();
+                               connection.close();
+
+                               if(Config.ALLOW_AIO_NCOLOR && activeChar.isAio())
+                                       _player.getAppearance().setNameColor(Config.AIO_NCOLOR);
+
+                               if(Config.ALLOW_AIO_TCOLOR && activeChar.isAio())
+                                       _player.getAppearance().setTitleColor(Config.AIO_TCOLOR);
+
+                               _player.rewardAioSkills();
+                               if(Config.ALLOW_AIO_ITEM && activeChar.isAio())
+                               _player.getInventory().addItem("", Config.AIO_ITEMID, 1, _player, null);
+                               _player.broadcastUserInfo();
+                               _player.sendPacket(new EtcStatusUpdate(_player));
+                               _player.sendSkillList();
+                               GmListTable.broadcastMessageToGMs("GM "+ activeChar.getName()+ " set Aio stat for player "+ _playername + " for " + _time + " day(s)");
+                       }
+                       catch (Exception e)
+                       {
+                               _log.log(Level.WARNING,"could not set Aio stats to char:", e);
+                       }
+                       finally
+                       {
+                               try {
+                                       connection.close();
+                               } catch (SQLException e) {
+                                       // TODO Auto-generated catch block
+                                       e.printStackTrace();
+                               }
+                       }
+               }
+               else
+               {
+                       removeAio(activeChar, _player, _playername);
+               }
+       }
+
+       public void removeAio(L2PcInstance activeChar, L2PcInstance _player, String _playername)
+       {
+               _player.setAio(false);
+               _player.setAioEndTime(0);
+
+               Connection connection = null;
+               try
+               {
+                       connection = L2DatabaseFactory.getInstance().getConnection();
+
+                       PreparedStatement statement = connection.prepareStatement("UPDATE characters SET Aio=0, Aio_end=0 WHERE obj_id=?");
+                       statement.setInt(1, _player.getObjectId());
+                       statement.execute();
+                       statement.close();
+                       connection.close();
+
+                       _player.lostAioSkills();
+                       if(Config.ALLOW_AIO_ITEM && activeChar.isAio() == false)
+                       _player.getInventory().destroyItemByItemId("", Config.AIO_ITEMID, 1, _player, null);
+                       _player.getWarehouse().destroyItemByItemId("", Config.AIO_ITEMID, 1, _player, null);
+                       _player.getAppearance().setNameColor(0xFFFFFF);
+                       _player.getAppearance().setTitleColor(0xFFFFFF);
+                       _player.broadcastUserInfo();
+                       _player.sendPacket(new EtcStatusUpdate(_player));
+                       _player.sendSkillList();
+                       GmListTable.broadcastMessageToGMs("GM "+activeChar.getName()+" remove Aio stat of player "+ _playername);
+               }
+               catch (Exception e)
+               {
+                       _log.log(Level.WARNING,"could not remove Aio stats of char:", e);
+               }
+               finally
+               {
+                       try {
+                               connection.close();
+                       } catch (SQLException e) {
+                               // TODO Auto-generated catch block
+                               e.printStackTrace();
+                       }
+               }
+       }
+
+
+       private boolean checkLevel(int level)
+    {
+               return (level >= REQUIRED_LEVEL);
+    }
+
+       public String[] getAdminCommandList()
+       {
+               return _adminCommands;
+       }
+}

Index: /trunk/L2JKombat_DataPack/sql/characters.sql
===================================================================
--- /trunk/L2JKombat_DataPack/sql/characters.sql (revision 5)
+++ /trunk/L2JKombat_DataPack/sql/characters.sql (revision 17)
@@ -90,4 +90,8 @@
  `koof` decimal(1,0) NOT NULL DEFAULT 0,
  `noob` decimal(1,0) NOT NULL DEFAULT 0,
+  `vip` decimal(1,0) NOT NULL DEFAULT 0,
+  `vip_end` decimal(20,0) NOT NULL DEFAULT 0,
+  `aio` decimal(1,0) NOT NULL DEFAULT 0,
+  `aio_end` decimal(20,0) NOT NULL DEFAULT 0,
 PRIMARY KEY  (`obj_Id`),
  KEY `clanid` (`clanid`)

 


Ta faltando alguma coisa aqui no fórum, mas não sei o que... (MarucaMetal, Fabio, Revoltado, KhayrusS, entre outros que fazem muita falta para o fórum).

Quero voltar a mexer com l2j, mas estou com muita preguiça e pouco tempo... Mas vou voltar para aprender mais e mais...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...



     



×
×
  • Create New...