Also forgot to post this, an example on how to utilize the AWS_MouseEvent.
function fxDTSBrick::getBrowserPos(%this, %location) {
%vec = vectorSub(%location, %this.getTransform());
return ((getWord(%vec, (%this.angleID&1) ? 0:1) * ((%this.angleID>>1) ? "-1":1) )+ 4)/8*1024 SPC 768-(getWord(%vec, 2)+3)/6*768;
}
package browserSupport {
function GameConnection::browserSupport(%this) {
cancel(%this.bs);
if(isObject(%player=%this.player)) {
%ray = containerRaycast(%player.getEyePoint(), vectorAdd(vectorScale(%player.getEyeVector(), 30), %player.getEyePoint()), $TypeMasks::FxBrickObjectType, "");
if(isObject(%ray) && %ray.getDatablock().printAspectRatio $= "Screen") {
%playero = %ray.getBrowserPos(posFromRaycast(%ray));
bottomPrint(%this, "\c6" @ %playero, 3);
commandToClient(%this, 'AWS_MouseEvent', getWord(%playero, 0) | 0, getWord(%playero, 1) | 0, 4);
}
}
%this.bs = %this.schedule(100, browserSupport);
}
function Player::activateStuff(%player) {
if(isObject(%client = %player.client)) {
%ray = containerRaycast(%player.getEyePoint(), vectorAdd(vectorScale(%player.getEyeVector(), 30), %player.getEyePoint()), $TypeMasks::FxBrickObjectType, "");
if(isObject(%ray) && %ray.getDatablock().printAspectRatio $= "Screen") {
%playero = %ray.getBrowserPos(posFromRaycast(%ray));
commandToClient(%client, 'AWS_MouseEvent', getWord(%playero, 0) | 0, getWord(%playero, 1) | 0, 0);
}
}
return Parent::activateStuff(%player);
}
};
activatePackage("browserSupport");