Jump to content

Bug em um script


Recommended Posts

Oi gente tudo bom? eu tava tentando resolver um bug de um script da internet mas to quebrando demais a cabeça com ele, muito msm, já tentei de tudo pra fazer esse script funcionar

é um script que mostra a armas no seu corpo quando vc esta armado, o problema é q as armas não somem quando vc perde elas de alguma maneira só quando vc morre, alguem pode me dar uma luz nisso? mostrar o pq de não sumir e como fazer para corrigir?

 



local jugadores = {}
local lplayer = getLocalPlayer()
local info = {}
local sx,sy = guiGetScreenSize()

function crearArma(jug,arma)
	local model = obtenerObjeto(arma)
	local slot = getSlotFromWeapon(arma)
	jugadores[jug][slot] = createObject(model,0,0,0)
	setElementCollisionsEnabled(jugadores[jug][slot],false)
end

function destruirArma(jug,slot)
	destroyElement(jugadores[jug][slot])
	jugadores[jug][slot] = nil
end

function AntBugWeaponRJP(jug,slot)
	destroyElement(jugadores[jug][slot])
	jugadores[jug][slot] = nil
	if PlayerOnAmmo then
		removeArmasInBody = false
		keepArmasInBody = true
	else
		removeArmasInBody = true
		keepArmasInBody = false
	end
end

addEventHandler("onClientResourceStart",getResourceRootElement(),function()
	for k,v in ipairs(getElementsByType("player",root,true)) do
		jugadores[v] = {}
		info[v] = {true,isPedInVehicle(v)}
	end
end,false)

addEventHandler("onClientPlayerQuit",root,function()
	if jugadores[source] and source ~= lplayer then
		for k,v in pairs(jugadores[source]) do
			destroyElement(v)
		end
		jugadores[source] = nil
		info[source] = nil
	end
end)

addEventHandler("onClientElementStreamIn",root,function()
	if getElementType(source) == "player" and source ~= lplayer then
		jugadores[source] = {}
		info[source] = {true,isPedInVehicle(source)}
	end
end)

addEventHandler("onClientElementStreamOut",root,function()
	if jugadores[source] and source ~= lplayer then
		for k,v in pairs(jugadores[source]) do
			destroyElement(v)
		end
		jugadores[source] = nil
		info[source] = nil
	end
end)

addEventHandler("onClientPlayerSpawn",root,function()
	if jugadores[source] then
		info[source][1] = true
	end
end)


function morreuSumiu ()
	if jugadores[source] then
		for k,v in pairs(jugadores[source]) do
			destruirArma(source,k)
		end
		info[source][1] = false
	end
end
addEventHandler("onClientPlayerWasted",root,morreuSumiu)


addEventHandler("onClientPlayerVehicleEnter",root,function()
	if jugadores[source] then
		for k,v in pairs(jugadores[source]) do
			destruirArma(source,k)
		end
		info[source][2] = true
	end
end)

addEventHandler("onClientPlayerVehicleExit",root,function()
	if jugadores[source] then
		info[source][2] = false
	end
end)

addEventHandler("onClientPreRender",root,function()
	for k,v in pairs(jugadores) do
		local x,y,z = getPedBonePosition(k,3)
		local rot = math.rad(90-getPedRotation(k))
		local i = 15
		local wep = getPedWeaponSlot(k)
		local ox,oy = math.cos(rot+2.4)*0.22,-math.sin(rot+2.4)*0.22
		local alpha = getElementAlpha(k)
		for q,w in pairs(v) do
			if q == wep then
				destruirArma(k,q)
			else
				setElementRotation(w,0,70,getPedRotation(k)+90)
				setElementAlpha(w,alpha)
				if q==2 then
					
				elseif q==4 then
					
				else
					setElementPosition(w,x+ox,y+oy,z+0.1)
					setElementRotation(w,5,58,getPedRotation(k))
					i=i+15
				end
			end
		end
		if info[k][1] and not info[k][2] then
			for i=1,7 do
				local arma = getPedWeapon(k,i)
				local ammoRifle = getPedTotalAmmo ( k, 5 )
				if arma~=wep and arma>0 and not jugadores[k][i] then
				if arma == 30 or arma == 31 then
					if ammoRifle <= 1 then return end
						crearArma(k,arma)
				end
				end
			end
		end
	end
end)

function obtenerObjeto(arma)
	local m
	if arma > 1 and arma < 9 then
		m = 331 + arma
	elseif arma == 9 then
		m = 341
	elseif arma == 15 then
		m = 326
	elseif (arma > 21 and arma < 30) or (arma > 32 and arma < 39) or (arma > 40 and arma < 44) then
		m = 324 + arma
	elseif arma > 29 and arma < 32 then
		m = 325 + arma
	elseif arma == 32 then
		m = 372
	end
	return m
end

Isso lado client

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...