luciano0223 2 Postado Abril 14, 2016 Share Postado Abril 14, 2016 Bem, é mais ou menos assim. Existir uma loteria semanal e só quem participa dela é quem dá use num item (q ele some depois), ai tipo se uma pessoa tiver 5 itens desse e usar 5 x ele tem 5 chances de ganhar na loteria dessa semana. Será que dá pra fazer esse script ? Obrigado por ler! 5 Rep + Link para o comentário Compartilhar em outros sites More sharing options...
0 miguel223 98 Postado Abril 14, 2016 Share Postado Abril 14, 2016 Adicione a tag, em globalevents.xml: <globalevent name="lottery" time="22:00:00" event="script" value="lottery.lua"/> Crie, em globalevents/scripts/, um arquivo chamado lottery.lua e adicione: function onThink(cid, interval, lastExecution) if getPlayerStorageValue(cid, 13812) >= math.random(1, 100) then doPlayerAddItem(cid, 2160, 100) doPlayerSendTextMessage(cid, 22, "Voce foi um dos vencedores da loteria de hoje!") setPlayerStorageValue(cid, 13812, 0) setPlayerStorageValue(cid, 13813, 0) else setPlayerStorageValue(cid, 13812, 0) setPlayerStorageValue(cid, 13813, 0) doPlayerSendTextMessage(cid, 22, "Voce nao ganhou na loteria desta vez, ou por nao ter apostado, ou por falta de sorte. Aposte para o proximo sorteio!") end return true end Adicione a tag, em actions.xml: <action itemid="IDDOITEM" script="lottery.lua"/> Crie, em actions/scripts/, um arquivo chamado lottery.lua e adicione: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 13813) < 100 then if getPlayerStorageValue(cid, 13812) >= 1 then setPlayerStorageValue(cid, 13812, getPlayerStorageValue(cid, 13812) + 1) setPlayerStorageValue(cid, 13813, getPlayerStorageValue(cid, 13813) + 1) doPlayerSendTextMessage(cid, 22, "Voce acabou de aumentar suas chances para o sorteio da loteria!") doSendMagicEffect(getPlayerPosition(cid), 12) doRemoveItem(item.uid, 1) else setPlayerStorageValue(cid, 13812, 1) setPlayerStorageValue(cid, 13812, 1) doPlayerSendTextMessage(cid, 22, "Voce acabou de apostar para o sorteio da loteria!") doSendMagicEffect(getPlayerPosition(cid), 12) doRemoveItem(item.uid, 1) end else doPlayerSendTextMessage(cid, 22, "Voce ja apostou o maximo possivel para o proximo sorteio!") doSendMagicEffect(getPlayerPosition(cid), 12) end return true end Como o script funciona: - A loteria é diária, pois pelo que eu me lembre, não existe mais o day no globalevents (até tem como fazer por storage, mas to com preguiça, sinceramente kkkk); - O player ganha 1% a mais de chances de ganhar a cada x que usa o itemx (máximo de x que pode usar = 100, ou seja, ele com certeza ira ganhar se usar o item 100x. Mas se quiser alterar esse valor para, sei la, 10% altere o < 100 ali em cima para < 10, por exemplo); - Um furo do script: como eu fiz levando em conta o player em si, devido a maior chance de 1 em relação ao outro, tem chance de varios players ganharem na loteria. Ou seja, o sorteio eh "por player". Link para o comentário Compartilhar em outros sites More sharing options...
0 Tony Araujo 282 Postado Abril 14, 2016 Share Postado Abril 14, 2016 Bom, eu fiz um pequeno remake no código do @miguel223 Actions -- Tony Araújo - OrochiElf --function onUse(cid, item) if getPlayerStorageValue(cid, 13812) < 100 then setPlayerStorageValue(cid, 13812, getPlayerStorageValue(cid, 13812) + 1) doPlayerSendTextMessage(cid, 22, "Você tem ".. getPlayerStorageValue(cid, 13812) .."x chances de acertar na loteria.") doSendMagicEffect(getThingPosition(cid), 12) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, 22, "Voce ja apostou o maximo possivel para o sorteio!") end return trueend GlobalEvents -- Tony Araújo - OrochiElf --function onThink(cid, interval, lastExecution) if math.random(100) <= getPlayerStorageValue(cid, 13812) then doPlayerAddItem(cid, 2160, 100) doPlayerSendTextMessage(cid, 22, "Você acaba de ganhar na loteria, parabéns.") else doPlayerSendTextMessage(cid, 22, "Você não foi sorteado para o prémio, mais sorte da proxima vez.") end setPlayerStorageValue(cid, 13812, 0) return trueend Link para o comentário Compartilhar em outros sites More sharing options...
1 luciano0223 2 Postado Abril 14, 2016 Autor Share Postado Abril 14, 2016 Teria como por vários itens e ganhar um aleatório ? Por exemplo 1kk ou um mpa ou um demon armor... etc Link para o comentário Compartilhar em outros sites More sharing options...
0 miguel223 98 Postado Abril 20, 2016 Share Postado Abril 20, 2016 (editado) Para ganhar item aleatório, pode-se recorrigir da seguinte forma: local configs = { {itemid = 2160, itemcount = 2}, {itemid = 2160, itemcount = 2}, {itemid = 2160, itemcount = 2}, {itemid = 2160, itemcount = 2} } function onThink(cid, interval, lastExecution) if getPlayerStorageValue(cid, 13812) >= math.random(1, 100) then k = math.random(1, #configs) doPlayerAddItem(cid, configs[k].itemid, configs[k].itemcount) doPlayerSendTextMessage(cid, 22, "Voce foi um dos vencedores da loteria de hoje!")setPlayerStorageValue(cid, 13812, 0) setPlayerStorageValue(cid, 13813, 0)elsesetPlayerStorageValue(cid, 13812, 0) setPlayerStorageValue(cid, 13813, 0)doPlayerSendTextMessage(cid, 22, "Voce nao ganhou na loteria desta vez, ou por nao ter apostado, ou por falta de sorte. Aposte para o proximo sorteio!")end return trueend Editado Abril 20, 2016 por miguel223 Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
luciano0223 2
Bem, é mais ou menos assim. Existir uma loteria semanal e só quem participa dela é quem dá use num item (q ele some depois), ai tipo se uma pessoa tiver 5 itens desse e usar 5 x ele tem 5 chances de ganhar na loteria dessa semana.
Será que dá pra fazer esse script ?
Obrigado por ler!
5 Rep +
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados