primeiro, gostaria de dizer que ambos os scripts foram feitos para este duelo:
http://forums.######/showthread.php?t=63138
Report:
Nome do script: sistema de report
Versão: acredito que de 8.1 pra cima pegue.
Autor: Eventide
Script:
function onSay(cid, words, param) local names = {} if isInArray(names, getPlayerName(cid)) then --// anti-flood return FALSE --// end the script else local enc = {report = tostring(param), name = getPlayerName(cid)} ---// table with variables io.open(w, "reports.txt") --// opening the report log io.write("reports.txt", tostring(enc.report)"by".. enc.name .."/n") --// writing the report io.close("reports.txt") --//closing the report log table.insert(names, enc.name) --// anti-flood addEvent(ArrayClean, 100, arr) --// 100 is the exhaust time in micro seconds. end end function ArrayClean(arr) for rox = 1,#names do if names[rox] == name then table.remove(names, rox) --//exhaust. break end end end
Como Instalar:
primeiro vá até a pasta data/talkactions/scripts do seu servidor copie e cole um script qualquer e renomeie para report.lua e copie e cole o script dentro dele, logo depois crie um arquivo chamado reports.txt e não escreva nada nele.
depois va até data/talkactions e abra o arquivo talkactions.xml, escreva o seguinte dentro dele:
<talkaction words="!report" script="report.lua" />
e... pronto
nome do script: sistema de enquete
versão: 8.1+
autor: Haxy
Script:
--[[ Primeiramente gostaria de dizer que o script foi dedicado ao duelo: [URL]http://forums.######/showthread.php?p=515871[/URL] O código esta livre para uso, estudo e/ou modificações, desde que mantido os créditos. Créditos: Haxy ]]-- local cmds = { -- Atenção, abaixo seguem os comandos do sistema, caso deseje mudar, mude também em talkactions.xml cmdAbrirVot = '/ligarvota', -- Ligar a votação, e em seguida, após as aspas, a mensagem cmdFecharVot = '/fechavota', -- Encerrar votação cmdVotar = '!votar' -- Para votar, e após as aspas, sim ou nao, caso contrario o volo não será contabilizado } local basicConfig = { access = 3, -- Access minimo para abrir e fechar votações storagePower = 27900, -- Storage value sobre se o sistema esta ligado ou desligado strS = 27901, -- Votos Sim strN = 27902 -- Votos Não } local playersVotaram = {} function onSay(cid, words, param) if words == cmds.cmdAbrirVot and getPlayerAccess(cid) >= basicConfig.access then -- (Z) if getGlobalStorageValue(basicConfig.storagePower) == -1 then -- (ZA) setGlobalStorageValue(basicConfig.storagePower,1) print('Votacao iniciada por ' .. getPlayerName(cid) .. ', com a seguinte pergunta:\n'..param) doPlayerSay(cid,'/B Votação iniciada:\n'..param..'\nUse: '.. cmds.cmdVotar..' "sim para votar sim\n'.. cmds.cmdVotar ..' "nao para votar nao.',1) else -- (ZA) doPlayerSendCancel(cid,'No momento já existe uma votação no ar, digite: ' .. cmds.cmdFecharVot .. ' para finalizar a atual e começar uma nova.') end-- (ZA) elseif words == cmds.cmdVotar then -- (Z) if getGlobalStorageValue(basicConfig.storagePower) == 1 then -- (ZC) local vot = 0 for i = 0,#playersVotaram do -- (ZD) if getPlayerName(cid) == playersVotaram[i] then -- (ZDA) vot = 1 break else -- (ZDA) vot = 0 end -- (ZDA) end -- (ZD) if vot == 0 then -- (ZE) if param == 'sim' then -- (ZEA) if getGlobalStorageValue(basicConfig.strS) == -1 then -- (ZEAA) setGlobalStorageValue(basicConfig.strS,1) else -- (ZEAA) setGlobalStorageValue(basicConfig.strS,getGlobalSt orageValue(basicConfig.strS)+1) end -- (ZEAA) doPlayerSendTextMessage(cid,22,'Obrigado pelo seu voto.') print(getPlayerName(cid)..' votou sim.') table.insert(playersVotaram,getPlayerName(cid)) elseif param == 'nao' then -- (ZEA) if getGlobalStorageValue(basicConfig.strN) == -1 then -- (ZEAB) setGlobalStorageValue(basicConfig.strN,1) else -- (ZEAB) setGlobalStorageValue(basicConfig.strN,getGlobalSt orageValue(basicConfig.strN)+1) end -- (ZEAB) print(getPlayerName(cid)..' votou nao.') doPlayerSendTextMessage(cid,22,'Obrigado pelo seu voto.') table.insert(playersVotaram,getPlayerName(cid)) else -- (ZEA) doPlayerSendCancel(cid,'Desculpe, não entendemos seu voto, use apenas as opções \'sim\' e \'nao\'.') end -- (ZEA) else -- (ZE) doPlayerSendCancel(cid,'Desculpe, mas você não pode votar mais de uma vez em uma unica votação.') end -- (ZE) else -- (ZC) doPlayerSendCancel(cid,'Não esta ocorrendo votações no momento.') end -- (ZC) elseif words == cmds.cmdFecharVot and getPlayerAccess(cid) >= basicConfig.access then -- (Z) if getGlobalStorageValue(basicConfig.storagePower) == 1 then -- (ZB) if getGlobalStorageValue(basicConfig.strS) == -1 then -- (ZBA) setGlobalStorageValue(basicConfig.strS,0) end -- (ZBA) if getGlobalStorageValue(basicConfig.strN) == -1 then -- (ZBB) setGlobalStorageValue(basicConfig.strN,0) end -- (ZBB) doPlayerSay(cid,'/B A votação terminou, Resultado:\nSIM > ' ..getGlobalStorageValue(basicConfig.strS).. ' x ' ..getGlobalStorageValue(basicConfig.strN)..' < NÃO.',1) print('Votacao terminada em Sim '..getGlobalStorageValue(basicConfig.strS).. 'x' .. getGlobalStorageValue(basicConfig.strN) ..' Nao.') playersVotaram = nil setGlobalStorageValue(basicConfig.storagePower,-1) setGlobalStorageValue(basicConfig.strS,-1) setGlobalStorageValue(basicConfig.strN,-1) else -- (ZB) doPlayerSendCancel(cid,'Não existe uma votação iniciada.') end -- (ZB) end -- (Z) end --[[ MODO DE USO! 1° Digitar, /ligarvota "PERGUNTA AQUI 2° Quando quiser encerrar a votação digitar: /fechavota 3° Após o encerramento os resultados terem sido mostrados, use o comando /reload talk Obrigado ]]--
Como instalar:
va na pasta data/talkactions/scripts do seu servidor copie e cole um arquivo qualquer renomeie para votesys.lua, e cole o script dentro dele.
logo depois va até a pasta data/talkactions e abra o arquivo talkactions.xml, copie e cole isso nele:
<talkaction words="/ligarvota" script="votesys.lua" /> <talkaction words="/fechavota" script="votesys.lua" /> <talkaction words="!votar" script="votesys.lua" />