-snip-
this is never run, the if statement should always return false from
%player.isTouchin[%obj] = true;
Now it works just like onPlayerTouch though.
registerInputEvent("FxDTSBrick","onPlayerFirstTouch","Self fxDTSBrick" TAB "Player Player" TAB "Client GameConnection" TAB "MiniGame MiniGame");
package onPlayerFirstTouch
{
function FxDTSBrick::stopTouch(%obj, %player)
{
%player.isTouchin[%obj] = false;
}
function FxDTSBrick::onPlayerTouch(%obj, %player)
{
parent::onPlayerTouch(%obj, %player);
%player.isTouchin[%obj] = true;
cancel(%obj.stopTouch[%player]);
%obj.stopTouch[%player] = %obj.schedule(50, "stopTouch", %player);
if(%player.isTouchin[%obj])
{
$InputTarget_["Self"] = %obj;
$InputTarget_["Player"] = %player;
$InputTarget_["Client"] = %player.client;
if($Server::LAN)
{
$InputTarget_["MiniGame"] = getMiniGameFromObject(%player.client);
}
else
{
if(getMiniGameFromObject(%this) == getMiniGameFromObject(%player.client))
{
$InputTarget_["MiniGame"] = getMiniGameFromObject(%obj);
}
else
{
$InputTarget_["MiniGame"] = 0;
}
}
%obj.processInputEvent(onPlayerFirstTouch, %player.client);
}
}
};
activatePackage(onPlayerFirstTouch);