#Dv^ Posted November 6, 2016 Posted November 6, 2016 (edited) 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 November 6, 2016 by Slash14
Tomas Posted November 6, 2016 Posted November 6, 2016 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)
#Dv^ Posted November 6, 2016 Author Posted November 6, 2016 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 )
TRtam Posted November 6, 2016 Posted November 6, 2016 (edited) 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 November 6, 2016 by saygoodbye
#Dv^ Posted November 6, 2016 Author Posted November 6, 2016 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
TRtam Posted November 6, 2016 Posted November 6, 2016 Lo que tenes que hacer para el progreso es, usar el width del dxDrawProgressBar divirlo por la cantidad de exp necesitada y luego multiplicarlo por el progreso. Espero que consigas hacerlo
#Dv^ Posted November 6, 2016 Author Posted November 6, 2016 Sí,pero no le encuentro la manera, por ejemplo en este momento tengo 216Exp, y para el próximo level tengo que llegar a 280Exp, pero la barra ni se mueve, solo queda llena
TRtam Posted November 6, 2016 Posted November 6, 2016 (edited) 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 November 6, 2016 by saygoodbye
Recommended Posts