fixes etc
This commit is contained in:
		
							parent
							
								
									4a0c8c6204
								
							
						
					
					
						commit
						453b281a4b
					
				
					 644 changed files with 1907 additions and 2456 deletions
				
			
		
							
								
								
									
										65
									
								
								resources/[standalone]/rpemotes-reborn/client/PTFX.lua
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								resources/[standalone]/rpemotes-reborn/client/PTFX.lua
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,65 @@ | |||
| local PlayerParticles = {} | ||||
|  | ||||
| function PtfxThis(asset) | ||||
|     while not HasNamedPtfxAssetLoaded(asset) do | ||||
|         RequestNamedPtfxAsset(asset) | ||||
|         Wait(10) | ||||
|     end | ||||
|     UseParticleFxAsset(asset) | ||||
| end | ||||
|  | ||||
| function PtfxStart() | ||||
|     LocalPlayer.state:set('ptfx', true, true) | ||||
| end | ||||
|  | ||||
| function PtfxStop() | ||||
|     LocalPlayer.state:set('ptfx', nil, true) | ||||
| end | ||||
|  | ||||
| AddStateBagChangeHandler('ptfx', '', function(bagName, key, value, _unused, replicated) | ||||
|     local plyId = tonumber(bagName:gsub('player:', ''), 10) | ||||
|  | ||||
|     if (PlayerParticles[plyId] and value) or (not PlayerParticles[plyId] and not value) then return end | ||||
|  | ||||
|     local ply = GetPlayerFromServerId(plyId) | ||||
|     if ply <= 0 then return end | ||||
|  | ||||
|     local plyPed = GetPlayerPed(ply) | ||||
|     if not DoesEntityExist(plyPed) then return end | ||||
|  | ||||
|     local stateBag = Player(plyId).state | ||||
|  | ||||
|     if value then | ||||
|         local boneIndex = stateBag.ptfxBone and GetPedBoneIndex(plyPed, stateBag.ptfxBone) or GetEntityBoneIndexByName(stateBag.ptfxName, "VFX") | ||||
|         local entityTarget = plyPed | ||||
|  | ||||
|         if stateBag.ptfxPropNet then | ||||
|             local propObj = NetToObj(stateBag.ptfxPropNet) | ||||
|             if DoesEntityExist(propObj) then | ||||
|                 entityTarget = propObj | ||||
|             end | ||||
|         end | ||||
|  | ||||
|         PtfxThis(stateBag.ptfxAsset) | ||||
|  | ||||
|         local offset = stateBag.ptfxOffset | ||||
|         local rot = stateBag.ptfxRot | ||||
|         PlayerParticles[plyId] = StartNetworkedParticleFxLoopedOnEntityBone(stateBag.ptfxName, entityTarget, offset.x, offset.y, offset.z, rot.x, rot.y, rot.z, boneIndex, (stateBag.ptfxScale or 1) + 0.0, false, false, false) | ||||
|  | ||||
|         local color = stateBag.ptfxColor | ||||
|         if color then | ||||
|             if color[1] and type(color[1]) == 'table' then | ||||
|                 local randomIndex = math.random(1, #color) | ||||
|                 color = color[randomIndex] | ||||
|             end | ||||
|             SetParticleFxLoopedAlpha(PlayerParticles[plyId], color.A) | ||||
|             SetParticleFxLoopedColour(PlayerParticles[plyId], color.R / 255, color.G / 255, color.B / 255, false) | ||||
|         end | ||||
|         DebugPrint("Started PTFX: " .. PlayerParticles[plyId]) | ||||
|     else | ||||
|         DebugPrint("Stopped PTFX: " .. PlayerParticles[plyId]) | ||||
|         StopParticleFxLooped(PlayerParticles[plyId], false) | ||||
|         RemoveNamedPtfxAsset(stateBag.ptfxAsset) | ||||
|         PlayerParticles[plyId] = nil | ||||
|     end | ||||
| end) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nordi98
						Nordi98