Jump to content

Problema de outputChatBox


Tonyx97

Recommended Posts

Hola a todos tengo un problema, al ejecutar esta funcion se repite el mensage como tantos criminales haya en la zona, ejemplo, si estoy solo dentro de la Col entonces sale 1 mensage, si hay 2 criminales en la Col salen 2 mensages.

TODO funciona correctamente excepto por lo de que salen 2 mensages si hay 2 criminales en la zona o 3 entonces 3 mensages, los getElementData no son ni lo de los markers tampoco, sera algo de playerCrims o algo de eso. GRACIAS POR LEER :D

  
Zone = createColCuboid ( 0, 0, 0, 271, 268, 50 ) 
countdownCount = 0 
deTimer = setTimer ( ejemplo, 60000, 0 ) 
  
function ejemplo () 
    local criminalTeam = getTeamFromName ("Criminal") 
    if criminalTeam then 
        local playersCrims = getPlayersInTeam ( criminalTeam ) 
        for playerKey, playerCriminals in ipairs ( playersCrims ) do 
            local detectionCriminal = isElementWithinColShape ( playerCriminals, Zone ) 
            if detectionCriminal then 
                local Leave = getElementData ( playerCriminals, "CanNotLeave" ) 
                local Drugs = getElementData ( playerCriminals, "Drugs" ) 
                if Leave == true and Drugs == false then 
                    local R, G, B, A = getMarkerColor( markerStore ) 
                    local R2, G2, B2, A2 = getMarkerColor( markerOffice ) 
                    if (R == 255 and G == 0 and B == 0 and R2 == 255 and G2 == 0 and B2 == 0) then 
                        countdownCount = countdownCount + 1 
                        if (countdownCount >= 0 and countdownCount < 3) then 
                            sendMensageMarkersTaken ( "Test count "..countdownCount.."/3 Ejem", 0, 255, 0 ) 
                        elseif (countdownCount == 3) then 
                            sendMensageMarkersTaken ( "Complete Test", 0, 255, 0 ) 
                            killTimer ( deTimer ) 
                            outputChatBox ("Testing 2", playerCriminals, 0, 255, 0) 
                            setElementData ( playerCriminals, "Drugs", true ) 
                            setElementData ( playerCriminals, "CanNotLeave", false ) 
                        end 
                    end 
                end 
            end 
        end 
    end 
end 
  
function sendMensageMarkersTaken ( message, color1, color2, color3 ) 
    local mesgPlayers = getElementsByType("player") 
    for index, playerIntoZone in ipairs(mesgPlayers) do  
        local detection = isElementWithinColShape ( playerIntoZone, Zone ) 
        if detection then 
            outputChatBox ( message, playerIntoZone, color1, color2, color3 ) 
        end 
    end 
end) 

Edited by Guest
Link to comment

Prova haci mira

  
message = "LO QUE VOS QUIERAS PONER" 
Zone = createColCuboid ( 0, 0, 0, 271, 268, 50 ) 
countdownCount = 0 
deTimer = setTimer ( ejemplo, 60000, 0 ) 
  
function ejemplo () 
    local criminalTeam = getTeamFromName ("Criminal") 
    if criminalTeam then 
        local playersCrims = getPlayersInTeam ( criminalTeam ) 
        for playerKey, playerCriminals in ipairs ( playersCrims ) do 
            local detectionCriminal = isElementWithinColShape ( playerCriminals, Zone ) 
            if detectionCriminal then 
                local Leave = getElementData ( playerCriminals, "CanNotLeave" ) 
                local Drugs = getElementData ( playerCriminals, "Drugs" ) 
                if Leave == true and Drugs == false then 
                    local R, G, B, A = getMarkerColor( markerStore ) 
                    local R2, G2, B2, A2 = getMarkerColor( markerOffice ) 
                    if (R == 255 and G == 0 and B == 0 and R2 == 255 and G2 == 0 and B2 == 0) then 
                        countdownCount = countdownCount + 1 
                        if (countdownCount >= 0 and countdownCount < 3) then 
                            sendMensageMarkersTaken ( "Test count "..countdownCount.."/3 Ejem", 0, 255, 0 ) 
                        elseif (countdownCount == 3) then 
                            sendMensageMarkersTaken ( "Complete Test", 0, 255, 0 ) 
                            killTimer ( deTimer ) 
                            outputChatBox ("Testing 2", playerCriminals, 0, 255, 0) 
                            setElementData ( playerCriminals, "Drugs", true ) 
                            setElementData ( playerCriminals, "CanNotLeave", false ) 
                        end 
                    end 
                end 
            end 
        end 
    end 
end 
  
function sendMensageMarkersTaken ( message, color1, color2, color3 ) 
    local mesgPlayers = getElementsByType("player") 
    for index, playerIntoZone in ipairs(mesgPlayers) do 
        local detection = isElementWithinColShape ( playerIntoZone, Zone ) 
        if detection then 
            outputChatBox ( message, playerIntoZone, color1, color2, color3 ) 
        end 
    end 
end) 

la proxima solamente postea la parte del error porfavor :D

Link to comment

Lo unico que se me ocurre, es que uses un boolean declarado como 'true', y pongas en el sendMessage, if boolean then y adentro pones boolean = false, y luego ejecutas lo otro

Con un Timer de 60 segundos asu vez o de quizas menos lo vuelves true nuevamente.

Porque no encuentro un error

Link to comment
  • Recently Browsing   0 members

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