I know that you can already do what you are talking about with sounds. My own mp3 script handles all of that easily, though it does not use a generic "object" wrapper as an interface in the classic sense. If you like, you can modify your scripting style to kind of emulate or copy the style used by OOP (Object Oriented Programming) coders. In some respects, mIRC is already object oriented. It has windows you can find out information about its properties ($window(windowname).property). Some of its methods might be blocked from user control (depending on window type) and some might not be blocked at all. Certainly, the remotes are all events that you can code to. With the new Signals we can use, you can emulate RaiseEvent and define your own events. Encapsulation is basically how scripting works anyway; the users don't know about your data structures or access methods, nor do they care. Within limits, you can do inheritance (if you've scripted it for that). With a little imagination, you can do polymorphism (halting an event loaded earlier in the script order and then using on &*:EVENT to halt any following events from firing too). Objects, properties, methods, events, encapsulation, inheritance and polymorphism; that pretty much covers OOP.

Since I have never bothered to code any kind of picture window game, I know little about the /draw* commands. There might even be a slick way to do these. wink


DALnet: #HelpDesk and #m[color:#FF0000]IR[color:#EEEE00]C