Jump to content

Alguem pode me ajudar ness puxo de acl?


Recommended Posts

function darDinheiro(player, cmd, thePlayer)
		local nomeacc = gatAccountName(getPlayerAccount(thePlayer))
			if not isObjectInACLGroup("user."..nomeAcc, aclGetGroup(admin)) then
			outputChatBox("#0077ffVocê não é um admin para usar esse comando", 255, 255, 255, true)
		else
	givePlayerMoney(player, 1000)
		outputChatBox("#0077ffVocê recebeu dinheiro de " .. getPlayerName(player), player, 255,255,255, true)
end
addCommandHandler("dinheiro", darDinheiro)
	

Alguem poderia me ajudar?

Estou querendo fazer esse mini script para dar dinheiro só q,eu queria q quem estivesse fora do grupo da acl não conseguisse acessar o codigo, só q quem estivesse nele podesse  executar o codigo

 

obs:Sei que estou pedindo muita ajuda só que isso é para eu aprender e poder fazer scripts publicos também <3

 

Edited by carlos eduardo
ja aprendi a do dinheiro
Link to comment
function darDinheiro( player )
		local acc = getAccountName(getPlayerAccount(player))
			if not isObjectInACLGroup("user."..acc, aclGetGroup("Admin")) then
			outputChatBox("#0077ffVocê não é um admin para usar esse comando", 255, 255, 255, true)
		else
	givePlayerMoney(player, 1000)
		outputChatBox("#0077ffVocê recebeu dinheiro de " .. getPlayerName(player), player, 255,255,255, true)
end
end
addCommandHandler("dinheiro", darDinheiro)

 

  • Thanks 1
Link to comment
5 minutes ago, <~KaMiKaZe~> said:

function darDinheiro( player )
		local acc = getAccountName(getPlayerAccount(player))
			if not isObjectInACLGroup("user."..acc, aclGetGroup("Admin")) then
			outputChatBox("#0077ffVocê não é um admin para usar esse comando", 255, 255, 255, true)
		else
	givePlayerMoney(player, 1000)
		outputChatBox("#0077ffVocê recebeu dinheiro de " .. getPlayerName(player), player, 255,255,255, true)
end
end
addCommandHandler("dinheiro", darDinheiro)

 

muito obrigado vou testar agora para ver se deu certo

14 minutes ago, <~KaMiKaZe~> said:

function darDinheiro( player )
		local acc = getAccountName(getPlayerAccount(player))
			if not isObjectInACLGroup("user."..acc, aclGetGroup("Admin")) then
			outputChatBox("#0077ffVocê não é um admin para usar esse comando", 255, 255, 255, true)
		else
	givePlayerMoney(player, 1000)
		outputChatBox("#0077ffVocê recebeu dinheiro de " .. getPlayerName(player), player, 255,255,255, true)
end
end
addCommandHandler("dinheiro", darDinheiro)

 

esta dando o mesmo erro de antes, ele n mostra nada no chat n sei nem se ta dando o dinheiro

Link to comment
  • Moderators

Tente:


function darDinheiro(player, cmd, playerName)
	if playerName and getPlayerFromPartialName( playerName ) then
		local playerTarget = getPlayerFromPartialName( playerTarget )

		local nomeacc = getAccountName(getPlayerAccount(player))
		if isObjectInACLGroup("user."..nomeacc, aclGetGroup("admin")) then
			givePlayerMoney(playerTarget, 1000)
			outputChatBox("#0077ffVocê recebeu dinheiro de " .. getPlayerName(player), playerTarget, 255,255,255, true)
			outputChatBox("#0077ffVocê deu $1000 para o jogador " .. getPlayerName(playerTarget), player, 255,255,255, true)
		else
			outputChatBox("#0077ffVocê não é um admin para usar esse comando", player, 255, 255, 255, true)
		end
	else
		outputChatBox( "Jogador não encontrado!", player, 230, 0, 0 )
	end
end
addCommandHandler("dinheiro", darDinheiro)

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

Da próxima vez, use o comando /debugscript 3 pra ver no debug os erros do seu código.

  • Thanks 1
Link to comment
4 minutes ago, DNL291 said:

Tente:


function darDinheiro(player, cmd, playerName)
	if playerName and getPlayerFromPartialName( playerName ) then
		local playerTarget = getPlayerFromPartialName( playerTarget )

		local nomeacc = getAccountName(getPlayerAccount(player))
		if isObjectInACLGroup("user."..nomeacc, aclGetGroup("admin")) then
			givePlayerMoney(playerTarget, 1000)
			outputChatBox("#0077ffVocê recebeu dinheiro de " .. getPlayerName(player), playerTarget, 255,255,255, true)
			outputChatBox("#0077ffVocê deu $1000 para o jogador " .. getPlayerName(playerTarget), player, 255,255,255, true)
		else
			outputChatBox("#0077ffVocê não é um admin para usar esse comando", player, 255, 255, 255, true)
		end
	else
		outputChatBox( "Jogador não encontrado!", player, 230, 0, 0 )
	end
end
addCommandHandler("dinheiro", darDinheiro)

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

Da próxima vez, use o comando /debugscript 3 pra ver no debug os erros do seu código.

