Thursday, September 15, 2011

r1048 - Scripting Additions and Fixes

  • Player's move speed is effect now by moveSpeed
  • Move speed greater than 1 will allow faster movement than 1 now
  • Changing rifle to use rifle ammo again and not pistol ammo
  • Adds the ability to execute a script on the various movement key presses and stop them from occurring 
    • keyID has the key pressed and keyState has whether the key was pressed down/up
    • If the last line returns false then it will be as if the player didn't press that key
    • keyboard.keyForwardScript - Script to run when pressing forward
    • keyboard.keyBackScript - Script to run when pressing back
    • keyboard.keyLeftScript - Script to run when pressing left
    • keyboard.keyRightScript - Script to run when pressing right
    • keyboard.keyJumpScript - Script to run when pressing jump
    • keyboard.keySneakScript - Script to run when pressing sneak
  • Added functions/variables to EntityLiving
    • gravity - Controls how fast this entity falls
    • jumpVelocity - The upward y velocity upon jumping
    • jumpWallMultiplier - The upward y velocity upon jumping against a wall will be this number multiplied by jumpVelocity
    • jumpInAirMultiplier - The upward y velocity upon jumping in the air will be this number multiplied by jumpVelocity
    • shouldJump - Says whether this entity should be trying to jump or not
    • airControl - The multiplier for how much the player can effect their horizontal velocity while in the air
    • void fireBullet(float spread, int damage) - Fires a bullet using the entities position and facing. Spread effects how much randomness is added to the bullets trajectory.
  • Added to Entity
    • hitVec3, blockHit, entityHit = rayTrace(ScriptVec3 start, ScriptVec3 end) - Traces from the start coordinate to the end coordinate.  If something is hit then hitVec3 won't be null.  Then whether a block or entity was hit the corresponding variable will not be null. This will ignore this entity during the ray trace.
    • hitVec3, blockHit, entityHit = rayTrace(startX, startY, startZ, endX, endY, endZ) - Traces from the start coordinate to the end coordinate.  If something is hit then hitVec3 won't be null.  Then whether a block or entity was hit the corresponding variable will not be null. This will ignore this entity during the ray trace.
  • Added to World
    • hitVec3, blockHit, entityHit = rayTrace(ScriptVec3 start, ScriptVec3 end) - Traces from the start coordinate to the end coordinate.  If something is hit then hitVec3 won't be null.  Then whether a block or entity was hit the corresponding variable will not be null.
    • hitVec3, blockHit, entityHit = rayTrace(startX, startY, startZ, endX, endY, endZ) - Traces from the start coordinate to the end coordinate.  If something is hit then hitVec3 won't be null.  Then whether a block or entity was hit the corresponding variable will not be null.
    • hitVec3, blockHit = rayTraceBlocks(ScriptVec3 start, ScriptVec3 end) - Traces from the start coordinate to the end coordinate. If a block is hit then hitVec3 has the position hit and blockHit the block's coordinates.
    • hitVec3, blockHit = rayTraceBlocks(startX, startY, startZ, endX, endY, endZ) - Traces from the start coordinate to the end coordinate.  If a block is hit then hitVec3 has the position hit and blockHit the block's coordinates.

1 comment: