Sending Events - Flexibility

Here you can post threads requesting help on the official POL Ultima Online Emulator Core 096.
Note: Core 096 is no longer officially supported.
Post Reply
Erin
New User
Posts: 7
Joined: Fri Jun 29, 2007 10:39 am

Sending Events - Flexibility

Post by Erin »

I've been making control scripts for items and would like them to be able to receive custom events. So far the best workaround I've found is to just create a cprop on the item with the script that would be sending the event, and check for it in the item's control loop. This however forces me to make the control loop iterate much much faster than it should otherwise so that it checks the cprop in time.

I tried SendEvent(), and as the manual suggests, it only works for an NPC's control script.

Is there a way to send an event to an item's control script? Or better yet, a way to send an event to any process given the proper process object would be nice!
User avatar
OldnGrey
POL Expert
Posts: 657
Joined: Sat Feb 04, 2006 6:26 pm

Post by OldnGrey »

*edited*
My ideas were a result of not really reading your question. I had only thought that wait_for_event(120) inside a while loop would be useful. Sorry.
Last edited by OldnGrey on Fri Jul 20, 2007 9:39 pm, edited 1 time in total.
User avatar
ncrsn
Grandmaster Poster
Posts: 255
Joined: Fri Feb 10, 2006 12:15 am

Post by ncrsn »

You can send event to any process using script.SendEvent()-method.

IE, in your items controlscript, save its' PID into a cprop (SetObjProperty(item, "PID", GetPID());). Then, on the script you want to send the event from, get the pid and its process (script := GetProcess(GetObjProperty(item, "PID"));). And send any event you want to.
Erin
New User
Posts: 7
Joined: Fri Jun 29, 2007 10:39 am

Post by Erin »

Awesome, I had just gone to look at the script object and found this too. Shame on me for posting before I read everything. Thanks!
Post Reply