Hello everybody, I'm having a little bit of trouble.
I've been trying to use examples from other NPC buffers which seem to cast 'instantly' sort of.
What I had in mind was to allow the player to create different sets of buffs that they can also pick from later. I've defined two classes inside L2PcInstance:
ZCL_BUFF_ROW and ZCL_BUFF_TABLE.
Each instance of L2PcInstance has an object ZCL_BUFF_TABLE. The object_id of the character is passed to the constructor of this class and then the results are placed into hashtables:
private Hashtable<Integer,Integer> _buff_ids;
So the character has 24 values for 24 buffs.
In the above class, ZCL_BUFF_TABLE, there is another hashtable I've made to store the rows off buffs so a character can have multiple presets.
The problem comes in later at the NPC buffer itself. I normally see that the useMagic() function is called at the Python script, but I wasn't sure if I'd be able to iterate across a java hashtable inside python. So I implemented two functions:
// Method of ZCL_BUFF_TABLE
public void STApplyBuffRow(QuestState st, int index)
{
st.getPlayer().setTarget( st.getPlayer() );
_buff_table.get(index).STapplyBuffs(st);
}
// Method of ZCL_BUFF_ROW
public void STapplyBuffs(QuestState st)
{
L2Skill skill = null;
for ( int b_id : _buff_ids.values() )
{
skill = SkillTable.getInstance().getInfo( b_id, 1 );
st.getPlayer().useMagic(skill, false, false);
}
}
I'm passing the QuestState to the functions so I can apply the buffs to player in the Java code and just place the function
In the python code. However, what ends up happening is the player casts the buffs and it takes a long time which really isn't what I'm looking for. When I was looking at other examples, it's almost instant.
AND one last question.
I'm also new to java. I've taken peaks at the L2j server before but now I'm a bit more serious about it. I'm wondering though how in the long run will making additions to the player class affect the performance? For example, is a Hashtable in java an effecient way to store this list or is there perhaps a faster way?
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.
I have a system where Accounts are saved on login screen for fast login. I am playing a server where this feature is not on the logic screen. How I can try to add this feature to the system?
I don't know what files I would have to touch.
Thanks!!
Hello everyone,
Given that he has lots of different projects but no concrete opinions..
I pose my request here.
Which serious Lineage2 HighFive project is the best choice?
For a server that can be custom and which can be suitable for a classic x10 server and an x1000 server for example?
L2J
Or we ideally have the source, in order to be able to add the farming systems, weapons and armor, npc...
Free or paid, it doesn't matter.
THANKS
Hello everyone,
Given that he has lots of different projects
but no concrete opinions..
I pose my request here.
Which serious Lineage2 HighFive project/emulator
is the best choice?
For a server that can be custom and
which can be suitable for a classic x10 server
and an x1000 server for example?
L2Java ideally
Or we ideally have the source,
in order to be able to add the farming systems,
weapons and armor, npc...
Free or paid, it doesn't matter.
THANKS
Question
dpbBryan
Hello everybody, I'm having a little bit of trouble.
I've been trying to use examples from other NPC buffers which seem to cast 'instantly' sort of.
What I had in mind was to allow the player to create different sets of buffs that they can also pick from later. I've defined two classes inside L2PcInstance:
ZCL_BUFF_ROW and ZCL_BUFF_TABLE.
Each instance of L2PcInstance has an object ZCL_BUFF_TABLE. The object_id of the character is passed to the constructor of this class and then the results are placed into hashtables:
So the character has 24 values for 24 buffs.
In the above class, ZCL_BUFF_TABLE, there is another hashtable I've made to store the rows off buffs so a character can have multiple presets.
The problem comes in later at the NPC buffer itself. I normally see that the useMagic() function is called at the Python script, but I wasn't sure if I'd be able to iterate across a java hashtable inside python. So I implemented two functions:
I'm passing the QuestState to the functions so I can apply the buffs to player in the Java code and just place the function
In the python code. However, what ends up happening is the player casts the buffs and it takes a long time which really isn't what I'm looking for. When I was looking at other examples, it's almost instant.
AND one last question.
I'm also new to java. I've taken peaks at the L2j server before but now I'm a bit more serious about it. I'm wondering though how in the long run will making additions to the player class affect the performance? For example, is a Hashtable in java an effecient way to store this list or is there perhaps a faster way?
3 answers to this question
Recommended Posts
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.