pepsi18 Posted September 7, 2014 Share Posted September 7, 2014 Hola tengo un problema quiero dibujar el exp que el jugador gana al matar a un zombie todo va bien el problema es este cuando mato a 1 zombie me sale el exp que gane con la animacion todo bien pero cuando mato a otro zombie el texto desaparece sin terminar la animacion y vuelve a aparecer otro texto con la nuevo exp que e ganado . Lo que quiero es que el texto no desaparesac hasta que se termine el tiempo ose que al matar a otro zombie aparesca otro texto diferente . server addEvent ( "onZombieWasted", true ) addEventHandler ( "onZombieWasted", root, function ( theKiller ) experiencia = math.random(2, 25) exports.exp_system:addPlayerEXP ( theKiller, experiencia) givePlayerMoney(theKiller,math.random(15, 60)) triggerClientEvent ( "darwexp", root, experiencia , source, bodypart) end ) client local text = "" local x, y = "" function onClientPlayerWeaponFireFunc(experiencia, source, bodypart) local sx1, sy1, sz1 = getPedBonePosition( source,1) text = experiencia x, y = getScreenFromWorldPosition( sx1, sy1, sz1 ) start = getTickCount() addEventHandler ( "onClientRender", getRootElement(), dxDrawAnimText ) setTimer(function () removeEventHandler ( "onClientRender", getRootElement(), dxDrawAnimText ) end , 3000, 1 ) end addEvent ( "darwexp", true ) addEventHandler ( "darwexp", root, onClientPlayerWeaponFireFunc ) function dxDrawAnimText() local sx, sy, sz = getPedBonePosition( localPlayer, 1 ) local height,width = getScreenFromWorldPosition( sx, sy, sz ) local font = "default-bold" local anim = "OutQuad" local text = "+"..text btwidth = width btheight = height/20 local now = getTickCount() local elapsedTime = now - start local endTime = start + 3000 local duration = endTime - start local progress = elapsedTime / duration local x1, y1, z1 = interpolateBetween (x, y, 0,height,width, 0, progress, anim) local x2, y2, z2 = interpolateBetween ( 0, 0, 0, btwidth, btheight, btheight/11, progress, anim) posx = (x/2)-(x1/2) posy = (y/2)-(y1/2) dxDrawText ( text, x1, y1, x, y, tocolor ( 255, 255, 255, 255 ), z2,font,"center","center") end Link to comment
Castillo Posted September 7, 2014 Share Posted September 7, 2014 La verdad esto no tiene mucho sentido, que intentas hacer? Link to comment
Tomas Posted September 7, 2014 Share Posted September 7, 2014 Podrías utilizar un timer que dure lo que dura la animación para luego detectar si el timer existe, si existe que no aparezca, si no existe que si aparezca, entiendes? Link to comment
Recommended Posts