-
Posts
80 -
Joined
-
Last visited
Everything posted by greentumbleweed
-
<export function="setMiddleVisible" type="client" /> <export function="getRadioButtonsCoords" type="client" /> <export function="showNewInventory" type="client" /> <export function="hideNewInventory" type="client" /> <export function="refreshNewInventory" type="client" />
-
it is in the meta
-
this gave me the exact same error exports.new_inv: works fine in other gm somewhere there is a string not being found and im not very good with exporting functions and strings tbh
-
line 30: attemt to index upvalue 'myslots' (a nil value) line 15: failed to call 'new_inv:showNewInventory' [string"?"] these are my errors, im trying to merge this dx inventory to my own heres the rest of the code, if anyone could help i would be so thankful because im lost 1st error.......... function getMySlots() getPlayerCurrentSlots() getPlayerMaxAviableSlots() end function refreshNewInventory() if not getElementData ( localPlayer, "dayz:new_inv") then return end myInventory = exports.dayz:getMyInventory() lootInventory = exports.dayz:getLootInventory() mySlots = exports.dayz:getMySlots() lootSlots = exports.dayz:getLootSlots() if myInvOffset+itemQuant > #myInventory then if #myInventory > itemQuant then myInvOffset = #myInventory-itemQuant else myInvOffset = 0 end end if lootInventory then if lootInvOffset+itemQuant > #lootInventory then if #lootInventory > itemQuant then lootInvOffset = #lootInventory-itemQuant else lootInvOffset = 0 end end end local sack = exports.dayz:getPlayerSackName() or "Pocket" sackText = sack.." ("..mySlots[1].."/"..mySlots[2]..")" lootName = (getElementData(getLocalPlayer(),"lootname") or "Loot").." ("..lootSlots[1].."/"..lootSlots[2]..")" selectedFood = nil selectedMedicine = nil selectedSpec = nil selectedItemInMyInventory = nil selectedItemInLootInventory = nil selectingMainWeapon = false refreshFoodBoxes() refreshMedicineBoxes() refreshToolsBoxes() refreshPrimaryWeapons() refreshSecondaryWeapons() selectedVest = getElementData (localPlayer,"clothBody") if selectedVest == 0 then selectedVest = false end selectedHelmet = getElementData (localPlayer,"clothHead") if selectedHelmet == 0 then selectedHelmet = false end if sack then selectedSack = sack else selectedSack = nil end end 2nd error....... function showInventory(key,keyState) hideRightClickInventoryMenu() -- guiSetVisible(InfoWindow,false) local col = getElementData(getLocalPlayer(),"currentCol") local gearName = getElementData(getLocalPlayer(),"lootname") refreshLoot(col,gearName) if getElementData(getLocalPlayer(),"logedin") and keyState == "down" then local x, top, bottom = exports.new_inv:getRadioButtonsCoords() if getElementData ( localPlayer, "dayz:new_inv") then guiRadioButtonSetSelected ( inventoryOnButton, true ) guiSetVisible(topChangeButtonsParent,not guiGetVisible(topChangeButtonsParent)) guiSetPosition(topChangeButtonsParent,x,top,false) guiSetPosition(bottomChangeButtonsParent,x,bottom,false) guiSetVisible(bottomChangeButtonsParent,not guiGetVisible(bottomChangeButtonsParent)) local show = exports.new_inv:showNewInventory() if show then onClientOpenInventoryStopMenu () end showCursor(show) return else guiRadioButtonSetSelected ( inventoryOffButton, true ) guiSetVisible(topChangeButtonsParent,false) end if guiGetVisible(inventoryWindows) then guiSetVisible(inventoryWindows,false) guiSetVisible(CraftWindow,false) showCursor(false) guiSetVisible(bottomChangeButtonsParent,false) else guiSetVisible(inventoryWindows,true) showCursor(true) guiSetPosition(bottomChangeButtonsParent,0.14*sW+0.72*sW,0.18*sH+0.63*sH-30,false) guiSetVisible(bottomChangeButtonsParent,true) end guiSetVisible(HideGear,false) if isPlayerInLoot() then if getElementData(col,"tent") then guiSetVisible(HideGear,true) if getElementData(col,"visible") then guiCheckBoxSetSelected(HideGear,false) else guiCheckBoxSetSelected(HideGear,true) end end end refreshInventory() --RefreshComboBoxes() if guiGetVisible(inventoryWindows)== true then onClientOpenInventoryStopMenu() end end end bindKey("j","down",showInventory) function showNewInventory() if inventoryShowing then hideNewInventory() return false end inventoryShowing = true showCursor(true) selectedItemInMyInventory = nil selectedItemInLootInventory = nil movingItem = nil myScrollHeight = scrollMaxHeight lootScrollHeight = scrollMaxHeight lastCursorPosition = getCursorPosition() refreshNewInventory() doubleClickTimer = 0 addEventHandler ("onClientHUDRender", getRootElement(), drawInventory) bindKey ( "mouse_wheel_up", "down", playerScrollInventory, "up" ) bindKey ( "mouse_wheel_down", "down", playerScrollInventory, "down" ) bindKey ( "mouse1", "up", resetTotalTempOffset ) bindKey ( "mouse1", "down", itemSelectedInInventory ) checkMiddleDrawing() return true end
-
my black and white screen shader is overlapping my Dx inventory is there a way to fix this?
-
ahhhhhhh thx i feel stupid
-
This is client side. and no errors at all in debug. I've seen this work in the PUBG inventory but i can not get it to work with my DayZ inventory
-
so.. i have this figured out but still.. the animations are not synced ive tried a few things and i feel like im close but no cigar --Test "Client" addEvent ("onClientCustomAnimationSyncRequest2",true) addEventHandler("onClientCustomAnimationSyncRequest2", resourceRoot, aSTart) function aSTart(playerAnimations) for player, anims in pairs ( playerAnimations ) do if isElement ( player ) then if anims.replacedPedBlock then ReplacePedBlockAnimations ( player, anims.replacedPedBlock ) end end end startingAnimations() end addEventHandler("onClientResourceStart",resourceRoot, aSTart) function startingAnimations() ReplacePedBlockAnimations ( localPlayer, 7 ) end --TEST "Server" addEvent ("onCustomAnimationSyncRequest", true ) addEventHandler ("onCustomAnimationSyncRequest", root, function ( player ) table.insert ( synchronizationPlayers, player ) triggerLatentClientEvent ( player, "onClientCustomAnimationSyncRequest", 50000, false, player, playerAnimations ) triggerLatentClientEvent ( player, "onClientCustomAnimationSyncRequest2", 50000, false, player, playerAnimations ) end ) im getting this error ERROR:IFPM/client.lua:223:bad argument #1 to 'pairs'(table expected, got userdata) P.S: i learned to code from reading others code so i get lost a lot sadly. Also i stopped messing with mta for about a year so im rusty! sorry for mile long thread
-
i have the areas where toggleControl is not working -------here function showInventory (key,keyState,thePlayer) if getElementData(getLocalPlayer(),"isDead",true) then return end if getElementData(getLocalPlayer(),"logedin") then if ( keyState == "down" ) then guiSetVisible(inventoryWindows,not guiGetVisible(inventoryWindows)) showCursor(false) toggleControl("fire",true);-------------here refreshInventory() if guiGetVisible(inventoryWindows) == true then onClientOpenInventoryStopMenu () showCursor(true,false) toggleControl("fire",false);--------here else hideRightClickInventoryMenu () if isPlayerInLoot() then if getElementData ( isPlayerInLoot(), "itemloot" ) then triggerServerEvent ("startUpdatingLoot",isPlayerInLoot()) end end end guiSetVisible(checkBox["hidetent"],false) if isPlayerInLoot() then local col = getElementData(getLocalPlayer(),"currentCol") local gearName = getElementData(getLocalPlayer(),"lootname") if getElementData(col,"tent") then guiSetVisible(checkBox["hidetent"],true) if getElementData(col,"hidetent") == false then guiCheckBoxSetSelected(checkBox["hidetent"],true) else guiCheckBoxSetSelected(checkBox["hidetent"],false) end else guiSetVisible(checkBox["hidetent"],false) end refreshLoot(col,gearName) end end end end bindKey ( "j", "down", showInventory )
-
my last question and the one i should have started with is what is "ifpIndex" is that the number or is that the block name --Test addEventHandler("onClientResourceStart", resourceRoot, function() startingAnimations() -- call the function end ) function startingAnimations() ReplacePedBlockAnimations ( source, 7 ) end --END ReplacePedBlockAnimations ( player, ifpIndex )-- i do not understand i tried 7 and nothing happens, also tried "GTA IV" still nothing
-
its at the bottom of the client
-
oops thought i put that bottom of "client" tables: globalLoadedIfps = { [1] = { friendlyName = "PARKOUR", blockName = "parkour", path = "Animations/parkour.ifp", animations = { 'BckHndSpingBTuck', 'BckHndSping','CartWheel','FrntHndSpring','HandPlant' } }, [2] = { friendlyName = "ASSASSIN'S CREED", blockName = "assassin_creed", path = "Animations/Assassins_creed_ped.ifp", animations = { 'abseil', 'ARRESTgun', 'ATM', 'BIKE_elbowL', 'BIKE_elbowR', 'BIKE_fallR', 'BIKE_fall_off', 'BIKE_pickupL', 'BIKE_pickupR', 'BIKE_pullupL', 'BIKE_pullupR', 'bomber', 'CAR_alignHI_LHS', 'CAR_alignHI_RHS', 'CAR_align_LHS', 'CAR_align_RHS', 'CAR_closedoorL_LHS', 'CAR_closedoorL_RHS', 'CAR_closedoor_LHS', 'CAR_closedoor_RHS', 'CAR_close_LHS', 'CAR_close_RHS', 'CAR_crawloutRHS', 'CAR_dead_LHS', 'CAR_dead_RHS', 'CAR_doorlocked_LHS', 'CAR_doorlocked_RHS', 'CAR_fallout_LHS', 'CAR_fallout_RHS', 'CAR_getinL_LHS', 'CAR_getinL_RHS', 'CAR_getin_LHS', 'CAR_getin_RHS', 'CAR_getoutL_LHS', 'CAR_getoutL_RHS', 'CAR_getout_LHS', 'CAR_getout_RHS', 'car_hookertalk', 'CAR_jackedLHS', 'CAR_jackedRHS', 'CAR_jumpin_LHS', 'CAR_LB', 'CAR_LB_pro', 'CAR_LB_weak', 'CAR_LjackedLHS', 'CAR_LjackedRHS', 'CAR_Lshuffle_RHS', 'CAR_Lsit', 'CAR_open_LHS', 'CAR_open_RHS', 'CAR_pulloutL_LHS', 'CAR_pulloutL_RHS', 'CAR_pullout_LHS', 'CAR_pullout_RHS', 'CAR_Qjacked', 'CAR_rolldoor', 'CAR_rolldoorLO', 'CAR_rollout_LHS', 'CAR_rollout_RHS', 'CAR_shuffle_RHS', 'CAR_sit', 'CAR_sitp', 'CAR_sitpLO', 'CAR_sit_pro', 'CAR_sit_weak', 'CAR_tune_radio', 'CLIMB_idle', 'CLIMB_jump', 'CLIMB_jump2fall', 'CLIMB_jump_B', 'CLIMB_Pull', 'CLIMB_Stand', 'CLIMB_Stand_finish', 'cower', 'Crouch_Roll_L', 'Crouch_Roll_R', 'DAM_armL_frmBK', 'DAM_armL_frmFT', 'DAM_armL_frmLT', 'DAM_armR_frmBK', 'DAM_armR_frmFT', 'DAM_armR_frmRT', 'DAM_LegL_frmBK', 'DAM_LegL_frmFT', 'DAM_LegL_frmLT', 'DAM_LegR_frmBK', 'DAM_LegR_frmFT', 'DAM_LegR_frmRT', 'DAM_stomach_frmBK', 'DAM_stomach_frmFT', 'DAM_stomach_frmLT', 'DAM_stomach_frmRT', 'DOOR_LHinge_O', 'DOOR_RHinge_O', 'DrivebyL_L', 'DrivebyL_R', 'Driveby_L', 'Driveby_R', 'DRIVE_BOAT', 'DRIVE_BOAT_back', 'DRIVE_BOAT_L', 'DRIVE_BOAT_R', 'Drive_L', 'Drive_LO_l', 'Drive_LO_R', 'Drive_L_pro', 'Drive_L_pro_slow', 'Drive_L_slow', 'Drive_L_weak', 'Drive_L_weak_slow', 'Drive_R', 'Drive_R_pro', 'Drive_R_pro_slow', 'Drive_R_slow', 'Drive_R_weak', 'Drive_R_weak_slow', 'Drive_truck', 'DRIVE_truck_back', 'DRIVE_truck_L', 'DRIVE_truck_R', 'Drown', 'DUCK_cower', 'endchat_01', 'endchat_02', 'endchat_03', 'EV_dive', 'EV_step', 'facanger', 'facgum', 'facsurp', 'facsurpm', 'factalk', 'facurios', 'FALL_back', 'FALL_collapse', 'FALL_fall', 'FALL_front', 'FALL_glide', 'FALL_land', 'FALL_skyDive', 'Fight2Idle', 'FightA_1', 'FightA_2', 'FightA_3', 'FightA_block', 'FightA_G', 'FightA_M', 'FIGHTIDLE', 'FightShB', 'FightShF', 'FightSh_BWD', 'FightSh_FWD', 'FightSh_Left', 'FightSh_Right', 'flee_lkaround_01', 'FLOOR_hit', 'FLOOR_hit_f', ':Ou', 'gang_gunstand', 'gas_cwr', 'getup', 'getup_front', 'gum_eat', 'GunCrouchBwd', 'GunCrouchFwd', 'GunMove_BWD', 'GunMove_FWD', 'GunMove_L', 'GunMove_R', 'Gun_2_IDLE', 'GUN_BUTT', 'GUN_BUTT_crouch', 'Gun_stand', 'handscower', 'handsup', 'HitA_1', 'HitA_2', 'HitA_3', 'HIT_back', 'HIT_behind', 'HIT_front', 'HIT_GUN_BUTT', 'HIT_L', 'HIT_R', 'HIT_walk', 'HIT_wall', 'Idlestance_fat', 'idlestance_old', 'IDLE_armed', 'IDLE_chat', 'IDLE_csaw', 'Idle_Gang1', 'IDLE_HBHB', 'IDLE_ROCKET', 'IDLE_stance', 'IDLE_taxi', 'IDLE_tired', 'Jetpack_Idle', 'JOG_femaleA', 'JOG_maleA', 'JUMP_glide', 'JUMP_land', 'JUMP_launch', 'JUMP_launch_R', 'KART_drive', 'KART_L', 'KART_LB', 'KART_R', 'KD_left', 'KD_right', 'KO_shot_face', 'KO_shot_front', 'KO_shot_stom', 'KO_skid_back', 'KO_skid_front', 'KO_spin_L', 'KO_spin_R', 'pass_Smoke_in_car', 'phone_in', 'phone_out', 'phone_talk', 'Player_Sneak', 'Player_Sneak_walkstart', 'roadcross', 'roadcross_female', 'roadcross_gang', 'roadcross_old', 'run_1armed', 'run_armed', 'run_civi', 'run_csaw', 'run_fat', 'run_fatold', 'run_gang1', 'run_left', 'run_old', 'run_player', 'run_right', 'run_rocket', 'Run_stop', 'Run_stopR', 'Run_Wuzi', 'SEAT_down', 'SEAT_idle', 'SEAT_up', 'SHOT_leftP', 'SHOT_partial', 'SHOT_partial_B', 'SHOT_rightP', 'Shove_Partial', 'Smoke_in_car', 'sprint_civi', 'sprint_panic', 'Sprint_Wuzi', 'swat_run', 'Swim_Tread', 'Tap_hand', 'Tap_handP', 'turn_180', 'Turn_L', 'Turn_R', 'WALK_armed', 'WALK_civi', 'WALK_csaw', 'Walk_DoorPartial', 'WALK_drunk', 'WALK_fat', 'WALK_fatold', 'WALK_gang1', 'WALK_gang2', 'WALK_old', 'WALK_player', 'WALK_rocket', 'WALK_shuffle', 'WALK_start', 'WALK_start_armed', 'WALK_start_csaw', 'WALK_start_rocket', 'Walk_Wuzi', 'WEAPON_crouch', 'woman_idlestance', 'woman_run', 'WOMAN_runbusy', 'WOMAN_runfatold', 'woman_runpanic', 'WOMAN_runsexy', 'WOMAN_walkbusy', 'WOMAN_walkfatold', 'WOMAN_walknorm', 'WOMAN_walkold', 'WOMAN_walkpro', 'WOMAN_walksexy', 'WOMAN_walkshop', 'XPRESSscratch' } }, [3] = { friendlyName = "ZOMBIE", blockName = "zombie", path = "Animations/zombie_ped.ifp", animations = { 'abseil', 'ARRESTgun', 'ATM', 'BIKE_elbowL', 'BIKE_elbowR', 'BIKE_fallR', 'BIKE_fall_off', 'BIKE_pickupL', 'BIKE_pickupR', 'BIKE_pullupL', 'BIKE_pullupR', 'bomber', 'CAR_alignHI_LHS', 'CAR_alignHI_RHS', 'CAR_align_LHS', 'CAR_align_RHS', 'CAR_closedoorL_LHS', 'CAR_closedoorL_RHS', 'CAR_closedoor_LHS', 'CAR_closedoor_RHS', 'CAR_close_LHS', 'CAR_close_RHS', 'CAR_crawloutRHS', 'CAR_dead_LHS', 'CAR_dead_RHS', 'CAR_doorlocked_LHS', 'CAR_doorlocked_RHS', 'CAR_fallout_LHS', 'CAR_fallout_RHS', 'CAR_getinL_LHS', 'CAR_getinL_RHS', 'CAR_getin_LHS', 'CAR_getin_RHS', 'CAR_getoutL_LHS', 'CAR_getoutL_RHS', 'CAR_getout_LHS', 'CAR_getout_RHS', 'car_hookertalk', 'CAR_jackedLHS', 'CAR_jackedRHS', 'CAR_jumpin_LHS', 'CAR_LB', 'CAR_LB_pro', 'CAR_LB_weak', 'CAR_LjackedLHS', 'CAR_LjackedRHS', 'CAR_Lshuffle_RHS', 'CAR_Lsit', 'CAR_open_LHS', 'CAR_open_RHS', 'CAR_pulloutL_LHS', 'CAR_pulloutL_RHS', 'CAR_pullout_LHS', 'CAR_pullout_RHS', 'CAR_Qjacked', 'CAR_rolldoor', 'CAR_rolldoorLO', 'CAR_rollout_LHS', 'CAR_rollout_RHS', 'CAR_shuffle_RHS', 'CAR_sit', 'CAR_sitp', 'CAR_sitpLO', 'CAR_sit_pro', 'CAR_sit_weak', 'CAR_tune_radio', 'CLIMB_idle', 'CLIMB_jump', 'CLIMB_jump2fall', 'CLIMB_jump_B', 'CLIMB_Pull', 'CLIMB_Stand', 'CLIMB_Stand_finish', 'cower', 'Crouch_Roll_L', 'Crouch_Roll_R', 'DAM_armL_frmBK', 'DAM_armL_frmFT', 'DAM_armL_frmLT', 'DAM_armR_frmBK', 'DAM_armR_frmFT', 'DAM_armR_frmRT', 'DAM_LegL_frmBK', 'DAM_LegL_frmFT', 'DAM_LegL_frmLT', 'DAM_LegR_frmBK', 'DAM_LegR_frmFT', 'DAM_LegR_frmRT', 'DAM_stomach_frmBK', 'DAM_stomach_frmFT', 'DAM_stomach_frmLT', 'DAM_stomach_frmRT', 'DOOR_LHinge_O', 'DOOR_RHinge_O', 'DrivebyL_L', 'DrivebyL_R', 'Driveby_L', 'Driveby_R', 'DRIVE_BOAT', 'DRIVE_BOAT_back', 'DRIVE_BOAT_L', 'DRIVE_BOAT_R', 'Drive_L', 'Drive_LO_l', 'Drive_LO_R', 'Drive_L_pro', 'Drive_L_pro_slow', 'Drive_L_slow', 'Drive_L_weak', 'Drive_L_weak_slow', 'Drive_R', 'Drive_R_pro', 'Drive_R_pro_slow', 'Drive_R_slow', 'Drive_R_weak', 'Drive_R_weak_slow', 'Drive_truck', 'DRIVE_truck_back', 'DRIVE_truck_L', 'DRIVE_truck_R', 'Drown', 'endchat_01', 'endchat_02', 'endchat_03', 'EV_dive', 'EV_step', 'facanger', 'facgum', 'facsurp', 'facsurpm', 'factalk', 'facurios', 'FALL_back', 'FALL_collapse', 'FALL_fall', 'FALL_front', 'FALL_glide', 'FALL_land', 'FALL_skyDive', 'FightA_M', 'FightShF', 'FightSh_BWD', 'FightSh_FWD', 'FightSh_Left', 'FightSh_Right', 'flee_lkaround_01', 'FLOOR_hit', 'FLOOR_hit_f', ':Ou', 'gang_gunstand', 'gas_cwr', 'getup', 'getup_front', 'gum_eat', 'GunCrouchBwd', 'GunCrouchFwd', 'GunMove_BWD', 'GunMove_FWD', 'GunMove_L', 'GunMove_R', 'Gun_2_IDLE', 'GUN_BUTT', 'GUN_BUTT_crouch', 'Gun_stand', 'handscower', 'handsup', 'HIT_back', 'HIT_behind', 'HIT_front', 'HIT_GUN_BUTT', 'HIT_L', 'HIT_R', 'HIT_walk', 'HIT_wall', 'Idlestance_fat', 'idlestance_old', 'IDLE_armed', 'IDLE_chat', 'IDLE_csaw', 'Idle_Gang1', 'IDLE_HBHB', 'IDLE_ROCKET', 'IDLE_taxi', 'IDLE_tired', 'Jetpack_Idle', 'JOG_femaleA', 'JOG_maleA', 'JUMP_glide', 'JUMP_land', 'JUMP_launch', 'JUMP_launch_R', 'KART_drive', 'KART_L', 'KART_LB', 'KART_R', 'KD_left', 'KD_right', 'KO_shot_face', 'KO_shot_stom', 'KO_skid_back', 'KO_spin_L', 'KO_spin_R', 'pass_Smoke_in_car', 'phone_in', 'phone_out', 'phone_talk', 'Player_Sneak', 'Player_Sneak_walkstart', 'roadcross', 'roadcross_female', 'roadcross_gang', 'roadcross_old', 'run_armed', 'run_csaw', 'run_fat', 'run_fatold', 'run_gang1', 'run_left', 'run_old', 'run_right', 'run_rocket', 'Run_stop', 'Run_stopR', 'Run_Wuzi', 'SEAT_down', 'SEAT_idle', 'SEAT_up', 'SHOT_leftP', 'SHOT_partial', 'SHOT_partial_B', 'SHOT_rightP', 'Shove_Partial', 'Smoke_in_car', 'sprint_panic', 'Sprint_Wuzi', 'swat_run', 'Swim_Tread', 'Tap_hand', 'Tap_handP', 'turn_180', 'Turn_L', 'Turn_R', 'WALK_armed', 'WALK_civi', 'WALK_csaw', 'Walk_DoorPartial', 'WALK_drunk', 'WALK_fat', 'WALK_fatold', 'WALK_gang1', 'WALK_gang2', 'WALK_old', 'WALK_rocket', 'WALK_shuffle', 'WALK_start', 'WALK_start_armed', 'WALK_start_csaw', 'WALK_start_rocket', 'Walk_Wuzi', 'WEAPON_crouch', 'woman_idlestance', 'woman_run', 'WOMAN_runbusy', 'WOMAN_runfatold', 'woman_runpanic', 'WOMAN_runsexy', 'WOMAN_walkbusy', 'WOMAN_walkfatold', 'WOMAN_walknorm', 'WOMAN_walkold', 'WOMAN_walkpro', 'WOMAN_walksexy', 'WOMAN_walkshop', 'XPRESSscratch', 'asfna', 'FightA_1', 'FIGHTIDLE', 'FightA_block', 'FightA_G', 'FightShB', 'DUCK_cower', 'Fight2Idle', 'FightA_3', 'HitA_3', 'run_civi', 'KO_skid_front', 'HitA_2', 'HitA_1', 'FightA_2', 'run_1armed', 'b', 'run_player', 'sprint_civi', 'WALK_player', 'KO_shot_front', 'IDLE_stance' } }, [4] = { friendlyName = "GTA III", blockName = "gta3", path = "Animations/gta3_ped.ifp", animations = { 'abseil' , 'ARRESTgun' , 'ATM' , 'batherdown' , 'batherscape' , 'batherup' , 'BIKE_elbowL' , 'BIKE_elbowR' , 'BIKE_fallR' , 'BIKE_fall_off' , 'BIKE_pickupL' , 'BIKE_pickupR' , 'BIKE_pullupL' , 'BIKE_pullupR' , 'bomber' , 'CAR_alignHI_LHS' , 'CAR_alignHI_RHS' , 'CAR_align_LHS' , 'CAR_align_RHS' , 'CAR_closedoorL_LHS' , 'CAR_closedoorL_RHS' , 'CAR_closedoor_LHS' , 'CAR_closedoor_RHS' , 'CAR_close_LHS' , 'CAR_close_RHS' , 'CAR_crawloutRHS' , 'CAR_doorlocked_LHS' , 'CAR_doorlocked_RHS' , 'CAR_getinL_LHS' , 'CAR_getinL_RHS' , 'CAR_getin_LHS' , 'CAR_getin_RHS' , 'CAR_getoutL_LHS' , 'CAR_getoutL_RHS' , 'CAR_getout_LHS' , 'CAR_getout_RHS' , 'car_hookertalk' , 'CAR_jackedLHS' , 'CAR_jackedRHS' , 'CAR_jumpin_LHS' , 'CAR_LB' , 'CAR_LjackedLHS' , 'CAR_LjackedRHS' , 'CAR_Lshuffle_RHS' , 'CAR_Lsit' , 'CAR_open_LHS' , 'CAR_open_RHS' , 'CAR_pulloutL_LHS' , 'CAR_pulloutL_RHS' , 'CAR_pullout_LHS' , 'CAR_pullout_RHS' , 'CAR_Qjack' , 'CAR_Qjacked' , 'CAR_rolldoor' , 'CAR_rolldoorLO' , 'CAR_rollout_LHS' , 'CAR_rollout_RHS' , 'CAR_shuffleLO' , 'CAR_shuffle_RHS' , 'CAR_sit' , 'CAR_sitp' , 'CAR_sitpLO' , 'cower' , 'DrivebyL_L' , 'DrivebyL_R' , 'Driveby_L' , 'Driveby_R' , 'DRIVE_BOAT' , 'DRIVE_BOAT_back' , 'DRIVE_BOAT_L' , 'DRIVE_BOAT_R' , 'Drive_L' , 'Drive_LO_l' , 'Drive_LO_R' , 'Drive_R' , 'Drown' , 'DUCK_down' , 'DUCK_low' , 'EV_dive' , 'EV_step' , 'FALL_back' , 'FALL_collapse' , 'FALL_fall' , 'FALL_front' , 'FALL_glide' , 'FALL_land' , 'FIGHT2IDLE' , 'FIGHTbkickL' , 'FIGHTbkickR' , 'FIGHTbodyblow' , 'FIGHTelbowL' , 'FIGHTelbowR' , 'FIGHThead' , 'FIGHTIDLE' , 'FIGHTjab' , 'FIGHTkick' , 'FIGHTknee' , 'FIGHTLhook' , 'FIGHTlngkck' , 'FIGHTppunch' , 'FIGHTpunch' , 'FIGHTrndhse' , 'FIGHTsh_back' , 'FIGHTsh_F' , 'FLOOR_hit' , 'FLOOR_hit_f' , ':Ou' , 'getup' , 'getup_front' , 'handscower' , 'handsup' , 'HIT_back' , 'HIT_behind' , 'HIT_bodyblow' , 'HIT_chest' , 'HIT_front' , 'HIT_head' , 'HIT_L' , 'HIT_R' , 'HIT_walk' , 'HIT_wall' , 'IDLE_armed' , 'IDLE_cam' , 'IDLE_chat' , 'IDLE_csaw' , 'IDLE_HBHB' , 'IDLE_ROCKET' , 'IDLE_stance' , 'IDLE_taxi' , 'IDLE_time' , 'IDLE_tired' , 'JOG_maleA' , 'JOG_maleB' , 'JUMP_glide' , 'JUMP_land' , 'JUMP_launch' , 'KD_left' , 'KD_right' , 'KICK_floor' , 'KO_shot_armL' , 'KO_shot_armR' , 'KO_shot_face' , 'KO_shot_front' , 'KO_shot_legL' , 'KO_shot_legR' , 'KO_shot_stom' , 'KO_skid_back' , 'KO_skid_front' , 'KO_spin_L' , 'KO_spin_R' , 'LIMP' , 'phone_in' , 'phone_out' , 'phone_talk' , 'pounds_A' , 'pounds_B' , 'PUNCHR' , 'RBLOCK_Cshoot' , 'roadcross' , 'run_1armed' , 'run_armed' , 'run_back' , 'run_civi' , 'run_csaw' , 'run_csaw_back' , 'run_csaw_left' , 'run_csaw_right' , 'run_fatold' , 'run_gang1' , 'run_left' , 'run_player' , 'run_right' , 'run_rocket' , 'run_rocket_back' , 'run_rocket_left' , 'run_rocket_right' , 'Run_stop' , 'Run_stopR' , 'SEAT_down' , 'SEAT_idle' , 'SEAT_rvrs' , 'SEAT_up' , 'SHOT_leftP' , 'SHOT_partial' , 'SHOT_rightP' , 'SLAPS_A' , 'SLAPS_B' , 'sprint_civi' , 'sprint_panic' , 'turn_180' , 'walkst_csaw_back' , 'walkst_csaw_left' , 'walkst_csaw_right' , 'walkst_rocket_back' , 'walkst_rocket_left' , 'walkst_rocket_right' , 'WALK_armed' , 'walk_back' , 'WALK_civi' , 'WALK_csaw' , 'walk_csaw_back' , 'walk_csaw_left' , 'walk_csaw_right' , 'WALK_fat' , 'WALK_fatold' , 'WALK_gang1' , 'WALK_gang2' , 'walk_left' , 'WALK_old' , 'WALK_player' , 'walk_right' , 'WALK_rocket' , 'walk_rocket_back' , 'walk_rocket_left' , 'walk_rocket_right' , 'WALK_shuffle' , 'WALK_start' , 'WALK_start_armed' , 'walk_start_back' , 'WALK_start_csaw' , 'walk_start_left' , 'walk_start_right' , 'WALK_start_rocket' , 'WEAPON_crouch' , 'WEAPON_throwu' , 'woman_idlestance' , 'woman_run' , 'woman_runpanic' , 'WOMAN_walkbusy' , 'WOMAN_walknorm' , 'WOMAN_walkold' , 'WOMAN_walksexy' , 'WOMAN_walkshop' , 'XPRESSscratch' } }, [5] = { friendlyName = "GTA VC STORIES", blockName = "gtavc_stories", path = "Animations/gtavc_stories_ped.ifp", animations = { 'abseil' , 'ARRESTgun' , 'ATM' , 'batherdown' , 'batherscape' , 'batherup' , 'BIKE_elbowL' , 'BIKE_elbowR' , 'BIKE_fallR' , 'BIKE_fall_off' , 'BIKE_pickupL' , 'BIKE_pickupR' , 'BIKE_pullupL' , 'BIKE_pullupR' , 'bomber' , 'CAR_alignHI_LHS' , 'CAR_alignHI_RHS' , 'CAR_align_LHS' , 'CAR_align_RHS' , 'CAR_closedoorL_LHS' , 'CAR_closedoorL_RHS' , 'CAR_closedoor_LHS' , 'CAR_closedoor_RHS' , 'CAR_close_LHS' , 'CAR_close_RHS' , 'CAR_crawloutRHS' , 'CAR_doorlocked_LHS' , 'CAR_doorlocked_RHS' , 'CAR_getinL_LHS' , 'CAR_getinL_RHS' , 'CAR_getin_LHS' , 'CAR_getin_RHS' , 'CAR_getoutL_LHS' , 'CAR_getoutL_RHS' , 'CAR_getout_LHS' , 'CAR_getout_RHS' , 'car_hookertalk' , 'CAR_jackedLHS' , 'CAR_jackedRHS' , 'CAR_jumpin_LHS' , 'CAR_LB' , 'CAR_LjackedLHS' , 'CAR_LjackedRHS' , 'CAR_Lshuffle_RHS' , 'CAR_Lsit' , 'CAR_open_LHS' , 'CAR_open_RHS' , 'CAR_pulloutL_LHS' , 'CAR_pulloutL_RHS' , 'CAR_pullout_LHS' , 'CAR_pullout_RHS' , 'CAR_Qjack' , 'CAR_Qjacked' , 'CAR_rolldoor' , 'CAR_rolldoorLO' , 'CAR_rollout_LHS' , 'CAR_rollout_RHS' , 'CAR_shuffleLO' , 'CAR_shuffle_RHS' , 'CAR_sit' , 'CAR_sitp' , 'CAR_sitpLO' , 'cower' , 'DrivebyL_L' , 'DrivebyL_R' , 'Driveby_L' , 'Driveby_R' , 'DRIVE_BOAT' , 'DRIVE_BOAT_back' , 'DRIVE_BOAT_L' , 'DRIVE_BOAT_R' , 'Drive_L' , 'Drive_LO_l' , 'Drive_LO_R' , 'Drive_R' , 'Drown' , 'DUCK_down' , 'DUCK_low' , 'EV_dive' , 'EV_step' , 'FALL_back' , 'FALL_collapse' , 'FALL_fall' , 'FALL_front' , 'FALL_glide' , 'FALL_land' , 'FIGHT2IDLE' , 'FIGHTbkickL' , 'FIGHTbkickR' , 'FIGHTbodyblow' , 'FIGHTelbowL' , 'FIGHTelbowR' , 'FIGHThead' , 'FIGHTIDLE' , 'FIGHTjab' , 'FIGHTkick' , 'FIGHTknee' , 'FIGHTLhook' , 'FIGHTlngkck' , 'FIGHTppunch' , 'FIGHTpunch' , 'FIGHTrndhse' , 'FIGHTsh_back' , 'FIGHTsh_F' , 'FLOOR_hit' , 'FLOOR_hit_f' , ':Ou' , 'getup' , 'getup_front' , 'handscower' , 'handsup' , 'HIT_back' , 'HIT_behind' , 'HIT_bodyblow' , 'HIT_chest' , 'HIT_front' , 'HIT_head' , 'HIT_L' , 'HIT_R' , 'HIT_walk' , 'HIT_wall' , 'IDLE_armed' , 'IDLE_cam' , 'IDLE_chat' , 'IDLE_csaw' , 'IDLE_HBHB' , 'IDLE_ROCKET' , 'IDLE_stance' , 'IDLE_taxi' , 'IDLE_time' , 'IDLE_tired' , 'JOG_maleA' , 'JOG_maleB' , 'JUMP_glide' , 'JUMP_land' , 'JUMP_launch' , 'KD_left' , 'KD_right' , 'KICK_floor' , 'KO_shot_armL' , 'KO_shot_armR' , 'KO_shot_face' , 'KO_shot_front' , 'KO_shot_legL' , 'KO_shot_legR' , 'KO_shot_stom' , 'KO_skid_back' , 'KO_skid_front' , 'KO_spin_L' , 'KO_spin_R' , 'LIMP' , 'phone_in' , 'phone_out' , 'phone_talk' , 'pounds_A' , 'pounds_B' , 'PUNCHR' , 'RBLOCK_Cshoot' , 'roadcross' , 'run_1armed' , 'run_armed' , 'run_back' , 'run_civi' , 'run_csaw' , 'run_csaw_back' , 'run_csaw_left' , 'run_csaw_right' , 'run_fatold' , 'run_gang1' , 'run_left' , 'run_player' , 'run_right' , 'run_rocket' , 'run_rocket_back' , 'run_rocket_left' , 'run_rocket_right' , 'Run_stop' , 'Run_stopR' , 'SEAT_down' , 'SEAT_idle' , 'SEAT_rvrs' , 'SEAT_up' , 'SHOT_leftP' , 'SHOT_partial' , 'SHOT_rightP' , 'SLAPS_A' , 'SLAPS_B' , 'sprint_civi' , 'sprint_panic' , 'turn_180' , 'walkst_csaw_back' , 'walkst_csaw_left' , 'walkst_csaw_right' , 'walkst_rocket_back' , 'walkst_rocket_left' , 'walkst_rocket_right' , 'WALK_armed' , 'walk_back' , 'WALK_civi' , 'WALK_csaw' , 'walk_csaw_back' , 'walk_csaw_left' , 'walk_csaw_right' , 'WALK_fat' , 'WALK_fatold' , 'WALK_gang1' , 'WALK_gang2' , 'walk_left' , 'WALK_old' , 'WALK_player' , 'walk_right' , 'WALK_rocket' , 'walk_rocket_back' , 'walk_rocket_left' , 'walk_rocket_right' , 'WALK_shuffle' , 'WALK_start' , 'WALK_start_armed' , 'walk_start_back' , 'WALK_start_csaw' , 'walk_start_left' , 'walk_start_right' , 'WALK_start_rocket' , 'WEAPON_crouch' , 'WEAPON_throwu' , 'woman_idlestance' , 'woman_run' , 'woman_runpanic' , 'WOMAN_walkbusy' , 'WOMAN_walknorm' , 'WOMAN_walkold' , 'WOMAN_walksexy' , 'WOMAN_walkshop' , 'XPRESSscratch' } }, [6] = { friendlyName = "GTA VC MODDED", blockName = "gtavc_modded", path = "Animations/gtavc_modded_ped.ifp", animations = { 'abseil' , 'ARRESTgun' , 'ATM' , 'batherdown' , 'batherscape' , 'batherup' , 'BIKE_elbowL' , 'BIKE_elbowR' , 'BIKE_fallR' , 'BIKE_fall_off' , 'BIKE_pickupL' , 'BIKE_pickupR' , 'BIKE_pullupL' , 'BIKE_pullupR' , 'bomber' , 'CAR_alignHI_LHS' , 'CAR_alignHI_RHS' , 'CAR_align_LHS' , 'CAR_align_RHS' , 'CAR_closedoorL_LHS' , 'CAR_closedoorL_RHS' , 'CAR_closedoor_LHS' , 'CAR_closedoor_RHS' , 'CAR_close_LHS' , 'CAR_close_RHS' , 'CAR_crawloutRHS' , 'CAR_doorlocked_LHS' , 'CAR_doorlocked_RHS' , 'CAR_getinL_LHS' , 'CAR_getinL_RHS' , 'CAR_getin_LHS' , 'CAR_getin_RHS' , 'CAR_getoutL_LHS' , 'CAR_getoutL_RHS' , 'CAR_getout_LHS' , 'CAR_getout_RHS' , 'car_hookertalk' , 'CAR_jackedLHS' , 'CAR_jackedRHS' , 'CAR_jumpin_LHS' , 'CAR_LB' , 'CAR_LjackedLHS' , 'CAR_LjackedRHS' , 'CAR_Lshuffle_RHS' , 'CAR_Lsit' , 'CAR_open_LHS' , 'CAR_open_RHS' , 'CAR_pulloutL_LHS' , 'CAR_pulloutL_RHS' , 'CAR_pullout_LHS' , 'CAR_pullout_RHS' , 'CAR_Qjack' , 'CAR_Qjacked' , 'CAR_rolldoor' , 'CAR_rolldoorLO' , 'CAR_rollout_LHS' , 'CAR_rollout_RHS' , 'CAR_shuffleLO' , 'CAR_shuffle_RHS' , 'CAR_sit' , 'CAR_sitp' , 'CAR_sitpLO' , 'cower' , 'DrivebyL_L' , 'DrivebyL_R' , 'Driveby_L' , 'Driveby_R' , 'DRIVE_BOAT' , 'DRIVE_BOAT_back' , 'DRIVE_BOAT_L' , 'DRIVE_BOAT_R' , 'Drive_L' , 'Drive_LO_l' , 'Drive_LO_R' , 'Drive_R' , 'Drown' , 'DUCK_down' , 'DUCK_low' , 'EV_dive' , 'EV_step' , 'FALL_back' , 'FALL_collapse' , 'FALL_fall' , 'FALL_front' , 'FALL_glide' , 'FALL_land' , 'FIGHT2IDLE' , 'FIGHTbkickL' , 'FIGHTbkickR' , 'FIGHTbodyblow' , 'FIGHTelbowL' , 'FIGHTelbowR' , 'FIGHThead' , 'FIGHTIDLE' , 'FIGHTjab' , 'FIGHTkick' , 'FIGHTknee' , 'FIGHTLhook' , 'FIGHTlngkck' , 'FIGHTppunch' , 'FIGHTpunch' , 'FIGHTrndhse' , 'FIGHTsh_back' , 'FIGHTsh_F' , 'FLOOR_hit' , 'FLOOR_hit_f' , ':Ou' , 'getup' , 'getup_front' , 'handscower' , 'handsup' , 'HIT_back' , 'HIT_behind' , 'HIT_bodyblow' , 'HIT_chest' , 'HIT_front' , 'HIT_head' , 'HIT_L' , 'HIT_R' , 'HIT_walk' , 'HIT_wall' , 'IDLE_armed' , 'IDLE_cam' , 'IDLE_chat' , 'IDLE_csaw' , 'IDLE_HBHB' , 'IDLE_ROCKET' , 'IDLE_stance' , 'IDLE_taxi' , 'IDLE_time' , 'IDLE_tired' , 'JOG_maleA' , 'JOG_maleB' , 'JUMP_glide' , 'JUMP_land' , 'JUMP_launch' , 'KD_left' , 'KD_right' , 'KICK_floor' , 'KO_shot_armL' , 'KO_shot_armR' , 'KO_shot_face' , 'KO_shot_front' , 'KO_shot_legL' , 'KO_shot_legR' , 'KO_shot_stom' , 'KO_skid_back' , 'KO_skid_front' , 'KO_spin_L' , 'KO_spin_R' , 'LIMP' , 'phone_in' , 'phone_out' , 'phone_talk' , 'pounds_A' , 'pounds_B' , 'PUNCHR' , 'RBLOCK_Cshoot' , 'roadcross' , 'run_1armed' , 'run_armed' , 'run_back' , 'run_civi' , 'run_csaw' , 'run_csaw_back' , 'run_csaw_left' , 'run_csaw_right' , 'run_fatold' , 'run_gang1' , 'run_left' , 'run_player' , 'run_right' , 'run_rocket' , 'run_rocket_back' , 'run_rocket_left' , 'run_rocket_right' , 'Run_stop' , 'Run_stopR' , 'SEAT_down' , 'SEAT_idle' , 'SEAT_rvrs' , 'SEAT_up' , 'SHOT_leftP' , 'SHOT_partial' , 'SHOT_rightP' , 'SLAPS_A' , 'SLAPS_B' , 'sprint_civi' , 'sprint_panic' , 'turn_180' , 'walkst_csaw_back' , 'walkst_csaw_left' , 'walkst_csaw_right' , 'walkst_rocket_back' , 'walkst_rocket_left' , 'walkst_rocket_right' , 'WALK_armed' , 'walk_back' , 'WALK_civi' , 'WALK_csaw' , 'walk_csaw_back' , 'walk_csaw_left' , 'walk_csaw_right' , 'WALK_fat' , 'WALK_fatold' , 'WALK_gang1' , 'WALK_gang2' , 'walk_left' , 'WALK_old' , 'WALK_player' , 'walk_right' , 'WALK_rocket' , 'walk_rocket_back' , 'walk_rocket_left' , 'walk_rocket_right' , 'WALK_shuffle' , 'WALK_start' , 'WALK_start_armed' , 'walk_start_back' , 'WALK_start_csaw' , 'walk_start_left' , 'walk_start_right' , 'WALK_start_rocket' , 'WEAPON_crouch' , 'WEAPON_throwu' , 'woman_idlestance' , 'woman_run' , 'woman_runpanic' , 'WOMAN_walkbusy' , 'WOMAN_walknorm' , 'WOMAN_walkold' , 'WOMAN_walksexy' , 'WOMAN_walkshop' , 'XPRESSscratch' } }, [7] = { friendlyName = "GTA IV", blockName = "gtaiv", path = "Animations/gta4_ped.ifp", animations = { 'abseil' , 'ARRESTgun' , 'ATM' , 'batherdown' , 'batherscape' , 'batherup' , 'BIKE_elbowL' , 'BIKE_elbowR' , 'BIKE_fallR' , 'BIKE_fall_off' , 'BIKE_pickupL' , 'BIKE_pickupR' , 'BIKE_pullupL' , 'BIKE_pullupR' , 'bomber' , 'CAR_alignHI_LHS' , 'CAR_alignHI_RHS' , 'CAR_align_LHS' , 'CAR_align_RHS' , 'CAR_closedoorL_LHS' , 'CAR_closedoorL_RHS' , 'CAR_closedoor_LHS' , 'CAR_closedoor_RHS' , 'CAR_close_LHS' , 'CAR_close_RHS' , 'CAR_crawloutRHS' , 'CAR_doorlocked_LHS' , 'CAR_doorlocked_RHS' , 'CAR_getinL_LHS' , 'CAR_getinL_RHS' , 'CAR_getin_LHS' , 'CAR_getin_RHS' , 'CAR_getoutL_LHS' , 'CAR_getoutL_RHS' , 'CAR_getout_LHS' , 'CAR_getout_RHS' , 'car_hookertalk' , 'CAR_jackedLHS' , 'CAR_jackedRHS' , 'CAR_jumpin_LHS' , 'CAR_LB' , 'CAR_LjackedLHS' , 'CAR_LjackedRHS' , 'CAR_Lshuffle_RHS' , 'CAR_Lsit' , 'CAR_open_LHS' , 'CAR_open_RHS' , 'CAR_pulloutL_LHS' , 'CAR_pulloutL_RHS' , 'CAR_pullout_LHS' , 'CAR_pullout_RHS' , 'CAR_Qjack' , 'CAR_Qjacked' , 'CAR_rolldoor' , 'CAR_rolldoorLO' , 'CAR_rollout_LHS' , 'CAR_rollout_RHS' , 'CAR_shuffleLO' , 'CAR_shuffle_RHS' , 'CAR_sit' , 'CAR_sitp' , 'CAR_sitpLO' , 'cower' , 'DrivebyL_L' , 'DrivebyL_R' , 'Driveby_L' , 'Driveby_R' , 'DRIVE_BOAT' , 'DRIVE_BOAT_back' , 'DRIVE_BOAT_L' , 'DRIVE_BOAT_R' , 'Drive_L' , 'Drive_LO_l' , 'Drive_LO_R' , 'Drive_R' , 'Drown' , 'DUCK_down' , 'DUCK_low' , 'EV_dive' , 'EV_step' , 'FALL_back' , 'FALL_collapse' , 'FALL_fall' , 'FALL_front' , 'FALL_glide' , 'FALL_land' , 'FIGHT2IDLE' , 'FIGHTbkickL' , 'FIGHTbkickR' , 'FIGHTbodyblow' , 'FIGHTelbowL' , 'FIGHTelbowR' , 'FIGHThead' , 'FIGHTIDLE' , 'FIGHTjab' , 'FIGHTkick' , 'FIGHTknee' , 'FIGHTLhook' , 'FIGHTlngkck' , 'FIGHTppunch' , 'FIGHTpunch' , 'FIGHTrndhse' , 'FIGHTsh_back' , 'FIGHTsh_F' , 'FLOOR_hit' , 'FLOOR_hit_f' , ':Ou' , 'getup' , 'getup_front' , 'handscower' , 'handsup' , 'HIT_back' , 'HIT_behind' , 'HIT_bodyblow' , 'HIT_chest' , 'HIT_front' , 'HIT_head' , 'HIT_L' , 'HIT_R' , 'HIT_walk' , 'HIT_wall' , 'IDLE_armed' , 'IDLE_cam' , 'IDLE_chat' , 'IDLE_csaw' , 'IDLE_HBHB' , 'IDLE_ROCKET' , 'IDLE_stance' , 'IDLE_taxi' , 'IDLE_time' , 'IDLE_tired' , 'JOG_maleA' , 'JOG_maleB' , 'JUMP_glide' , 'JUMP_land' , 'JUMP_launch' , 'KD_left' , 'KD_right' , 'KICK_floor' , 'KO_shot_armL' , 'KO_shot_armR' , 'KO_shot_face' , 'KO_shot_front' , 'KO_shot_legL' , 'KO_shot_legR' , 'KO_shot_stom' , 'KO_skid_back' , 'KO_skid_front' , 'KO_spin_L' , 'KO_spin_R' , 'LIMP' , 'phone_in' , 'phone_out' , 'phone_talk' , 'pounds_A' , 'pounds_B' , 'PUNCHR' , 'RBLOCK_Cshoot' , 'roadcross' , 'run_1armed' , 'run_armed' , 'run_back' , 'run_civi' , 'run_csaw' , 'run_csaw_back' , 'run_csaw_left' , 'run_csaw_right' , 'run_fatold' , 'run_gang1' , 'run_left' , 'run_player' , 'run_right' , 'run_rocket' , 'run_rocket_back' , 'run_rocket_left' , 'run_rocket_right' , 'Run_stop' , 'Run_stopR' , 'SEAT_down' , 'SEAT_idle' , 'SEAT_rvrs' , 'SEAT_up' , 'SHOT_leftP' , 'SHOT_partial' , 'SHOT_rightP' , 'SLAPS_A' , 'SLAPS_B' , 'sprint_civi' , 'sprint_panic' , 'turn_180' , 'walkst_csaw_back' , 'walkst_csaw_left' , 'walkst_csaw_right' , 'walkst_rocket_back' , 'walkst_rocket_left' , 'walkst_rocket_right' , 'WALK_armed' , 'walk_back' , 'WALK_civi' , 'WALK_csaw' , 'walk_csaw_back' , 'walk_csaw_left' , 'walk_csaw_right' , 'WALK_fat' , 'WALK_fatold' , 'WALK_gang1' , 'WALK_gang2' , 'walk_left' , 'WALK_old' , 'WALK_player' , 'walk_right' , 'WALK_rocket' , 'walk_rocket_back' , 'walk_rocket_left' , 'walk_rocket_right' , 'WALK_shuffle' , 'WALK_start' , 'WALK_start_armed' , 'walk_start_back' , 'WALK_start_csaw' , 'walk_start_left' , 'walk_start_right' , 'WALK_start_rocket' , 'WEAPON_crouch' , 'WEAPON_throwu' , 'woman_idlestance' , 'woman_run' , 'woman_runpanic' , 'WOMAN_walkbusy' , 'WOMAN_walknorm' , 'WOMAN_walkold' , 'WOMAN_walksexy' , 'WOMAN_walkshop' , 'XPRESSscratch' } }, [8] = { friendlyName = "GTA V", blockName = "gtav", path = "Animations/gta5_ped.ifp", animations = { 'abseil' , 'ARRESTgun' , 'ATM' , 'batherdown' , 'batherscape' , 'batherup' , 'BIKE_elbowL' , 'BIKE_elbowR' , 'BIKE_fallR' , 'BIKE_fall_off' , 'BIKE_pickupL' , 'BIKE_pickupR' , 'BIKE_pullupL' , 'BIKE_pullupR' , 'bomber' , 'CAR_alignHI_LHS' , 'CAR_alignHI_RHS' , 'CAR_align_LHS' , 'CAR_align_RHS' , 'CAR_closedoorL_LHS' , 'CAR_closedoorL_RHS' , 'CAR_closedoor_LHS' , 'CAR_closedoor_RHS' , 'CAR_close_LHS' , 'CAR_close_RHS' , 'CAR_crawloutRHS' , 'CAR_doorlocked_LHS' , 'CAR_doorlocked_RHS' , 'CAR_getinL_LHS' , 'CAR_getinL_RHS' , 'CAR_getin_LHS' , 'CAR_getin_RHS' , 'CAR_getoutL_LHS' , 'CAR_getoutL_RHS' , 'CAR_getout_LHS' , 'CAR_getout_RHS' , 'car_hookertalk' , 'CAR_jackedLHS' , 'CAR_jackedRHS' , 'CAR_jumpin_LHS' , 'CAR_LB' , 'CAR_LjackedLHS' , 'CAR_LjackedRHS' , 'CAR_Lshuffle_RHS' , 'CAR_Lsit' , 'CAR_open_LHS' , 'CAR_open_RHS' , 'CAR_pulloutL_LHS' , 'CAR_pulloutL_RHS' , 'CAR_pullout_LHS' , 'CAR_pullout_RHS' , 'CAR_Qjack' , 'CAR_Qjacked' , 'CAR_rolldoor' , 'CAR_rolldoorLO' , 'CAR_rollout_LHS' , 'CAR_rollout_RHS' , 'CAR_shuffleLO' , 'CAR_shuffle_RHS' , 'CAR_sit' , 'CAR_sitp' , 'CAR_sitpLO' , 'cower' , 'DrivebyL_L' , 'DrivebyL_R' , 'Driveby_L' , 'Driveby_R' , 'DRIVE_BOAT' , 'DRIVE_BOAT_back' , 'DRIVE_BOAT_L' , 'DRIVE_BOAT_R' , 'Drive_L' , 'Drive_LO_l' , 'Drive_LO_R' , 'Drive_R' , 'Drown' , 'DUCK_down' , 'DUCK_low' , 'EV_dive' , 'EV_step' , 'FALL_back' , 'FALL_collapse' , 'FALL_fall' , 'FALL_front' , 'FALL_glide' , 'FALL_land' , 'FIGHT2IDLE' , 'FIGHTbkickL' , 'FIGHTbkickR' , 'FIGHTbodyblow' , 'FIGHTelbowL' , 'FIGHTelbowR' , 'FIGHThead' , 'FIGHTIDLE' , 'FIGHTjab' , 'FIGHTkick' , 'FIGHTknee' , 'FIGHTLhook' , 'FIGHTlngkck' , 'FIGHTppunch' , 'FIGHTpunch' , 'FIGHTrndhse' , 'FIGHTsh_back' , 'FIGHTsh_F' , 'FLOOR_hit' , 'FLOOR_hit_f' , ':Ou' , 'getup' , 'getup_front' , 'handscower' , 'handsup' , 'HIT_back' , 'HIT_behind' , 'HIT_bodyblow' , 'HIT_chest' , 'HIT_front' , 'HIT_head' , 'HIT_L' , 'HIT_R' , 'HIT_walk' , 'HIT_wall' , 'IDLE_armed' , 'IDLE_cam' , 'IDLE_chat' , 'IDLE_csaw' , 'IDLE_HBHB' , 'IDLE_ROCKET' , 'IDLE_stance' , 'IDLE_taxi' , 'IDLE_time' , 'IDLE_tired' , 'JOG_maleA' , 'JOG_maleB' , 'JUMP_glide' , 'JUMP_land' , 'JUMP_launch' , 'KD_left' , 'KD_right' , 'KICK_floor' , 'KO_shot_armL' , 'KO_shot_armR' , 'KO_shot_face' , 'KO_shot_front' , 'KO_shot_legL' , 'KO_shot_legR' , 'KO_shot_stom' , 'KO_skid_back' , 'KO_skid_front' , 'KO_spin_L' , 'KO_spin_R' , 'LIMP' , 'phone_in' , 'phone_out' , 'phone_talk' , 'pounds_A' , 'pounds_B' , 'PUNCHR' , 'RBLOCK_Cshoot' , 'roadcross' , 'run_1armed' , 'run_armed' , 'run_back' , 'run_civi' , 'run_csaw' , 'run_csaw_back' , 'run_csaw_left' , 'run_csaw_right' , 'run_fatold' , 'run_gang1' , 'run_left' , 'run_player' , 'run_right' , 'run_rocket' , 'run_rocket_back' , 'run_rocket_left' , 'run_rocket_right' , 'Run_stop' , 'Run_stopR' , 'SEAT_down' , 'SEAT_idle' , 'SEAT_rvrs' , 'SEAT_up' , 'SHOT_leftP' , 'SHOT_partial' , 'SHOT_rightP' , 'SLAPS_A' , 'SLAPS_B' , 'sprint_civi' , 'sprint_panic' , 'turn_180' , 'walkst_csaw_back' , 'walkst_csaw_left' , 'walkst_csaw_right' , 'walkst_rocket_back' , 'walkst_rocket_left' , 'walkst_rocket_right' , 'WALK_armed' , 'walk_back' , 'WALK_civi' , 'WALK_csaw' , 'walk_csaw_back' , 'walk_csaw_left' , 'walk_csaw_right' , 'WALK_fat' , 'WALK_fatold' , 'WALK_gang1' , 'WALK_gang2' , 'walk_left' , 'WALK_old' , 'WALK_player' , 'walk_right' , 'WALK_rocket' , 'walk_rocket_back' , 'walk_rocket_left' , 'walk_rocket_right' , 'WALK_shuffle' , 'WALK_start' , 'WALK_start_armed' , 'walk_start_back' , 'WALK_start_csaw' , 'walk_start_left' , 'walk_start_right' , 'WALK_start_rocket' , 'WEAPON_crouch' , 'WEAPON_throwu' , 'woman_idlestance' , 'woman_run' , 'woman_runpanic' , 'WOMAN_walkbusy' , 'WOMAN_walknorm' , 'WOMAN_walkold' , 'WOMAN_walksexy' , 'WOMAN_walkshop' , 'XPRESSscratch' } }, [9] = { friendlyName = "360 DAB", blockName = "dab", path = "Animations/StandingWebsterAerialBack360.ifp", animations = { 'weapon_crouch' } } } globalReplaceableIfpsIndices = { 2, 4, 5, 6, 7, 8 } globalPedAnimationBlock = { -- Complete list of all animations in ped block, it is the default block -- in gta sa animations = { "abseil","arrestgun","atm","bike_elbowl","bike_elbowr","bike_fallr","bike_fall_off","bike_pickupl","bike_pickupr", "bike_pullupl","bike_pullupr","bomber","car_alignhi_lhs","car_alignhi_rhs","car_align_lhs","car_align_rhs","car_closedoorl_lhs", "car_closedoorl_rhs","car_closedoor_lhs","car_closedoor_rhs","car_close_lhs","car_close_rhs","car_crawloutrhs","car_dead_lhs","car_dead_rhs", "car_doorlocked_lhs","car_doorlocked_rhs","car_fallout_lhs","car_fallout_rhs","car_getinl_lhs","car_getinl_rhs","car_getin_lhs","car_getin_rhs", "car_getoutl_lhs","car_getoutl_rhs","car_getout_lhs","car_getout_rhs","car_hookertalk","car_jackedlhs","car_jackedrhs","car_jumpin_lhs", "car_lb","car_lb_pro","car_lb_weak","car_ljackedlhs","car_ljackedrhs","car_lshuffle_rhs","car_lsit","car_open_lhs","car_open_rhs", "car_pulloutl_lhs","car_pulloutl_rhs","car_pullout_lhs","car_pullout_rhs","car_qjacked","car_rolldoor","car_rolldoorlo","car_rollout_lhs", "car_rollout_rhs","car_shuffle_rhs","car_sit","car_sitp","car_sitplo","car_sit_pro","car_sit_weak","car_tune_radio","climb_idle","climb_jump", "climb_jump2fall","climb_jump_b","climb_pull","climb_stand","climb_stand_finish","cower","crouch_roll_l","crouch_roll_r","dam_arml_frmbk", "dam_arml_frmft","dam_arml_frmlt","dam_armr_frmbk","dam_armr_frmft","dam_armr_frmrt","dam_legl_frmbk","dam_legl_frmft","dam_legl_frmlt","dam_legr_frmbk", "dam_legr_frmft","dam_legr_frmrt","dam_stomach_frmbk","dam_stomach_frmft","dam_stomach_frmlt","dam_stomach_frmrt","door_lhinge_o","door_rhinge_o", "drivebyl_l","drivebyl_r","driveby_l","driveby_r","drive_boat","drive_boat_back","drive_boat_l","drive_boat_r","drive_l","drive_lo_l","drive_lo_r", "drive_l_pro","drive_l_pro_slow","drive_l_slow","drive_l_weak","drive_l_weak_slow","drive_r","drive_r_pro","drive_r_pro_slow","drive_r_slow","drive_r_weak", "drive_r_weak_slow","drive_truck","drive_truck_back","drive_truck_l","drive_truck_r","drown","duck_cower","endchat_01","endchat_02","endchat_03", "ev_dive","ev_step","facanger","facgum","facsurp","facsurpm","factalk","facurios","fall_back","fall_collapse","fall_fall","fall_front","fall_glide", "fall_land","fall_skydive","fight2idle","fighta_1","fighta_2","fighta_3","fighta_block","fighta_g","fighta_m","fightidle","fightshb","fightshf", "fightsh_bwd","fightsh_fwd","fightsh_left","fightsh_right","flee_lkaround_01","floor_hit","floor_hit_f",":Ou","gang_gunstand","gas_cwr","getup", "getup_front","gum_eat","guncrouchbwd","guncrouchfwd","gunmove_bwd","gunmove_fwd","gunmove_l","gunmove_r","gun_2_idle","gun_butt","gun_butt_crouch", "gun_stand","handscower","handsup","hita_1","hita_2","hita_3","hit_back","hit_behind","hit_front","hit_gun_butt","hit_l","hit_r","hit_walk","hit_wall", "idlestance_fat","idlestance_old","idle_armed","idle_chat","idle_csaw","idle_gang1","idle_hbhb","idle_rocket","idle_stance","idle_taxi","idle_tired", "jetpack_idle","jog_femalea","jog_malea","jump_glide","jump_land","jump_launch","jump_launch_r","kart_drive","kart_l","kart_lb","kart_r","kd_left", "kd_right","ko_shot_face","ko_shot_front","ko_shot_stom","ko_skid_back","ko_skid_front","ko_spin_l","ko_spin_r","pass_smoke_in_car","phone_in","phone_out", "phone_talk","player_sneak","player_sneak_walkstart","roadcross","roadcross_female","roadcross_gang","roadcross_old","run_1armed","run_armed", "run_civi","run_csaw","run_fat","run_fatold","run_gang1","run_left","run_old","run_player","run_right","run_rocket","run_stop","run_stopr", "run_wuzi","seat_down","seat_idle","seat_up","shot_leftp","shot_partial","shot_partial_b","shot_rightp","shove_partial","smoke_in_car", "sprint_civi","sprint_panic","sprint_wuzi","swat_run","swim_tread","tap_hand","tap_handp","turn_180","turn_l","turn_r","walk_armed","walk_civi", "walk_csaw","walk_doorpartial","walk_drunk","walk_fat","walk_fatold","walk_gang1","walk_gang2","walk_old","walk_player","walk_rocket","walk_shuffle", "walk_start","walk_start_armed","walk_start_csaw","walk_start_rocket","walk_wuzi","weapon_crouch","woman_idlestance","woman_run","woman_runbusy", "woman_runfatold","woman_runpanic","woman_runsexy","woman_walkbusy","woman_walkfatold","woman_walknorm","woman_walkold","woman_walkpro","woman_walksexy", "woman_walkshop","xpressscratch" }, -- We will use this for checking whether animation is partial or not for ped block -- if it is, we won't replace it. Partial animations can be played using setPedAnimation. partialAnimations = { ["CAR_alignHI_LHS"] = true, ["CAR_alignHI_RHS"] = true, ["DAM_armL_frmFT"] = true, ["endchat_01"] = true, ["endchat_02"] = true, ["endchat_03"] = true, ["facanger"] = true, ["facgum"] = true, ["facsurp"] = true, ["facsurpm"] = true, ["factalk"] = true, ["facurios"] = true, ["FightA_M"] = true, ["FightA_block"] = true, ["flee_lkaround_01"] = true, ["handscower"] = true, ["HIT_walk"] = true, ["IDLE_chat"] = true, ["pass_Smoke_in_car"] = true, ["phone_in"] = true, ["phone_out"] = true, ["phone_talk"] = true, ["SHOT_leftP"] = true, ["SHOT_partial"] = true, ["SHOT_partial_B"] = true, ["SHOT_rightP"] = true, ["Shove_Partial"] = true, ["Smoke_in_car"] = true, ["Walk_DoorPartial"] = true, } }
-
so if i use ^ on client side will everything still be synchronize server side? this isnt exactly what im trying to figure out, ik how to use engineLoadIFP but this uses a lot of functions to sync it server side but only from starting the block through panel i want to automatically start the animation block at the start of the resource for all players in sync so you do not have to use this panel
-
local textures = { ['cloth/boots'] = 30477, } local models = { ['cloth/boots'] = 30477, } addEventHandler('onClientResourceStart', resourceRoot, function () for cloth, id in pairs(textures) do local txd = engineLoadTXD(cloth..".txd") engineImportTXD(txd, id) end for cloth, id in pairs(models) do local dff = engineLoadDFF(cloth..".dff") engineReplaceModel(dff, id) end end ) however i myself have not successfully replaced a dff without crashing the client so im not even sure if its possible
-
local animationManagerWindow = nil local replaceAnimationLabel, playAnimationLabel = nil, nil local restoreDefaultsButton, stopAnimationButton = nil, nil local replaceAnimationGridList, playAnimationGridList = nil, nil local isShowingAnimationBlocksInPlayGridList = true local currentBlockNameSelected = nil local isLocalPlayerAnimating = false local function PopulatePlayAnimationGridListWithBlocks () isShowingAnimationBlocksInPlayGridList = true currentBlockNameSelected = nil guiGridListClear ( playAnimationGridList ) -- Add IFP blocks to the play animation gridlist for customAnimationBlockIndex, customAnimationBlock in ipairs ( globalLoadedIfps ) do local rowIndex = guiGridListAddRow ( playAnimationGridList, " + "..customAnimationBlock.friendlyName ) guiGridListSetItemData ( playAnimationGridList, rowIndex, 1, customAnimationBlockIndex ) end end local function PopulatePlayAnimationGridListWithCustomBlockAnimations ( ifpIndex ) isShowingAnimationBlocksInPlayGridList = false currentBlockNameSelected = globalLoadedIfps [ifpIndex].blockName guiGridListClear ( playAnimationGridList ) guiGridListAddRow ( playAnimationGridList, ".." ) -- Add IFP blocks to the play animation gridlist for _, customAnimationName in ipairs ( globalLoadedIfps [ifpIndex].animations ) do local rowIndex = guiGridListAddRow ( playAnimationGridList, " "..customAnimationName ) guiGridListSetItemData ( playAnimationGridList, rowIndex, 1, customAnimationName ) end end addEventHandler("onClientResourceStart", resourceRoot, function() triggerServerEvent ( "onCustomAnimationSyncRequest", resourceRoot, localPlayer ) outputChatBox ("Press 'X' to toggle Animation Manager", 255, 255, 255) showCursor ( true ) animationManagerWindow = guiCreateWindow(118, 116, 558, 371, "Animation Manager", false) guiWindowSetSizable(animationManagerWindow, false) replaceAnimationLabel = guiCreateLabel(12, 26, 245, 19, "Replace Animations With", false, animationManagerWindow) guiSetFont(replaceAnimationLabel, "default-bold-small") guiLabelSetHorizontalAlign(replaceAnimationLabel, "center", false) replaceAnimationGridList = guiCreateGridList(12, 49, 245, 255, false, animationManagerWindow) guiGridListAddColumn(replaceAnimationGridList, "Animation Blocks", 0.9) restoreDefaultsButton = guiCreateButton(49, 314, 174, 41, "Restore Defaults", false, animationManagerWindow) playAnimationLabel = guiCreateLabel(294, 26, 245, 19, "Play Animation", false, animationManagerWindow) guiSetFont(playAnimationLabel, "default-bold-small") guiLabelSetHorizontalAlign(playAnimationLabel, "center", false) stopAnimationButton = guiCreateButton(329, 314, 174, 41, "Stop Animation", false, animationManagerWindow) playAnimationGridList = guiCreateGridList(294, 49, 245, 255, false, animationManagerWindow) guiGridListAddColumn(playAnimationGridList, "Animation Blocks", 0.9) -- load IFP files and add them to the play animation gridlist for customAnimationBlockIndex, customAnimationBlock in ipairs ( globalLoadedIfps ) do local ifp = engineLoadIFP ( customAnimationBlock.path, customAnimationBlock.blockName ) if not ifp then outputChatBox ("Failed to load '"..customAnimationBlock.path.."'") end end -- now add replaceable ifps to the other grid list for _, ifpIndex in ipairs ( globalReplaceableIfpsIndices ) do local customAnimationBlock = globalLoadedIfps [ ifpIndex ] local rowIndex = guiGridListAddRow ( replaceAnimationGridList, customAnimationBlock.friendlyName ) guiGridListSetItemData ( replaceAnimationGridList, rowIndex, 1, ifpIndex ) end PopulatePlayAnimationGridListWithBlocks () end ) local function ReplacePedBlockAnimations ( player, ifpIndex ) local customIfpBlockName = globalLoadedIfps [ ifpIndex ].blockName for _, animationName in pairs ( globalPedAnimationBlock.animations ) do -- make sure that we don't replace a partial animation if not globalPedAnimationBlock.partialAnimations [ animationName ] then engineReplaceAnimation ( player, "ped", animationName, customIfpBlockName, animationName ) end end end local function HandleReplacedAnimationGridListDoubleClick () local replacedAnimGridSelectedRow, replacedAnimGridSelectedCol = guiGridListGetSelectedItem ( replaceAnimationGridList ); if replacedAnimGridSelectedRow and replacedAnimGridSelectedRow ~= -1 then local ifpFriendlyName = guiGridListGetItemText( replaceAnimationGridList, replacedAnimGridSelectedRow, replacedAnimGridSelectedCol ) local ifpIndex = guiGridListGetItemData(replaceAnimationGridList, replacedAnimGridSelectedRow, replacedAnimGridSelectedCol ) ReplacePedBlockAnimations ( localPlayer, ifpIndex ) triggerServerEvent ( "onCustomAnimationReplace", resourceRoot, localPlayer, ifpIndex ) outputChatBox ("Replaced 'ped' block animations with '"..ifpFriendlyName.."'", 255, 255, 255) end end local function HandlePlayAnimationGridListDoubleClick () local playAnimGridSelectedRow, playAnimGridSelectedCol = guiGridListGetSelectedItem ( playAnimationGridList ); if playAnimGridSelectedRow and playAnimGridSelectedRow ~= -1 then local itemText = guiGridListGetItemText( playAnimationGridList, playAnimGridSelectedRow, playAnimGridSelectedCol ) if isShowingAnimationBlocksInPlayGridList then local ifpIndex = guiGridListGetItemData(playAnimationGridList, playAnimGridSelectedRow, playAnimGridSelectedCol ) PopulatePlayAnimationGridListWithCustomBlockAnimations ( ifpIndex ) else if itemText == ".." then PopulatePlayAnimationGridListWithBlocks ( ) else local animationName = guiGridListGetItemData(playAnimationGridList, playAnimGridSelectedRow, playAnimGridSelectedCol ) setPedAnimation ( localPlayer, currentBlockNameSelected, animationName ) triggerServerEvent ( "onCustomAnimationSet", resourceRoot, localPlayer, currentBlockNameSelected, animationName ) isLocalPlayerAnimating = true end end end end addEventHandler( "onClientGUIDoubleClick", resourceRoot, function ( button, state, absoluteX, absoluteY ) if button == "left" and state == "up" then if source == replaceAnimationGridList then HandleReplacedAnimationGridListDoubleClick ( ) elseif source == playAnimationGridList then HandlePlayAnimationGridListDoubleClick ( ) end end end ) addEventHandler( "onClientGUIClick", resourceRoot, function ( button, state ) if button == "left" and state == "up" then if source == restoreDefaultsButton then -- restore all replaced animations of "ped" block engineRestoreAnimation ( localPlayer, "ped" ) triggerServerEvent ( "onCustomAnimationRestore", resourceRoot, localPlayer, "ped" ) outputChatBox ("Restored ped block animations", 255, 255, 255) elseif source == stopAnimationButton then setPedAnimation ( localPlayer, false ) triggerServerEvent ( "onCustomAnimationSet", resourceRoot, localPlayer, false, false ) end end end ) bindKey ( "X", "down", function ( key, keyState ) if ( keyState == "down" ) then local isAnimationMangerWindowVisible = guiGetVisible ( animationManagerWindow ) guiSetVisible ( animationManagerWindow, not isAnimationMangerWindowVisible ) showCursor ( not isAnimationMangerWindowVisible ) end end ) addEvent ("onClientCustomAnimationSyncRequest", true ) addEventHandler ("onClientCustomAnimationSyncRequest", root, function ( playerAnimations ) for player, anims in pairs ( playerAnimations ) do if isElement ( player ) then if anims.current then setPedAnimation ( player, anims.current[1], anims.current[2] ) end if anims.replacedPedBlock then ReplacePedBlockAnimations ( player, anims.replacedPedBlock ) end end end end ) addEvent ("onClientCustomAnimationSet", true ) addEventHandler ("onClientCustomAnimationSet", root, function ( blockName, animationName ) if source == localPlayer then return end if blockName == false then setPedAnimation ( source, false ) return end setPedAnimation ( source, blockName, animationName ) end ) addEvent ("onClientCustomAnimationReplace", true ) addEventHandler ("onClientCustomAnimationReplace", root, function ( ifpIndex ) if source == localPlayer then return end ReplacePedBlockAnimations ( source, ifpIndex ) end ) addEvent ("onClientCustomAnimationRestore", true ) addEventHandler ("onClientCustomAnimationRestore", root, function ( blockName ) if source == localPlayer then return end engineRestoreAnimation ( source, blockName ) end ) setTimer ( function () if isLocalPlayerAnimating then if not getPedAnimation (localPlayer) then isLocalPlayerAnimating = false triggerServerEvent ( "onCustomAnimationStop", resourceRoot, localPlayer ) end end end, 100, 0 ) --Test function startingAnimations() ReplacePedBlockAnimations ( source, 7 ) end client server -- since we're only interested in ped block, we don't need support for other blocks -- you might want to rename playerAnimations.replacedPedBlock to playerAnimations.replacedBlocks -- to add support for replacing more blocks and keeping them sync local playerAnimations = { } -- current = {}, replacedPedBlock = {} local synchronizationPlayers = {} local SetAnimation -- function addEventHandler ( "onPlayerJoin", root, function ( ) playerAnimations [ source ] = {} end ) for _, player in pairs ( getElementsByType ("player") ) do playerAnimations [ player ] = {} end addEvent ("onCustomAnimationStop", true ) addEventHandler ("onCustomAnimationStop", root, function ( player ) SetAnimation ( player, false ) end ) addEvent ("onCustomAnimationSyncRequest", true ) addEventHandler ("onCustomAnimationSyncRequest", root, function ( player ) table.insert ( synchronizationPlayers, player ) triggerLatentClientEvent ( player, "onClientCustomAnimationSyncRequest", 50000, false, player, playerAnimations ) end ) addEventHandler ( "onPlayerQuit", root, function ( ) for i, player in pairs ( synchronizationPlayers ) do if source == player then table.remove ( synchronizationPlayers, i ) break end end playerAnimations [ source ] = nil end ) addEvent ("onCustomAnimationSet", true ) addEventHandler ("onCustomAnimationSet", root, function ( player, blockName, animationName ) SetAnimation ( player, blockName, animationName ) triggerClientEvent ( synchronizationPlayers, "onClientCustomAnimationSet", player, blockName, animationName ) end ) addEvent ("onCustomAnimationReplace", true ) addEventHandler ("onCustomAnimationReplace", root, function ( player, ifpIndex ) playerAnimations[ player ].replacedPedBlock = ifpIndex triggerClientEvent ( synchronizationPlayers, "onClientCustomAnimationReplace", player, ifpIndex ) end ) addEvent ("onCustomAnimationRestore", true ) addEventHandler ("onCustomAnimationRestore", root, function ( player, blockName ) playerAnimations[ player ].replacedPedBlock = nil triggerClientEvent ( synchronizationPlayers, "onClientCustomAnimationRestore", player, blockName ) end ) function SetAnimation ( player, blockName, animationName ) if not playerAnimations[ player ] then playerAnimations[ player ] = {} end if blockName == false then playerAnimations[ player ].current = nil else playerAnimations[ player ].current = { blockName, animationName } end end
-
if someone could help me.. how can i set a block for all players at the start of the resource dono why i cant rap my head around this seems like it should be simple obviously this code doesnt work but this was my best guess lol function startingAnimations() ReplacePedBlockAnimations ( source, "GTA IV" ) end
-
mtasa://24.101.76.118:22003 Feel free to connect. Not to much to offer at the moment lots of bugs hardly any loot buggy zombies, lots of interesting modeling, mapping, and textures! Looking for anyone interested in helping with a new ui and bug fixing
-
is it possible to make custom animations serverside?
-
im so confused did you finally get it so you can sprint with this animation? because i would love to know how
-
function rotateCameraRight() if getKeyState( "mouse1" ) == false then removeEventHandler("onClientPreRender", root, rotateCameraRight) else setTimer (function() setPedCameraRotation(localPlayer, -(getPedCameraRotation(localPlayer) + 0.08)) setPedCameraRotation(localPlayer, -(getPedCameraRotation(localPlayer) - 0.08)) end, 50, 1 ) setCameraMatrix (x, y+0.8, z, lx, ly, lz) setCameraTarget ( localPlayer ) if not isTimer(timer_right) then timer_left = setTimer ( timer_l, 850, 1 ) end end end function timer_l() removeEventHandler("onClientPreRender", root, rotateCameraRight) addEventHandler("onClientPreRender", root, rotateCameraLeft) end function rotateCameraLeft() if getKeyState( "mouse1" ) == false then removeEventHandler("onClientPreRender", root, rotateCameraLeft) else setTimer ( function() setPedCameraRotation(localPlayer, -(getPedCameraRotation(localPlayer) - 0.08)) setPedCameraRotation(localPlayer, -(getPedCameraRotation(localPlayer) + 0.08)) end, 50, 1 ) setCameraMatrix (x, y-0.8, z, lx, ly, lz) setCameraTarget ( localPlayer ) if not isTimer(timer_left) then timer_right = setTimer ( timer_r, 900, 1 ) end end end function timer_r() removeEventHandler("onClientPreRender", root, rotateCameraLeft) addEventHandler("onClientPreRender", root, rotateCameraRight) end function addEvent() local weapon = getPedWeapon(localPlayer) if (weapon==34) or (weapon==31) or (weapon==30) or (weapon==6) then addEventHandler("onClientPreRender", root, rotateCameraRight) end end bindKey("mouse1", "down", addEvent) bind = true so i made this code trying to make something similar to h1z1 horizontal recoil, but it only goes left. I need it to go left or right randomly but never repeat left or repeat right.
-
Looking for an advanced solution with slow loading objects
greentumbleweed replied to 2kristof2's topic in Scripting
what does this mean "statically replace every object at once" and how do you import LODS? -
if i alt tab before my login opens and alt tab back in, my custom objects will not load untill i press play looks like this
-
thx!!!! lol sorry for being so complicated works now
-
debugscript: attempt to call global ' generateRandomGroupNumbers'(a nill value)