Postado Janeiro 16, 2016 9 anos 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 > 'talkactions.xml' Abra-o e na última linha adicione: <talkaction log="yes" words="!broad" event="script" value="broadcastpremiun.lua"/> Depois vá na pasta: Data > talkactions > scripts E crie o arquivo 'broadcastpremiun' e salve-o no formato '.lua'. E pronto. Teste aí. The Last Man Standing - 100% funcional
Postado Janeiro 16, 2016 9 anos Autor sim, está perfeito, só que eu gostaria de trocar ele de storage. para premium account, pois meu sistema donate era de storage mais a uns dias atraz deu problema então mudei para premium normal agora a donate é contada nos dias de premium normal do tibia, gostaria de saber se poderia alterar para premium, e como ficaria alterado grato e já está reputado pela ajuda !!!
Postado Janeiro 16, 2016 9 anos 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', } function onSay(cid, words, param, channel) if (getPlayerPremiumDays(cid) < config.dias) then doPlayerSendCancel(cid, 'Only vips can use this command.') return true end if param == '' then doPlayerSendCancel(cid, 'Command requires a message.') return true end if exhaustion.check(cid, config.exhaustionStorage) then doPlayerSendCancel(cid, 'You can not use this command yet['..exhaustion.get(cid, config.exhaustionStorage)..'].') 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 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, param) return true end Mudei ali no 'script' do @vankk The Last Man Standing - 100% funcional
Postado Janeiro 16, 2016 9 anos Autor @Xagah deu esse problema quando tentei enviad a msg nem apareceu para todos, alterei poca coisa no script, ele está assim ! [16/01/2016 09:13:50] [Error - TalkAction Interface] [16/01/2016 09:13:50] data/talkactions/scripts/broadcastmsg.lua:onSay [16/01/2016 09:13:50] Description: [16/01/2016 09:13:50] data/talkactions/scripts/broadcastmsg.lua:32: bad argument #2 to 'find' (string expected, got table) [16/01/2016 09:13:50] stack traceback: [16/01/2016 09:13:50] [C]: in function 'find' [16/01/2016 09:13:50] data/talkactions/scripts/broadcastmsg.lua:32: in function <data/talkactions/scripts/broadcastmsg.lua:12> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ script tá assim 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', } function onSay(cid, words, param, channel) 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 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, param) return true end <talkaction log="yes" words="/bmsg" event="script" value="broadcastmsg.lua"/> gostaria que aparece-se o level tbm do player que estiver falando pro defalut se puder colacar isso agradeço mt !
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.