Jump to content
  • 0

Broadcastpacket Is Worst Than Tryskell


Question

Posted (edited)

warning: CLICKBAIT title

 

Ok here's whats going on. player.broadcastUserInfo(); basically spreads  UserInfo(), charInfo() and extraInfo() onto knownlist players. 

So let's say we change title and then name color, we do broadcastTitle(); and broadcastUserInfo(); 

 

All players around get the new info BUT if a new player come in town of giran or teleport next to him, he see the old title + old name color cause simply he didn't receive

the packet (cause he wasnt in the knownlist region). 

 

Basically using player.decay(); player.spawn(); works fine after all but i cant really use this for 100 chars every 1 second example..

 

Is this knownlist problem? I guess no. But how to update properlya player without respawn him or without do a World.getInstance().getAllPlayers() -> sendPacket to all individual. ?

 

Tryskell ps. thanks for previous one.

Edited by Afou To Patisa

Recommended Posts

  • 0
Posted

Modify PcAppearance like from example in prev. post and change all plases where setting Name, Title, etc to this template except neccessary places (temporary use). Because current model for changing name and title uses PcAppearance and after by task all data stored to DB from this template (not direct from PcInstance). This is the big shit!

 

Don't forget change store method for using direct name and title.

ok this i understood but this doesnt explain territory war icon right? .. 

  • 0
Posted

PcAppearance was created for temporary user info like: title string, title color, name string, name color and other properties which can be changed for events and etc w/o saving. But something goes wrong and this feature was forgotten and now uses wrong.

 

Your mission recover the truth.

  • 0
Posted

PcAppearance was created for temporary user info like: title string, title color, name string, name color and other properties which can be changed for events and etc w/o saving. But something goes wrong and this feature was forgotten and now uses wrong.

 

Your mission recover the truth.

So you want to tell me that even when a player cast a spell (and suddedly you teleport onto giran), the fact that u see him just sit instead of casting it was meant to be handled by PcAppearance? ..

  • 0
Posted

Yes. You can use this template every where and if you changed player name (as example for TvT event with profession's names as name) so you can see him in all actions. Basically you need change player.getname() to player.getAppearance().getVisibleName() everywhere for it.

  • 0
Posted

Yes. You can use this template every where and if you changed player name (as example for TvT event with profession's names as name) so you can see him in all actions. Basically you need change player.getname() to player.getAppearance().getVisibleName() everywhere for it.

So how /unstuck should be then? Example a player doing unstuck, i teleport in giran, see him just sitting there then disappear.. how should i do this? Give me an example of which line i should adjust so i can do the rest.

  • 0
Posted

all the answers are wrong. the problem is knowlist. fact.

 

the knowlist of the player who got teleported didn't receive the update, debug is your only friend

  • 0
Posted (edited)

all the answers are wrong. the problem is knowlist. fact.

 

the knowlist of the player who got teleported didn't receive the update, debug is your only friend

Could you englight me a bit more? I support ur comment more than other's since im sure is knownlist and no specific values like getTitle e.t.c 

but i can't really know where exactly it happens.. in findObjects everything seem to be fine.  

I would really appreciate if you give me a clue of what to check to make the unit that cast skill or unstuck to be seen by someone who just logged in or teleport in.

 

I did check to ensure that object is contained in knownList and yeap it is. But what you mean exactly the knownList of the player who teleported didn't receive the update? Which update is this and where it happens? Ty

Edited by Afou To Patisa
  • 0
Posted

 

debug is your only friend

 

debug in l2j sucks.. you know that that what i asked to give me a clue from ur experience on where i should look (file or line).  The only export debug does is to say

objects added in knownlist  and removed.. nothing else. No usefull info.

  • 0
Posted (edited)

As you can see debug doesnt really provide any other info rather than target and packet broadcast.. 

 

IX88ppe.png

 

I really need a clue since im not that experience in finding a specific part of code in such a huge program. 

It must be knowlist but idk which part is for update users in knownlist. Example when you enter in someone's knownlist to inform you with his actions

if he is casting or teleporting e.t.c  other functions such as Death-Karma are fine but the 1  problem is casting (including unstuck animation). 

 

Title is not big deal but casting i must at least find the exact line. 

Edited by Afou To Patisa
  • 0
Posted (edited)

Ok so you have no clue what debug is

You can provide some info at least..  could you? I don't really people point out what i know and what i don't.. i just ask for a conclusion in this silly problem

in which i agree with xdem is knownList by 80% even tho the only that is not update properly is casting upon teleport or login or far come using gm speed 3

Edited by Afou To Patisa
  • 0
Posted (edited)

Run server on eclipse, not a "compiled version" and use the debugger to see the knownlist content to make sure the player is absent, then check why the fuck it's not in it

Edited by Sdw
  • 0
Posted

Run server on eclipse, not a "compiled version" and use the debugger to see the knownlist content to make sure the player is absent, then check why the fuck it's not in it

Anyways.. thanks ill prefer to pay someone who know it to fix it shortly.. im really tired 2.5 days now. I appreciate ur comment but it doesnt debug it give  "variable reference is missing" blabla.. 

If anyone want provide some help i would appreciate. 

 

Thanks for answers.

  • 0
Posted (edited)

all the answers are wrong. the problem is knowlist. fact.

 

the knowlist of the player who got teleported didn't receive the update, debug is your only friend

 

 

It's probably a knownlist problem, since L2J got a ghosts issue (which is nothing more than people didn't receive the DeleteObject packet when he left the region).

 

About the solution, you can test aCis (rev 362+) or L2JUnity knownlist refactor for a complete rework (will fix any ghost issue + better performance).

 

About packet send, you got sendInfo and regarding moving/attack/cast stuff, it's describeStateToPlayer.

Edited by Tryskell

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