Falaaaa galera do TK, beleza?
Sobre o sistema:
Um player qualquer reporta dizendo /report (e o nome do bug ou alguma irregularidade no otserv) se o adminstrador estiver online ele já recebe a mensagem e fica salva em um documento de log se o adminstrador não estiver online ele salva no documento de log e quando ele entrar recebe uma mensagem dizendo que existe uma nova denuncia.
O log de reports e um documento de texto onde fica salvado todas as denuncias as denuncias são salvas assim:
Todas bem organizadas e com quebra de linhas a cada denuncia.
Vamos ao scripts:
Primeiro crie um arquivo de texto(.txt) chamado report na sua pasta de seu ot onde fica o seu executavel.
Lembre-se que deve ser um arquivo txt e que deve estar na pasta raiz do seu ot.
Depois de criar o arquivo vá em talkactions e crie um arquivo LUA chamado de report.
E coloque o seguinte script:
function onSay(cid, words, param)
if exhaustion.check(cid, 2123) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Precisa esperar para reportar novamente")
return false
end
if #param <= 10 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu report precisa ter pelo menos 10 caracters")
return false
end
local file = io.open("./report.txt", "a")
file:write("\n "..getPlayerName(cid).." "..os.date("%A").." as "..tostring(os.date("%X")):sub(1, 5).." reportou dizendo ("..param..")")
file:close()
setGlobalStorageValue(28212, getGlobalStorageValue(28212)+1)
exhaustion.set(cid, 2123, 36000)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Seu report foi enviada com sucesso logo sera atendindo obrigado pela colaboração")
for _, id in ipairs(getPlayersOnline()) do
if getPlayerGroupId(cid) > 5 then
doShowTextDialog(cid, 1952, ""..getPlayerName(cid).." acabou de reportar dizendo ("..param..") este report esta salvo no log")
exhaustion.set(cid, 2123, 36000)
return true
end
return true
end
end
Agora vá em talkactions.xml e coloque a seguinte tag:
<talkaction words="/report" event="script" value="report.lua"/>
Agora vá em creaturescripts e crie um arquivo LUA chamado de alerta.
E coloque isto dentro:
function onLogin(cid)
if getPlayerGroupId(cid) > 5 then
if getGlobalStorageValue(28212) == 0 then
doShowTextDialog(cid, 1952, "1 player reportaram para ver o report abra o log de reports")
setGlobalStorageValue(28212, -1)
return true
end
if getGlobalStorageValue(28212) ~= -1 then
doShowTextDialog(cid, 1952, ""..getGlobalStorageValue(28212).." player reportaram para ver o report abra o log de reports")
setGlobalStorageValue(28212, -1)
return true
end
return true
end
return true
end
Coloque a tag em creaturescripts.xml
<event type="login" name="report" event="script" value="alerta.lua"/>
Depois registre o evento em login.lua
Primeiro va em creaturescripts/scripts e abra o arquivo chamado login.lua antes do ultimo "return" coloque isto:
registerCreatureEvent(cid, "report")
E prontinho estamos o novo report sytem.
A versão e beta mais esta funcional e bem intuitiva ótima para ser usada.