There's no point in doing %db = %obj.getDatablock(); because %this is the datablock.
Is all this even in a package?
You're not parenting serverCmdUseTool or serverCmdUnUseTool.
Instead of checking %client.isPlayerType == 1. Check if(%client.player.getDataBlock().getName() $= "MyDataBlock").
Instead of doing %client.player.setMaxForwardSpeed(8); do %client.player.setMaxForwardSpeed(%client.player.getDataBlock().maxForwardSpeed)
If you want them to not be able to move at all, you'll also need to change their backward speed, side speed, crouch forward speed, crouch side speed, crouch backward speed, and underwater speeds.
And if you want them to not be able to jump/crouch then you'll just need to change their datablock instead.
honytawk please make sure that the code you post is correct before you post it.