Jump to content

AJUDA


Recommended Posts

Confuso Seu código, Vou tentar ajudar .-.

Veja bem os parâmetros da função getElementData:

var getElementData ( element theElement, string key [, inherit = true] ) 
  
-- Como vc estava usando: 
  
getElementData( thePlayer, "Level", Lider) 
  
-- Solução: 
-- usar == para verificar igualdade;  

elseif mode == "deletar" then 
        playerTeam = getPlayerTeam( thePlayer ) 
        if ( playerTeam ) then 
            local teamMate = getPlayersInTeam(playerTeam) 
                for i, v in ipairs(teamMate) do 
                    local getLider = getElementData( thePlayer, "Level", Lider) 
                    --[[ 
                    /\ aqui vc usa getElementData de uma maneira errada, O correto seria: getElementData ( thePlayer, "Level" ) == "Lider" 
                    --]] 
                    if getLider then 
                        outputChatBox("#009AFF[AVISO]#00FF9BVocê deletou a gang!",thePlayer, 255, 255, 255, true) 
                        setElementData(thePlayer, "Level", "") 
                            if ( v ~= thePlayer ) then 
                                setElementData(v, "Level", "") 
                                outputChatBox("#009AFF[AVISO]#00FF9BO jogador #009AFF"..getPlayerName(thePlayer).."#00FF9B deletou a gang!",v, 255, 255, 255, true) 
                            end 
                    destroyElement(playerTeam) 
                    end 
                end 
        else 
            outputChatBox("#009AFF[AVISO]#00FF9BVocê não possui uma gang!",thePlayer, 255, 255, 255, true) 
        end 

Correto:

    elseif mode == "deletar" then 
        playerTeam = getPlayerTeam( thePlayer ) 
        if ( playerTeam ) then 
            if getElementData ( thePlayer, "Level" )  ~= "Lider" then -- ~= significa diferente 
                outputChatBox ( "vc n e lider da gang", thePlayer ) 
                return -- para o codigo 
            end 
            outputChatBox("#009AFF[AVISO]#00FF9BVocê deletou a gang!",thePlayer, 255, 255, 255, true) 
            local teamMate = getPlayersInTeam(playerTeam) 
            setElementData(thePlayer, "Level", "") 
                for i, v in ipairs(teamMate) do 
                    if ( v ~= thePlayer ) then 
                        setElementData(v, "Level", "") 
                        outputChatBox("#009AFF[AVISO]#00FF9BO jogador #009AFF"..getPlayerName(thePlayer).."#00FF9B deletou a gang!",v, 255, 255, 255, true) 
                    end 
                    destroyElement(playerTeam) 
                end 
        else 
            outputChatBox("#009AFF[AVISO]#00FF9BVocê não possui uma gang!",thePlayer, 255, 255, 255, true) 
        end 

No /gang abandonar só faltou arrumar o getElementData, desfazer o loop (desnecessario) e usar um return:

elseif mode == "abandonar" then 
        playerTeam = getPlayerTeam(thePlayer) 
        if ( playerTeam ) then 
            local liderTeam = getElementData(thePlayer, "Level", Lider ) 
            if getElementData ( thePlayer, "Level" )  == "Lider" then 
                outputChatBox("#009AFF[AVISO]#00FF9BO lider não pode abandonar a gang!",thePlayer, 255, 255, 255, true) 
                return 
            else 
                setPlayerTeam(thePlayer, nil) 
                setElementData(thePlayer, "Level", "") 
                outputChatBox("#009AFF[AVISO]#00FF9BVocê abandonou a gang!",thePlayer, 255, 255, 255, true) 
                outputChatBox("#009AFF[AVISO]#00FF9BO jogador #009AFF"..getPlayerName(thePlayer).." #00FF9BOabandonou a gang!",root, 255, 255, 255, true) 
            end 
        else 
            outputChatBox("#009AFF[AVISO]#00FF9BVocê não possui uma gang!",thePlayer, 255, 255, 255, true) 
        end 
    end 

Fora isso recomendo vc usar tabelas em vez de set/getElementData, veja:

http://forum.mtasa.com/viewtopic.php?f=148&t=77161

Link to comment
usar root para avisar quem abandonou a gang, não vai transmitir o outputChatBox para todos os jogadores do server?

Sim, entendi errado oque ele queria, Se quiser corrigir:

for _,v in ipairs ( getPlayersInTeam(playerTeam) ) do 
    if v ~= thePlayer then 
        outputChatBox("#009AFF[AVISO]#00FF9BO jogador #009AFF"..getPlayerName(thePlayer).." #00FF9BOabandonou a gang!",v, 255, 255, 255, true) 
    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...