Ir para conteúdo

Featured Replies

Postado

Testa lá:

Spoiler

function onSay(cid, words, param, channel)

local config = {
    dias = 1, -- Número de Dias para pode usar a função
    exhaustionStorage = 16785,
    exhaustionTime = 120, -- segundos
    char = 100 --maximo de letras na msg
}
local list = {
    'dot','.com','.net','servegame','hopto','ip','no-ip','.org','whore','slut','fuck','mother','fucker','hopto','ass','cock','pussy',
}
    

    if (getPlayerPremiumDays(cid) < config.dias) then
        doPlayerSendCancel(cid, 'Somente donates pode usar esse comando.')
        return true
    end
    if param == '' then
        doPlayerSendCancel(cid, 'Command requires a message.')
        return true
    end
    if exhaustion.check(cid, config.exhaustionStorage) then
        doPlayerSendCancel(cid, 'Voce nao pode usar esse comando ainda, espere ['..exhaustion.get(cid, config.exhaustionStorage)..'] segundos.')
        return true
    else
        exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime)
    end
    local forbid, param2 = false, param:lower()
    for i = 1, #list do
        if string.find(param2, list) ~= nil then
            forbid = true
            break
        end
    end
	
	local forbid, param2 = false, param:lower()

	
    if forbid then
        doPlayerSendCancel(cid, 'Your message contains a forbidden word.')
        return true
    end
    if string.len(param) >= char then
        doPlayerSendCancel(cid, 'Your message is too long.')
        return true
    end
    doPlayerBroadcastMessage(cid, '['..getPlayerLevel(cid)..'] '..param..'')
    return true
end

 

 

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

  • Respostas 18
  • Visualizações 908
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local config = { Bstorage = 13500, exhaustionStorage = 16785, exhaustionTime = 120, -- segundos char = 100 --maximo de letras na msg } local list = { 'dot','.com','.net','servegame','hopto','ip'

  • Analisando o 'script' do @vankk vi que está perfeito. Houve algum erro? Se sim, pegue no 'console' (tela preta) o erro e cole-o aqui.   No mais, vá no arquivo: data > talkactions >

  • local config = { dias = 1, -- Número de Dias para pode usar a função exhaustionStorage = 16785, exhaustionTime = 120, -- segundos char = 100 --maximo de letras na msg } local list = { 'dot','.co

Postado
  • Autor

@Xagah continua dando esse erro na distro !

 

[16/01/2016 09:44:43] [Error - TalkAction Interface] 
[16/01/2016 09:44:43] data/talkactions/scripts/broadcastmsg.lua:onSay
[16/01/2016 09:44:43] Description: 
[16/01/2016 09:44:43] data/talkactions/scripts/broadcastmsg.lua:30: bad argument #2 to 'find' (string expected, got table)
[16/01/2016 09:44:43] stack traceback:
[16/01/2016 09:44:43]     [C]: in function 'find'
[16/01/2016 09:44:43]     data/talkactions/scripts/broadcastmsg.lua:30: in function <data/talkactions/scripts/broadcastmsg.lua:1>

Editado por Micheel15 (veja o histórico de edições)

Postado

Testa assim:


function onSay(cid, words, param, channel)

local config = 
	{
    dias = 1, -- Número de Dias para pode usar a função
    exhaustionStorage = 16785,
    exhaustionTime = 120, -- segundos
    char = 100 --maximo de letras na msg
	}

	local list = 
	{
    'dot','com','net','servegame','hopto','ip','no-ip','org','whore','slut','fuck','mother','fucker','hopto','ass','cock','pussy',
	}
    

    if (getPlayerPremiumDays(cid) < config.dias) then
        doPlayerSendCancel(cid, 'Somente donates pode usar esse comando.')
        return true
    end
    if param == '' then
        doPlayerSendCancel(cid, 'Command requires a message.')
        return true
    end
    if exhaustion.check(cid, config.exhaustionStorage) then
        doPlayerSendCancel(cid, 'Voce nao pode usar esse comando ainda, espere ['..exhaustion.get(cid, config.exhaustionStorage)..'] segundos.')
        return true
    else
        exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime)
    end
    local forbid, param2 = false, param:lower()
    for i = 1, #list do
        if string.find(param2, list) ~= nil then
            forbid = true
            break
        end
    end
	
	local forbid, param2 = false, param:lower()

	
    if forbid then
        doPlayerSendCancel(cid, 'Your message contains a forbidden word.')
        return true
    end
    if string.len(param) >= char then
        doPlayerSendCancel(cid, 'Your message is too long.')
        return true
    end
    doPlayerBroadcastMessage(cid, '['..getPlayerLevel(cid)..'] '..param..'')
    return true
end

 

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Postado
  • Autor

@Xagah deu este erro na distro e a mensagem não aparece no server

 

[16/01/2016 11:18:54] [Error - TalkAction Interface] 
[16/01/2016 11:18:54] data/talkactions/scripts/broadcastmsg.lua:onSay
[16/01/2016 11:18:54] Description: 
[16/01/2016 11:18:54] data/talkactions/scripts/broadcastmsg.lua:33: bad argument #2 to 'find' (string expected, got table)
[16/01/2016 11:18:54] stack traceback:
[16/01/2016 11:18:54]     [C]: in function 'find'
[16/01/2016 11:18:54]     data/talkactions/scripts/broadcastmsg.lua:33: in function <data/talkactions/scripts/broadcastmsg.lua:1>

Postado

Sei que é um teste, mas o que está acontecendo é que as palavras proibidas estão (por alguma razão que por enquanto ainda ainda não entendi) não estão conseguindo ser verificadas.

 

Vamos fazer um teste, onde há:

	local list = 
	{
    'dot','com','net','servegame','hopto','ip','no-ip','org','whore','slut','fuck','mother','fucker','hopto','ass','cock','pussy',
	}

Troque por:

	local list = 
	{
    'dot'
	}

 

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo