Jump to content

A bugged dxDrawText and little problems


Recommended Posts

Hello everyone, im new in this forum, and im just have a little time with scripting, my english is not so good, i have a bug with the dxDrawText, and i think some more little problems, it is a script for plasma freeroam pokeserver, but i think it is not opened now, im not his owner, i just make cheap scripts for it.

Im trying to make a race event zone, when a player enter /carrera1 he teletransport to the zone, or if the player simply enter there, appear a green message, the message timer is 5 sec, and if he leave quit the message, or simply quit the message in 4 sec, when the race event is created, start a timer, when it timer end, start next timer and say a message in the chatbox, when the final time end create a marker in a zone and attach a blip, begin the countdown 5, 4, 3, 2, 1, Go, the first player who go there and hit the marker, win 20000$ and a ACL rank, but if you leave the zone and the race doesnt begin, if you go to the marker, the marker doesnt do anything.

Bug i detected: when a player hit the area, the message appear and disapear in just 1 milsecond, and the second message doesnt appear.

Client side:

function countdown5 () 
        playSound ("n5.mp3") 
        dxDrawText("5!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N5", true) 
    addEventHandler ("N5", getRootElement(), countdown5) 
     
        function countdown4 () 
        playSound ("n4.mp3") 
        dxDrawText("4!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N4", true) 
    addEventHandler ("N4", getRootElement(), countdown4) 
     
        function countdown3 () 
        playSound ("n3.mp3") 
        dxDrawText("3!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N3", true) 
    addEventHandler ("N3", getRootElement(), countdown3) 
     
        function countdown2 () 
        playSound ("n2.mp3") 
        dxDrawText("2!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N2", true) 
    addEventHandler ("N2", getRootElement(), countdown2) 
  
    function countdown1 () 
        playSound ("n1.mp3") 
        dxDrawText("1!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N1", true) 
    addEventHandler ("N1", getRootElement(), countdown1) 
     
        function countdowngo () 
        playSound ("go.mp3") 
        dxDrawText("GO!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("Go", true) 
    addEventHandler ("Go", getRootElement(), countdowngo) 
     
        function EnterAreaSrv () 
        dxDrawText("Has Entrado a la Zona de Carrera", 300, 648, 1108, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 300, 646, 1108, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 298, 648, 1106, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 298, 646, 1106, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 299, 647, 1107, 697, tocolor(0, 255, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("Enter1", true) 
    addEventHandler ("Enter1", getRootElement(), EnterAreaSrv) 
     
    function ExitAreaSrv () 
        dxDrawText("Has Salido de la Zona de Carrera", 300, 648, 1108, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 300, 646, 1108, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 298, 648, 1106, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 298, 646, 1106, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 299, 647, 1107, 697, tocolor(255, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("Exit1", true) 
    addEventHandler ("Exit1", getRootElement(), ExitAreaSrv) 
     
    function dxWinRace () 
        playSound ("win.mp3") 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 295, 342, 1008, 392, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 295, 340, 1008, 390, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 293, 342, 1006, 392, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 293, 340, 1006, 390, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 294, 341, 1007, 391, tocolor(0, 255, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
    end 
    addEvent ("WinRace1", true) 
    addEventHandler ("WinRace1", getRootElement(), dxWinRace) 
  
  
     
    function generalCountdown () 
    if countdown5 then 
    addEventHandler ("onClientRender", getRootElement(), countdown5) 
    setTimer (countdown4, 1000, 1) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),countdown5) end,1000,1) 
    if countdown4  then 
    addEventHandler ("onClientRender", getRootElement(), countdown4) 
    setTimer (countdown3, 1000, 1) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),countdown4) end,1000,1) 
    if countdown3 then 
    addEventHandler ("onClientRender", getRootElement(), countdown3) 
    setTimer (countdown2, 1000, 1) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),countdown3) end,1000,1) 
    if countdown2 then 
    addEventHandler ("onClientRender", getRootElement(), countdown2) 
    setTimer (countdown1, 1000, 1) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),countdown2) end,1000,1) 
    if countdown1 then 
    addEventHandler ("onClientRender", getRootElement(), countdown1) 
    setTimer (countdowngo, 1000, 1) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),countdown1) end,1000,1) 
    if countdowngo then 
    addEventHandler ("onClientRender", getRootElement(), countdowngo) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),countdowngo) end,1000,1) 
    end 
    end 
    end 
    end 
    end 
    end 
    end 
     
    function enterExit () 
    if EnterAreaSrv then 
    addEventHandler ("onClientRender", getRootElement(), EnterAreaSrv) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),EnterAreaSrv) end,5000,1) 
    if ExitAreaSrv then 
    removeEventHandler ("onClientRender", getRootElement(), EnterAreaSrv) 
    addEventHandler ("onClientRender", getRootElement(), ExitAreaSrv) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),ExitAreaSrv) end,4000,1) 
    end 
    end 
    end 
     
    function winRaceEvent () 
    if dxWinRace then 
    addEventHandler ("onClientRender", getRootElement(), dxWinRace) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),winRaceEvent) end,8000,1) 
    end 
    end 

Server side

function eventoFalse(source, cmd, ...) 
    for _, group in ipairs ({"Adm.Plasma", "SMod.Plasma", "Mod.Plasma", "D.Plasma", "SL.Plasma", "SD.Plasma", "L.Plasma"}) do 
    local playerAccount = getPlayerAccount(source) 
    if (not playerAccount) then return end 
    local accountName = getAccountName(playerAccount) 
    if isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( group ) ) then 
    if (isElement(theMarker)) then 
        destroyElement(theMarker) 
        local nombre2 = getPlayerName(source) 
        outputChatBox("#FF0000[Atencion] La Carrera Se Ha Cancelado Por #0000FF"..nombre2.."#00FF00.", getRootElement(), 255, 255, 255, true) 
        removeCommandHandler("eliminar") 
        end 
        end 
        end 
        end 
        addCommandHandler ("eliminar", eventoFalse) 
         
        function eventoTrue () 
        theColShape = createColCuboid (2462.4877929688, -1716.8363037109, 13.513750076294, 40.0, 40.0, 40.0) 
        theMarker = createMarker ( 2429.3806152344, -1659.1734619141, 13.3828125, "checkpoint", 2, 255, 0, 0, 100 ) 
        addEventHandler ("onColShapeHit", getRootElement(), enterAreaRace1) 
        outputChatBox("#FF0000[Atencion]#00FF00Una Carrera Va a Dar Comienzo Preparate!!!", getRootElement(), 255, 255, 255, true) 
        outputChatBox("#00FF00Pon #0000FF/carrera #00FF00Para Para Participar.", getRootElement(), 255, 255, 255, true) 
        addCommandHandler("carrera", eventowarp) 
        end 
        addCommandHandler("carrera1", eventoTrue) 
  
function enterAreaRace1() 
    if isElement(theColShape) then 
    triggerClientEvent ("Enter1", getRootElement(), true) 
        if timeon then 
        outputChatBox ("#FF0000La Carrera Empieza en 1 Minuto, #00FF00Escoge un Infernus y Preparate!", source, 255, 255, 255, true) 
        if timebegin then 
        triggerClientEvent ("N5", source, true) 
        triggerClientEvent ("N4", source, true) 
        triggerClientEvent ("N3", source, true) 
        triggerClientEvent ("N2", source, true) 
        triggerClientEvent ("N1", source, true) 
        triggerClientEvent ("Go", source, true) 
        winmarker1 = createMarker (213.96672058105, 1873.9555664063, 13.140625, "checkpoint", 8.0, 255, 0, 0, 255) 
        createBlipAttachedTo (winmarker1, 41, 2) 
        else 
        addEventHandler ("onColShapeLeave", getRootElement(), enterRaceArea1) 
        triggerClientEvent ("Exit1", getRootElement(), true) 
        removeEventHandler ("onMarkerHit", getRootElement(), winRace) 
         
    end 
end 
end 
end 
  
function winRace() 
if winmarker1 then 
addEventHandler ("onMarkerHit", getRootElement(), winRace) 
setPlayerMoney (source, 20000) 
local accname = getPlayerAccount (source) 
aclGroupAddObject (aclGetGroup("Pro"), "user."..accname) 
triggerClientEvent ("WinRace1", source, true) 
end 
end 
  
