| Blockland Forums > Modification Help |
| When A Player Steps Off A Brick |
| << < (3/4) > >> |
| 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 |
| Navigation |
| Message Index |
| Next page |
| Previous page |