Jump to content

Error: Expected Near


Recommended Posts

Alguem me Ajuda! Está Dando Erro na Linha 8

function getPlayerFromPartialName(thePlayer,commandName,sendToName,...) 
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil 
    if name then 
        for _, player in ipairs(getElementsByType("player")) do 
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() 
            if name_:find(name, 3, true) then 
            return player else 
            outputChatBox("O "getPlayerName(source)"#00ff00 Está Revistando o Jogador"getPlayerName(thePlayer)) 
            local players = getElementsByType ( "player" ) 
                for theKey,thePlayer in ipairs(players) do 
                local level = getPlayerWantedLevel ( thePlayer ) 
            if ( level > 0 ) then 
                outputChatBox ( getPlayerName ( thePlayer ) .. " Está com " .. level .. " de procurado!" ) 
            end 
        end 
    end 
addCommandHandler("revistar", getPlayerFromPartialName) 

Link to comment

Você misturou a função getPlayerFromPartialName com a parte de revistar o jogador, o certo seria criar outra função, Comentei o código inteiro para você entender :)

function getPlayerFromPartialName(name) 
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil 
    if name then 
        for _, player in ipairs(getElementsByType("player")) do 
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower() 
            if name_:find(name, 1, true) then 
                return player 
            end 
        end 
    end 
end 
  
function revistar_jogador ( thePlayer, comando, nick ) -- definimos a função revistar_jogador 
    --[[ 
        Como você adicionou um comando, a função ganha 2 parametros 
         
        thePlayer   =   Jogador que digitou o comando 
        comando     =   Comando digitado 
         
        o parametro nick foi definido por nós. 
    --]] 
     
    if nick then -- checamos se nick (o parametro que indica o nick do jogador a ser revistado) foi digitado 
        if getPlayerFromPartialName ( nick ) then -- checamos se existe um player com o nick digitado 
            local player_a_ser_revistado    =   getPlayerFromPartialName ( nick ) -- definimos player_a_ser_revistado como o player a ser revistado.. 
            local nick_do_jogador           =   getPlayerName ( player_a_ser_revistado ) -- pegamos o nick do jogador 
            local nick_do_policial          =   getPlayerName ( thePlayer )              -- pegamos o nick do policial (quem digitou o comando) 
            local estrelas_de_procurado     =   getPlayerWantedLevel ( player_a_ser_revistado ) -- obtemos o nivel de procurado do 'bandido' 
             
            outputChatBox( "O "..nick_do_policial.."#00ff00 Está Revistando o Jogador "..nick_do_jogador, root, 255, 255, 255, true ) -- Mandamos a mensagem para todos do servidor (root = todos) 
            outputChatBox ( "Nivel de procurado de "..nick_do_jogador..": "..estrelas_de_procurado, thePlayer, 255, 255, 255, true ) -- Mandamos outra mensagem dessa vez apenas para quem digitou o comando 
        end 
    end 
end 
addCommandHandler ( "revistar", revistar_jogador ) -- adicionar o comando 

Qualquer dúvida poste aqui.

Link to comment

agora me veio mais um erro attemp condenate local' accname' (a boolean value)

local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "ROTA" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "ROCAM" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "FT" ) ) or isObjectInACLGroup ("user."..accName, aclGetGroup ( "PM" ) ) then  
end 
  

Link to comment
function revistar_jogador ( thePlayer, comando, nick )  
    if nick then  
        if getPlayerFromPartialName ( nick ) then 
            local player_a_ser_revistado    =   getPlayerFromPartialName ( nick ) 
            local nick_do_jogador           =   getPlayerName ( player_a_ser_revistado ) 
            local nick_do_policial          =   getPlayerName ( thePlayer ) 
            local estrelas_de_procurado     =   getPlayerWantedLevel ( player_a_ser_revistado ) 
   
            outputChatBox( "#A09E9EO Policial"..nick_do_policial.."#A09E9E Está Revistando o #FC0303Jogador "..nick_do_jogador, root, 255, 255, 255, true )  
            outputChatBox ("#A09E9EO Nivel de #FC0303procurado #A09E9EO de "..nick_do_jogador..": "..estrelas_de_procurado, thePlayer, 255, 255, 255, true ) 
        end 
    end 
end 
addCommandHandler ( "revistar", revistar_jogador ) 

enfim não consigo colocar acl nessa função, preciso colocar algo a mais na função?

Link to comment
enfim não consigo colocar acl nessa função, preciso colocar algo a mais na função?

Precisa colocar mais um if checando se o jogador está em determinada ACL.

Usando o exemplo da wiki:

function revistar_jogador ( thePlayer, comando, nick ) 
    local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then -- Troque Admin por sua ACL 
        if nick then 
            if getPlayerFromPartialName ( nick ) then 
                local player_a_ser_revistado    =   getPlayerFromPartialName ( nick ) 
                local nick_do_jogador           =   getPlayerName ( player_a_ser_revistado ) 
                local nick_do_policial          =   getPlayerName ( thePlayer ) 
                local estrelas_de_procurado     =   getPlayerWantedLevel ( player_a_ser_revistado ) 
      
                outputChatBox( "#A09E9EO Policial"..nick_do_policial.."#A09E9E Está Revistando o #FC0303Jogador "..nick_do_jogador, root, 255, 255, 255, true ) 
                outputChatBox ("#A09E9EO Nivel de #FC0303procurado #A09E9EO de "..nick_do_jogador..": "..estrelas_de_procurado, thePlayer, 255, 255, 255, true ) 
            end 
        end 
    end 
end 
addCommandHandler ( "revistar", revistar_jogador ) 

Link to comment
Deu um problema, ele n funciona quando eu digita /revistar, mas funciona quando digita /revistar [nome do jogador]

Isso não é um problema, o código foi feito para ser assim.

if nick then 
--[[ 
    ^  
    aqui checamos se o jogador digitou algum nick, se não digitou nada acontecerá 
--]] 

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