obrigado pela dica e por fazer o script, eu só não entendi o playerTarget(tipo o id ou nome) :(

Link to comment
3 minutes ago, DNL291 said:

playerTarget Vai retornar o jogador que vai receber o dinheiro; E a função getPlayerFromPartialName obtém o jogador pelo nick.

Então a sintaxe será: /dinheiro [nome_do_jogador]

hm, muito obrigado, não precisava ter gastado o seu tempo para ter feito um script

8 minutes ago, DNL291 said:

playerTarget Vai retornar o jogador que vai receber o dinheiro; E a função getPlayerFromPartialName obtém o jogador pelo nick.

Então a sintaxe será: /dinheiro [nome_do_jogador]

sei que vc deve estar de saco cheio comigo só que o /debugscript 3 mostrou isso: attempt to concatenate a boolean value

Link to comment
  • Moderators

Como você não digitou a mensagem do debug toda, não sei exatamente o que tem errado no código, pra mim não parece ter nenhum erro. Será que não foi o nick do jogador inválido?Agora percebi o erro, na linha 4, troque playerTarget por playerName, deixe assim:

local playerTarget = getPlayerFromPartialName( playerName )
1 hour ago, carlos eduardo said:

hm, muito obrigado, não precisava ter gastado o seu tempo para ter feito um script

Nem esquenta, não leva muito tempo pra fazer código assim e sempre gostei mais de ajudar do que de fazer scripts pra mim mesmo.

  • Thanks 1
Link to comment
44 minutes ago, DNL291 said:

Como você não digitou a mensagem do debug toda, não sei exatamente o que tem errado no código, pra mim não parece ter nenhum erro. Será que não foi o nick do jogador inválido?Agora percebi o erro, na linha 4, troque playerTarget por playerName, deixe assim:


local playerTarget = getPlayerFromPartialName( playerName )

Nem esquenta, não leva muito tempo pra fazer código assim e sempre gostei mais de ajudar do que de fazer scripts pra mim mesmo.

Bom que fazendo posts assim ajuda outras pessoas também

47 minutes ago, DNL291 said:

Como você não digitou a mensagem do debug toda, não sei exatamente o que tem errado no código, pra mim não parece ter nenhum erro. Será que não foi o nick do jogador inválido?Agora percebi o erro, na linha 4, troque playerTarget por playerName, deixe assim:


local playerTarget = getPlayerFromPartialName( playerName )

Nem esquenta, não leva muito tempo pra fazer código assim e sempre gostei mais de ajudar do que de fazer scripts pra mim mesmo.

esse é o nome do erro: [testes]\dardinheiro\dinheiro.lua:9: attempt to concatenate a boolean value

Que mesmo fazendo oq vc mandou ta dando m mesmo erro

Link to comment
  • Other Languages Moderators

Por acaso esse seu script é pra dar sempre exatamente $1000? Ou vc quer informar o valor da grana junto com o comando?

Se vc quer dar sempre $1000, tente isso:

function darDinheiro (theStaff, cmd, thePlayer)
  local accName = getAccountName (getPlayerAccount (theStaff)) -- recebe o seu login.
  local theTarget = getPlayerFromName (thePlayer) -- recebe o jogador cujo nick vc informou no comando. (o nick precisa ser exato incluindo as cores)
  if isObjectInACLGroup ("user."..accName, aclGetGroup ("Admin")) or isObjectInACLGroup ("user."..accName, aclGetGroup ("Console")) then
    if theTarget then -- Se foi encontrado um jogador com o nick informado, então:
      givePlayerMoney (theTarget, 1000) -- da $1000 ao jogador.
      outputChatBox ("Você deu $1000 ao jogador "..thePlayer, theStaff, 255, 255, 255, true)
    else
      outputChatBox ("Jogador inválido.", theStaff, 255, 0, 0)
    end
  else
    outputChatBox ("Acesso negado a este comando.", theStaff, 255, 0, 0)
  end
end
addCommandHandler ("dinheiro", darDinheiro) -- /dinheiro meuNick123

 

Se vc quer informar o valor do dinheiro junto com o comando, tente isso:

function darDinheiro (theStaff, cmd, thePlayer, valor)
  local accName = getAccountName (getPlayerAccount (theStaff)) -- recebe o seu login.
  local theTarget = getPlayerFromName (thePlayer) -- recebe o jogador cujo nick vc informou no comando. (o nick precisa ser exato incluindo as cores)
  if isObjectInACLGroup ("user."..accName, aclGetGroup ("Admin")) or isObjectInACLGroup ("user."..accName, aclGetGroup ("Console")) then
    if theTarget then -- Se foi encontrado um jogador com o nick informado, então:
      if valor then
      	giveMoney (theTarget, tonumber(valor)) -- da o valor ao jogador convertido em número.
        outputChatBox ("Você deu $"..valor.." ao jogador "..thePlayer, theStaff, 255, 255, 255, true)
      else
        outputChatBox ("Valor inválido.", theStaff, 255, 0, 0)  
      end
    else
      outputChatBox ("Jogador inválido.", theStaff, 255, 0, 0)
    end
  else
    outputChatBox ("Acesso negado a este comando.", theStaff, 255, 0, 0)
  end
end
addCommandHandler ("dinheiro", darDinheiro) -- /dinheiro meuNick123 1000

 

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