Last active
January 20, 2022 17:39
-
-
Save throwarray/aadc1c602ec9beae010f8ba2bbf6c599 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function LoadAnimationDictionary(animationD) | |
RequestAnimDict(animationD) | |
while not HasAnimDictLoaded(animationD) do | |
Citizen.Wait(1) | |
end | |
end | |
function RequestTextureDictionary (dict) | |
RequestStreamedTextureDict(dict) | |
while not HasStreamedTextureDictLoaded(dict) do Citizen.Wait(0) end | |
return dict | |
end | |
function LoadModel (model) | |
RequestModel(model) | |
while not HasModelLoaded(model) do | |
Citizen.Wait(1) | |
end | |
end | |
-------------------------------------------------------------------------------- | |
function Shovel () | |
local shovelModel = GetHashKey("prop_ld_shovel") | |
local animDict = "random@burial" | |
LoadAnimationDictionary(animDict) | |
LoadModel(shovelModel) | |
local playerPed = PlayerPedId() | |
local sceneCoords = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 0.0, -1.0) | |
local sceneRot = GetEntityRotation(playerPed, 2) | |
local shovel = CreateObject(shovelModel, GetEntityCoords(playerPed), true, false, false) | |
SetNetworkIdCanMigrate(NetworkGetNetworkIdFromEntity(shovel), false) | |
SetCurrentPedWeapon(playerPed, GetHashKey("weapon_unarmed"), true) | |
TaskPlayAnim(playerPed, "random@burial", "a_burial", 8.0, -4.0, -1, 1, 0, 0, 0, 0); | |
--TaskPlayAnim(playerPed, "random@burial", "c_burial", 8.0, -4.0, -1, 1, 0, 0, 0, 0); | |
AttachEntityToEntity(shovel, playerPed, GetPedBoneIndex(playerPed, 28422), 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 2, 1) | |
SetBlockingOfNonTemporaryEvents(playerPed, 0) | |
Wait(5000) | |
function DropShovel (playerPed, shovel, done) | |
Citizen.CreateThread(function () | |
TaskPlayAnim(playerPed, "random@burial", "a_burial_stop", 8.0, -4.0, 2000, 0, 0, 0, 0, 0) | |
while GetEntityAnimCurrentTime(playerPed, "random@burial", "a_burial_stop") < 0.355 do | |
Wait(0) | |
end | |
DetachEntity(shovel) | |
if done then | |
done(shovel) | |
end | |
end) | |
end | |
DropShovel(playerPed, shovel) | |
SetEntityDynamic(shovel, 0) | |
--DeleteEntity(shovel) | |
end | |
function GiveWallet (ped) | |
local walletModel = GetHashKey("prop_ld_wallet_pickup") | |
local animDict = "RANDOM@ATMROBBERY4" | |
LoadAnimationDictionary(animDict) | |
LoadModel(walletModel) | |
local playerPed = PlayerPedId() | |
local wallet = CreateObject(walletModel, GetEntityCoords(PlayerPedId(), true), true, false, false) | |
local sceneCoords = GetOffsetFromEntityInWorldCoords(ped, 0.0, 0.0, -1.0) | |
local sceneRot = vector3(0.0, 0.0, 0.0) | |
local sceneId = NetworkCreateSynchronisedScene( | |
sceneCoords, | |
sceneRot, | |
2, true, false, 1065353216, 0, 1065353216 | |
) | |
NetworkAddPedToSynchronisedScene(playerPed, sceneId, | |
animDict, "Return_Wallet_Positive_C_Player", | |
1.5, -1.5, 262, 0, 1148846080, 0 | |
) | |
NetworkAddPedToSynchronisedScene(ped, sceneId, | |
animDict, "Return_Wallet_Positive_C_Female", | |
1.5, -1.5, 262, 0, 1148846080, 0 | |
) | |
SetCurrentPedWeapon(playerPed, GetHashKey("weapon_unarmed"), true) | |
AttachEntityToEntity(wallet, playerPed, | |
GetPedBoneIndex(playerPed, 28422), | |
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 2, 1 | |
) | |
NetworkForceLocalUseOfSyncedSceneCamera(sceneId, animDict, | |
"Return_Wallet_Positive_C_Cam" | |
) | |
NetworkStartSynchronisedScene(sceneID) | |
Wait(1800) | |
DetachEntity(wallet, 0, true) | |
AttachEntityToEntity(wallet, playerPed, GetPedBoneIndex(ped, 28422), | |
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 2, 1 | |
) | |
Wait(3200) | |
ClearPedTasks(ped) | |
NetworkStopSynchronisedScene(sceneId) | |
NetworkUnlinkNetworkedSynchronisedScene(sceneId) | |
SetEntityDynamic(wallet, false) | |
SetEntityAsNoLongerNeeded(wallet) | |
DeleteObject(wallet) | |
end | |
function Roar () | |
LoadAnimationDictionary("ANIM@MP_FM_EVENT@INTRO") | |
local sceneId = NetworkCreateSynchronisedScene(GetOffsetFromEntityInWorldCoords(PlayerPedId(), 0.05, 0.5, -1.11), 0.0, 0.0, (GetEntityHeading(PlayerPedId()) + 90.0), 2, false, false, 1065353216, 0, 1065353216) | |
NetworkForceLocalUseOfSyncedSceneCamera(sceneId, "ANIM@MP_FM_EVENT@INTRO", "BEAST_TRANSFORM_CAM") | |
TaskPlayAnim(PlayerPedId(), "ANIM@MP_FM_EVENT@INTRO", "BEAST_TRANSFORM", 1000.0, -2.0, -1, 0, 0, 0, 0, 0) | |
N_0x2208438012482a1a(PlayerPedId(), 0, 0) | |
N_0xc9b43a33d09cada7(sceneId) | |
print('beastId', sceneId) | |
end | |
function OtherChest () | |
local playerPed = PlayerPedId() | |
local chestModel = GetHashKey("xm_prop_x17_chest_closed") | |
local animDict = "anim@TreasureHunt@DoubleAction@Action" | |
LoadAnimationDictionary(animDict) | |
LoadModel(chestModel) | |
local chestCoords = GetOffsetFromEntityInWorldCoords(playerPed, 1.0, 0.0, -1.0) | |
local chest = CreateObject(chestModel, chestCoords, true, false, false) | |
local sceneCoords = GetEntityCoords(chest) | |
local sceneRot = vector3(0.0, 0.0, 0.0) | |
SetModelAsNoLongerNeeded(chestModel) | |
local sceneId = NetworkCreateSynchronisedScene( | |
sceneCoords, | |
sceneRot, | |
2, true, false, 1065353216, 0, 1065353216 | |
) | |
NetworkAddPedToSynchronisedScene(playerPed, sceneId, | |
animDict, "Double_Action_PickUP", | |
1.5, -1.5, 262, 0, 1148846080, 0 | |
) | |
NetworkAddEntityToSynchronisedScene( | |
chest, sceneId, | |
animDict, "Double_Action_PickUP_CHEST", | |
1.5, -1.5, 4 | |
) | |
NetworkForceLocalUseOfSyncedSceneCamera(sceneId, animDict, "Double_Action_PickUp_CAM") | |
NetworkStartSynchronisedScene(sceneID) | |
Wait(13000) | |
NetworkStopSynchronisedScene(sceneId) | |
NetworkUnlinkNetworkedSynchronisedScene(sceneId) | |
FreezeEntityPosition(chest, true) | |
PlayEntityAnim(chest, "HOLD_CHEST", animDict, 1000.0, false, 1, 0, 0, 0) -- keeps open | |
SetEntityDynamic(chest, 0) | |
SetObjectAsNoLongerNeeded(chest) | |
RemoveAnimDict(animDict) | |
end | |
function HatchetChest () | |
local chestModel = GetHashKey('ba_prop_battle_chest_closed') | |
local hatchetModel = GetHashKey("w_me_stonehatchet") | |
local playerPed = PlayerPedId() | |
LoadAnimationDictionary("anim@TreasureHunt@Hatchet@Action") | |
LoadModel(hatchetModel) | |
LoadModel(chestModel) | |
local chestCoords = GetOffsetFromEntityInWorldCoords(playerPed, 1.0, 0.0, -1.0) | |
local chest = CreateObject(chestModel, chestCoords, true, false, false) | |
local hatchet = CreateObjectNoOffset(hatchetModel, chestCoords, true, false, false) | |
SetModelAsNoLongerNeeded(chestModel) | |
SetModelAsNoLongerNeeded(hatchetModel) | |
SetNetworkIdCanMigrate(NetworkGetNetworkIdFromEntity(chest), false) | |
SetNetworkIdCanMigrate(NetworkGetNetworkIdFromEntity(hatchet), false) | |
SetEntityProofs(chest, true, true, true, true, true, true, 0, false) | |
SetEntityVisible(hatchet, false, 0) | |
SetEntityHeading(hatchet, GetEntityHeading(chest)) | |
local sceneRot = vector3(0.0, 0.0, 0.0) --[[GetAnimInitialOffsetRotation( | |
"anim@TreasureHunt@Hatchet@Action", "Hatchet_Pickup", | |
vVar1, func_1947(iParam0->f_10), 0, 2 | |
)]] | |
local sceneCoords = GetEntityCoords(chest) | |
local sceneId = NetworkCreateSynchronisedScene( | |
sceneCoords, sceneRot, | |
2, true, false, 1065353216, 0, 1065353216 | |
) | |
NetworkAddPedToSynchronisedScene( | |
playerPed, sceneId, | |
"anim@TreasureHunt@Hatchet@Action", "Hatchet_Pickup", | |
1.5, -1.5, 262, 0, 1148846080, 0 | |
) | |
NetworkAddEntityToSynchronisedScene( | |
chest, sceneId, | |
"anim@TreasureHunt@Hatchet@Action", "Hatchet_Pickup_chest", | |
1.5, -1.5, 4 | |
) | |
NetworkAddEntityToSynchronisedScene( | |
hatchet, sceneId, | |
"anim@TreasureHunt@Hatchet@Action", "Hatchet_Pickup_Hatchet", | |
1.5, -1.5, 4 | |
) | |
local now | |
local startTime = GetGameTimer() | |
local sceneActive = true | |
SetCurrentPedWeapon(PlayerPedId(), GetHashKey("weapon_unarmed"), true) | |
SetEntityVisible(hatchet, true, 0) | |
NetworkForceLocalUseOfSyncedSceneCamera( | |
sceneId, "anim@TreasureHunt@hatchet@Action", "HATCHET_PickUp_CAM" | |
) | |
RequestScriptAudioBank("DLC_CHRISTMAS2017/FM_TH", false) | |
PlaySoundFrontend(-1, "item_found", "dlc_xm_fm_th_sounds", false) | |
NetworkStartSynchronisedScene(sceneID) | |
local injured = false | |
local gainItem = false | |
while sceneActive do | |
now = GetGameTimer() | |
-- check interupted | |
if injured then | |
sceneActive = false | |
-- anim played long enough to grab item? | |
if now >= startTime + 8000 then | |
gainItem = true | |
end | |
end | |
-- anim is finished | |
if now >= startTime + 9000 then | |
sceneActive = false | |
gainItem = true | |
end | |
Wait(0) | |
end | |
DeleteObject(hatchet) -- * | |
if gainItem then | |
GiveWeaponToPed(playerPed, GetHashKey("weapon_stone_hatchet"), 100, false, true) | |
SetCurrentPedWeapon(playerPed, GetHashKey("weapon_stone_hatchet"), true) | |
--SetPedCurrentWeaponVisible(playerPed, 1, 1, 1, 0) | |
--SetCurrentPedWeapon(playerPed, GetHashKey("weapon_stone_hatchet"), true) | |
if injured then | |
end | |
elseif injured then | |
end | |
NetworkStopSynchronisedScene(sceneId) | |
NetworkUnlinkNetworkedSynchronisedScene(sceneId) | |
RemoveAnimDict("anim@TreasureHunt@hatchet@Action") | |
ReleaseScriptAudioBank("DLC_CHRISTMAS2017/FM_TH") | |
Wait(0) | |
if DoesEntityExist(chest) then | |
-- PlayEntityAnim(chest, "HOLD_CHEST", "anim@TreasureHunt@Hatchet@Action", 1000.0, false, 1, 0, 0, 0) | |
FreezeEntityPosition(chest, true) | |
SetEntityDynamic(chest, 0) | |
SetObjectAsNoLongerNeeded(chest) | |
end | |
end | |
function ShakePed (ped) | |
local animDict = "anim@mp_player_intcelebrationpaired@m_m_manly_handshake" | |
ClearPedTasks(PlayerPedId()) | |
ClearPedTasks(ped) | |
LoadAnimationDictionary(animDict) | |
--LoadAnimationDictionary("mini@arm_wrestling") | |
local playerPed = PlayerPedId() | |
local sceneCoords = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 0.0, -1.0) | |
local playerHeading = GetEntityHeading(playerPed) | |
local sceneId = NetworkCreateSynchronisedScene(sceneCoords, GetEntityRotation(playerPed), 2, 1, 0, 1065353216, 0, 1065353216) | |
NetworkAddPedToSynchronisedScene(playerPed, sceneId, animDict, "MANLY_HANDSHAKE_LEFT", 8.0, -1.5, 157, 16, 1148846080, 0) | |
NetworkAddPedToSynchronisedScene(ped, sceneId, animDict, "MANLY_HANDSHAKE_RIGHT", 8.0, -1.5, 157, 16, 1148846080, 0) | |
--NetworkForceLocalUseOfSyncedSceneCamera(sceneId, "aw_ig_intro_alt1_cam", "mini@arm_wrestling") | |
NetworkStartSynchronisedScene(sceneId) | |
RemoveAnimDict(animDict) | |
Wait(7500) | |
NetworkStopSynchronisedScene(sceneId) | |
NetworkUnlinkNetworkedSynchronisedScene(sceneId) | |
end | |
function Rescue (ped) | |
local animDict = "random@crash_rescue@get_victim_to_friend" | |
local playerPed = PlayerPedId() | |
LoadAnimationDictionary(animDict) | |
local sceneCoords = GetOffsetFromEntityInWorldCoords(playerPed, 0.0, 0.0, 0.0) | |
local playerHeading = GetEntityHeading(playerPed) | |
local playerRotation = GetEntityRotation(playerPed, 2) | |
local sceneId = NetworkCreateSynchronisedScene(sceneCoords, | |
0.0, 0.0, 0.0, | |
vector3(0.0, 0.0, 36.0), | |
2, 1, 0, 1065353216, 0, 1065353216 | |
) | |
NetworkAddPedToSynchronisedScene(playerPed, sceneId, animDict, "helping_friend_inside_victim", 8.0, -1.5, 157, 16, 1148846080, 0) | |
NetworkAddPedToSynchronisedScene(ped, sceneId, animDict, "helping_friend_inside_friend", 8.0, -1.5, 157, 16, 1148846080, 0) | |
NetworkForceLocalUseOfSyncedSceneCamera( | |
sceneId, "HELPING_FRIEND_INSIDE_CAM", "random@crash_rescue@get_victim_to_friend" | |
) | |
NetworkStartSynchronisedScene(sceneId) | |
Wait(12000) | |
RemoveAnimDict(animDict) | |
NetworkStopSynchronisedScene(sceneId) | |
NetworkUnlinkNetworkedSynchronisedScene(sceneId) | |
end | |
Citizen.CreateThread(function () | |
Wait(0) | |
--Shovel() | |
--OtherChest(); | |
--HatchetChest() | |
--Roar() | |
local playerPed = PlayerPedId() | |
local pedModel = GetHashKey("mp_m_shopkeep_01") | |
LoadModel(pedModel) | |
local ped | |
-- ped = CreatePed( | |
-- 4, | |
-- pedModel, | |
-- GetOffsetFromEntityInWorldCoords(playerPed, 1.0, 0.0, -1.0), | |
-- GetEntityHeading(playerPed) - 180.0, | |
-- true, | |
-- false | |
-- ) | |
-- SetEntityRegister(ped, 1) | |
-- SetNetworkIdExistsOnAllMachines(PedToNet(ped), 1) | |
--GiveWallet(ped) | |
--ShakePed(ped) | |
--Rescue(ped) | |
if DoesEntityExist(ped) then | |
SetEntityDynamic(ped, 0) | |
SetEntityAsNoLongerNeeded(ped) | |
end | |
SetModelAsNoLongerNeeded(pedModel) | |
end) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment