• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Feature] Cast system

amatria

Well-Known Member
Joined
May 15, 2021
Messages
74
Solutions
6
Reaction score
80
Location
Spain
GitHub
amatria
Hi!

A few days ago I came across this issue on GitHub (#984 - Znote - Live cast system) and it has been echoing in my head ever since then. I did some research and saw that some have tried to implement the system ---!2230, !994--- but ended up abandoning it. So, is it worth the effort? I'm willing to give it a try and challenge myself ---I am not that interested in the money, though.

Also, I am aware that there exist these "code quality guidelines":
The use of the dispatcher thread must be minimal.
All caster variables must be stored in the ProtocolGame instance of the caster player.
However, the issue is quite old ---it was posted back in 2014. So, should I consider any other restriction?

So, to wrap up, I would appreciate your opinions, thoughts, advice etc. on the matter before actually committing.

Cheers.

amatria.
 

Maybe this
 
Thank you very much. I'll get in contact with him to try and see in which state the system is and if there's any work left to do.
 
Thank you very much. I'll get in contact with him to try and see in which state the system is and if there's any work left to do.
Slavi is not with us anymore, so you might not want to contact him.
 
Oh, I had no idea. My most sincere condolences. However, I meant I was going to get in contact with ltutorial.
 
About djarek ( Casting system by djarek · Pull Request #994 · otland/forgottenserver (https://github.com/otland/forgottenserver/pull/994) ) cast system:
It had one known issue. Maybe it's already fixed, not tested it. Spawn 30 demons by GM, login some player next to them and start cast by that player. When you try to join, it debugs spectator client. There was missing some synchonization and high number of running monsters on screen made connecting spectator debug (monster make step in milisecond when server send 'monster on screen' to new spectator).
 
About djarek ( Casting system by djarek · Pull Request #994 · otland/forgottenserver (https://github.com/otland/forgottenserver/pull/994) ) cast system:
It had one known issue. Maybe it's already fixed, not tested it. Spawn 30 demons by GM, login some player next to them and start cast by that player. When you try to join, it debugs spectator client. There was missing some synchonization and high number of running monsters on screen made connecting spectator debug (monster make step in milisecond when server send 'monster on screen' to new spectator).
Pretty sure you had this fixed - don't you wanna share your solution with us?
 
Last edited:
Pretty sure you had this fixed - don't you wanna share your solution with us?
I just had reports from X people and tested it on my PC to confirm it debugs. Never fixed it.
Problem with it was that 'casts' run in other thread. There is no synchronization with dispatcher thread. All is good as long as there is not too much action on screen. Cast spectator may receive packet with 'creature move' before he get packets with tiles (send on login/on join cast) and monsters on them. Then it debugs with 'unknown creature' error message in client.
Maybe some simple 'if' with 'if tiles not send to spectator, ignore other packets' would work.

On Kasteria I added 'elf cast system' from TFS 0.4 - waste a lot of CPU, run in main (dispatcher) thread, but 'it works'.
 
no one has a finished cast system ? does somebody knows a cast system for tfs 1.3/1.5?
 
Back
Top