function eventowarp() 
    if isElement(theMarker) then 
        setElementPosition (source, 2429.3806152344, -1659.1734619141, 13.3828125) 
        timeon = setTimer (theMarker, 50000, 1) 
        timebegin = setTimer (timeon, 60000, 1) 
        if timeon then 
        outputChatBox ("#FF0000La Carrera Empieza en 1 Minuto, #00FF00Escoge un Infernus y Preparate!", source, 255, 255, 255, true) 
        if timebegin then 
        triggerClientEvent ("N5", source, true) 
        triggerClientEvent ("N4", source, true) 
        triggerClientEvent ("N3", source, true) 
        triggerClientEvent ("N2", source, true) 
        triggerClientEvent ("N1", source, true) 
        triggerClientEvent ("Go", source, true) 
         
    end 
end 
end 
end 

Link to comment

For counting use this event, you have to trigger it

addEvent( 'startCountdown', true ) 
addEventHandler( 'startCountdown', root, 
    function( ) 
        local count = 5; 
        local curalpha = 0; 
        setTimer( 
            function( ) 
                count = count - 1; 
                curalpha = 0; 
                playSound ( 'n' . . count . .'.mp3'); 
            end, 1000, 5 ); 
         
        local screenSize = { guiGetScreenSize( ) }; 
  
        function renderCountdown( ) 
            if count == 0 then 
                removeEventHandler( 'onClientRender', root, renderCountdown ); 
                playSound ( 'go.mp3' ); 
            elseif curalpha <= 235 then 
                curalpha = curalpha + 15 
            elseif count > -1 then 
                dxDrawText( count, screenSize[ 1 ] / 2 - 765 / 2, screenSize[ 2 ] / 2 - 539 / 2, 765, 539, tocolor( 255, 0, 0, curalpha ), 9.00, 'beckett', 'center', 'center', true, false, true, false, false ); 
            end 
        end 
        addEventHandler( 'onClientRender', root, renderCountdown ); 
    end 
); 

Link to comment

dxDrawText will only draw for one frame, you need to assign onClientRender or onClientPreRender for it to render every frame.

The reason it's not working is because of this;

    function enterExit () 
    if EnterAreaSrv then 
    addEventHandler ("onClientRender", getRootElement(), EnterAreaSrv) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),EnterAreaSrv) end,5000,1) 
    if ExitAreaSrv then 
    removeEventHandler ("onClientRender", getRootElement(), EnterAreaSrv) 
    addEventHandler ("onClientRender", getRootElement(), ExitAreaSrv) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),ExitAreaSrv) end,4000,1) 
    end 
    end 
    end 

Instead, make it like this. And remember to remove the addEvent and addEventHandler from the EnterAreaSrv and ExitAreaSrv functions!

function onClientEnterZone() 
    addEventHandler("onClientRender", getRootElement(), EnterAreaSrv) 
    setTimer(function() 
        removeEventHandler("onClientRender", getRootElement(), EnterAreaSrv) 
    end, 5000, 1) 
end 
addEvent("Enter1", true) 
addEventHandler("Enter1", getRootElement(), onClientEnterZone) 
  
function onClientExitZone() 
    addEventHandler("onClientRender", getRootElement(), ExitAreaSrv) 
    setTimer(function() 
        removeEventHandler("onClientRender", getRootElement(), ExitAreaSrv) 
    end, 5000, 1) 
end 
addEvent("Exit1", true) 
addEventHandler("Exit1", getRootElement(), onClientExitZone) 

Link to comment

Try (not tested):

local rx, ry = guiGetScreenSize ( ) 
addEvent( 'startCountdown', true ) 
addEventHandler( 'startCountdown', root, 
    function( ) 
        count = 5 
        curalpha = 0 
        addEventHandler( 'onClientRender', root, renderCountdown ) 
        setTimer( 
            function( ) 
                count = count - 1 
                curalpha = 0 
                playSound ( 'n' . . count . .'.mp3') 
            end, 1000, 5  
        ) 
    end 
) 
  
function renderCountdown( ) 
    if count == 0 then 
        removeEventHandler( 'onClientRender', root, renderCountdown ) 
        playSound ( 'go.mp3' ) 
    elseif curalpha <= 235 then 
        curalpha = curalpha + 15 
    elseif count > -1 then 
        dxDrawText( count, rx / 2 - 765 / 2, ry / 2 - 539 / 2, 765, 539, tocolor( 255, 0, 0, curalpha ), 9.00, 'beckett', 'center', 'center', true, false, true, false, false ) 
    end 
