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

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock