Jump to content
  • 0

[HELP] Saving name color into Database.


Question

Posted

Hello guys, i really need help saving the color i chose into the database.

I made a color manager where I can choose colors, but after i chose for example red it wont save after i do restart (relog).

 

This is the Java code in L2PcInstance:

public void saveName(int color){//
  Connection con = null;
  
try
  {

   con = L2DatabaseFactory.getInstance().getConnection(false);
   PreparedStatement statement;
   statement = con.prepareStatement("UPDATE characters SET name_color=?"+color+" WHERE account_name='"+_accountName+"'");
   statement.setString(1, StringToHex(Integer.toHexString(color).toUpperCase()));
   statement.execute();
   statement.close();
   statement = null;
   getAppearance().setNameColor(color);

   broadcastUserInfo();
  }
  catch(Exception e){}
  finally
  {
   CloseUtil.close(con);
con = null;
  }

}

 

This is the code for one color in python .py file:

if event == "1":
           if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.getPlayer().getAppearance().setNameColor(0x009900)
	st.getPlayer().broadcastUserInfo();
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"
            st.exitQuest(0)

 

How can i make my name color to save after i do restart?

Please answer.

6 answers to this question

Recommended Posts

  • 0
Posted

create a L2PcInstance method which will get the color and save it into the db for example: go to L2PcInstance and create a void like this:

public void storeTittleColor(int color)

{

    //store it in the database

}

 

the go to your py file and add this st.getPlayer.storeTittleColor(the color you want ex:0x009900)

 

  • 0
Posted

- "= null" stuff is pointless.

- your statement sucks : "UPDATE characters SET name_color=?"+color+" WHERE account_name='"+_accountName+"'", parameters should be applied following regular use.

- you create a method named saveName, but don't even use it on your python script. How do you want it works ?

  • 0
Posted

- "= null" stuff is pointless.

- your statement sucks : "UPDATE characters SET name_color=?"+color+" WHERE account_name='"+_accountName+"'", parameters should be applied following regular use.

- you create a method named saveName, but don't even use it on your python script. How do you want it works ?

 

he also uses "where aacountId" this sucks he has to do it by player OID"

  • 0
Posted

i dont know man , every pack connects with your DB diffrent I dont know how your works, if you have h5 i will do this for you when I got free time, but if you dont h5 I won't even try ...

  • 0
Posted

Okay I have remade the code a little and the python file as well.

 

Java Code:

 

	private static final String UPDATE_CHAR_COLOR = "UPDATE character_color SET name_color=?, WHERE charId=?";
public void saveNameColor(int color){

	Connection con = null;
	PreparedStatement statement = null;

	  
	try
	  {

	   con = L2DatabaseFactory.getInstance().getConnection(false);
	   statement = con.prepareStatement(UPDATE_CHAR_COLOR);
	   statement.setString(1, StringToHex(Integer.toHexString(color).toUpperCase()));
	   statement.setInt(2, getObjectId());
	   getAppearance().setNameColor(color);
	   broadcastUserInfo();
	   statement.execute();
	   statement.close();
	  }
	   catch(Exception e){}
	   finally
	   {
	    CloseUtil.close(con);
	   }
}

 

 

Python Code:

        if event == "1":
            if st.getQuestItemsCount(57) > 250000:
                st.takeItems(57,250000)
                st.saveNameColor(0x009900)
                return "1.htm"
            if st.getQuestItemsCount(57) <= 250000:
                return "Announcements: No Enought Adena To Select Color!"
            st.exitQuest(0)

 

But still no luck ://

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.



×
×
  • Create New...