Jump to content

Erro com Col


Recommended Posts

Seguinte, a um tempo atras estava com um problema, que eu pensei que fosse do Inventario do MTA DayZ, porém acabei descobrindo que não é, eu troquei o inventário todo, e o bug continuou, percebi que podia ser no script menu_client do mta dayz, porém eu to comparando ele com varios outros menu_client que tenho, e nao tem nada de errado.

o erro é o seguinte, o player ta jogando de boa, ai ele vai lotear a tenda dele, e ele clica pra pegar o item, e não vai, o item fica la na tenda, mas simplesmente vc clica pra pegar e nao acontece nada, ai tem que ficar saindo e voltando pra tenda até desbugar, e quando ele consegue acessar, e começa a passar itens pra tenda, no caso seria ao contrario, ao invez de pegar, ele vai guardar, ai dps de um tempo os itens começam ir pro chão, como se ele tivesse saido da tenda, mas na verdade não saiu, e os itens na tenda continuam mostrando no inventario, só que em vez de ir pra tenda, vai pro chão ,creio eu que seja no menu_client, porém ta foda de conseguir saber qual função que seja, alguém poderia me ajudar?

(obs: não é só com tenda, com gear de hospitalbox,, gear de corpo de player que no caso é o dead, tbm acontece)

------------S1L3NC3
local theTableMenuScroll = {}
function startRollMessageMenu(text, r, g, b, data)
	table.insert(theTableMenuScroll,{text,r,g,b,data})
end


function dxDrawingColorTextMenuScroll(str, ax, ay, bx, by, color, alpha, scale, font, alignX, alignY)

 if alignX then
   if alignX == "center" then
   elseif alignX == "right" then
     local w = dxGetTextWidth(str:gsub("#%x%x%x%x%x%x",""), scale, font)
     ax = bx - w
   end
 end

 if alignY then
   if alignY == "center" then
     local h = dxGetFontHeight(scale, font)
     ay = ay + (by-ay)/2 - h/2
   elseif alignY == "bottom" then
     local h = dxGetFontHeight(scale, font)
     ay = by - h
   end
 end

 local pat = "(.-)#(%x%x%x%x%x%x)"
 local s, e, cap, col = str:find(pat, 1)
 local last = 1
 while s do
   if cap == "" and col then color = tocolor(tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)), alpha) end
   if s ~= 1 or cap ~= "" then
     local w = dxGetTextWidth(cap, scale, font)
     dxDrawText(cap, ax, ay, ax + w, by, color, scale, font)
     ax = ax + w
     color = tocolor(tonumber("0x"..col:sub(1, 2)), tonumber("0x"..col:sub(3, 4)), tonumber("0x"..col:sub(5, 6)), alpha)
   end
   last = e + 1
   s, e, cap, col = str:find(pat, last)
 end
 if last <= #str then
   cap = str:sub(last)
   local w = dxGetTextWidth(cap, scale, font)
   dxDrawText(cap, ax, ay, ax + w, by, color, scale, font)
 end
end

local boxSpace = dxGetFontHeight(1,"default-bold")+dxGetFontHeight(1,"default-bold")*0.1

local optionsTable = {
["player"] = {
	{"Give Bandage"},
	{"Give Painkiller"},
	{"Give Morphine"},
	},
}

function showClientMenuItem(arg1,arg2,arg3,arg4)
    theTableMenuScroll = {}
    setElementData(localPlayer,"usedItemTrue", false)
    numberMenuScroll = 1
	if getElementData(localPlayer,"playerZombie") then return end
    if arg1 == "Take" then
	    startRollMessageMenu("Gear: "..arg2,0,255,0,arg2)
	    setElementData(localPlayer,"usedItemTrue", true)
    end
    if arg1 == "stop" then
        disableMenu()
	    refreshLoot(false)
    end
    if arg1 == "Helicrashsite" then
	    startRollMessageMenu("Gear",255,255,255,"helicrashsite")
	    setElementData(localPlayer,"usedItemTrue", true)
    end
	if arg1 == "AIRDROP" then
	    startRollMessageMenu("Gear",255,255,255,"AIRDROP")	 
	    setElementData(localPlayer,"usedItemTrue", true)		
    end
    if arg1 == "Hospitalbox" then
	    startRollMessageMenu("Gear",255,255,255,"hospitalbox")
	    setElementData(localPlayer,"usedItemTrue", true)
    end
    if arg1 == "Vehicle" then
