Welcome to MaxCheaters.com

Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads

[SHARE] Nick and Title color from DB


Recommended Posts

Good evening everybody :) Long time ago, i had my own forum with l2j script, but i closed due lack of time, so i want to share few scripts.

 

 

This little script allow to use simple html color codes to set players nick's and title's in database. In short if player make rrhis name/title color will stay.

 

This script I used to my server, i created special npc who sell color and colors remained permanently.

 

 

Index: L2PcInstance.java
===================================================================
--- L2PcInstance.java   (revision 1116)
+++ L2PcInstance.java   (working copy)
@@ -220,8 +220,8 @@
    private static final String ADD_SKILL_SAVE = "INSERT INTO character_skills_save (char_obj_id,skill_id,skill_level,effect_count,effect_cur_time,reuse_delay,restore_type,class_index,buff_index) VALUES (?,?,?,?,?,?,?,?,?)";
    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=?,name_color=?,title_color=? 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,name_color,title_color 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 (?,?,?,?,?,?)";
    private static final String UPDATE_CHAR_SUBCLASS = "UPDATE character_subclasses SET exp=?,sp=?,level=?,class_id=? WHERE char_obj_id=? AND class_index =?";
@@ -251,6 +251,7 @@
    public static final int STORE_PRIVATE_BUY = 3;
    public static final int STORE_PRIVATE_MANUFACTURE = 5;
    public static final int STORE_PRIVATE_PACKAGE_SELL = 8;
+   public boolean OnSr = false;
    /**
     * The table containing all minimum level needed for each Expertise (None, D, C, B, A, S)
     */
@@ -5729,7 +5730,7 @@
          con = L2DatabaseFactory.getInstance().getConnection();
          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,name_color,title_color) " + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
          statement.setString(1, _accountName);
          statement.setInt(2, getObjectId());
          statement.setString(3, getName());
@@ -5788,6 +5789,8 @@
          statement.setLong(56, 0);
          statement.setLong(57, System.currentTimeMillis());
          statement.setInt(58, 0);
+         statement.setString(59, StringToHex(Integer.toHexString(getAppearance().getNameColor()).toUpperCase()));
+         statement.setString(60, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase()));
          statement.executeUpdate();
          statement.close();
       }
@@ -5936,6 +5939,10 @@
                player.setJailTimer(rset.getLong("jail_timer"));
             else
                player.setJailTimer(0);
+            
+            player.getAppearance().setNameColor(Integer.decode((new StringBuilder()).append("0x").append(rset.getString("name_color")).toString()).intValue());
+            player.getAppearance().setTitleColor(Integer.decode((new StringBuilder()).append("0x").append(rset.getString("title_color")).toString()).intValue());
+            
             CursedWeaponsManager.getInstance().checkPlayer(player);
             player.setAllianceWithVarkaKetra(rset.getInt("varka_ketra_ally"));
             player.setCoupon(rset.getInt("coupon"));
@@ -6299,7 +6306,9 @@
          statement.setLong(59, getDeathPenaltyBuffLevel());
          statement.setInt(60, isKoof() ? 1 : 0);
          statement.setInt(61, isNoob() ? 1 : 0);
-         statement.setInt(62, getObjectId());
+         statement.setString(62, StringToHex(Integer.toHexString(getAppearance().getNameColor()).toUpperCase()));
+         statement.setString(63, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase()));
+         statement.setInt(64, getObjectId());
          statement.execute();
          statement.close();
       }
@@ -11391,4 +11400,31 @@
    public void updateFOSTitleFlag(){
       FortressSiege.setTitleSiegeFlags(this);
    }
-}
+   
+   private String StringToHex(String color)
+    {
+        switch(color.length())
+        {
+        case 1:
+            color = (new StringBuilder()).append("00000").append(color).toString();
+            break;
+
+        case 2:
+            color = (new StringBuilder()).append("0000").append(color).toString();
+            break;
+
+        case 3:
+            color = (new StringBuilder()).append("000").append(color).toString();
+            break;
+
+        case 4:
+            color = (new StringBuilder()).append("00").append(color).toString();
+            break;
+
+        case 5:
+            color = (new StringBuilder()).append("0").append(color).toString();
+            break;
+        }
+        return color;
+    }
+}
\ No newline at end of file

 

And in your database make these two query's:

 

ALTER TABLE characters ADD name_color varchar(8) DEFAULT '';
ALTER TABLE characters ADD title_color varchar(8) DEFAULT '';

Share this post


Link to post
Share on other sites
  • 1 month later...

hey bro.. can you share the code for L2J-Freya? if you have some tho.. but it would be so sweet if you can make 1 for l2j-freya... i'm kinda newbie for this things, that's why i need a professional guide.. but hopefully ,wil learn soon... thanks in advance... gob job too.. keep it up..

Share this post


Link to post
Share on other sites
  • 2 months later...
  • 1 month later...
  • 4 weeks later...

@@ -5729,7 +5730,7 @@

+        statement.setString(59, StringToHex(Integer.toHexString(getAppearance().getNameColor()).toUpperCase()));

+        statement.setString(60, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase()));

 

@@ -6299,7 +6306,9 @@

 

+        statement.setString(62, StringToHex(Integer.toHexString(getAppearance().getNameColor()).toUpperCase()));

+        statement.setString(63, StringToHex(Integer.toHexString(getAppearance().getTitleColor()).toUpperCase()));

 

no docking

???

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.

Guest
Reply to this topic...

×   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.