Sphereserver / Source-X

Ultima Online server emulator
Apache License 2.0
58 stars 47 forks source link

CAN=can_o_nosleep #1082

Closed GladieUO closed 1 year ago

GladieUO commented 1 year ago

I have items with this CAN Flag, that should change location when the timer reaches 0. It seems like sometimes they got stuck at 0 in sleeping sector, even tho they should continue.

If i set them by script to timer 1, then for some time they work as intended, even in sleeping sector.

How is this possible? Might this stucking at 0 be because of sphere rr?

image

GladieUO commented 1 year ago

So i created a new item just for this testing, and it works, but then i leave the PC, come back next day, and the original items that I need to work are stuck on 0. What can be a situation that it gets stuck on 0? 😫

Jhobean commented 1 year ago

Good observation. The sector awake and fall in sleep mode again.

GladieUO commented 1 year ago

Looks like it, but also the items with can_o_nosleep somehow. image

GladieUO commented 1 year ago

More info: After the sphere restart, all the items even with flag are set as sleeping and thus the timer will stuck at 0, instead triggering @timer.

Before the restart, it was working, even tho some of these items were sleeping, but the timer triggered somehow. 😫

Jhobean commented 1 year ago

Interesting... That mean boot process set item to sleep!?

GladieUO commented 1 year ago

Interesting... That mean boot process set item to sleep!?

It seems like it set all the sectors to sleep immediately, this way all the items too. Maybe using different method

Edit: here is what I know now, after the few days of running sphere.

1) Can_o_nosleep seems like work, but i dont understand how 2) items will fall sleep, but the @timer will trigger even its sleeping 3) some items never falls asleep 4) with sphere reboot, all items are instantly sleeping and @timer will never trigger 5) for item sleeping check im using "issleeping" - which has comment that it should be used to check sector sleeping, but works for all.