end 
  

Link to comment

Client side:

function countdown5 () 
        playSound ("n5.mp3") 
        dxDrawText("5!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("5!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N5", true) 
    addEventHandler ("N5", getRootElement(), countdown5) 
     
        function countdown4 () 
        playSound ("n4.mp3") 
        dxDrawText("4!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("4!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N4", true) 
    addEventHandler ("N4", getRootElement(), countdown4) 
     
        function countdown3 () 
        playSound ("n3.mp3") 
        dxDrawText("3!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("3!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N3", true) 
    addEventHandler ("N3", getRootElement(), countdown3) 
     
        function countdown2 () 
        playSound ("n2.mp3") 
        dxDrawText("2!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("2!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N2", true) 
    addEventHandler ("N2", getRootElement(), countdown2) 
  
    function countdown1 () 
        playSound ("n1.mp3") 
        dxDrawText("1!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("1!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("N1", true) 
    addEventHandler ("N1", getRootElement(), countdown1) 
     
        function countdowngo () 
        playSound ("go.mp3") 
        dxDrawText("GO!", 527, 240, 765, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 527, 238, 765, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 525, 240, 763, 539, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 525, 238, 763, 537, tocolor(0, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
        dxDrawText("GO!", 526, 239, 764, 538, tocolor(255, 0, 0, 255), 9.00, "beckett", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("Go", true) 
    addEventHandler ("Go", getRootElement(), countdowngo) 
     
        function EnterAreaSrv () 
        dxDrawText("Has Entrado a la Zona de Carrera", 300, 648, 1108, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 300, 646, 1108, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 298, 648, 1106, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 298, 646, 1106, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Entrado a la Zona de Carrera", 299, 647, 1107, 697, tocolor(0, 255, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("Enter1", true) 
    addEventHandler ("Enter1", getRootElement(), EnterAreaSrv) 
     
    function ExitAreaSrv () 
        dxDrawText("Has Salido de la Zona de Carrera", 300, 648, 1108, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 300, 646, 1108, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 298, 648, 1106, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 298, 646, 1106, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
        dxDrawText("Has Salido de la Zona de Carrera", 299, 647, 1107, 697, tocolor(255, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
    end 
    addEvent ("Exit1", true) 
    addEventHandler ("Exit1", getRootElement(), ExitAreaSrv) 
     
    function dxWinRace () 
        playSound ("win.mp3") 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 295, 342, 1008, 392, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 295, 340, 1008, 390, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 293, 342, 1006, 392, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 293, 340, 1006, 390, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
        dxDrawText("Enorabuena! Has Ganado la Carrera!", 294, 341, 1007, 391, tocolor(0, 255, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
    end 
    addEvent ("WinRace1", true) 
    addEventHandler ("WinRace1", getRootElement(), dxWinRace) 
  
  
     
addEvent( 'startCountdown', true ) 
addEventHandler( 'startCountdown', root, 
    function( ) 
        local count = 5; 
        local curalpha = 0; 
        setTimer( 
            function( ) 
                count = count - 1; 
                curalpha = 0; 
                playSound ( 'n' . . count . .'.mp3'); 
            end, 1000, 5 ); 
        
        local screenSize = { guiGetScreenSize( ) }; 
  
        function renderCountdown( ) 
            if count == 0 then 
                removeEventHandler( 'onClientRender', root, renderCountdown ); 
                playSound ( 'go.mp3' ); 
            elseif curalpha <= 235 then 
                curalpha = curalpha + 15 
            elseif count > -1 then 
                dxDrawText( count, screenSize[ 1 ] / 2 - 765 / 2, screenSize[ 2 ] / 2 - 539 / 2, 765, 539, tocolor( 255, 0, 0, curalpha ), 9.00, 'beckett', 'center', 'center', true, false, true, false, false ); 
            end 
        end 
        addEventHandler( 'onClientRender', root, renderCountdown ); 
    end 
); 
     
    function onClientEnterZone() 
    removeEventHandler("onClientRender", getRootElement(), ExitAreaSrv) 
    addEventHandler("onClientRender", getRootElement(), EnterAreaSrv) 
    setTimer(function() 
        removeEventHandler("onClientRender", getRootElement(), EnterAreaSrv) 
    end, 5000, 1) 
end 
addEvent("Enter1", true) 
addEventHandler("Enter1", getRootElement(), onClientEnterZone) 
  
function onClientExitZone() 
    removeEventHandler("onClientRender", getRootElement(), EnterAreaSrv) 
    addEventHandler("onClientRender", getRootElement(), ExitAreaSrv) 
    setTimer(function() 
        removeEventHandler("onClientRender", getRootElement(), ExitAreaSrv) 
    end, 5000, 1) 
end 
addEvent("Exit1", true) 
addEventHandler("Exit1", getRootElement(), onClientExitZone) 
     
    function winRaceEvent () 
    if dxWinRace then 
    addEventHandler ("onClientRender", getRootElement(), dxWinRace) 
    setTimer(function() removeEventHandler("onClientRender",getRootElement(),winRaceEvent) end,8000,1) 
    end 
    end 

Link to comment

Try this, NotTested:

Client:

addEvent( 'startCountdown', true ) 
addEventHandler( 'startCountdown', root, 
    function( ) 
     
        local count = 5; 
        local curalpha = 0; 
         
        setTimer( 
            function( ) 
                count = count - 1; 
                curalpha = 0; 
                playSound ( 'n' ..tostring( count )..'.mp3'); 
            end, 1000, 5 ); 
        
        local screenSize = { guiGetScreenSize( ) }; 
  
        function renderCountdown( ) 
            if count == 0 then 
                removeEventHandler( 'onClientRender', root, renderCountdown ); 
                playSound ( 'go.mp3' ); 
            elseif curalpha <= 235 then 
                curalpha = curalpha + 15 
            elseif count > -1 then 
                dxDrawText( count, screenSize[ 1 ] / 2 - 765 / 2, screenSize[ 2 ] / 2 - 539 / 2, 765, 539, tocolor( 255, 0, 0, curalpha ), 9.00, 'beckett', 'center', 'center', true, false, true, false, false ); 
            end 
        end 
        addEventHandler( 'onClientRender', root, renderCountdown ); 
    end 
); 
  
addEvent( "Exit1", true ) 
addEventHandler ( "Exit1", root, 
    function( ) 
     
        local exitCount = 30; 
         
        function renderExitText( ) 
            exitCount = exitCount - 0.5; 
            if exitCount == 0 then 
                removeEventHandler( 'onClientRender', root, renderExitText ); 
            elseif exitCount > -1 then 
                dxDrawText("Has Salido de la Zona de Carrera", 300, 648, 1108, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Salido de la Zona de Carrera", 300, 646, 1108, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Salido de la Zona de Carrera", 298, 648, 1106, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Salido de la Zona de Carrera", 298, 646, 1106, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Salido de la Zona de Carrera", 299, 647, 1107, 697, tocolor(255, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
            end 
        end 
        addEventHandler( 'onClientRender', root, renderExitText ); 
    end 
) 
  
addEvent( "WinRace1", true ) 
addEventHandler( "WinRace1", root, 
    function( ) 
     
        local winCount = 30; 
        playSound ( "win.mp3" ); 
         
        function renderWinText( ) 
            winCount = winCount - 0.5; 
            if winCount == 0 then 
                removeEventHandler( 'onClientRender', root, renderWinText ); 
            elseif winCount > -1 then 
                dxDrawText("Enorabuena! Has Ganado la Carrera!", 295, 342, 1008, 392, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
                dxDrawText("Enorabuena! Has Ganado la Carrera!", 295, 340, 1008, 390, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
                dxDrawText("Enorabuena! Has Ganado la Carrera!", 293, 342, 1006, 392, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
                dxDrawText("Enorabuena! Has Ganado la Carrera!", 293, 340, 1006, 390, tocolor(0, 0, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
                dxDrawText("Enorabuena! Has Ganado la Carrera!", 294, 341, 1007, 391, tocolor(0, 255, 0, 255), 1.80, "pricedown", "center", "center", true, false, true, true, false) 
            end 
        end 
        addEventHandler( 'onClientRender', root, renderWinText ); 
    end 
); 
  
addEvent( "Enter1", true ) 
addEventHandler( "Enter1", root, 
    function( ) 
     
        local enterCount = 30; 
         
        function renderEnterText( ) 
            enterCount = enterCount - 0.5; 
            if enterCount == 0 then 
                removeEventHandler( 'onClientRender', root, renderEnterText ); 
            elseif enterCount > -1 then 
                dxDrawText("Has Entrado a la Zona de Carrera", 300, 648, 1108, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Entrado a la Zona de Carrera", 300, 646, 1108, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Entrado a la Zona de Carrera", 298, 648, 1106, 698, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Entrado a la Zona de Carrera", 298, 646, 1106, 696, tocolor(0, 0, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
                dxDrawText("Has Entrado a la Zona de Carrera", 299, 647, 1107, 697, tocolor(0, 255, 0, 255), 4.00, "default", "center", "center", true, false, true, false, false) 
            end 
        end 
        addEventHandler( 'onClientRender', root, renderEnterText ); 
    end 
); 

Server:

function eventoFalse(source, cmd, ...) 
    for _, group in ipairs ( { "Adm.Plasma", "SMod.Plasma", "Mod.Plasma", "D.Plasma", "SL.Plasma", "SD.Plasma", "L.Plasma" } ) do 
        local playerAccount = getPlayerAccount( source ) 
        if not( playerAccount ) then return end 
        local accountName = getAccountName(playerAccount) 
        if isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( group ) ) then 
            if (isElement(theMarker)) then 
                destroyElement(theMarker) 
                local nombre2 = getPlayerName(source) 
                outputChatBox("#FF0000[Atencion] La Carrera Se Ha Cancelado Por #0000FF"..nombre2.."#00FF00.", getRootElement(), 255, 255, 255, true) 
                removeCommandHandler("eliminar") 
            end 
        end 
    end 
end 
addCommandHandler ("eliminar", eventoFalse) 
  
function eventoTrue () 
    theColShape = createColCuboid (2462.4877929688, -1716.8363037109, 13.513750076294, 40.0, 40.0, 40.0) 
    theMarker = createMarker ( 2429.3806152344, -1659.1734619141, 13.3828125, "checkpoint", 2, 255, 0, 0, 100 ) 
    addEventHandler ("onColShapeHit", getRootElement(), enterAreaRace1) 
    outputChatBox("#FF0000[Atencion]#00FF00Una Carrera Va a Dar Comienzo Preparate!!!", getRootElement(), 255, 255, 255, true) 
    outputChatBox("#00FF00Pon #0000FF/carrera #00FF00Para Para Participar.", getRootElement(), 255, 255, 255, true) 
    addCommandHandler("carrera", eventowarp) 
end 
addCommandHandler("carrera1", eventoTrue) 
  
function enterAreaRace1() 
    if isElement(theColShape) then 
        triggerClientEvent ("Enter1", getRootElement(), true) 
        if timeon then 
            outputChatBox ("#FF0000La Carrera Empieza en 1 Minuto, #00FF00Escoge un Infernus y Preparate!", source, 255, 255, 255, true) 
            if timebegin then 
                triggerClientEvent ( "startCountdown", source, true ) 
                winmarker1 = createMarker (213.96672058105, 1873.9555664063, 13.140625, "checkpoint", 8.0, 255, 0, 0, 255) 
                createBlipAttachedTo (winmarker1, 41, 2) 
            else 
                addEventHandler ("onColShapeLeave", getRootElement(), enterRaceArea1) 
                triggerClientEvent ("Exit1", getRootElement(), true) 
                removeEventHandler ("onMarkerHit", getRootElement(), winRace) 
            end 
        end 
    end 
end 
  
function winRace() 
    if winmarker1 then 
        addEventHandler ("onMarkerHit", getRootElement(), winRace) 
        setPlayerMoney (source, 20000) 
        local accname = getPlayerAccount (source) 
        aclGroupAddObject (aclGetGroup("Pro"), "user."..accname) 
        triggerClientEvent ("WinRace1", source, true) 
    end 
end 
  
function eventowarp() 
    if isElement(theMarker) then 
        setElementPosition (source, 2429.3806152344, -1659.1734619141, 13.3828125) 
        timeon = setTimer (theMarker, 50000, 1) 
        timebegin = setTimer (timeon, 60000, 1) 
        if timeon then 
            outputChatBox ("#FF0000La Carrera Empieza en 1 Minuto, #00FF00Escoge un Infernus y Preparate!", source, 255, 255, 255, true) 
            if timebegin then 
                triggerClientEvent ( "startCountdown", source, true ) 
            end 
        end 
    end 
end 

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