ProjectEQ / projecteqquests

Quest scripts for ProjectEQ
http://projecteq.net
44 stars 81 forks source link

GetRandomClient() Error #1383

Closed joligario closed 1 year ago

joligario commented 1 year ago

https://github.com/ProjectEQ/projecteqquests/blob/546faa94298c2f85c97c14cbcc6669b38d10e984/global/a_steadfast_servant.pl#L48

Server is getting (EntityList, double, double, double, SCALAR, int).

joligario commented 1 year ago

Is Range a key or reserved word? https://metacpan.org/pod/Number::Range

hgtw commented 1 year ago

Couldn't reproduce this locally on a Windows server built with perl 5.24.4 or a Linux (debian 12) server built with 5.36.0. Is it fully reproducible on the server with a steadfast servant out or intermittent?

fryguy503 commented 1 year ago

Intermittent, but I have a re-written lua version that should be getting pushed today/tomorrow.

hgtw commented 1 year ago

Managed to reproduce this 1) edit the script and speed it up to something like $Frequency = 5; 2) #cast 6884 to summon it 3) #kill your character (was bound in same zone) 4) observe quest error message (types in error message may differ depending on any debug msg done with them in script) 5) (optional)#cast 6883 to remove the steadfast servant

The arg types in the error message are a perlbind issue. I think the bug would have been far easier to immediately understand if the message had said (EntityList*, double, double, double, SCALAR, <undefined>).

This is something to keep in mind if any more ambiguous perl script errors like this occur on the server (though rewriting in lua is the better option).