Jump to content

Recommended Posts

Posted

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 '';

Posted

Thanks you for your sharing ^^ i dont test but i think all work.

 

Because you can't / you doesn't know, get lost.

 

You don't know to add / modify something and that mean you are another spammer.

Posted

Thanks you for your sharing ^^ i dont test but i think all work.

 

Working, and tested on interlude packs.

 

I think l2jserver have something like this in gracia, ep, hi5

Posted

Because you can't / you doesn't know, get lost.

 

You don't know to add / modify something and that mean you are another spammer.

agree he is bot.. also this crap has every pack il aswell

  • 1 month later...
Posted

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

  • 2 months later...
  • 1 month later...
Posted

You took it from L2JFrozen I guess. ^.^

 

Give one example what frozen had created? They event don't how to create db installer, what talk about script..

 

Btw tooked everything from Scoria )))

  • 4 weeks later...
Posted

@@ -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

???

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



×
×
  • Create New...