• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

[General] Help please fast :)

Status
Not open for further replies.
Level 15
Joined
Oct 29, 2012
Messages
1,474
I'm using 2D Engine ( always -_-) . I modified it a bit . It uses 'Terrain Tilesets' types' as a platform .My Unit walks on ground normally . But when It jumps it seems that it goes throught some 'Locust Objects' that I have made the Stable Ground on them (So The Unit doesn't walk throught them ) .Look what I have seen :
es2efb.jpg

  • SetVariables
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- The maximum amount of players playing at the same time. --------
      • Set _AmountPlayers_2D = 4
      • -------- The speed your platformer will fall at. --------
      • Set _SpeedFall_2D = 15.00
      • -------- The terrain type you are able to stand at. --------
      • Set _GroundStable_2D = Cityscape - Black Marble
      • -------- The terrain type that kills you. --------
      • Set _GroundKill_2D = Dungeon - Lava
      • -------- The speed your platformer moves at. --------
      • Set _SpeedMove_2D = 15.00
      • -------- The angle your platformer moves when the right arrow key is pressed. --------
      • Set _AngleRight_2D = 0.00
      • -------- The angle your platformer moves when the left arrow key is pressed. --------
      • Set _AngleLeft_2D = 180.00
      • -------- The angle you fall towards. --------
      • Set _Integer_2D = 1
      • For each (Integer A) from 1 to 4, do (Actions)
        • Loop - Actions
          • Set _AngleGravity_2D[_Integer_2D] = 270.00
          • Set _Integer_2D = (_Integer_2D + 1)
      • -------- The distance between your platformer and stable ground. --------
      • Set _BlockDistance_2D = 25.00
      • -------- Leave this at 5~ above _BlockDistance_2D --------
      • Set _BlockDistance2_2D = 30.00
      • -------- The distance between the platformer and the special effect which is created when jumping. --------
      • Set _JumpSED_2D = 20.00
      • -------- The angle at which the special effect created when jumping is created. --------
      • Set _Integer_2D = 1
      • For each (Integer A) from 1 to _AmountPlayers_2D, do (Actions)
        • Loop - Actions
          • Set _JumpSEA_2D[_Integer_2D] = _AngleGravity_2D[_Integer_2D]
          • Set _Integer_2D = (_Integer_2D + 1)
      • -------- The angle your platformer moves when pressing the up arrow key. --------
      • Set _Integer_2D = 1
      • For each (Integer A) from 1 to _AmountPlayers_2D, do (Actions)
        • Loop - Actions
          • Set _AngleJump_2D[_Integer_2D] = 90.00
          • Set _Integer_2D = (_Integer_2D + 1)
      • -------- The speed your platformer gains when jumping. --------
      • Set _SpeedJump_2D = 16.00
      • -------- The height of your platformers jumps. --------
      • Set _HeightJump_2D = 30
      • -------- The height of your platformers walljumps. --------
      • Set _HeightWJump_2D = 30
      • -------- If walljumping is prohibited or not. --------
      • Set _Integer_2D = 1
      • For each (Integer A) from 1 to _AmountPlayers_2D, do (Actions)
        • Loop - Actions
          • Set _WallJumpEnabled_2D[_Integer_2D] = False
          • Set _Integer_2D = (_Integer_2D + 1)
      • -------- The angle of your camera. --------
      • Set _ViewCamera_2D = 270.00
  • JumpExecute
    • Events
      • Player - Player 1 (Red) Presses the Up Arrow key
      • Player - Player 2 (Blue) Presses the Up Arrow key
      • Player - Player 3 (Teal) Presses the Up Arrow key
      • Player - Player 4 (Purple) Presses the Up Arrow key
    • Conditions
    • Actions
      • -------- Checks so the player is standing at stable ground: --------
      • Set _tempPointJE_2D = (Position of _Hero_2D[(Player number of (Triggering player))])
      • Set _tempPointJE2_2D = (_tempPointJE_2D offset by _BlockDistance2_2D towards _AngleGravity_2D[(Player number of (Triggering player))] degrees)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Terrain type at _tempPointJE2_2D) Equal to _GroundStable_2D
        • Then - Actions
          • -------- Increases jump timer and creates special effect: --------
          • Custom script: call RemoveLocation( udg__tempPointJE_2D )
          • Custom script: call RemoveLocation( udg__tempPointJE2_2D )
          • Set _tempPointJE_2D = (Position of _Hero_2D[(Player number of (Triggering player))])
          • Set _tempPointJE2_2D = (_tempPointJE_2D offset by _JumpSED_2D towards _JumpSEA_2D[(Player number of (Triggering player))] degrees)
          • Set _TimerJump_2D[(Player number of (Triggering player))] = _HeightJump_2D
        • Else - Actions
          • -------- Checks if there's stable ground towards the facing of the player and if walljump is enabled: --------
          • Set _tempPointJE_2D = (Position of _Hero_2D[(Player number of (Triggering player))])
          • Set _tempPointJE2_2D = (_tempPointJE_2D offset by _BlockDistance2_2D towards (Facing of _Hero_2D[(Player number of (Triggering player))]) degrees)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Terrain type at _tempPointJE2_2D) Equal to _GroundStable_2D
              • _WallJumpEnabled_2D[(Player number of (Triggering player))] Equal to True
            • Then - Actions
              • -------- Increases jump timer and creates special effect: --------
              • Set _tempPointJE_2D = (Position of _Hero_2D[(Player number of (Triggering player))])
              • Set _tempPointJE2_2D = (_tempPointJE_2D offset by _JumpSED_2D towards _JumpSEA_2D[(Player number of (Triggering player))] degrees)
              • Special Effect - Create a special effect at _tempPointJE2_2D using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
              • Special Effect - Destroy (Last created special effect)
              • Set _TimerJump_2D[(Player number of (Triggering player))] = _HeightWJump_2D
            • Else - Actions
      • -------- -------------------------------------------------- Set Jump Animation ----------------------------------------- --------
      • Custom script: call SetUnitAnimationByIndex(udg__Hero_2D[GetConvertedPlayerId(GetTriggerPlayer())], 9)
      • -------- -------------------------------------------------- Remove Leaks ----------------------------------------- --------
      • Custom script: call RemoveLocation( udg__tempPointJE_2D )
      • Custom script: call RemoveLocation( udg__tempPointJE2_2D )
  • Jump Copy
    • Events
      • Time - Every 0.02 seconds of game time
    • Conditions
    • Actions
      • -------- Makes the trigger run for each player set to play: --------
      • Set _IntegerJ_2D = 1
      • For each (Integer A) from 1 to _AmountPlayers_2D, do (Actions)
        • Loop - Actions
          • -------- Checks if there's stable ground above the player: --------
          • Set _tempPointJ_2D = (Position of _Hero_2D[_IntegerJ_2D])
          • Set _tempPointJ2_2D = (_tempPointJ_2D offset by _BlockDistance_2D towards _AngleJump_2D[_IntegerJ_2D] degrees)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Terrain type at _tempPointJ2_2D) Not equal to _GroundStable_2D
              • _TimerJump_2D[_IntegerJ_2D] Greater than or equal to 1
            • Then - Actions
              • -------- Moves the player upwards: --------
              • Set _tempPointJ_2D = (Position of _Hero_2D[_IntegerJ_2D])
              • Set _tempPointJ2_2D = (_tempPointJ_2D offset by _SpeedJump_2D towards _AngleJump_2D[_IntegerJ_2D] degrees)
              • Unit - Move _Hero_2D[_IntegerJ_2D] instantly to _tempPointJ2_2D
            • Else - Actions
          • Set _IntegerJ_2D = (_IntegerJ_2D + 1)
      • Custom script: call RemoveLocation( udg__tempPointJ_2D )
      • Custom script: call RemoveLocation( udg__tempPointJ2_2D )
Please Help . +1 rep :)
 
Last edited:
u set these 4 times and they are the same point.
  • Set _tempPointJE_2D = (Position of _Hero_2D[(Player number of (Triggering player))])
  • Set _tempPointJE2_2D = (_tempPointJE_2D offset by _BlockDistance2_2D towards (Facing of _Hero_2D[(Player number of (Triggering player))]) degrees)
anything u use twice or more store into a variable and use that.
ur jump trigger should be every 0.03 seconds not 0.02
again u set the point variable multiple times for no reason. get rid of integer A.
u should detect the units height and see if there is land underneath him. if there is then get the z value of the land and stop there rather than continuing with the jump.

also u can only give 1 rep lol.
 
this can be set up like this
  • For each (Integer A) from 1 to 4, do (Actions)
    • Loop - Actions
      • Set _AngleGravity_2D[_Integer_2D] = 270.00
      • Set _Integer_2D = (_Integer_2D + 1)
new actions
  • For each _Integer_2D from 1 to 4, do (Actions)
    • Loop - Actions
      • Set _AngleGravity_2D[_Integer_2D] = 270.00
hes jumping on the ground ? do u mean u move the background around instead of making the unit jump ?

also jumbling words up isnt going to help u any
 
Status
Not open for further replies.
Top