startRollMessageMenu("> Gear ("..arg2.."): "..getLootCurrentSlots(arg4).."/"..(getElementData(arg4,"MAX_Slots") or 0).." Slots",0,255,0,"vehicle")
setElementData(localPlayer,"usedItemTrue", true)
if getElementData(getElementData(arg3,"parent"),"tent") then
startRollMessageMenu("#FFFFFF> Remover Tent",0,255,0,"tent")
return
end

if getElementHealth(arg3,"repairvehicle") < 1000 and getElementHealth(arg3) >= 50 then
startRollMessageMenu("> Reparar ("..arg2.."): " ..tostring(math.floor(getElementHealth(arg3)/10)).."%",0,255,0,"repairvehicle")
setElementData(localPlayer,"usedItemTrue", true)
end

if (getElementData(arg4,"fuel") or 0) < getVehicleMaxFuel(arg4) then
startRollMessageMenu("> Colocar Gasolina ("..tostring(math.floor(getElementData(arg4,"fuel") or 0)).."/"..getVehicleMaxFuel(arg4)..")",255,0,0,"FuelOne")
setElementData(localPlayer,"usedItemTrue", true)
end

if (getElementData(arg4,"fuel") or 0) >= 20 then
startRollMessageMenu("> Remover Gasolina ("..tostring(math.floor(getElementData(arg4,"fuel") or 0)).."/"..getVehicleMaxFuel(arg4)..")",255,255,0,"FuelTwo")
setElementData(localPlayer,"usedItemTrue", true)
end

local tires,engine,parts = getVehicleAddonInfos (getElementModel(arg3))
if (getElementData(arg4,"Tire_inVehicle") or 0) < tires then
startRollMessageMenu("> Colocar Tire ("..(getElementData(arg4,"Tire_inVehicle") or 0).."/"..tires..")",255,0,0,"TireOne")
setElementData(localPlayer,"usedItemTrue", true)
end
if (getElementData(arg4,"Engine_inVehicle") or 0) < engine then
startRollMessageMenu("> Colocar Engine ("..(getElementData(arg4,"Engine_inVehicle") or 0).."/"..engine..")",255,0,0,"EngineOne")
setElementData(localPlayer,"usedItemTrue", true)
end
if (getElementData(arg4,"Parts_inVehicle") or 0) < parts then
startRollMessageMenu("> Colocar Tank Parts ("..(getElementData(arg4,"Parts_inVehicle") or 0).."/"..parts..")",255,0,0,"PartsOne")
setElementData(localPlayer,"usedItemTrue", true)
end
if (getElementData(arg4,"armorPoints") or 0) < (getElementData(arg4,"armorPointsMax") or 0) then
if (getElementData(localPlayer,"Steel Sheet") or 0) >= 0 then
startRollMessageMenu("> Colocar Steel Sheet",255,0,0,"setListStale")
setElementData(localPlayer,"usedItemTrue", true)
end
end
if (getElementData(arg4,"receiver") or 0) < 1 then
if getElementData(getLocalPlayer(),"Radio Device") >= 0 then
startRollMessageMenu("> Colocar Radio Device",255,0,0,"receiver")
setElementData(localPlayer,"usedItemTrue", true)
end
end
if (getElementData(arg4,"Tire_inVehicle") or 0) > 0 then
startRollMessageMenu("> Remover Tire ("..(getElementData(arg4,"Tire_inVehicle") or 0).."/"..tires..")",255,255,0,"TireTwo")
setElementData(localPlayer,"usedItemTrue", true)
end
if (getElementData(arg4,"Engine_inVehicle") or 0) > 0 then
startRollMessageMenu("> Remover Engine ("..(getElementData(arg4,"Engine_inVehicle") or 0).."/"..engine..")",255,255,0,"EngineTwo")
setElementData(localPlayer,"usedItemTrue", true)
end
if (getElementData(arg4,"Parts_inVehicle") or 0) > 0 then
startRollMessageMenu("> Remover Tank Parts ("..(getElementData(arg4,"Parts_inVehicle") or 0).."/"..parts..")",255,255,0,"PartsTwo")
setElementData(localPlayer,"usedItemTrue", true)
end 
end
if arg1 == "Player" then
if getElementData(arg2,"bleeding") > 0 and getElementData(getLocalPlayer(),"Bandage") >= 1 then
startRollMessageMenu("Give Bandage",255,255,255,"bandage")
setElementData(localPlayer,"usedItemTrue", true)
end 
if getElementData(arg2,"blood") < 11900 and getElementData(getLocalPlayer(),"Blood Bag") >= 1 then
startRollMessageMenu("Administer Blood Bag",255,255,255,"giveblood")
setElementData(localPlayer,"usedItemTrue", true)
end
end
if arg1 == "Dead" then
startRollMessageMenu("> Gear ("..arg2..")",0,255,0,"dead")
startRollMessageMenu("#FFFFFF> Check Body",0,255,0,"deadreason")
setElementData(localPlayer,"usedItemTrue", true)
end
if arg1 == "Fireplace" then
if getElementData(getLocalPlayer(),"#FFFFFF> Raw Meat") >= 1 then
startRollMessageMenu("Cook Meat",255,255,255,"fireplace")
setElementData(localPlayer,"usedItemTrue", true)
end
end
if arg1 == "patrol" then
if getElementData(getLocalPlayer(),"Empty Gas Canister") >= 1 then
startRollMessageMenu("#FFFFFF> Encher (Empty Gas Canister)",255,255,255,"patrolstation")
setElementData(localPlayer,"usedItemTrue", true)
end 
end
if arg1 == "Wirefence" then
	startRollMessageMenu("Remove Wire Fence",255,255,255,"wirefence")
	setElementData(localPlayer, "usedItemTrue", "wirefence")
