Postado Novembro 1, 2016 8 anos Este é um post popular. Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar. To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui. Primeiramente façam uma sala parecida com essa aqui: Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas. O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado. em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele: Spoiler local config = { leverid = 9826, -- id da alavanca transformedid = 9825, -- id da alavanca ao clicar nela moneyPos = {x = 146, y = 48, z = 7}, -- posicao que vai o dinheiro delay = 200, -- esse delay e o tempo que demora entre cada shuffle shuffle = 5, -- quantidade de shuffles por cada peça, lembre que a ultima peça vai rodar 3 * shuffle entao evite valores grandes) multiplier = 2, -- por quanto multiplica o dinheiro apostado effect = 27 } local pieces = { -- POSICOES DE CADA PEÇA. [1] = {x = 147, y = 47, z = 7}, [2] = {x = 147, y = 48, z = 7}, [3] = {x = 147, y = 49, z = 7} } local function shuffle(id, times, final, pos) -- funcao que rotaciona a peca local item = getTileItemById(pos, id) if item and times > 0 then doRemoveItem(item.uid) doCreateItem(id == 2638 and 2639 or 2638, 1, pos) addEvent(shuffle, config.delay, id == 2638 and 2639 or 2638, times - 1, final, pos) else local nid = id if item and id ~= final then doRemoveItem(item.uid) doCreateItem(final, 1, pos) nid = final end if times == 0 then addEvent(shuffle, config.delay * config.shuffle * #pieces + config.delay * 10, nid, -1, 2639, pos) end doSendMagicEffect(pos, math.abs(final - 2638)) end end local function premiateWinner(uid, money, eff, result) if isPlayer(uid) then if result[1] == result[2] and result[2] == result[3] then doPlayerAddMoney(uid, money * config.multiplier) doSendMagicEffect(getCreaturePosition(uid), eff) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] You won ".. money * config.multiplier .." gold coins. Congratulations!") else doSendMagicEffect(getCreaturePosition(uid), CONST_ME_POFF) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] You lost. Better luck next time.") end end end function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == config.leverid then local pc = getTileItemById(config.moneyPos, 2152) local cc = getTileItemById(config.moneyPos, 2160) local money = 0 if pc and pc.type > 0 then money = money + pc.type * 100 doRemoveItem(pc.uid) end if cc and cc.type > 0 then money = money + cc.type * 10000 doRemoveItem(cc.uid) end if money >= 100 then doTransformItem(item.uid, config.transformedid) local pos = fromPosition addEvent(function() local lever = getTileItemById(pos, config.transformedid) if lever and lever.uid > 0 then doTransformItem(lever.uid, config.leverid) end end, (config.delay * #pieces) * (config.shuffle + 10)) local result = {} for i = 1, #pieces do local id = 2639 result[i] = math.random(0, 1) shuffle(id, config.shuffle * i, result[i] + 2638, pieces[i]) end addEvent(premiateWinner, config.delay * #pieces * config.shuffle, cid, money, config.effect, result) else doPlayerSendCancel(cid, "You need to place your offer. The minimum offer is 1 platinum coin.") end else doPlayerSendCancel(cid, "You need to wait the turn end to bet again.") end return true end Agora em data/actions/actions.xml adicione: <action actionid="16541" script="cassino.lua"/> Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.) se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag <action actionid="16542" script="cassino2.lua"/>; Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem Aqui tem um pequeno gif que o membro @eviltox nos forneceu: Abraços do Lobo! Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Novembro 5, 2016 8 anos Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Spoiler Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP. ➥ Regras | Seções OTServ | Seções BOT
Postado Novembro 5, 2016 8 anos A uns 2 ou 3 meses atrás, estava jogando um Poketibia bem famoso, só não cheguei ganhar 1k porque nos 300 hd, minha mãe me mandou lavar prato, kkk, o Cassino tinha um game parecido com esse. Muito bom! xD
Postado Novembro 5, 2016 8 anos Wolf e seus scripts . Ficou muito bom, inclusive a hora que ele remove as peças @Edit @xWhiteWolf cara realmente foi um erro bobo meu, não me toquei que coloquei o id 1945 no transformeid ao invés de 1946 '-' Enfim, agora ta 100% e agora eu posso continuar a fazer o povo gastar todas as suas economias na minha salinha de jogos de azar MUAHAHAHA Obs: Refiz o Gif pra mostrar a bagaça toda: Editado Novembro 6, 2016 8 anos por eviltox (veja o histórico de edições)
Postado Novembro 6, 2016 8 anos Autor @eviltox voce fez alguma configuração errada pois era pra ele travar a lever ate terminar de rodar e voltar as peças originais verifica que vc botou as posições e ids corretos. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.