Lukkas2201 Posted October 31, 2018 Share Posted October 31, 2018 Olá, mais uma vez estou aqui pedindo a ajuda de vcs, vcs estão me ajudando bastante e agradeço muito. dessa vez o erro vai para o meu inventário, o que acontece, algumas vezes quando o jogador vai pegar um item no inventário, ele clica na seta para pegar, porém o item não vai para o inventário, ele fica só no loot, ai tem que ficar saindo e entrando no gear para poder voltar ao normal, (não é toda vez que acontece, mas quando acontece atrapalha bastante) e também quando estou colocando itens na tenda, eu coloco alguns itens na tenda, e depois começa ir para o chão, como se não tivesse tenda ali, oque poderia ser? meu inventory.lua -----------S1L3NC3 inventoryItems = { ["Primary Weapon"] = {}, ["Secondary Weapon"] = {}, ["Specially Weapon"] = {}, ["Ammo"] = {}, ["Food"] = { {"Canned Spaghetti (Fechado)",1}, {"Canned Spaghetti (Aberto)",1}, {"Canned Baked Beans (Fechado)",1}, {"Canned Baked Beans (Aberto)",1}, {"Canned Sardines (Fechado)",1}, {"Canned Sardines (Aberto)",1}, {"Can of Tactical Bacon (Fechado)",1}, {"Can of Tactical Bacon (Aberto)",1}, {"Water Bottle",1}, {"Burger",1}, {"Pizza",1}, {"Soda Bottle",1}, {"Milk",1}, {"Cooked Meat",1}, {"Raw Meat",1}, }, ["Medic"] = { {"Antibiotics",1,"Usar"}, {"Bandage",1,"Usar"}, {"Medic Kit",2,"Usar"}, {"Heat Pack",1,"Usar"}, {"Painkiller",1,"Usar"}, {"Blood Bag",1,"Usar"}, {"Morphine",1,"Usar"}, }, ["VehicleParts"] = { {"Engine",5}, {"Tire",2}, {"Tank Parts",3}, {"Scrap Metal",1}, {"Steel Sheet",1}, {"Empty Gas Canister",2}, {"Full Gas Canister",2}, }, ["Items"] = { {"Stinger",3,"Place Stinger"}, {"Wood Pile",2}, {"Roadflare",1,"Place"}, {"Wire Fence",1,"Colocar Wire Fence"}, {"Tent",3,"Pitch a Tent"}, {"Empty Water Bottle",1}, {"Empty Soda Cans",1}, }, ["Roupas"] = { }, ["Mochilas"] = { }, ["Toolbelt"] = { {"Night Vision Goggles",0}, {"Infrared Goggles",0}, {"Map",0}, {"Box of Matches",0,"Make a Fire"}, {"Watch",0}, {"GPS",0,"Set wave"}, {"Toolbox",0}, {"Radio Device",0}, {"Syringe",0}, {"Opener",0}, {"Hose",0}, {"Tire Repair Kit",0}, {"Compass",0}, }} for i,weaponData in pairs(weaponTable)do if weaponData[5] == 1 then table.insert(inventoryItems["Primary Weapon"],{weaponData[1],3,weaponData[2],2,weaponData[11]}) elseif weaponData[5] == 2 then if weaponData[2] == "others" then table.insert(inventoryItems["Secondary Weapon"],{weaponData[1],2,weaponData[1],2,weaponData[11]}) else table.insert(inventoryItems["Secondary Weapon"],{weaponData[1],2,weaponData[2],2,weaponData[11]}) end elseif weaponData[5] == 3 then table.insert(inventoryItems["Specially Weapon"],{weaponData[1],1,weaponData[1],1,weaponData[11]}) end if weaponData[2] ~= "others" then add = true for i,weaponData2 in pairs(inventoryItems["Ammo"])do if weaponData[2] == weaponData2[1] then add = false inventoryItems["Ammo"][i][5] = inventoryItems["Ammo"][i][5]..";\n"..weaponData[1] end end if add then table.insert(inventoryItems["Ammo"],{weaponData[2],weaponData[8],"",1,"Munição para:\n"..weaponData[1]}) end end end for i,vestData in pairs(VestsTable)do table.insert(inventoryItems["Roupas"],{vestData[1],1,"Usar Colete",1,vestData[7]}) end for i,helmetData in pairs(HelmetsTable)do table.insert(inventoryItems["Roupas"],{helmetData[1],1,"Usar Capacete",1,helmetData[7]}) end for i,bpData in pairs(BackpacksTable)do table.insert(inventoryItems["Mochilas"],{bpData[1],1,"Vestir Mochila",1,"Mochila com "..bpData[2].." Slots"}) end ------------------------------------------------------------------------------ --INVENTORY local headline = {} local fontnamesv = guiCreateFont("font.ttf", 50) pname = getPlayerName(getLocalPlayer()):gsub('#%x%x%x%x%x%x',''):gsub('#%x%x%x%x%x%x','') inv_window = guiCreateWindow(0.15, 0.28, 0.72, 0.63,pname.."' Inventory", true) guiWindowSetSizable(inv_window, false) guiSetVisible(inv_window,false) InvImage = guiCreateStaticImage(0.01,0.03,1.99,100,"images/inventory.png",true,inv_window) guiSetAlpha(InvImage,1) guiSetProperty(InvImage,"Disabled","true") InventoryLabel = guiCreateLabel(0.58, 0.05, 0.39, 0.03, "Inventory", true, inv_window) guiSetFont(InventoryLabel, "default-bold-small") guiLabelSetHorizontalAlign(InventoryLabel, "center", false) LootLabel = guiCreateLabel(0.03, 0.05, 0.39, 0.03, "Gear", true, inv_window) guiSetFont(LootLabel, "default-bold-small") guiLabelSetHorizontalAlign(LootLabel, "center", false) loot_grid = guiCreateGridList(0.03, 0.10, 0.39, 0.83, true, inv_window) guiGridListSetSortingEnabled(loot_grid,false) loot_lootcolumn = guiGridListAddColumn(loot_grid,"Loot",0.7) loot_amountcolumn = guiGridListAddColumn(loot_grid,"Amount",0.2) inv_itemsgrid = guiCreateGridList(0.58, 0.11, 0.39, 0.83, true, inv_window) guiGridListSetSortingEnabled(inv_itemsgrid,false) inv_itemscolumn = guiGridListAddColumn(inv_itemsgrid,"Inventory",0.7) inv_amountcolumn = guiGridListAddColumn(inv_itemsgrid,"Amount",0.2) loot_takebutton = guiCreateButton(0.42, 0.19, 0.04, 0.63, "->", true, inv_window) guiSetFont(loot_takebutton, "default-bold-small") inv_dropbutton = guiCreateButton(0.54, 0.19, 0.04, 0.63, "<-", true, inv_window) guiSetFont(inv_dropbutton, "default-bold-small") inv_slotslabel = guiCreateLabel(0.62, 0.94, 0.29, 0.04, "Slots:", true, inv_window) guiSetFont(inv_slotslabel, "default-bold-small") guiLabelSetHorizontalAlign(inv_slotslabel, "center", false) guiLabelSetVerticalAlign(inv_slotslabel, "center") loot_amountlabel = guiCreateLabel(0.07, 0.94, 0.29, 0.04, "Empty", true, inv_window) guiSetFont(loot_amountlabel, "default-bold-small") guiLabelSetHorizontalAlign(loot_amountlabel, "center", false) guiLabelSetVerticalAlign(loot_amountlabel, "center") inv_takeammo = guiCreateButton(0.42, 0.10, 0.04, 0.09, "Take\nAmmo", true,inv_window) guiSetAlpha(inv_takeammo, 0.63) guiSetFont(inv_takeammo, "default-bold-small") guiSetProperty(inv_takeammo, "NormalTextColour", "FF000000") inv_takeall = guiCreateButton(0.42, 0.82, 0.04, 0.09, ">>", true,inv_window) guiSetAlpha(inv_takeall, 0.63) guiSetFont(inv_takeall, "default-bold-small") guiSetProperty(inv_takeall, "NormalTextColour", "FF000000") --[[inv_dropall = guiCreateButton(0.54, 0.82, 0.04, 0.09, "<<", true,inv_window) guiSetAlpha(inv_dropall, 0.63) guiSetFont(inv_dropall, "default-bold-small") guiSetProperty(inv_dropall, "NormalTextColour", "FF000000")]] HideGear = guiCreateCheckBox(0.03,0.05,0.11,0.04,"Hide Gear",true,true,inv_window) guiSetFont(HideGear,"default-bold-small") function showInventory(key,keyState) hideRightClickInventoryMenu() local col = getElementData(getLocalPlayer(),"currentCol") local gearName = getElementData(getLocalPlayer(),"lootname") refreshLoot(col,gearName) if getElementData(getLocalPlayer(),"logedin") and keyState == "down" then if guiGetVisible(inv_window) then guiSetVisible(inv_window,false) showCursor(false) else guiSetVisible(inv_window,true) showCursor(true) playSound("sounds/Inventory.mp3") 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() if guiGetVisible(inv_window)== true then onClientOpenInventoryStopMenu() end end end bindKey("tab","down",showInventory) addEventHandler("onClientGUIClick",HideGear,function() col = isPlayerInLoot() if col then if guiCheckBoxGetSelected(HideGear) then setElementData(col,"visible",false) else setElementData(col,"visible",true) end end end) addEventHandler("onClientGUIClick",HideGear,function() col = isPlayerInLoot() if col then if guiCheckBoxGetSelected(HideGear) then setElementData(col,"visible",false) else setElementData(col,"visible",true) end end end) function Debugg() setElementData(getLocalPlayer(),"loot",false) end addEventHandler("onClientPlayerVehicleEnter",getRootElement(),Debugg) function hideInventoryManual() guiSetVisible(inv_window,false) showCursor(false) hideRightClickInventoryMenu() end addEvent("hideInventoryManual",true) addEventHandler("hideInventoryManual",getLocalPlayer(),hideInventoryManual) function refreshInventoryManual() refreshInventory() end addEvent("refreshInventoryManual",true) addEventHandler("refreshInventoryManual",getLocalPlayer(),refreshInventoryManual) function refreshLootManual(loot) refreshLoot(loot) end addEvent("refreshLootManual",true) addEventHandler("refreshLootManual",getLocalPlayer(),refreshLootManual) addEventHandler("onClientGUIClick",inv_takeammo,function() if isPlayerInLoot() and loot_lootcolumn then local countItem = guiGridListGetRowCount(loot_grid) for i = 0, countItem do local itemName = guiGridListGetItemText(loot_grid,i,1) for id, item in ipairs(inventoryItems["Ammo"]) do if itemName == item[1] and getElementData(isPlayerInLoot(),itemName) > 0 and not isToolbeltItem(itemName) then if getPlayerCurrentSlots() + getItemSlots(itemName) <= getPlayerMaxAviableSlots() then local numbers = getElementData(isPlayerInLoot(),itemName) for i = 1, numbers do if getPlayerCurrentSlots() + getItemSlots(itemName) <= getPlayerMaxAviableSlots() then triggerEvent("onPlayerMoveItemInInventory",getLocalPlayer(),itemName,isPlayerInLoot()) else startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) setTimer(refreshInventory,100,1) return end end refreshButtonLoot() else startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) setTimer(refreshInventory,100,1) return end end end end end refreshButtonLoot() end,false) addEventHandler("onClientGUIClick",inv_takeall,function() local itemName = guiGridListGetItemText(loot_grid,guiGridListGetSelectedItem(loot_grid),1) if isPlayerInLoot() then if getElementData(isPlayerInLoot(),itemName) and getElementData(isPlayerInLoot(),itemName) >= 1 and not isToolbeltItem(itemName) then if getPlayerCurrentSlots() + getItemSlots(itemName) <= getPlayerMaxAviableSlots() then local numbers = getElementData(isPlayerInLoot(),itemName) for i = 1, numbers do if getPlayerCurrentSlots() + getItemSlots(itemName) <= getPlayerMaxAviableSlots() then triggerEvent("onPlayerMoveItemInInventory",getLocalPlayer(),itemName,isPlayerInLoot()) else startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) return end refreshButtonLoot() end else startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) return end end refreshButtonLoot() end end) function refreshButtonLoot() if isPlayerInLoot() then local gearName = guiGetText(LootLabel) local col = getElementData(getLocalPlayer(),"currentCol") setTimer(refreshInventory,100,1) setTimer(refreshLoot,100,1,col,gearName) end end addEventHandler("onClientGUIClick",inv_dropall,function() if playerMovedInInventory then startRollMessage2("Inventory", "", 255, 22, 0 ) return end local itemName = guiGridListGetItemText(inv_itemsgrid,guiGridListGetSelectedItem(inv_itemsgrid),1) if getElementData(getLocalPlayer(),itemName) and getElementData(getLocalPlayer(),itemName) >= 1 then if isPlayerInLoot() then local isVehicle = getElementData(isPlayerInLoot(),"vehicle") local isTent = getElementData(isPlayerInLoot(),"tent") if isVehicle and not isTent then if isToolbeltItem(itemName) then local numbers = getElementData(isPlayerInLoot(),itemName) for i = 1, numbers do if getElementData(getLocalPlayer(),itemName) < 1 then return end if getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol")) + getItemSlots(itemName) > getLootMaxAviableSlots(isPlayerInLoot()) then startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) return end triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end elseif getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol")) + getItemSlots(itemName) <= getLootMaxAviableSlots(isPlayerInLoot()) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end elseif isToolbeltItem(itemName) then local numbers = getElementData(isPlayerInLoot(),itemName) for i = 1, numbers do if getElementData(getLocalPlayer(),itemName) < 1 then return end if getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol")) + getItemSlots(itemName) > getLootMaxAviableSlots(isPlayerInLoot()) then startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) return end triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end elseif getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol")) + getItemSlots(itemName) <= getLootMaxAviableSlots(isPlayerInLoot()) then local numbers = getElementData(isPlayerInLoot(),itemName) for i = 1, numbers do if getElementData(getLocalPlayer(),itemName) < 1 then return end if getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol")) + getItemSlots(itemName) > getLootMaxAviableSlots(isPlayerInLoot()) then startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) return end triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end else startRollMessage2("Inventory", "Inventario Cheio!", 255, 22, 0 ) return end else local numbers = getElementData(getLocalPlayer(),itemName) for i = 1, numbers do if getElementData(getLocalPlayer(),itemName) < 1 then return end triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end end end local gearName = guiGetText(LootLabel) local col = getElementData(getLocalPlayer(),"currentCol") setTimer(refreshInventory,100,1) if isPlayerInLoot() then setTimer(refreshLoot,100,1,col,gearName) end end) function refreshInventory() if(inv_itemscolumn) then row1,column1 = guiGridListGetSelectedItem(inv_itemsgrid) guiGridListClear(inv_itemsgrid) local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Armas Primárias",true,false) for id,item in ipairs(inventoryItems["Primary Weapon"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) if getElementData(getLocalPlayer(),"currentweapon_1") and item[1] == getElementData(getLocalPlayer(),"currentweapon_1") then guiGridListSetItemColor ( inv_itemsgrid, row, inv_itemscolumn,255, 0, 0) guiGridListSetItemColor ( inv_itemsgrid, row, inv_amountcolumn,255, 0, 0) end end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Armas Secundárias",true,false) for id,item in ipairs(inventoryItems["Secondary Weapon"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) if getElementData(getLocalPlayer(),"currentweapon_2") and item[1] == getElementData(getLocalPlayer(),"currentweapon_2") then guiGridListSetItemColor ( inv_itemsgrid, row, inv_itemscolumn,255, 0, 0) guiGridListSetItemColor ( inv_itemsgrid, row, inv_amountcolumn,255, 0, 0) end end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Armas Especiais",true,false) for id,item in ipairs(inventoryItems["Specially Weapon"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) if getElementData(getLocalPlayer(),"currentweapon_3") and item[1] == getElementData(getLocalPlayer(),"currentweapon_3") then guiGridListSetItemColor ( inv_itemsgrid, row, inv_itemscolumn,255, 0, 0) guiGridListSetItemColor ( inv_itemsgrid, row, inv_amountcolumn,255, 0, 0) end end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Munição",true,false) for id,item in ipairs(inventoryItems["Ammo"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Comida e Bebida",true,false) for id,item in ipairs(inventoryItems["Food"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Suprimentos Médicos",true,false) for id,item in ipairs(inventoryItems["Medic"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Peças de Veículos",true,false) for id,item in ipairs(inventoryItems["VehicleParts"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Itens",true,false) for id,item in ipairs(inventoryItems["Items"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) end end end ----- Mochilas e Capacete local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Roupas",true,false) for id,item in ipairs(inventoryItems["Roupas"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) if getActiveVest(getLocalPlayer()) == item[1] then guiGridListSetItemColor(inv_itemsgrid,row,inv_itemscolumn,255, 0, 0) guiGridListSetItemColor(inv_itemsgrid,row,inv_amountcolumn,255, 0, 0) end if getActiveHelmet(getLocalPlayer()) == item[1] then guiGridListSetItemColor(inv_itemsgrid,row,inv_itemscolumn,255, 0, 0) guiGridListSetItemColor(inv_itemsgrid,row,inv_amountcolumn,255, 0, 0) end end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Mochilas",true,false) for id,item in ipairs(inventoryItems["Mochilas"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) for i=1,#BackpacksTable do if item[1] == BackpacksTable[i][1] then if BackpacksTable[i][2] == getElementData(getLocalPlayer(),"MAX_Slots") then guiGridListSetItemColor(inv_itemsgrid,row,inv_itemscolumn,255, 0, 0) guiGridListSetItemColor(inv_itemsgrid,row,inv_amountcolumn,255, 0, 0) end end end end end local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,"- Ferramentas",true,false) for id,item in ipairs(inventoryItems["Toolbelt"])do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then local row = guiGridListAddRow(inv_itemsgrid) guiGridListSetItemText(inv_itemsgrid,row,inv_itemscolumn,item[1],false,false) guiGridListSetItemText(inv_itemsgrid,row,inv_amountcolumn,getElementData(getLocalPlayer(),item[1]),false,false) end end if row1 and column1 then guiGridListSetSelectedItem(inv_itemsgrid,row1,column1) end vestSlots = getActiveVestSlots(getLocalPlayer()) if vestSlots then guiSetText(inv_slotslabel,"Slots: "..getPlayerCurrentSlots()+vestSlots.."/"..getPlayerMaxAviableSlots().." + "..vestSlots) else guiSetText(inv_slotslabel,"Slots: "..getPlayerCurrentSlots().."/"..getPlayerMaxAviableSlots()) end end function refreshLoot(loot,gearName) if loot == false then guiGridListClear(loot_grid) guiSetText(loot_amountlabel,"Empty") guiSetText(LootLabel,"Gear") return end if(loot_lootcolumn) then row2,column2 = guiGridListGetSelectedItem(loot_grid) guiGridListClear(loot_grid) if gearName then guiSetText(LootLabel,gearName) end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Armas Primárias",true,false) for id,item in ipairs(inventoryItems["Primary Weapon"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Armas Secundárias",true,false) for id,item in ipairs(inventoryItems["Secondary Weapon"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Armas Especiais",true,false) for id,item in ipairs(inventoryItems["Specially Weapon"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Munição",true,false) for id,item in ipairs(inventoryItems["Ammo"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Comida e Bebida",true,false) for id,item in ipairs(inventoryItems["Food"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Suprimentos Médicos",true,false) for id,item in ipairs(inventoryItems["Medic"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Peças de Veículos",true,false) for id,item in ipairs(inventoryItems["VehicleParts"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Itens",true,false) for id,item in ipairs(inventoryItems["Items"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Roupas",true,false) for id,item in ipairs(inventoryItems["Roupas"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Mochilas",true,false) for id,item in ipairs(inventoryItems["Mochilas"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,"- Ferramentas",true,false) for id,item in ipairs(inventoryItems["Toolbelt"])do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then local row = guiGridListAddRow(loot_grid) guiGridListSetItemText(loot_grid,row,loot_lootcolumn,item[1],false,false) guiGridListSetItemText(loot_grid,row,loot_amountcolumn,getElementData(loot,item[1]),false,false) end end if row2 and column2 then guiGridListSetSelectedItem(loot_grid,row2,column2) end guiSetText(loot_amountlabel,"Slots: "..getLootCurrentSlots(loot).."/"..(getLootMaxAviableSlots(loot)or 0)) end end function getPlayerMaxAviableSlots() return getElementData(getLocalPlayer(),"MAX_Slots") end function getLootMaxAviableSlots(loot) return getElementData(loot,"MAX_Slots") end function getPlayerCurrentSlots() local current_SLOTS = 0 for _,category in pairs(inventoryItems)do for id,item in pairs(category)do if getElementData(getLocalPlayer(),item[1]) and getElementData(getLocalPlayer(),item[1])>= 1 then current_SLOTS = current_SLOTS + item[2]*getElementData(getLocalPlayer(),item[1]) end end end if getActiveVest(getLocalPlayer()) then current_SLOTS = current_SLOTS - getActiveVestSlots(getLocalPlayer()) end if isWeaponEquiped(1) then current_SLOTS = current_SLOTS - 3 end if isWeaponEquiped(2) then current_SLOTS = current_SLOTS - 2 end if isWeaponEquiped(3) then current_SLOTS = current_SLOTS - 1 end if isWeaponEquiped(4) then current_SLOTS = current_SLOTS - 2 end return math.floor(current_SLOTS) end function getLootCurrentSlots(loot) local current_SLOTS = 0 for _,category in pairs(inventoryItems)do for id,item in pairs(category)do if getElementData(loot,item[1]) and getElementData(loot,item[1])>= 1 then current_SLOTS = current_SLOTS + item[2]*getElementData(loot,item[1]) end end end return math.floor(current_SLOTS) end function getItemSlots(ItemName) for _,category in pairs(inventoryItems)do for id,item in pairs(category)do if ItemName == item[1] then return item[2] end end end return false end function isToolbeltItem(ItemName) for id,item in ipairs(inventoryItems["Toolbelt"])do if ItemName == item[1] then return true end end return false end function getItemInfo(ItemName) for _,category in pairs(inventoryItems)do for id,item in pairs(category)do if ItemName == item[1] then return item[5] end end end return false end function onPlayerMoveItemOutOfInventory() if source == inv_dropbutton then if getElementData(getLocalPlayer(),"CantUseInv") then stateCounter = getElementData(getLocalPlayer(),"PingCounter") if not stateCounter then stateCounter = 0 end setElementData(getLocalPlayer(),"PingCounter",stateCounter + 1) end if playerMovedInInventory then startRollMessage2("Inventory","Abusing exploits will result in a ban!",255,22,0)return end local itemName = guiGridListGetItemText(inv_itemsgrid,guiGridListGetSelectedItem(inv_itemsgrid),1) if getElementData(getLocalPlayer(),itemName) and getElementData(getLocalPlayer(),itemName)>= 1 then if isPlayerInLoot() then local isVehicle = getElementData(isPlayerInLoot(),"vehicle") local isTent = getElementData(isPlayerInLoot(),"tent") if isVehicle and not isTent then local veh = getElementData(isPlayerInLoot(),"parent") engine,tires,parts,rotor,glass,slots,fuel,fuelpm = getVehicleAddonInfos(getElementModel(veh)) if itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Tire_inVehicle")or 0)< tires or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Engine_inVehicle")or 0) < engine or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Rotor_inVehicle")or 0) < rotor or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Glass_inVehicle")or 0) < glass or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Parts_inVehicle")or 0) < parts then if itemName == "Tank Parts" then itemName = "Parts" end triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName.."_inVehicle",isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) elseif isToolbeltItem(itemName) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) elseif getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol"))+ getItemSlots(itemName)<= getLootMaxAviableSlots(isPlayerInLoot()) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) else startRollMessage2("Inventory","Inventário cheio!",255,22,0) return end elseif isToolbeltItem(itemName) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) elseif getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol"))+ getItemSlots(itemName)<= getLootMaxAviableSlots(isPlayerInLoot()) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) else startRollMessage2("Inventory","Inventário cheio!",255,22,0) return end else triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) end end local gearName = guiGetText(LootLabel) local col = getElementData(getLocalPlayer(),"currentCol") setTimer(refreshInventory,200,2) if isPlayerInLoot() then setTimer(refreshLoot,200,2,col,gearName) end end end addEventHandler("onClientGUIClick",inv_dropbutton,onPlayerMoveItemOutOfInventory) function onPlayerMoveItemOutOFInventory(itemName,loot) keyState = getKeyState("lalt") itemPlus = getAmmoPlus(itemName) for i,weaponData in pairs(weaponTable)do if weaponData[1] == itemName then triggerServerEvent("removeBackWeaponOnDrop",getLocalPlayer()) end end if loot and not getElementData(loot,"itemloot") and getElementType(getElementData(loot,"parent"))== "vehicle" and itemName == "BUGADO" then engine,tires,parts,rotor,glass,slots,fuel,fuelpm = getVehicleAddonInfos(getElementModel(getElementData(loot,"parent"))) if getElementData(loot,"fuel")+ 20 < fuel then addingfuel = 20 elseif getElementData(loot,"fuel")+ 20 > fuel + 15 then triggerEvent("displayClientInfo",getLocalPlayer(),"Vehicle","O tanque de combustivel está 100% cheio",255,22,0) return else addingfuel = fuel - getElementData(loot,"fuel") end setElementData(loot,"fuel",getElementData(loot,"fuel")+ addingfuel) setElementData(getLocalPlayer(),itemName,getElementData(getLocalPlayer(),itemName)- itemPlus) setElementData(getLocalPlayer(),"BUGADO",(getElementData(getLocalPlayer(),"BUGADO")or 0)+ itemPlus) triggerEvent("displayClientInfo",getLocalPlayer(),"Vehicle","Você abasteceu alguns litros de combustivel no veículo!",22,255,0) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/Refuel.mp3",x,y,z),15) return end if getActiveVest(getLocalPlayer()) == itemName and getElementData(getLocalPlayer(),itemName) == 1 then startRollMessage2("Inventory","You can't drop your current vest!",255,22,0) return end if getActiveHelmet(getLocalPlayer()) == itemName and getElementData(getLocalPlayer(),itemName) == 1 then startRollMessage2("Inventory","You can't drop your current helmet!",255,22,0) return end if (getElementData(getLocalPlayer(),"wearingBackpack") == itemName) and (getElementData(getLocalPlayer(),getElementData(getLocalPlayer(),"wearingBackpack")) == 1) then startRollMessage2("Inventory","You can't drop your current backpack!",255,22,0) return true end if itemPlus > (getElementData(getLocalPlayer(),itemName) or 0) then itemPlus = getElementData(getLocalPlayer(),itemName) or 1 end if loot then avaliableSlotss = getLootMaxAviableSlots(loot) - getLootCurrentSlots(loot) if keyState then movingg = math.floor(avaliableSlotss/getItemSlots(itemName)) if movingg > getElementData(getLocalPlayer(),itemName) then movingg = getElementData(getLocalPlayer(),itemName) end setElementData(loot,itemName,(getElementData(loot,itemName)or 0)+ movingg) else setElementData(loot,itemName,(getElementData(loot,itemName)or 0)+ itemPlus) end local players = getElementsWithinColShape(loot,"player") if #players > 1 then triggerServerEvent("onPlayerChangeLoot",getRootElement(),loot) end else triggerServerEvent("playerDropAItem",getLocalPlayer(),itemName,itemPlus) setElementData(getLocalPlayer(),itemName,getElementData(getLocalPlayer(),itemName)- itemPlus) return end if itemName == "Tire_inVehicle" then itemName = "BUGADO" end if itemName == "Engine_inVehicle" then itemName = "BUGADO" end if itemName == "Parts_inVehicle" then itemName = "BUGADO" end if keyState then setElementData(getLocalPlayer(),itemName,getElementData(getLocalPlayer(),itemName)- movingg) else setElementData(getLocalPlayer(),itemName,getElementData(getLocalPlayer(),itemName)- itemPlus) end if loot and getElementData(loot,"itemloot") then triggerServerEvent("refre:~emLoot",getRootElement(),loot,getElementData(loot,"parent")) end end addEvent("onPlayerMoveItemOutOFInventory",true) addEventHandler("onPlayerMoveItemOutOFInventory",getRootElement(),onPlayerMoveItemOutOFInventory) function onPlayerMoveItemInInventory() if source == loot_takebutton then if getElementData(getLocalPlayer(),"CantUseInv") then stateCounter = getElementData(getLocalPlayer(),"PingCounter") if not stateCounter then stateCounter = 0 end setElementData(getLocalPlayer(),"PingCounter",stateCounter + 1) end local itemName = guiGridListGetItemText(loot_grid,guiGridListGetSelectedItem(loot_grid),1) if isPlayerInLoot() then if getElementData(isPlayerInLoot(),itemName) and getElementData(isPlayerInLoot(),itemName)>= 1 then if not isToolbeltItem(itemName) then if getPlayerCurrentSlots()+ getItemSlots(itemName)<= getPlayerMaxAviableSlots() then if not playerMovedInInventory then triggerEvent("onPlayerMoveItemInInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) else startRollMessage2("Inventory","Abusing exploits will result in a ban!",255,22,0) return end else startRollMessage2("Inventory","Inventário cheio!",255,22,0) return end else playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) triggerEvent("onPlayerMoveItemInInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end end if isPlayerInLoot() then local gearName = guiGetText(LootLabel) local col = getElementData(getLocalPlayer(),"currentCol") setTimer(refreshInventory,200,2) setTimer(refreshLoot,200,2,col,gearName) end end end end --addEventHandler("onClientGUIClick",loot_takebutton,onPlayerMoveItemInInventory) addEventHandler ( "onClientGUIClick", loot_takebutton, onPlayerMoveItemInInventory ) --addEventHandler("onClientGUIDoubleClick",loot_grid,onPlayerMoveItemInInventory,false) function onPlayerMoveItemInInventory(itemName,loot) itemPlus = getAmmoPlus(itemName) if loot then if itemPlus > (getElementData(loot,itemName)or 0) then itemPlus = getElementData(loot,itemName) or 1 end local avaliableSlotss = getPlayerMaxAviableSlots() - getPlayerCurrentSlots() if keyState then movingg = math.floor(avaliableSlotss/getItemSlots(itemName)) if movingg > getElementData(loot,itemName) then movingg = getElementData(loot,itemName) end setElementData(getLocalPlayer(),itemName,(getElementData(getLocalPlayer(),itemName)or 0)+ movingg) else setElementData(getLocalPlayer(),itemName,(getElementData(getLocalPlayer(),itemName)or 0)+ itemPlus) end if itemPlus > 0 then if keyState then setElementData(loot,itemName,(getElementData(loot,itemName)or 0)- movingg) else setElementData(loot,itemName,getElementData(loot,itemName)- itemPlus) end end local players = getElementsWithinColShape(loot,"player") if #players > 1 then triggerServerEvent("onPlayerChangeLoot",getRootElement(),loot) end if getElementData(loot,"itemloot") then triggerServerEvent("refre:~emLoot",getRootElement(),loot,getElementData(loot,"parent")) end end end addEvent("onPlayerMoveItemInInventory",true) addEventHandler("onPlayerMoveItemInInventory",getRootElement(),onPlayerMoveItemInInventory) function onClientOpenInventoryStopMenu() triggerEvent("disableMenu",getLocalPlayer()) end function isPlayerInLoot() if getElementData(getLocalPlayer(),"loot") then return getElementData(getLocalPlayer(),"currentCol") end return false end ------------------------------------------------------------------------------ --right-click menu function onPlayerPressRightKeyInInventory() local itemName = guiGridListGetItemText ( inv_itemsgrid, guiGridListGetSelectedItem ( inv_itemsgrid ), 1 ) local itemName,itemInfo = getInventoryInfosForRightClickMenu(itemName) if isCursorShowing() and guiGetVisible(inv_window) and itemInfo then if itemName == "Box of Matches" then if getElementData(getLocalPlayer(),"Wood Pile")== 0 then return end end if itemName == "Bandage" then if getElementData(getLocalPlayer(),"bleeding")== 0 then return end end if itemName == "Antibiotics" and not getElementData(getLocalPlayer(),"infection") then return end if itemName == "Medic Kit" then if getElementData(getLocalPlayer(),"blood")> 10500 then return end end if itemName == "Heat Pack" then if getElementData(getLocalPlayer(),"temperature")> 35 then return end end if itemName == "Painkiller" then if not getElementData(getLocalPlayer(),"pain") then return end end if itemName == "Stinger" or itemName == "Trap" then if getPedOccupiedVehicle(getLocalPlayer()) then return end end if itemName == "Canned Spaghetti (Fechado)" or itemName == "Canned Baked Beans (Fechado)" or itemName == "Can of Tactical Bacon (Fechado)" or itemName == "Canned Sardines (Fechado)" then if getElementData(getLocalPlayer(),"Opener") == 0 then return end end if itemName == "Morphine" then if not getElementData(getLocalPlayer(),"brokenbone") then return end end if itemName == "Blood Bag" then return end if itemName == getElementData(getLocalPlayer(),"wearingBackpack") then itemInfo = "Remover Mochila" end if itemName == getActiveVest(getLocalPlayer()) then itemInfo = "Remover Colete" end if itemName == getActiveHelmet(getLocalPlayer()) then itemInfo = "Remover Capacete" end playerUseItem(itemName,itemInfo) end end --bindKey("mouse2","down",onPlayerPressRightKeyInInventory) addEventHandler("onClientGUIDoubleClick",inv_itemsgrid,onPlayerPressRightKeyInInventory,false) function getInventoryInfosForRightClickMenu(itemName) for i,itemInfo in ipairs(inventoryItems["Primary Weapon"])do if itemName == itemInfo[1] then return itemName,"Equipar Arma Primária" end end for i,itemInfo in ipairs(inventoryItems["Secondary Weapon"])do if itemName == itemInfo[1] then return itemName,"Equipar Arma Secundária" end end for i,itemInfo in ipairs(inventoryItems["Specially Weapon"])do if itemName == itemInfo[1] then return itemName,"Equipar Arma Especial" end end for i,itemInfo in ipairs(inventoryItems["Ammo"])do if itemName == itemInfo[1] then return itemName,false end end for i,itemInfo in ipairs(inventoryItems["Food"])do if itemName == itemInfo[1] then if itemInfo[1] == "Water Bottle" or itemInfo[1] == "Milk" or itemInfo[1] == "Soda Bottle" then info = "Beber" elseif itemInfo[1] == "Canned Baked Beans (Fechado)" or itemInfo[1] == "Canned Spaghetti (Fechado)" or itemInfo[1] == "Canned Sardines (Fechado)" or itemInfo[1] == "Can of Tactical Bacon (Fechado)" then info = "Abrir" else info = "Comer" end return itemName,info end end for i,itemInfo in ipairs(inventoryItems["Items"])do if itemName == itemInfo[1] then return itemName,itemInfo[3] or false end end for i,itemInfo in ipairs(inventoryItems["Roupas"])do if itemName == itemInfo[1] then return itemName,itemInfo[3] or false end end for i,itemInfo in ipairs(inventoryItems["Mochilas"])do if itemName == itemInfo[1] then return itemName,itemInfo[3] or false end end for i,itemInfo in ipairs(inventoryItems["Medic"])do if itemName == itemInfo[1] then return itemName,itemInfo[3] or false end end for i,itemInfo in ipairs(inventoryItems["VehicleParts"])do if itemName == itemInfo[1] then return itemName,itemInfo[3] or false end end for i,itemInfo in ipairs(inventoryItems["Toolbelt"])do if itemName == itemInfo[1] then return itemName,itemInfo[3] or false end end end ------------------------------ RightClickMenu 1 ------------------------------ rightclickWindow = guiCreateStaticImage(0,0,0.05,0.0215,"images/scrollmenu_1.png",true) headline["rightclickmenu"] = guiCreateLabel(0,0,1,1,"",true,rightclickWindow) guiLabelSetHorizontalAlign (headline["rightclickmenu"],"center") guiLabelSetVerticalAlign (headline["rightclickmenu"],"center") guiSetFont (headline["rightclickmenu"], "default-bold-small" ) guiSetVisible(rightclickWindow,false) function hideRightClickInventoryMenu() guiSetVisible(rightclickWindow,false) end ------------------------------ RightClickMenu 1 ------------------------------ function onPlayerClickOnRightClickMenu (button,state) if button == "left" then local itemName,itemInfo = getElementData(rightclickWindow,"iteminfo")[1],getElementData(rightclickWindow,"iteminfo")[2] hideRightClickInventoryMenu () playerUseItem(itemName,itemInfo) end end addEventHandler("onClientGUIClick",headline["rightclickmenu"],onPlayerClickOnRightClickMenu,false) function playerUseItem(itemName,itemInfo) if itemInfo == "Beber" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/Drink.mp3",x,y,z),15) triggerServerEvent("onPlayerRequestChangingStats",getLocalPlayer(),itemName,itemInfo,"thirst") elseif itemInfo == "Comer" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/Eat.mp3",x,y,z),15) triggerServerEvent("onPlayerRequestChangingStats",getLocalPlayer(),itemName,itemInfo,"food") elseif itemInfo == "Abrir" then hideInventoryManual() setPedAnimation(getLocalPlayer(),"BOMBER","BOM_Plant",-1,false,false,false,false) triggerServerEvent("onPlayerOpenFood",getLocalPlayer(),itemName) elseif itemInfo == "Usar skin" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerChangeSkin",getLocalPlayer(),itemName) elseif itemName == "Empty Water Bottle" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerRefillWaterBottle",getLocalPlayer(),itemName) elseif itemInfo == "Set Rate" then guiSetVisible(SetGPSRateWindow,true) elseif itemName == "Tent" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerPitchATent",getLocalPlayer(),itemName) elseif itemInfo == "Colocar Wire Fence" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerBuildAWireFence",getLocalPlayer(),itemName) elseif itemName == "Roadflare" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerPlaceRoadflare",getLocalPlayer(),itemName) elseif itemInfo == "Make a Fire" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerMakeAFire",getLocalPlayer(),itemName) elseif itemName == "Morphine" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/Morphine.mp3",x,y,z),15) triggerServerEvent("onPlayerUseMedicObject",getLocalPlayer(),itemName) elseif itemName == "Medic Kit" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/MedicKit.mp3",x,y,z),15) triggerServerEvent("onPlayerUseMedicObject",getLocalPlayer(),itemName) elseif itemName == "Painkiller" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/Painkiller.mp3",x,y,z),15) triggerServerEvent("onPlayerUseMedicObject",getLocalPlayer(),itemName) elseif itemName == "Bandage" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) x,y,z = getElementPosition(getLocalPlayer()) setSoundMaxDistance(playSound3D("sounds/Bandage.mp3",x,y,z),15) triggerServerEvent("onPlayerUseMedicObject",getLocalPlayer(),itemName) elseif itemInfo == "Usar" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) triggerServerEvent("onPlayerUseMedicObject",getLocalPlayer(),itemName) elseif itemInfo == "Equipar Arma Primária" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) playSound("sounds/equip1.mp3") triggerServerEvent("onPlayerRearmWeapon",getLocalPlayer(),itemName,1) elseif itemInfo == "Equipar Arma Secundária" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) playSound("sounds/equip2.mp3") triggerServerEvent("onPlayerRearmWeapon",getLocalPlayer(),itemName,2) elseif itemInfo == "Equipar Arma Especial" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) playSound("sounds/equip3.mp3") triggerServerEvent("onPlayerRearmWeapon",getLocalPlayer(),itemName,3) elseif itemInfo == "Equipar Pistola" then refreshInventory() triggerEvent("hideInventoryManual",localPlayer) playSound("sounds/equip2.mp3") triggerServerEvent("onPlayerRearmWeapon",getLocalPlayer(),itemName,4) elseif itemInfo == "Set Rate" then hideInventoryManual() guiSetVisible(GUIEditor.window[1],not guiGetVisible(GUIEditor.window[1])) showCursor(not isCursorShowing()) elseif itemInfo == "Place Stinger" then setElementData(localPlayer,"Stinger",getElementData(localPlayer,"Stinger")-1) local x, y, z = getElementPosition(localPlayer) local rx, ry, rz = getElementRotation(localPlayer) x = x - math.sin(math.rad(rz))*2 y = y + math.cos(math.rad(rz))*2 rz = rz + 90 local groundZ = getGroundPosition(x,y,z) if(groundZ ~= z) then z = groundZ+0.2 end setPedAnimation(getLocalPlayer(),"BOMBER","BOM_Plant",-1,false,false,false,false) triggerServerEvent("CreateStinger",localPlayer,x,y,z,rz) elseif itemInfo == "Usar Colete" then --if getActiveVest(getLocalPlayer()) and getElementData(getLocalPlayer(),"vestLife") == getVestLife(getActiveVest(getLocalPlayer())) then --setElementData(getLocalPlayer(),getActiveVest(getLocalPlayer()),getElementData(getLocalPlayer(),getActiveVest(getLocalPlayer()))+1) --end for _,vest in pairs(VestsTable)do setElementData(localPlayer,vest[2],false) end for _,vest in pairs(VestsTable)do if vest[1] == itemName then var = vest[2] setElementData(getLocalPlayer(),"vestLife",vest[4]) break end end setElementData(localPlayer,var,true) refreshInventory() triggerEvent("hideInventoryManual",localPlayer) elseif itemInfo == "Usar Capacete" then --if getActiveHelmet(getLocalPlayer()) and getElementData(getLocalPlayer(),"helmetLife") == getHelmetLife(getActiveHelmet(getLocalPlayer())) then --setElementData(getLocalPlayer(),getActiveHelmet(getLocalPlayer()),getElementData(getLocalPlayer(),getActiveHelmet(getLocalPlayer()))+1) --end for _,helmet in pairs(HelmetsTable)do setElementData(localPlayer,helmet[2],false) end for _,helmet in pairs(HelmetsTable)do if helmet[1] == itemName then var = helmet[2] setElementData(getLocalPlayer(),"helmetLife",helmet[4]) break end end setElementData(localPlayer,var,true) refreshInventory() triggerEvent("hideInventoryManual",localPlayer) elseif itemInfo == "Vestir Mochila" then for _,backpack in pairs(BackpacksTable)do if itemName == backpack[1] then if getElementData(getLocalPlayer(),"MAX_Slots")== backpack[2] then triggerEvent("displayClientInfo",getLocalPlayer(),"inventory","Você já usando esta mochila!",255,22,0) elseif getPlayerCurrentSlots() > backpack[2] then triggerEvent("displayClientInfo",getLocalPlayer(),"inventory","Seus itens precisam estar abaixo de "..backpack[2].."!",255,22,0) else setElementData(getLocalPlayer(),"MAX_Slots",backpack[2]) setElementData(getLocalPlayer(),"wearingBackpack",backpack[1]) refreshInventory() triggerEvent("hideInventoryManual",localPlayer) end end end elseif itemInfo == "Remover Mochila" then if getPlayerCurrentSlots() <= 8 then setElementData(getLocalPlayer(),"MAX_Slots",8) setElementData(getLocalPlayer(),"wearingBackpack",false) refreshInventory() triggerEvent("hideInventoryManual",localPlayer) else triggerEvent("displayClientInfo",getLocalPlayer(),"inventory","Seus itens precisam estar abaixo de 8!",255,22,0) end elseif itemInfo == "Remover Colete" then vestSlots = getActiveVestSlots(getLocalPlayer()) if getElementData(getLocalPlayer(),"MAX_Slots")-vestSlots < getPlayerCurrentSlots() then triggerEvent("displayClientInfo",getLocalPlayer(),"inventory","Seus itens precisam estar abaixo de "..getElementData(getLocalPlayer(),"MAX_Slots").."!",255,22,0) return end setElementData(getLocalPlayer(),getActiveVestVar(getLocalPlayer()),false) refreshInventory() triggerEvent("hideInventoryManual",localPlayer) elseif itemInfo == "Remover Capacete" then setElementData(getLocalPlayer(),getActiveHelmetVar(getLocalPlayer()),false) refreshInventory() triggerEvent("hideInventoryManual",localPlayer) end refreshInventory() end addEvent("playerUseItem",true) addEventHandler("playerUseItem",getLocalPlayer(),playerUseItem) function weaponSwitch(ID) for _,item in pairs(weaponTable)do if getElementData(getLocalPlayer(),"currentweapon_1") == item[1] and ID == item[3] and item[5] == 1 then if getElementData(getLocalPlayer(),item[2])> 0 then setElementData(getLocalPlayer(),item[2],getElementData(getLocalPlayer(),item[2])- 1) return end end if getElementData(getLocalPlayer(),"currentweapon_2") == item[1] and ID == item[3] and item[5] == 2 then if getElementData(getLocalPlayer(),item[2])> 0 then setElementData(getLocalPlayer(),item[2],getElementData(getLocalPlayer(),item[2])- 1) end end if getElementData(getLocalPlayer(),"currentweapon_3") == item[1] and ID == item[3] and item[5] == 3 then if getElementData(getLocalPlayer(),item[1])> 0 then setElementData(getLocalPlayer(),item[1],getElementData(getLocalPlayer(),item[1])- 1) end end if getElementData(getLocalPlayer(),"currentweapon_4") == item[1] and ID == item[3] and item[5] == 4 then if getElementData(getLocalPlayer(),item[2])> 0 then setElementData(getLocalPlayer(),item[2],getElementData(getLocalPlayer(),item[2])- 1) end end end end addEventHandler("onClientPlayerWeaponFire",getLocalPlayer(),weaponSwitch) ------------------------------------------------------------ NEW INVENTORY ------------------------------------------------------------ function onPlayerMoveItemOutOfInventoryNew(itemName) if getElementData(getLocalPlayer(),"CantUseInv") then stateCounter = getElementData(getLocalPlayer(),"PingCounter") if not stateCounter then stateCounter = 0 end setElementData(getLocalPlayer(),"PingCounter",stateCounter + 1) end if playerMovedInInventory then return end if getElementData(getLocalPlayer(),itemName) and getElementData(getLocalPlayer(),itemName)>= 1 then if isPlayerInLoot() then local isVehicle = getElementData(isPlayerInLoot(),"vehicle") local isTent = getElementData(isPlayerInLoot(),"tent") if isVehicle and not isTent then local veh = getElementData(isPlayerInLoot(),"parent") engine,tires,parts,rotor,glass,slots,fuel,fuelpm = getVehicleAddonInfos(getElementModel(veh)) if itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Tire_inVehicle")or 0)< tires or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Engine_inVehicle")or 0) < engine or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Rotor_inVehicle")or 0) < rotor or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Glass_inVehicle")or 0) < glass or itemName == "BUGADO" and(getElementData(isPlayerInLoot(),"Parts_inVehicle")or 0) < parts then if itemName == "BUGADO" then itemName = "Parts" end if itemName == "BUGADO" then itemName = "Rotor" end if itemName == "BUGADO" then itemName = "Glass" end triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName.."_inVehicle",isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) elseif isToolbeltItem(itemName) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) elseif getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol"))+ getItemSlots(itemName)<= getLootMaxAviableSlots(isPlayerInLoot()) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) else startRollMessage2("Inventory","Inventário cheio!",255,22,0) return end elseif isToolbeltItem(itemName) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) elseif getLootCurrentSlots(getElementData(getLocalPlayer(),"currentCol"))+ getItemSlots(itemName)<= getLootMaxAviableSlots(isPlayerInLoot()) then triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) else startRollMessage2("Inventory","Inventário cheio!",255,22,0) return end else triggerEvent("onPlayerMoveItemOutOFInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) end end end addEvent("onPlayerMoveItemOutOfInventoryNew",true) addEventHandler("onPlayerMoveItemOutOfInventoryNew",getLocalPlayer(),onPlayerMoveItemOutOfInventoryNew) function onPlayerMoveItemInInventoryNew(itemName) if getElementData(getLocalPlayer(),"CantUseInv") then stateCounter = getElementData(getLocalPlayer(),"PingCounter") if not stateCounter then stateCounter = 0 end setElementData(getLocalPlayer(),"PingCounter",stateCounter + 1) end if isPlayerInLoot() then if getElementData(isPlayerInLoot(),itemName) and (getElementData(isPlayerInLoot(),itemName)or 0)>= 1 then if not isToolbeltItem(itemName) then if getPlayerCurrentSlots()+ getItemSlots(itemName)<= getPlayerMaxAviableSlots() then if not playerMovedInInventory then triggerEvent("onPlayerMoveItemInInventory",getLocalPlayer(),itemName,isPlayerInLoot()) playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) else return end else startRollMessage2("Inventory","Inventário cheio!",255,22,0) return end else playerMovedInInventory = true setTimer(function() playerMovedInInventory = false end,700,1) triggerEvent("onPlayerMoveItemInInventory",getLocalPlayer(),itemName,isPlayerInLoot()) end end if isPlayerInLoot() then local gearName = guiGetText(LootLabel) local col = getElementData(getLocalPlayer(),"currentCol") setTimer(refreshInventory,200,2) setTimer(refreshLoot,200,2,col,gearName) end end end addEvent("onPlayerMoveItemInInventoryNew",true) addEventHandler("onPlayerMoveItemInInventoryNew",getLocalPlayer(),onPlayerMoveItemInInventoryNew) function getPedClothesID(thePed, clothingSlot) if not isElement(thePed) or type(clothingSlot) ~= "number" then error("Invalid arguments to setPedClothes()!", 2) end local texture, model = getPedClothes(thePed, clothingSlot) if not texture then return false else local _, id = getTypeIndexFromClothes(texture, model) return id end end Link to comment
Blaack Posted November 1, 2018 Share Posted November 1, 2018 Quais erros da no debug brother ? Link to comment
Lukkas2201 Posted November 1, 2018 Author Share Posted November 1, 2018 1 hour ago, Sr Black said: Quais erros da no debug brother ? Entao, esse é o.problema, no debug nao da nenhum erro Link to comment
Other Languages Moderators Lord Henry Posted November 2, 2018 Other Languages Moderators Share Posted November 2, 2018 Você pode debugar o código colocando vários outputChatBox no meio dele, para saber por quais partes ele passa ou não. Dai você consegue descobrir onde ele para a execução que deveria continuar. Link to comment
Lukkas2201 Posted November 2, 2018 Author Share Posted November 2, 2018 3 hours ago, Lord Henry said: Você pode debugar o código colocando vários outputChatBox no meio dele, para saber por quais partes ele passa ou não. Dai você consegue descobrir onde ele para a execução que deveria continuar. complicado mano, queria fazer uma parceria com um scripter para poder me ajudar, não tenho tempo, isso que é ruim Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now