Jump to content

Script de inventário bugando com muitos elementData


Recommended Posts

Fiz um sistema de inventário porém não tenho muito conhecimento sobre tabelas e muito menos sql então fiz usando o bom e velho setElementData, porém se 3 ou mais players abrirem o inventário ao mesmo tempo o mod acaba parando de funcionar, creio que por ser muita informação que o servidor busca ao mesmo tempo. Como conseguiria resolver esse problema?

function inventario()
  exports.ng_blur:createBlur()

  agua = getElementData(localPlayer, "Inventario:Agua") or 0
  refrigerante = getElementData(localPlayer, "Inventario:Refrigerante") or 0
  cerveja = getElementData(localPlayer, "Inventario:Cerveja") or 0
  hamburguer = getElementData(localPlayer, "Inventario:Hamburguer") or 0
  pizza = getElementData(localPlayer, "Inventario:Pizza") or 0
  celular = getElementData(localPlayer, "Inventario:Celular") or 0
  capacete = getElementData(localPlayer, "Inventario:Capacete") or 0
  kit_reparo = getElementData(localPlayer, "Inventario:Kit_Reparo") or 0
  dinamite = getElementData(localPlayer, "Inventario:Dinamite") or 0
  maconha = getElementData(localPlayer, "Inventario:Maconha") or 0
  cocaina = getElementData(localPlayer, "Inventario:Cocaina") or 0
  analgesico = getElementData(localPlayer, "Inventario:Analgesico") or 0

  dxDrawImage(screenW * 0.2079, screenH * 0.1589, screenW * 0.5849, screenH * 0.6823, "files/gfx/background.png", 0, 0, 0, tocolor(255, 255, 255, 255), false)
  if agua >= 1 then dxDrawImage(screenW * 0.2994, screenH * 0.3529, screenW * 0.0483, screenH * 0.0664, "files/gfx/agua.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if refrigerante >= 1 then dxDrawImage(screenW * 0.3616, screenH * 0.3529, screenW * 0.0483, screenH * 0.0664, "files/gfx/refri.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if cerveja >= 1 then dxDrawImage(screenW * 0.4239, screenH * 0.3529, screenW * 0.0483, screenH * 0.0664, "files/gfx/cerveja.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if hamburguer >= 1 then dxDrawImage(screenW * 0.4861, screenH * 0.3529, screenW * 0.0483, screenH * 0.0664, "files/gfx/hamburguer.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if pizza >= 1 then dxDrawImage(screenW * 0.2994, screenH * 0.4414, screenW * 0.0483, screenH * 0.0664, "files/gfx/pizza.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if celular >= 1 then dxDrawImage(screenW * 0.3616, screenH * 0.4414, screenW * 0.0483, screenH * 0.0664, "files/gfx/celular.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if capacete >= 1 then dxDrawImage(screenW * 0.4239, screenH * 0.4414, screenW * 0.0483, screenH * 0.0664, "files/gfx/capacete.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if kit_reparo >= 1 then dxDrawImage(screenW * 0.4861, screenH * 0.4427, screenW * 0.0483, screenH * 0.0664, "files/gfx/kit-reparo.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if dinamite >= 1 then dxDrawImage(screenW * 0.4861, screenH * 0.5326, screenW * 0.0483, screenH * 0.0664, "files/gfx/dinamite.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if maconha >= 1 then dxDrawImage(screenW * 0.4239, screenH * 0.5326, screenW * 0.0483, screenH * 0.0664, "files/gfx/maconha.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if cocaina >= 1 then dxDrawImage(screenW * 0.3616, screenH * 0.5326, screenW * 0.0483, screenH * 0.0664, "files/gfx/cocaina.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
  if analgesico >= 1 then dxDrawImage(screenW * 0.2994, screenH * 0.5326, screenW * 0.0483, screenH * 0.0664, "files/gfx/analgesico.png", 0, 0, 0, tocolor(255, 255, 255, 255), false) end
end

Esse é o onClientRender do painel, as variáveis dos elementData ficam dentro dele, ou seja, cada vez que um player abre o painel esses dados são atualizados. Aparentemente eu deveria remover essas informações daí e buscar através de outro meio, porém não sei como... 

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