Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //by J16D
- //Main swing script - Rope TEST
- //-+---CONSTANTS--------------------
- //Size
- CONST_INT BYTE 1
- CONST_INT WORD 2
- CONST_INT DWORD 4
- CONST_INT SIZE_RWMEMORY 8
- CONST_INT SIZE_VECTOR 12
- CONST_INT SIZE_QUAT 16
- CONST_INT SIZE_COLPOINT_DATA 44
- CONST_INT SIZE_MATRIX 64
- SCRIPT_START
- {
- SCRIPT_NAME rp_sw
- LVAR_INT player_actor
- GET_PLAYER_CHAR 0 player_actor
- CONST_INT player 0
- LVAR_INT toggleSpiderMod isFuncEnabled
- LVAR_INT baseObject
- LVAR_INT LRStick UDStick
- LVAR_FLOAT x y z
- LVAR_INT randomVal
- LVAR_FLOAT fRandomVal fZAnglePlayerAir
- LVAR_FLOAT fVelX fVelY fVelZ
- main_loop:
- IF IS_PLAYER_PLAYING player
- AND NOT IS_CHAR_SITTING_IN_ANY_CAR player_actor
- IF IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
- AND NOT IS_BUTTON_PRESSED PAD1 SQUARE // ~k~~PED_JUMPING~
- AND NOT IS_BUTTON_PRESSED PAD1 CIRCLE // ~k~~PED_FIREWEAPON~
- AND NOT IS_BUTTON_PRESSED PAD1 RIGHTSHOULDER1 // ~k~~PED_LOCK_TARGET~
- //IF GOSUB isNotCharPlayingAnim
- WHILE IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
- WAIT 0
- ENDWHILE
- GOSUB destroyWeb
- GOSUB createWeb
- LVAR_FLOAT xA yA zA
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS player_actor (0.0 10.0 10.0) (xA yA zA)
- SET_CAR_COORDINATES iVehA (xA yA zA)
- SET_CAR_COLLISION iVehA FALSE
- //FREEZE_CAR_POSITION_AND_DONT_LOAD_COLLISION iVehA TRUE
- LVAR_INT ptr
- ptr = 0xB77874
- timera = 0
- fRandomVal = 0.25
- WRITE_MEMORY ptr DWORD fRandomVal FALSE
- ENABLE_CRANE_CONTROLS TRUE TRUE TRUE
- WHILE TRUE
- SET_CAR_COORDINATES iVehA (xA yA zA)
- IF IS_KEY_PRESSED VK_KEY_8
- fRandomVal -=@ 0.001
- IF DOES_OBJECT_EXIST iHandObj
- GET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
- fVelZ +=@ 0.5
- SET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
- ENDIF
- ENDIF
- IF IS_KEY_PRESSED VK_KEY_2
- fRandomVal +=@ 0.001
- IF DOES_OBJECT_EXIST iHandObj
- GET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
- fVelZ -=@ 0.5
- SET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
- ENDIF
- ENDIF
- IF 0.25 > fRandomVal
- fRandomVal = 0.25
- ENDIF
- IF fRandomVal > 0.96
- fRandomVal = 0.96
- ENDIF
- WRITE_MEMORY ptr DWORD fRandomVal FALSE
- PRINT_FORMATTED_NOW "float:%.2f" 500 fRandomVal //debug
- IF IS_KEY_PRESSED VK_KEY_4
- GET_OFFSET_FROM_CAR_IN_WORLD_COORDS iVehA (0.0 0.0 0.0) (x y z)
- GET_OFFSET_FROM_CAR_IN_WORLD_COORDS iVehA (0.0 0.005 0.0) (fVelX fVelY fVelZ)
- fVelX -= x
- fVelY -= y
- fVelZ -= z
- //SET_OBJECT_VELOCITY iHandObj (fVelX fVelY fVelZ)
- APPLY_FORCE_TO_CAR iVehB (fVelX fVelY fVelZ) (0.0 0.0 0.0)
- ENDIF
- IF IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
- WHILE IS_BUTTON_PRESSED PAD1 CROSS // ~k~~PED_SPRINT~
- WAIT 0
- ENDWHILE
- BREAK
- ENDIF
- WAIT 0
- ENDWHILE
- GOSUB destroyWeb
- PRINT_FORMATTED_NOW "KILLED" 500
- WAIT 500
- //ENDIF
- ENDIF
- ENDIF
- WAIT 0
- GOTO main_loop
- destroyWeb:
- IF DOES_VEHICLE_EXIST iVehA
- OR DOES_VEHICLE_EXIST iVehB
- DELETE_CAR iVehA
- DELETE_CAR iVehB
- ENDIF
- RETURN
- createWeb:
- LVAR_INT iVehA iVehB iHandObj
- REQUEST_MODEL 501 //#RCGOBLIN
- REQUEST_MODEL 441 //#RCBANDIT
- LOAD_ALL_MODELS_NOW
- IF NOT DOES_VEHICLE_EXIST iVehA
- AND NOT DOES_VEHICLE_EXIST iVehB
- GET_OFFSET_FROM_CHAR_IN_WORLD_COORDS player_actor (0.0 3.0 10.0) (x y z)
- CREATE_CAR 501 (x y z) (iVehA) //#RCGOBLIN
- SET_CAR_PROOFS iVehA TRUE TRUE TRUE TRUE TRUE
- SET_CAR_VISIBLE iVehA TRUE
- SET_CAR_COLLISION iVehA FALSE
- ATTACH_WINCH_TO_HELI iVehA TRUE
- GET_CAR_COORDINATES iVehA (x y z)
- WAIT 0
- GOSUB findModel
- SET_CURRENT_CHAR_WEAPON player_actor WEAPONTYPE_UNARMED
- IF DOES_OBJECT_EXIST iHandObj
- GET_OFFSET_FROM_OBJECT_IN_WORLD_COORDS iHandObj (0.0 0.0 -1.0) (x y z)
- CREATE_CAR 441 (x y z) (iVehB) //#RCBANDIT
- WINCH_CAN_PICK_VEHICLE_UP iVehB TRUE
- SET_CAR_PROOFS iVehB TRUE TRUE TRUE TRUE TRUE
- SET_CAR_VISIBLE iVehB TRUE
- SET_CAR_COLLISION iVehB TRUE
- ENDIF
- WAIT 0
- //PRINT_FORMATTED_NOW "created" 500
- ENDIF
- MARK_MODEL_AS_NO_LONGER_NEEDED 501
- MARK_MODEL_AS_NO_LONGER_NEEDED 441
- RETURN
- findModel:
- LVAR_INT p i obj
- //For all Objects
- READ_MEMORY 0xB7449C 4 FALSE (p)
- p += 0x4
- READ_MEMORY p 4 FALSE p
- i = 0
- WHILE i <= 89344
- READ_MEMORY p 1 FALSE (obj)
- p += 0x1
- IF obj >= 0x00
- AND 0x80 > obj
- obj += i
- IF DOES_OBJECT_EXIST obj
- IF DOES_OBJECT_HAVE_THIS_MODEL obj 3053 //#INDUS_MAGNET
- AND LOCATE_OBJECT_3D obj (x y z) (7.5 7.5 7.5) FALSE
- iHandObj = obj
- SET_OBJECT_SCALE iHandObj 0.5
- PRINT_FORMATTED_NOW "FOUND!" 1000
- GOTO findModelEnd
- ENDIF
- ENDIF
- ENDIF
- i += 0x100
- ENDWHILE
- findModelEnd:
- RETURN
- }
- SCRIPT_END
Advertisement
Add Comment
Please, Sign In to add comment