212 lines
7.3 KiB
Python
Executable File
212 lines
7.3 KiB
Python
Executable File
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
|
|
#IF IS_FINAL_BUILD
|
|
|
|
script
|
|
|
|
endscript
|
|
|
|
#endif
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
USING "locates_public.sch"
|
|
USING "bitset_widget.sch"
|
|
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_ANY_MEANS 0
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_ON_FOOT 1
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_IN_ANY_VEHICLE 2
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_IN_VEHICLE 3
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_ANY_MEANS 4
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_ANY_MEANS 5
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_ON_FOOT 6
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_ON_FOOT 7
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_IN_ANY_VEHICLE 8
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_IN_ANY_VEHICLE 9
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_IN_VEHICLE 10
|
|
CONST_INT STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_IN_VEHICLE 11
|
|
|
|
BOOL bShowCorona = TRUE
|
|
BOOL bLoseWantedLevel = TRUE
|
|
BOOL bShowBuddyRoute = TRUE
|
|
|
|
INT iState
|
|
INT iGotoState
|
|
INT iNumberOfBuddies = 3
|
|
INT iMinSeats = 0
|
|
|
|
VECTOR EndLocation = << -1285.1292, -949.9236, 10.0464 >>
|
|
VECTOR LocateSize = <<5.0, 5.0, 5.0>>
|
|
VEHICLE_INDEX VehicleID
|
|
|
|
PED_INDEX BuddyID[3]
|
|
|
|
LOCATES_HEADER_DATA locatesData
|
|
|
|
PROC RESET_LOCATES()
|
|
INT i
|
|
CLEAR_PRINTS()
|
|
CLEAR_MISSION_LOCATION_TEXT_AND_BLIPS(locatesData)
|
|
IF IS_PLAYER_PLAYING(PLAYER_ID())
|
|
CLEAR_PED_TASKS_IMMEDIATELY(PLAYER_PED_ID())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), << -1233.4377, -1139.0764, 6.7659 >>)
|
|
SET_ENTITY_HEADING(PLAYER_PED_ID(), 320.0)
|
|
ENDIF
|
|
IF DOES_ENTITY_EXIST(VehicleID)
|
|
DELETE_VEHICLE(VehicleID)
|
|
ENDIF
|
|
REQUEST_MODEL(EMPEROR)
|
|
WHILE NOT HAS_MODEL_LOADED(EMPEROR)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
VehicleID = CREATE_VEHICLE(EMPEROR, << -1230.3617, -1137.0831, 6.6794 >>, 20.0)
|
|
REPEAT 3 i
|
|
IF DOES_ENTITY_EXIST(BuddyID[i])
|
|
DELETE_PED(BuddyID[i])
|
|
ENDIF
|
|
BuddyID[i] = NULL
|
|
ENDREPEAT
|
|
REQUEST_MODEL(G_M_Y_StrPunk_01)
|
|
WHILE NOT HAS_MODEL_LOADED(G_M_Y_StrPunk_01)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
IF (iNumberOfBuddies >=1)
|
|
BuddyID[0] = CREATE_PED(PEDTYPE_CIVMALE, G_M_Y_StrPunk_01, << -1244.8727, -1098.7516, 7.1824 >>, 270.0)
|
|
ENDIF
|
|
IF (iNumberOfBuddies >=2)
|
|
BuddyID[1] = CREATE_PED(PEDTYPE_CIVMALE, G_M_Y_StrPunk_01, << -1262.7656, -1057.6354, 7.3697 >>, 270.0)
|
|
ENDIF
|
|
IF (iNumberOfBuddies >=3)
|
|
BuddyID[2] = CREATE_PED(PEDTYPE_CIVMALE, G_M_Y_StrPunk_01, << -1276.5845, -1010.7098, 8.4720 >>, 270.0)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC GOTO_STATE(INT inState)
|
|
iState = inState
|
|
RESET_LOCATES()
|
|
ENDPROC
|
|
|
|
PROC MISSION_CLEANUP()
|
|
CLEAR_MISSION_LOCATION_TEXT_AND_BLIPS(locatesData)
|
|
CLEANUP_BITSET_WIDGET()
|
|
TERMINATE_THIS_THREAD()
|
|
ENDPROC
|
|
|
|
SCRIPT
|
|
|
|
IF HAS_FORCE_CLEANUP_OCCURRED()
|
|
MISSION_CLEANUP()
|
|
ENDIF
|
|
|
|
SET_MISSION_FLAG(TRUE)
|
|
REQUEST_ADDITIONAL_TEXT("LOCTEST", MISSION_TEXT_SLOT)
|
|
|
|
WHILE NOT HAS_ADDITIONAL_TEXT_LOADED(MISSION_TEXT_SLOT)
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
START_WIDGET_GROUP("Locates Tester")
|
|
ADD_WIDGET_INT_SLIDER("iGotoState", iGotoState, -1, 99, 1)
|
|
ADD_WIDGET_INT_SLIDER("iNumberOfBuddies", iNumberOfBuddies, 0, 3, 1)
|
|
ADD_WIDGET_BOOL("bShowCorona", bShowCorona)
|
|
ADD_WIDGET_BOOL("bLoseWantedLevel", bLoseWantedLevel)
|
|
ADD_WIDGET_INT_SLIDER("iMinSeats", iMinSeats, 0, 3, 1)
|
|
ADD_WIDGET_BOOL("bShowBuddyRoute", bShowBuddyRoute)
|
|
STOP_WIDGET_GROUP()
|
|
|
|
CREATE_BITSET_WIDGET(locatesData.iLocatesBitSet)
|
|
|
|
WHILE (TRUE)
|
|
WAIT(0)
|
|
|
|
IF NOT (iGotoState = -1)
|
|
GOTO_STATE(iGotoState)
|
|
iGotoState = -1
|
|
ENDIF
|
|
|
|
UPDATE_BITSET_WIDGET(locatesData.iLocatesBitSet)
|
|
|
|
SWITCH iState
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_ANY_MEANS
|
|
IF IS_PLAYER_AT_LOCATION_ANY_MEANS(locatesData, EndLocation, LocateSize, bShowCorona, "GO_LOC_ANY", bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_ON_FOOT
|
|
IF IS_PLAYER_AT_LOCATION_ON_FOOT(locatesData, EndLocation, LocateSize, bShowCorona, "GO_LOC_FOOT", bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_IN_ANY_VEHICLE
|
|
IF IS_PLAYER_AT_LOCATION_IN_ANY_VEHICLE(locatesData, EndLocation, LocateSize, bShowCorona, "DRIVE_LOC", "GET_IN_ANY_CAR", bLoseWantedLevel, iMinSeats)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_IN_VEHICLE
|
|
IF IS_PLAYER_AT_LOCATION_IN_VEHICLE(locatesData, EndLocation, LocateSize, bShowCorona, VehicleID, "DRIVE_LOC", "GET_IN_THIS_CAR", "BACKIN_THIS_CAR", bLoseWantedLevel, iMinSeats)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_ANY_MEANS
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDIES_ANY_MEANS(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], BuddyID[1], BuddyID[2], "GO_LOC", "DONT_LEAVE_BUD1", "DONT_LEAVE_BUD2", "DONT_LEAVE_BUD3", "PICKUP_ALL_BUDS", bShowBuddyRoute, bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_ANY_MEANS
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDY_ANY_MEANS(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], "GO_LOC", "DONT_LEAVE_BUD1", bShowBuddyRoute, bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_ON_FOOT
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDIES_ON_FOOT(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], BuddyID[1], BuddyID[2], "GO_LOC", "DONT_LEAVE_BUD1", "DONT_LEAVE_BUD2", "DONT_LEAVE_BUD3", "PICKUP_ALL_BUDS", bShowBuddyRoute, bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_ON_FOOT
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDY_ON_FOOT(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], "GO_LOC", "DONT_LEAVE_BUD1", bShowBuddyRoute, bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_IN_ANY_VEHICLE
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDIES_IN_ANY_VEHICLE(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], BuddyID[1], BuddyID[2], "GO_LOC", "DONT_LEAVE_BUD1", "DONT_LEAVE_BUD2", "DONT_LEAVE_BUD3", "PICKUP_ALL_BUDS", "GET_IN_ANY_CAR", "BACKIN_ANY_CAR", bShowBuddyRoute, bLoseWantedLevel, iMinSeats)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_IN_ANY_VEHICLE
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDY_IN_ANY_VEHICLE(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], "GO_LOC", "DONT_LEAVE_BUD1", "GET_IN_ANY_CAR", "BACKIN_ANY_CAR", bShowBuddyRoute, bLoseWantedLevel, iMinSeats)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDIES_IN_VEHICLE
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDIES_IN_VEHICLE(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], BuddyID[1], BuddyID[2], VehicleID, "GO_LOC", "DONT_LEAVE_BUD1", "DONT_LEAVE_BUD2", "DONT_LEAVE_BUD3", "PICKUP_ALL_BUDS", "GET_IN_THIS_CAR", "BACKIN_THIS_CAR", bShowBuddyRoute, bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
CASE STATE_IS_PLAYER_AT_LOCATION_WITH_BUDDY_IN_VEHICLE
|
|
IF IS_PLAYER_AT_LOCATION_WITH_BUDDY_IN_VEHICLE(locatesData, EndLocation, LocateSize, bShowCorona, BuddyID[0], VeHicleID, "GO_LOC", "DONT_LEAVE_BUD1", "GET_IN_THIS_CAR", "BACKIN_THIS_CAR", bShowBuddyRoute, bLoseWantedLevel)
|
|
GOTO_STATE(iState)
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
ENDWHILE
|
|
|
|
ENDSCRIPT
|
|
|
|
#endif
|