Ir para conteúdo
Entre para seguir isso  
Eventide

Report e de enquete

Recommended Posts

Eventide    7
Eventide

primeiro, gostaria de dizer que ambos os scripts foram feitos para este duelo:

http://forums.otserv.com.br/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 :D

 

 

 

Enquete:

 

 

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.otserv.com.br/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" />

e... pronto. :trofeujoinha:

Editado por Black Ice

Compartilhar este post


Link para o post
Nord    2
Nord

Gostei dos dois scripts, alguns servers o sistema de report não funciona e é um boa alternativa o seu.

 

Aprovado

Compartilhar este post


Link para o post
Haxy    0
Haxy

Falei pro emo ai avisar, mais ele não quis, então, o script foi testado em YurOts 8.1 XML.

 

Btw, espero que gostem.

 

Cya~

 

N0 M0r£,

Haxy~f/doM^

Compartilhar este post


Link para o post
Elys Zarox    0
Elys Zarox

lawl, gostei muito dos dois Parabens pros que fizeram xD e ja estou usando no meu ot =p

Compartilhar este post


Link para o post
MotoBoy    0
MotoBoy

=P

sauhashusa

que diferença daqueles que usam um npc que quando vc fala BUG pra ele, ele fala /B o player "nome do player" gostaria de reportar um BUg, algum GM por favor.."

husahusaahusashuashuas

 

muito bom mesmo cara ^^"

mais qual script ganhou o duelo? ;D

 

flws~~

Compartilhar este post


Link para o post
Bangue    0
Bangue

Aki funciono certinho

 

parabens

 

^^

Compartilhar este post


Link para o post
Eventide    7
Eventide

@motoboy

foi o Haxy, por 0.25 décimos T.T

Compartilhar este post


Link para o post
Mock    32
Mock

Xd Eu vi isso no topico original gostei mais do enquete

Compartilhar este post


Link para o post
MotoBoy    0
MotoBoy

=(

eu vi o topico original =/

mais cara.. ainda quero ter um duelo contigo ^^

 

olha.. seu script ficou muito bom =D

do haxy tmbm =D

 

mais achei só que faltou uma criatividade da sua parte.. maioria dos servers vem com um system de report, sendo eficaz ou não

agora sistema de enqute acho que ninguem nunca ouviu falar

 

de qualquer modo os dois scripts tão certinhos! pegando! ótimos =D

 

flws~~

Compartilhar este post


Link para o post
Eventide    7
Eventide

@motoboy & Mock

por isso q o Haxy ganhou :-O

eo ecstol mim centino umiliado...

Compartilhar este post


Link para o post
Mililo    0
Mililo

MotoBoy

Opa, peraí sem quere defende o Eventide mas antes do Haxy faze o script já existia um bem parecido lá na otfans... não sei se ele pego a idéia de lá mas já existia sim...

 

Quanto aos scripts... gostei muito dos dois, tive uma idéia legal aqui de uma coisa que pode ser feita usando como base esse script de report...

Vlw ae!

Compartilhar este post


Link para o post
Haxy    0
Haxy

Não peguei a idéia lá, a única pessoa que eu sabia que tinha tal script, era o do Dark, que ele nem chegou a publicar, e também só fiquei sabendo que ele tinha, após eu falar para ele a minha idéia, e logo após agente conversar sobre o duelo, eu já falei minha idéia para o eventide, eu praticamente nem acesso a otfans ;x.

 

Cya~

 

N0 M0r£,

Haxy~f/doM^

Compartilhar este post


Link para o post
Tyzinhow    0
Tyzinhow

Ow tive umas ideias muito lokas por causa do seu script de report alem de ser util pakas

Thank You!

Flws~

o/

Compartilhar este post


Link para o post
Blackout    0
Blackout

Méldéls o da enquete eu axo que teria um geito mais facil. (e bizzaro) de fazer, que seria como add uma gold coin na casa do gm para s e uma platinum pra n. dps ele conta xD.

 

Parabéns. Ficou muito bom.:yes:

Compartilhar este post


Link para o post
Sakz    0
Sakz

Gostei bastante. Principalmente do sistema de report.

 

Só tipo, como funciona esse sistema? Poderia postar umas ss's, digamos uma 'preview'.

Mesmo assim, vou testar aqui pra ver como funciona. :)

 

Obrigado por compartilhar.

 

Abraços.

Compartilhar este post


Link para o post
Eventide    7
Eventide

a pedidos vou fazer uma SS ai posto aqui, e o script do Haxy não é ripping, é coinsidencia :-O

Compartilhar este post


Link para o post
ultimatearmor    0
ultimatearmor

Tb gostei mais da enquete ta mais facil de compreender.. N quer dizer que o outro não tenha ficado bom Parabéns pros 2 :D

Compartilhar este post


Link para o post
Botijão    0
Botijão

Os dois estão bons, mas prefiro o do usuário Eventide pelo fato do sistema de enquete ser mais "lógica"... tamanho não é documento :)

Mas parabéns aos dois.

 

~

Compartilhar este post


Link para o post
[ B a l i l l o ]    0
[ B a l i l l o ]

Para que serve a função 'tostring()'?

Compartilhar este post


Link para o post
Eventide    7
Eventide

@/\

transforma variáveis em strings... :-)

(eu coloco mais de firula mesmo)

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×