Postado Maio 29, 2011 14 anos Cassino System por talkaction. Créditos no script. Explicação: ele fala !apostar X, esse X é em mil, ou seja se eu falar !apostar 50, será 50k. O X não poderá ser maior do que o "max =" e menor do que o "min =" que será estipulado por você. Se o player ganhar, o premio será o valor que ele apostou multiplicado pelo valor do "premio =". As chances de o player ganhar está ali no "rdm = math.random(1,3)" no caso o player terá 1/3 (1 terço, ou, uma chance em três) chances de ganhar, se você mudar para (1,5) ele terá uma chance em 5 para ganhar, e assim sucessivamente. LEMBRANDO QUE VOCê DEVE MANTER O NÚMERO 1 E SÓ ALTERAR O SEGUNDO NÚMERO. • Crie um arquivo LUA com o nome cassino.lua em data/talkactions/scripts e ponha: function onSay (cid, words, param, channel) local prm = tonumber(param) local min = 1 local max = 500 local rdm = math.radom(1,3) local premio = 2 -- o valor que tiver aqui multiplica o valor apostado se o cara ganhar if (prm == nil) or prm < min or prm > max then doSendMagicEffect(getPlayerPosition(cid), 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa apostar no mínimo "..min.."k ou no máximo "..max.."k.") return TRUE elseif getPlayerMoney(cid) < prm*1000 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não tem "..prm.."k para apostar.") doSendMagicEffect(getPlayerPosition(cid), 2) return TRUE elseif rdm == 1 then -- ele ganhou doPlayerRemoveMoney(cid, prm*1000) doPlayerAddMoney(cid, (prm*1000)*premio) elseif rdm > 1 then -- ele perdeu doPlayerRemoveMoney(cid, prm*1000) doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end [/code] [b]• Depois em [color=#006400]data/talkactions/talkactions.xml[/color] ponha a tag em qualquer lugar:[/b] [code]<talkaction log="yes" words="!apostar" access="0" event="script" value="addpremium.lua"/> Mude aonde esta "!apostar" para o comando que você deseja. Status: Não testado. //quem testar avise. rena.to
Postado Maio 29, 2011 14 anos Por olho vi dois erros. Primeiro: é 1000 e não 100 o valor pelo qual deve ser multiplicado o param. Segundo: elseif rdm = 1 then -- ele ganhou = Não é sinal de comparação, == é. Ahh, e faltou as funções return para parar de executar o script caso uma das duas condições de erro não seja comprida. Editado Maio 29, 2011 14 anos por Demonbholder (veja o histórico de edições)
Postado Maio 30, 2011 14 anos Autor Houve uma falha no engano ;p Não entendo muito de return, ta certo o jeito que eu puis? O resto eu já arrumei. rena.to
Postado Janeiro 3, 2015 10 anos Sou novo aqui, voce poderia postar como fica da maneira concertada, gostaria de testar, grato
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.