Ir para conteúdo
  • 0

Achei O Script De Loteria, Mas Tem Outro Desafio :(


Diley007

Pergunta

isso ta na pasta data/globalevents/scripts

 

so que eu quero que nao sorteie 1 player e sim varios, tipo como se fosse mega sena, o player chega fala hi e escolhe um numero de 1 a 10 ai quem acerta o numero ganha o premio...ajudem aee por favor...REP+ claro, pra quem ajudar

 

local config = {

lottery_hora = "2 horas",

reward_count = 1,

website = 0

}

function onThink(interval, lastExecution)

local players = getPlayersOnline()

local list = {}

for i, tid in ipairs(players) do

list = tid

end

local winner = list[math.random(1, #list)]

if(config.website == 1) then

db.executeQuery("INSERT INTO `lottery` (`name`) VALUES ('".. getCreatureName(winner) .."');")

end

doBroadcastMessage('[Loteria Erondino Serve] Ganhador: '.. getCreatureName(winner) ..', Recompensa: '.. config.reward_count ..'moedas! - Parabens ! (Proxima em: '.. config.lottery_hora ..')')

doPlayerAddItem(winner, 2160,config.reward_count)

return TRUE

end

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Primeiro você vai ter que criar um npc para o player poder escolher um número.

nomeio e crie como quiser. o script do npc sera esse:

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

local numberMax = 10 -- numero maximo que o player pode escolher

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg, 'sim') then

selfSay('Você pode escolher um número de {1 à '..numberMax..'.}', cid)
talkState[talkUser] = 2


elseif talkState[talkUser] == 2 then

if tonumber(msg) <= numberMax and tonumber(msg) > 0 then
   if getPlayerStorageValue(cid, 439412) == -1 then
       setPlayerStorageValue(cid, 439412, tonumber(msg)+1)
       selfSay('Parabéns, você escolheu o número '..tonumber(msg)..', aguarde o sortei.', cid)
       selfSay('Caso deslogue, seu numero não será valido.', cid)
   else
   selfSay('Você ja escolheu um número, espere até o sortei ocorrer.', cid)
   end
else
selfSay('Esso não é um numero valido.', cid)
end

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

o teu globalevent vai mudar pra esse:

local config = {
lottery_hora = "2 horas",
reward_count = 1,
website = 0,
numberMax = 10 -- numero maximo que o player pode escolher
}
function onThink(interval, lastExecution)
local players = getPlayersOnline()
local list = {}
for i, tid in ipairs(players) do
list[i] = tid
end

local sorteio = math.random(1,config.numberMax)
local cont = 0
for o=1, #list do
   if getPlayerStorageValue(list[o], 439412) == sorteio then
   local winner = list[o]
       cont = cont + 1
       if(config.website == 1) then
           db.executeQuery("INSERT INTO `lottery` (`name`) VALUES ('".. getCreatureName(winner) .."');")
       end
       doBroadcastMessage('[Loteria Erondino Serve] Ganhador['.. cont ..']: '.. getCreatureName(winner) ..', Recompensa: '.. config.reward_count ..'moedas! - Parabens ! (Proxima em: '.. config.lottery_hora ..')')
       doPlayerAddItem(winner, 2160,config.reward_count)
   end
end

return TRUE
end

 

e no teu arquivo login.lua, que fica na pasta data/creaturescripts/scripts. abra-o e antes do último return true cole:

setPlayerStorageValue(cid, 439412, -1)

 

prontinho! happy.png

Link para o comentário
Compartilhar em outros sites

  • 0

mas ele não queria igual a mega sena? o jogador escolhe 6 números por exemplo: !apostar 1,50,23,12,21,10

dai ele aposta a quantia tal, e se ninguém ganhar acumula para o proximo sorteio '-'

Link para o comentário
Compartilhar em outros sites

  • 0

não sei, fiquei meio assim tbm. mais fiz pra escolher um numero msm. asijda

aqui ele disse que era sóh 1 nm:

o player chega fala hi e escolhe um numero de 1 a 10

acho que o exemplo da mega sena foi sóh pra dizer que mais de uma pessoa pode ganhar.

Link para o comentário
Compartilhar em outros sites

  • 0

não sei, fiquei meio assim tbm. mais fiz pra escolher um numero msm. asijda

aqui ele disse que era sóh 1 nm:

o player chega fala hi e escolhe um numero de 1 a 10

acho que o exemplo da mega sena foi sóh pra dizer que mais de uma pessoa pode ganhar.

 

HUIhUISHiuIUhiuHIUhsuiSHUis

é vdd, já penso se fosse igual da mega sena? oloco

seria muito azar ganhar no tibia e não ganhar na mega sena da rl kkkkkkkk

eu me matava

Link para o comentário
Compartilhar em outros sites

  • 0

mas ele não queria igual a mega sena? o jogador escolhe 6 números por exemplo: !apostar 1,50,23,12,21,10

dai ele aposta a quantia tal, e se ninguém ganhar acumula para o proximo sorteio '-'

nao nao era isso que eu queria msm o player escolhe 1 numero so...

 

Primeiro você vai ter que criar um npc para o player poder escolher um número.

nomeio e crie como quiser. o script do npc sera esse:

function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

local numberMax = 10 -- numero maximo que o player pode escolher

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg, 'sim') then

selfSay('Você pode escolher um número de {1 à '..numberMax..'.}', cid)
talkState[talkUser] = 2


elseif talkState[talkUser] == 2 then

if tonumber(msg) <= numberMax and tonumber(msg) > 0 then
if getPlayerStorageValue(cid, 439412) == -1 then
	setPlayerStorageValue(cid, 439412, tonumber(msg)+1)
	selfSay('Parabéns, você escolheu o número '..tonumber(msg)..', aguarde o sortei.', cid)
	selfSay('Caso deslogue, seu numero não será valido.', cid)
else
selfSay('Você ja escolheu um número, espere até o sortei ocorrer.', cid)
end
else
selfSay('Esso não é um numero valido.', cid)
end

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

o teu globalevent vai mudar pra esse:

local config = {
lottery_hora = "2 horas",
reward_count = 1,
website = 0,
numberMax = 10 -- numero maximo que o player pode escolher
}
function onThink(interval, lastExecution)
local players = getPlayersOnline()
local list = {}
for i, tid in ipairs(players) do
list[i] = tid
end

local sorteio = math.random(1,config.numberMax)
local cont = 0
for o=1, #list do
if getPlayerStorageValue(list[o], 439412) == sorteio then
local winner = list[o]
	cont = cont + 1
	if(config.website == 1) then
		db.executeQuery("INSERT INTO `lottery` (`name`) VALUES ('".. getCreatureName(winner) .."');")
	end
	doBroadcastMessage('[Loteria Erondino Serve] Ganhador['.. cont ..']: '.. getCreatureName(winner) ..', Recompensa: '.. config.reward_count ..'moedas! - Parabens ! (Proxima em: '.. config.lottery_hora ..')')
	doPlayerAddItem(winner, 2160,config.reward_count)
end
end

return TRUE
end

 

e no teu arquivo login.lua, que fica na pasta data/creaturescripts/scripts. abra-o e antes do último return true cole:

setPlayerStorageValue(cid, 439412, -1)

 

prontinho! happy.png

vlw mulekoti, n testei ainda mais vo te dar REP+ to esperando alguyem me ajudar a muito tempo...

 

não sei, fiquei meio assim tbm. mais fiz pra escolher um numero msm. asijda

aqui ele disse que era sóh 1 nm:

o player chega fala hi e escolhe um numero de 1 a 10

acho que o exemplo da mega sena foi sóh pra dizer que mais de uma pessoa pode ganhar.

mais espera ai tem cmo fazer do jeito que o Vodkart falo ??? escolher varios numeros ?? se tiver passa o codigo pra mim aee REP+

Link para o comentário
Compartilhar em outros sites

  • 0

to meio sem tempo agora pra fazer isso, mais n é dificil sóh teria que guardar 1 numero em cada storage diferente e depois verificar.

mais ia ser quase imposivel alguem acertar os 7 numeros sajida, mais vale pra deixar esse script mais dificil almenta o numero maximo que pode ser escolhido.

Link para o comentário
Compartilhar em outros sites

  • 0

é vdd cara, eu tinha feito o script aqui mais deletei porque as chance de ganhar com 6 números são mto baixas, é melhor com 1 número mesmo, ai você coloca número de 1~ 30 por exemplo, fica melhor (:

Link para o comentário
Compartilhar em outros sites

  • 0

é vdd cara, eu tinha feito o script aqui mais deletei porque as chance de ganhar com 6 números são mto baixas, é melhor com 1 número mesmo, ai você coloca número de 1~ 30 por exemplo, fica melhor (:

tipo mais eu tava querendo fazer um teste com chances baixas msm, pra usar num esqueminha aqui he.gif mais teve um problema, tipo criei o npc tudo certim mais na hora de sumonar com o god (pelo comando "/n") o npc nao aparece, sei que aqui nao e a area certa mais se tiver como ajuda aee REP+

Link para o comentário
Compartilhar em outros sites

  • 0

algum erro?

como assim erro ??na hora de colocar o serv on ?? se for isso nao aparece erro nenhum

poo e como se nao existice o npc, mais eu fiz, so que na hora de sumonar ele nao aparece...tem a haver com o look type ?? porq ele ta com o look type de um npc ja existente

Link para o comentário
Compartilhar em outros sites

  • 0

me passa o xml do seu npc

ta aee

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Loteria" script="loteria.lua" walkinterval="32000000" floorchange="0" speed="0">

<health now="150" max="150"/>

<look type="520" head="115" body="88" legs="114" feet="0"/>

 

</npc>

Link para o comentário
Compartilhar em outros sites

  • 0

acho que essa looktype não existe!

 

<?xml version="1.0"?>
<npc name="Loteria" script="data/npc/scripts/loteria.lua" walkinterval="50000" floorchange="0">
<health now="1000" max="1000"/>
<look type="130" head="0" body="114" legs="114" feet="0" addons="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|, voce quer apostar na loteria?! {yes}"/>
</parameters>
</npc>

Link para o comentário
Compartilhar em outros sites

  • 0

aff nem deu

lol nao to entendo porq nao aparece

 

acho que essa looktype não existe!

 

<?xml version="1.0"?>
<npc name="Loteria" script="data/npc/scripts/loteria.lua" walkinterval="50000" floorchange="0">
<health now="1000" max="1000"/>
<look type="130" head="0" body="114" legs="114" feet="0" addons="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|, voce quer apostar na loteria?! {yes}"/>
</parameters>
</npc>

cara acho que nao ta aceitando o script, porq fiz outro npc e deu so esse da loteria que n ta aceitando

 

aff nem deu

lol nao to entendo porq nao aparece

 

acho que essa looktype não existe!

 

<?xml version="1.0"?>
<npc name="Loteria" script="data/npc/scripts/loteria.lua" walkinterval="50000" floorchange="0">
<health now="1000" max="1000"/>
<look type="130" head="0" body="114" legs="114" feet="0" addons="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|, voce quer apostar na loteria?! {yes}"/>
</parameters>
</npc>

cara acho que nao ta aceitando o script, porq fiz outro npc e deu so esse da loteria que n ta aceitando

e o script msm, nao ta aceitando

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...