The events are as follows:
OnSpellCast(castProc) where castProc has the following members:
castProc.spellID --this determines which spell was cast, Q,W,E,R,D,F,B
castProc.targetID --this holds the networkID of the spell target (can be nil/zero if the cast is a skillshot)
castProc.startPos --holds the starting position of the spell cast (your local player XYZ)
castProc.endPos --holds the ending position of the spell (again as XYZ castproc.endPos.x,y,z)
---------------------------------
OnIssueOrder(orderProc) where orderProc has the following members:
orderProc.flag --this flag is different for different orders, like attack,moveto,holdposition,stop, etc.
orderProc.target --if you're issuing order onto an object, this is a pointer to that object.
orderProc.position --this shows to what coordinates the order is issued to (XYZ)
-------------------------------
Some really small code examples:
OnIssueOrder(function(orderProc) if orderProc.flag == 2 then BlockOrder(); end end) OnSpellCast(function(castProc) if castProc.spellID == _Q then BlockCast(); end end)