end
if arg1 == "Stinger" then
	startRollMessageMenu("Remove Stinger",255,255,255,"removestinger")
	setElementData(localPlayer,"usedItemTrue","removestinger")
end
	if arg1 == "Gear" then
startRollMessageMenu("> Gear",255,255,255,"itemloot")
setElementData(localPlayer,"usedItemTrue", true)
end
numberMenuScroll = 1
end
addEvent("showClientMenuItem",true)
addEventHandler("showClientMenuItem",getLocalPlayer(),showClientMenuItem)

function PlayerScrollMenuLalitka (key,keyState,arg)
	if getElementData(localPlayer,"usedItemTrue") then
		if ( keyState == "down" ) then
			if arg == "up" then
				numberMenuScroll = numberMenuScroll-1
				if numberMenuScroll < 1 then
					numberMenuScroll = #theTableMenuScroll
				end
			elseif arg == "down" then
				numberMenuScroll = numberMenuScroll+1
				if numberMenuScroll > #theTableMenuScroll then
					numberMenuScroll = 1
				end
			end
		end
	end
end
bindKey ( "mouse_wheel_up", "down", PlayerScrollMenuLalitka, "up" )
bindKey ( "mouse_wheel_down", "down", PlayerScrollMenuLalitka, "down" )

function disableMenu()
	theTableMenuScroll = {}
	setElementData(localPlayer,"usedItemTrue", false)
	setNewbieInfo (false,"","")
end
addEvent("disableMenu",true)
addEventHandler("disableMenu",getLocalPlayer(),disableMenu)

function refreshMenuCar()
	idd = numberMenuScroll
	theTableMenuScroll = {}
	setElementData(localPlayer,"usedItemTrue", false)
	setNewbieInfo (false,"","")
	showClientMenuItem("Vehicle",nil,getElementData(getElementData(localPlayer,"currentCol"),"parent"),getElementData(localPlayer,"currentCol"))
	numberMenuScroll = idd
end
addEvent("refreshMenuCar",true)
addEventHandler("refreshMenuCar",getLocalPlayer(),refreshMenuCar)

function getPlayerInCol(tab)
	for theKey,thePlayer in ipairs(tab) do
		if thePlayer ~= getLocalPlayer() then
			return true
		end
	end
	return false
end

