Blockland Forums > Modification Help
When A Player Steps Off A Brick
jes00:
--- Quote from: phflack on June 04, 2012, 03:49:36 PM ---
--- Code: ----snip-
--- End code ---
this is never run, the if statement should always return false from
--- Code: ---%player.isTouchin[%obj] = true;
--- End code ---
--- End quote ---
Now it works just like onPlayerTouch though.
--- Code: ---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);
--- End code ---
Port:
50ms is very short. The engine doesn't do ::onCollision calls that rapidly.
jes00:
--- Quote from: Port on June 05, 2012, 07:50:40 AM ---50ms is very short. The engine doesn't do ::onCollision calls that rapidly.
--- End quote ---
So how long should I make it?
Port:
--- Quote from: jes00 on June 05, 2012, 09:08:13 AM ---So how long should I make it?
--- End quote ---
Around >= 200ms.
Greek2me:
I would recommend using triggers:
http://forum.blockland.us/index.php?topic=192400.0