Jump to content

Tablas


#Dv^

Recommended Posts

Hola, quisiera saber como es para que en esta tabla cada player que mate se vaya sumando mis kills en la tabla

 

local killer = {}

function Kills(ammo,killer,weapon)
	if killer then
	    if killer ~= source then
	        if killer[killer] == nil then
			        killer[killer] = tonumber((killer)+1
			end
        end
    end
end
addEventHandler("onPlayerWasted",getRootElement(),Kills)

 

Edited by Slash14
Link to comment
local kills = {}
   
function Kills(ammo,killer,weapon)
  if killer then
    if killer ~= source then
      if not kills[killer] then
        kills[killer] = 1
      else
        kills[killer] = kills[killer] + 1
      end
    end
  end
end
addEventHandler("onPlayerWasted",getRootElement(),Kills)

 

Link to comment

Gracias @Tomas  
Tengo un problema con esto de dxDrawProgressBar, la barra no se llena correctamente a medida que me acerco al proximo nivel, es decir si mi Exp es 14 y para el proximo tengo que llegar a 25, no concuerda

 

local unlerp = function(from,to,lerp) return (lerp-from)/(to-from) end 
  
function dxDrawProgressBar( startX, startY, width, height, progress, color, backColor ) 
        local progress = math.max( 0, (math.min( 100, progress) ) ) 
        local wBar = width*.18 
        for i = 0, 4 do  
                local startPos = (wBar*i + (width*.025)) + startX 
                dxDrawRectangle( startPos, startY, wBar, height, backColor )  
                local eInterval = (i*20) 
                local localProgress = math.min( 1, unlerp( eInterval, eInterval + 20, progress ) ) 
                        if localProgress > 0 then 
                                dxDrawRectangle( startPos, startY, wBar*localProgress, height, color ) 
                        end 
        end 
end 
local x, y = guiGetScreenSize()

ExpSystem = 100
progress = 100

addEvent("gret",true)
addEventHandler("gret", root,
	function(Exp,checkExp)
		ExpSystem = tostring(Exp)
		progress = tostring(checkExp)
	end
)

	
function draw()
	dxDrawProgressBar( x/2.7, y/1.23, x/4, y/25, (ExpSystem/progress)*100  , tocolor( 0, 255, 255, 255), tocolor( 255, 255, 255, 55) )
end 
addEventHandler("onClientRender",root, draw)
addEventHandler ( "onPlayerWasted", root,
    function ( _,killer )
		local Exp = exports.exp_system: getPlayerEXP(killer)
		local checkLevel, checkExp = exports.exp_system:getLevelData ( myLevel ) 
		if (killer and killer ~= source) then
			exports.exp_system:addPlayerEXP ( killer, 1 )
			triggerClientEvent(killer, "gret", killer,Exp,checkExp)
		end
	end
)

 

Link to comment

Cambia esto:

dxDrawProgressBar( x/2.7, y/1.23, x/4, y/25, (ExpSystem/progress)*100  , tocolor( 0, 255, 255, 255), tocolor( 255, 255, 255, 55) )

 

Por esto:

dxDrawProgressBar( x/2.7, y/1.23, x/4, y/25, ((x/4)/ExpSystem)*progress  , tocolor( 0, 255, 255, 255), tocolor( 255, 255, 255, 55) )

 

Edited by saygoodbye
Link to comment

Muchas gracias, de todas formas no me sirvió, por qué los niveles que tengo no todos son el mismo resultado, primero necesitas 30xp para el primero, luego 54xp para el segundo, luego 68 para el tercero, tendré que hacer cálculos de todas formas

Gracias

Link to comment

Es por la usefull dxDrawProgressBar, cambia esa por esta:

function dxDrawProgressBar(posX,posY, sizeX,sizeY, progress,progressmax, color,backColor)
	local progress = progress or 0
  	local max_progress = progressmax or 0
  	local color = color or tocolor(0,255,255,255)
  	local back_color = backColor or tocolor(0,0,0,200)
  
  	dxDrawRectangle(posX,posY, sizeX,sizeY, back_color)
  	dxDrawRectangle(posX+1,posY+1, (sizeX-2/max_progress)*progress,sizeY-2, color)
end

Y en la función en donde renderizas el dxDrawProgressBar pone esto:
 

dxDrawProgressBar( x/2.7, y/1.23, x/4, y/25, progress,ExpSystem, tocolor( 0, 255, 255, 255), tocolor( 255, 255, 255, 55) )

 

Edited by saygoodbye
Link to comment
  • Recently Browsing   0 members

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