isInFirePlace = false
function onPlayerTargetPickup (theElement)
	if getElementData(getLocalPlayer(),"isDead",true) then return end
	if theElement == getLocalPlayer() then
		if getElementData(source,"parent") == getLocalPlayer() then return end
		local player = getPlayerInCol(getElementsWithinColShape ( source, "player" ))
		if getPedOccupiedVehicle(getLocalPlayer()) then
			return
		end
		isInFirePlace = false
		setElementData(getLocalPlayer(),"isInFirePlace",false)
		if getElementData(source,"player") then
			showClientMenuItem("Player",getElementData(source,"parent"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			return
		end
		if player then
			return
		end
        if getElementData(source,"tent") then
	        if getElementData(source,"visible") == false then
		    setElementData(getLocalPlayer(),"currentCol",source)
		    setElementData(getLocalPlayer(),"loot",true)
		    return
	        end
	    end
		if getElementData(source,"patrolstation") then
			showClientMenuItem("patrol")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Gear","Need: Empty Gas Canister",source)
			return
		end
		if getElementData(source,"wirefence") then
			showClientMenuItem("Wirefence")
	   	    setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo(true, "Wirefence","Press '-' or 'middle-mouse' to remove the fence!\nRequired: Toolbox", source)
			return
		end
		if getElementData(source,"stinger") then
			showClientMenuItem("Stinger")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo(true, "Stinger","Press '-' or 'middle-mouse' to remove the Stinger!\nRequired: Toolbox", source)
			return
		end
		if getElementData(source,"fireplace") then
			showClientMenuItem("Fireplace")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Fireplace","Need: Raw Meat",source)
			isInFirePlace = true
			return
		end
		if getElementData(source,"deadman") then
			showClientMenuItem("Dead",getElementData(source,"playername"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Search")
			setNewbieInfo (true,"Gear","Press J To Open Inventory",source)
			return
		end
		if getElementData(source,"item") then
			showClientMenuItem("Take",getElementData(source,"item"))
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",false)
			setNewbieInfo (true,"Gear","To Choose The Subject!\n"..getElementData(source,"item"),source)
			return
		end
		if getElementData(source,"helicrash") then
			showClientMenuItem("Helicrashsite","helicrash")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Search")
			setNewbieInfo (true,"Gear","Press J To Open Inventory",source)
			return
		end
		if getElementData(source,"hospitalbox") then
			showClientMenuItem("Hospitalbox","hospitalbox")
			setElementData(getLocalPlayer(),"currentCol",source)
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Search")
			setNewbieInfo (true,"Gear","Press J To Open Inventory",source)
			return
		end
		if getElementData(source,"vehicle") and not getElementData(source,"deadVehicle") then
	  if not getElementData(source,"tent") then
		name = getVehicleName(getElementData(source,"parent"))
	  else
		name = "Tent"
	  end
	  showClientMenuItem("Vehicle",name,getElementData(source,"parent"),source)
	  setElementData(getLocalPlayer(),"currentCol",source)
	  setElementData(getLocalPlayer(),"loot",true)
	  setElementData(getLocalPlayer(),"lootname","Gear ("..name..")")
	  setNewbieInfo(true, "Gear", "Pressione J para abrir!", source)
	  return
	end
		if getElementData(source,"itemloot") then
			showClientMenuItem("Gear")
			setElementData(getLocalPlayer(),"loot",true)
			setElementData(getLocalPlayer(),"lootname","Gear")
			setElementData(getLocalPlayer(),"currentCol",source)
			setNewbieInfo (true,"Gear","Press J To Open Inventory",source)
			return
		end
		showClientMenuItem("stop")
	end
end
addEventHandler("onClientColShapeHit",getRootElement(),onPlayerTargetPickup)

function onPlayerTargetPickup (theElement)
	if theElement == getLocalPlayer() then
		showClientMenuItem("stop")
		setElementData(getLocalPlayer(),"loot",false)
		setElementData(getLocalPlayer(),"currentCol",false)
		setElementData(getLocalPlayer(),"near_trader",false)
		setElementData(getLocalPlayer(),"near_trader_shape",nil )
		setNewbieInfo (false,"","")
		isInFirePlace = false
		setElementData(getLocalPlayer(),"isInFirePlace",false)
	if getElementData(source,"smeltery") then
		setElementData(getLocalPlayer(),"smeltery",false)
	end
	end
end
addEventHandler("onClientColShapeLeave",getRootElement(),onPlayerTargetPickup)

local screenWidth, screenHeight = guiGetScreenSize()
local newbieShow = false
local newbieHead = "-"
local newbieText = "-"
local newbiePosition = 0,0,0

function setNewbieInfo (show,head,text,element)
	newbieShow = show
	newbieHead = head
	newbieText = text
	newbiePosition = element
end

addEventHandler("onClientRender", getRootElement(), 
function()

local veh = getPedOccupiedVehicle (getLocalPlayer())
if veh then
disableMenu()
else
for id, value in pairs(theTableMenuScroll) do
if id == numberMenuScroll then
r1menu,g1menu,b1menu = 25,153,25
else
r1menu,g1menu,b1menu = 19,19,19
end
dxDrawRectangle ( 0, 250+id*boxSpace, screenWidth*0.2, boxSpace, tocolor (r1menu,g1menu,b1menu,180) )
dxDrawingColorTextMenuScroll(value[1],6, 250+id*boxSpace, 6, 250+(id+1)*boxSpace, tocolor(value[2],value[3],value[4],170),170, 1, "default-bold", "center", "center")
end
end
	if getElementData(getLocalPlayer(),"isDead") == true then return end
	if newbieShow == false then return end
	local x,y,z = getElementPosition(newbiePosition)
	local x,y = getScreenFromWorldPosition (x,y,z)
	 local length = dxGetTextWidth(newbieText, 1, "default-bold")
  if not x then return end
  local xx,yy,xx2,yy2 = x-length/2, y-70/2, length+22, 70
  if newbieHead == "Item pickup" then
	dxDrawImage(x-length/2-screenWidth*0.01,y,screenWidth*0.02+length,screenHeight*0.1,"images/Loot1.png",0,0,0,tocolor(255,255,255))
  else
	dxDrawImage(x-length/2-screenWidth*0.01,y,screenWidth*0.02+length,screenHeight*0.1,"images/Loot2.png",0,0,0,tocolor(255,255,255))
  end
end)

function fireRaiseTemperature ()
	if isInFirePlace then
		if getElementData(getLocalPlayer(),"temperature") <= 38 then
			setElementData(getLocalPlayer(),"temperature",getElementData(getLocalPlayer(),"temperature")+0.25)
		end
	end
end
setTimer(fireRaiseTemperature,10000,0)

unbindKey("mouse3","both")
function onPlayerPressMiddleMouse (key,keyState)
	if ( keyState == "down" ) then
		if not getElementData(localPlayer,"usedItemTrue") then return end
		local itemName = getMenuMarkedItem()
		if itemName == "helicrashsite" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Search"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "itemloot" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Gear"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "wirefence" then
		if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
		local col = getElementData(getLocalPlayer(),"currentCol")
		local gearName = "Remove Wirefence"
		triggerServerEvent("removeWirefence",getLocalPlayer(),getElementData(col,"parent"))
		setPedAnimation(getLocalPlayer(),"BOMBER","BOM_Plant",-1,false,false,false,false)
		else
			startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
		end	
		disableMenu()
		return
	  end
		if itemName == "removestinger" then
	  if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
		local col = getElementData(getLocalPlayer(),"currentCol")
		local gearName = "Remove Stinger"
		triggerServerEvent("RemoveStingerServer",getLocalPlayer(),getElementData(col,"parent"))
		setPedAnimation(getLocalPlayer(),"BOMBER","BOM_Plant",-1,false,false,false,false)
		else
			startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
		end	
		disableMenu()
		return
	  end
		if itemName == "hospitalbox" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Search"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
	    if itemName == "vehicle" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Search"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "repairvehicle" then
			if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
			if (getElementData(getLocalPlayer(),"Scrap Metal") or 0) > 0 then 
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("repairVehicle",getLocalPlayer(),getElementData(col,"parent"))
			setElementData(getLocalPlayer(),"Scrap Metal",(getElementData(getLocalPlayer(),"Scrap Metal") or 0)-1)
		--	startRollMessage2("Inventory", "Você reparou o o veículo!", 22, 255, 0 )
			--setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
			playSound("sounds/Repair.mp3")
			else
			startRollMessage2("Inventory", "Você não tem Scrap Metal!", 255, 22, 0 )
			end
			else
			startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
			end
			disableMenu()
			return
			end
		if itemName == "object" then
			showInventory("j","down")
			return
		end
		if itemName == "receiver" then
		if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
			if (getElementData(getLocalPlayer(),"Radio Device") or 0) > 0 then 
			local col = getElementData(getLocalPlayer(),"currentCol")
			setElementData(col,"receiver",1)
			setElementData(getLocalPlayer(),"Radio Device",(getElementData(getLocalPlayer(),"Radio Device") or 0)-1)
			startRollMessage2("Inventory", "Você colocou Rádio Device no Veículo!", 22, 255, 0 )
			setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
			playSound("sounds/Repair.mp3")
			else
			startRollMessage2("Inventory", "Você não tem Radio Device!", 255, 22, 0 )
			end
			else
			startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
			end
			disableMenu()
			return
			end
		if itemName == "FuelOne" then
if (getElementData(getLocalPlayer(),"Full Gas Canister") or 0) >= 1 then
local col = getElementData(getLocalPlayer(),"currentCol")
if getElementData(col,"fuel")+20 < getVehicleMaxFuel(col) then
addingfuel = 20
elseif getElementData(col,"fuel")+20 > getVehicleMaxFuel(col)+15 then
triggerEvent ("displayClientInfo", getLocalPlayer(),"Vehicle","Tanque Cheio!",255,22,0)
disableMenu()
return
else
addingfuel = getVehicleMaxFuel(col)-getElementData(col,"fuel")
end
if (getElementData(col,"Parts_inVehicle") or 0) < 1 then
addingfuel = addingfuel/3
triggerEvent ("displayClientInfo", getLocalPlayer(),"Vehicle","Resultante do transporte de gasolina!",22,255,0)
end
setElementData(getLocalPlayer(),"Full Gas Canister",getElementData(getLocalPlayer(),"Full Gas Canister")-1)
setElementData(getLocalPlayer(),"Empty Gas Canister",(getElementData(getLocalPlayer(),"Empty Gas Canister") or 0)+1)
setElementData(col,"fuel",getElementData(col,"fuel")+addingfuel)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
triggerEvent ("displayClientInfo", getLocalPlayer(),"Vehicle","Você encheu "..addingfuel.." L!",22,255,0)
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Refuel.mp3")
else
startRollMessage2("Inventory", "Você não tem Full Gas Canister!", 255, 22, 0 )
end
disableMenu()
return
end

if itemName == "FuelTwo" then
if (getElementData(getLocalPlayer(),"Empty Gas Canister") or 0) >= 1 then
if (getElementData(getLocalPlayer(),"Hose") or 0) >= 1 then
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(getLocalPlayer(),"Full Gas Canister",getElementData(getLocalPlayer(),"Full Gas Canister")+1)
setElementData(getLocalPlayer(),"Empty Gas Canister",(getElementData(getLocalPlayer(),"Empty Gas Canister") or 0)-1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
setElementData(col,"fuel",getElementData(col,"fuel")-20)
triggerEvent ("displayClientInfo", getLocalPlayer(),"Vehicle","Você retirou 20L do Veículo!",22,255,0)
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Refuel.mp3")
else
startRollMessage2("Inventory", "Você não tem Hose!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Empty Gas Canister!", 255, 22, 0 )
end
disableMenu()
return
end

if itemName == "TireOne" then
if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
if (getElementData(getLocalPlayer(),"Tire") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"Tire_inVehicle",(getElementData(col,"Tire_inVehicle") or 0)+1)
setElementData(getLocalPlayer(),"Tire",(getElementData(getLocalPlayer(),"Tire") or 0)-1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você colocou um Tire!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Tire!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end

if itemName == "TireTwo" then
if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
local col = getElementData(getLocalPlayer(),"currentCol")
if (getElementData(col,"Tire_inVehicle") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"Tire_inVehicle",(getElementData(col,"Tire_inVehicle") or 0)-1)
setElementData(getLocalPlayer(),"Tire",(getElementData(getLocalPlayer(),"Tire") or 0)+1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você removeu um Tire!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Tire!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end

if itemName == "EngineOne" then
if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
if (getElementData(getLocalPlayer(),"Engine") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"Engine_inVehicle",(getElementData(col,"Engine_inVehicle") or 0)+1)
setElementData(getLocalPlayer(),"Engine",(getElementData(getLocalPlayer(),"Engine") or 0)-1)
---triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você colocu um Engine!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Engine!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end


--- steel sheet 

if itemName == "setListStale" then
if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
if (getElementData(getLocalPlayer(),"Steel Sheet") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"armorPoints",getElementData(col,"armorPoints") + 100)
setElementData(getLocalPlayer(),"Steel Sheet",(getElementData(getLocalPlayer(),"Steel Sheet") or 0)-1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você adicionou Steel Sheet!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Steel Sheet!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end

if itemName == "EngineTwo" then
if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
local col = getElementData(getLocalPlayer(),"currentCol")
if (getElementData(col,"Engine_inVehicle") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"Engine_inVehicle",(getElementData(col,"Engine_inVehicle") or 0)-1)
setElementData(getLocalPlayer(),"Engine",(getElementData(getLocalPlayer(),"Engine") or 0)+1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você removeu um Engine!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Engine!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end

if itemName == "PartsOne" then
     if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
if (getElementData(getLocalPlayer(),"Tank Parts") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"Parts_inVehicle",(getElementData(col,"Parts_inVehicle") or 0)+1)
setElementData(getLocalPlayer(),"Tank Parts",(getElementData(getLocalPlayer(),"Tank Parts") or 0)-1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você colocou um Tank Parts!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Tank Parts!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end
if itemName == "PartsTwo" then
if getElementData(getLocalPlayer(),"Toolbox") >= 1 then
local col = getElementData(getLocalPlayer(),"currentCol")
if (getElementData(col,"Parts_inVehicle") or 0) > 0 then 
local col = getElementData(getLocalPlayer(),"currentCol")
setElementData(col,"Parts_inVehicle",(getElementData(col,"Parts_inVehicle") or 0)-1)
setElementData(getLocalPlayer(),"Tank Parts",(getElementData(getLocalPlayer(),"Tank Parts") or 0)+1)
--triggerServerEvent("AnimAddFuel", getLocalPlayer(), getLocalPlayer())
startRollMessage2("Inventory", "Você removeu um Tank Parts!", 22, 255, 0 )
setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
playSound("sounds/Repair.mp3")
else
startRollMessage2("Inventory", "Você não tem Tank Parts!", 255, 22, 0 )
end
else
startRollMessage2("Inventory", "Você não tem Toolbox!", 255, 22, 0 )
end
disableMenu()
return
end

		if itemName == "tent" then
 local screenW, screenH = guiGetScreenSize()
 showCursor(true)
 disableMenu()
 tentGuiConfirm = guiCreateWindow((screenW - 254) / 2, (screenH - 147) / 2, 254, 147, "Tent", false)
 guiWindowSetMovable(tentGuiConfirm, false)
 guiWindowSetSizable(tentGuiConfirm, false)
 tentLabelConfirm = guiCreateLabel(23, 34, 207, 15, "Deseja realmente remover a tenda?", false, tentGuiConfirm)
 guiSetFont(tentLabelConfirm, "default-bold-small")
 tentYesConfirm = guiCreateButton(23, 64, 81, 51, "Remover", false, tentGuiConfirm)
 tentCancelConfirm = guiCreateButton(149, 64, 81, 51, "Cancelar", false, tentGuiConfirm)    
 
 addEventHandler("onClientGUIClick",tentYesConfirm,
 function ()
 local col = getElementData(getLocalPlayer(),"currentCol")
 showCursor(false)
 guiSetVisible(tentGuiConfirm, false)
 triggerServerEvent("removeTent",getLocalPlayer(),getElementData(col,"parent"))
 setSoundMaxDistance(playSound3D("sounds/DesmontarTenda.mp3",x,y,z),15)
 end, false)
 addEventHandler("onClientGUIClick",tentCancelConfirm,
 function ()
 showCursor(false)
 guiSetVisible(tentGuiConfirm, false)
 end, false)
 return
 end
		if itemName == "fireplace" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("addPlayerCookMeat",getLocalPlayer())
			disableMenu()
			return
		end
		if itemName == "bandage" then
			local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerGiveMedicObject",getLocalPlayer(),itemName,getElementData(col,"parent"))
				disableMenu()
			return
		end
		if itemName == "giveblood" then
			local col = getElementData(getLocalPlayer(),"currentCol")
				triggerServerEvent("onPlayerGiveMedicObject",getLocalPlayer(),itemName,getElementData(col,"parent"))
				disableMenu()
			return
		end
		if itemName == "dead" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			local gearName = "Search"
			refreshLoot(col,gearName)
			showInventoryManual()
			return
		end
		if itemName == "deadreason" then
			local col = getElementData(getLocalPlayer(),"currentCol")
			outputChatBox(getElementData(col,"deadreason"),244,244,244,true)
			return
		end
		if itemName == "patrolstation" then
			local col = getElementData(getLocalPlayer(),"currentCol")
				setPedAnimation (getLocalPlayer(),"BOMBER","BOM_Plant", -1,false,false,false,false)
				setElementData(getLocalPlayer(),"Empty Gas Canister",getElementData(getLocalPlayer(),"Empty Gas Canister")-1)
				setTimer ( function()
					setElementData(getLocalPlayer(),"Full Gas Canister",(getElementData(getLocalPlayer(),"Full Gas Canister") or 0)+1)
					triggerEvent ("displayClientInfo",getLocalPlayer(),"patrolstation","Você encheu um Empty Gas Canister!",0,255,0)
				end, 5000, 1 )
				playSound("sounds/Refill.mp3")
				disableMenu()
			return
		end
		if isToolbeltItem(itemName) then
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("onPlayerTakeItemFromGround",getLocalPlayer(),itemName,col)
			disableMenu()
			return
		end
		if getPlayerCurrentSlots() + getItemSlots(itemName) <= getPlayerMaxAviableSlots() then
			local col = getElementData(getLocalPlayer(),"currentCol")
			triggerServerEvent("onPlayerTakeItemFromGround",getLocalPlayer(),itemName,col)
			disableMenu()
		else
			startRollMessage2("Inventory", "Inventory Full!", 255, 0, 0 )
		end
	end
end
bindKey ( "mouse3", "down", onPlayerPressMiddleMouse )
bindKey ( "-", "down", onPlayerPressMiddleMouse )

function getMenuMarkedItem()
    for i,guiItem in ipairs(spalteGuiText) do
        if getElementData(guiItem,"markedMenuItem") then
            return getElementData(guiItem,"usedItem")
        end
    end
end

function getMenuMarkedItem()
	for id, value in pairs(theTableMenuScroll) do
		if id == numberMenuScroll then
			return value[5]
		end
	end
end

 

Edited by Lukkas2201
Link to comment

Oi, bom maninho, pelo que percebi você pegou essa GM pronta e esta modificando, eu te aconselho a pegar uma padrão sem nem uma modificação e começar a mexer, dai você vai saber o que estiver fazendo aconselho você comentar cada coisa que fazer e testar na hora, se ocorrer bug você vai saber aonde você fez cagada e ira saber voltar e pedir ajuda, assim vai ser bem difícil ajudar, espero ter ajudado.

Caso queira uma GM padrão você pode optar por usar essa:

http://www.mediafire.com/file/jo1opy3h50m8h9c/MTADayZ+a0.5.5.zip

Senha: AdrianMallmann

Essa é a que menos tem bug e a mais fácil de mexer.

Link to comment
1 hour ago, OverKILL said:

Oi, bom maninho, pelo que percebi você pegou essa GM pronta e esta modificando, eu te aconselho a pegar uma padrão sem nem uma modificação e começar a mexer, dai você vai saber o que estiver fazendo aconselho você comentar cada coisa que fazer e testar na hora, se ocorrer bug você vai saber aonde você fez cagada e ira saber voltar e pedir ajuda, assim vai ser bem difícil ajudar, espero ter ajudado.

Caso queira uma GM padrão você pode optar por usar essa:

http://www.mediafire.com/file/jo1opy3h50m8h9c/MTADayZ+a0.5.5.zip

Senha: AdrianMallmann

Essa é a que menos tem bug e a mais fácil de mexer.

então mano, praticamente oque falta é so esse bug, o resto consegui resolver a maioria, essa gm adiquiri ano passado, e ja corrigi MUITOS bugs nela, sei onde tem a maioria das funcoes, porem esse bug surgiu recentemente, por iso ainda nao consegui saber oque é, pra mim nao compensa refazer desde o 0, tem MUITA coisa na minha Gm ja, mas o bug q mais atrapalha e oq falta so praticamente é esse :/

Link to comment

Você fez algo que começou ocorrer isso, ou o antigo dono fez, teria que depurar todo o código pra saber, até por que o debugscript 3 não indica nada né? ou você não checou? ativa o /debugscript 3 e tenta dropar item ou pegar da tenda pra ver se o bug acontece e envia algum erro no chat, você tem que testar essas coisas.

Link to comment
7 hours ago, OverKILL said:

Você fez algo que começou ocorrer isso, ou o antigo dono fez, teria que depurar todo o código pra saber, até por que o debugscript 3 não indica nada né? ou você não checou? ativa o /debugscript 3 e tenta dropar item ou pegar da tenda pra ver se o bug acontece e envia algum erro no chat, você tem que testar essas coisas.

pra depurar é so meter um outputDebugString com varias mensagens pra eu saber qual o erro atraves da mensagem que eu coloquei no debugstring ne? vou fazer isso

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...