Jump to content

[0.36~0.4] Slot Cassino


Night Wolf

Recommended Posts

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:
Screenshot_1.png
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 alavancatransformedid = 9825, -- id da alavanca ao clicar nelamoneyPos = {x = 146, y = 48, z = 7}, -- posicao que vai o dinheirodelay = 200, -- esse delay e o tempo que demora entre cada shuffleshuffle = 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 apostadoeffect = 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))			endendlocal function premiateWinner(uid, money, eff, result)	if isPlayer(uid) then		if result[1] == result[2] and result[2] == result[3] then			doPlayerAddMoney(uid, money)			doSendMagicEffect(getCreaturePosition(uid), eff)			doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] You won ".. money .." gold coins. Congratulations!")		else			doSendMagicEffect(getCreaturePosition(uid), CONST_ME_POFF)			doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, "[CASSINO] You lost. Better luck next time.")		end	endend	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.multiplier, 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 trueend

 


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 e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
 

Screenshot_1.png.cdda89f5e90888850e003df08e9142a2.png

Link to comment
Share on other sites

10 horas atrás, Night Wolf disse:

...mas ela deve ter as 3 bolas, uma alavanca...

Que bolas? Eu não estou vendo elas. Kkkkk brincadeira.

É muito simples e bem parecido com os cassinos que existiam.

Link to comment
Share on other sites

Pô lobo, gostei do sistema, porém não sei se é bom pros players ganharem dinheiro nele. Pois é 50% * 50% * 50% , o que dá em 12,5% né? é muito pouca chance de ganhar, eu não apostaria minha grana aí hauashusauhsa. Mas por outro lado, o que eu fiz, aquele outro do cassino:

 

Dá grana fácil, talvez, pois é 50%, mas dá para perder também, acho que o ideal seria 30 ou 40% de chance de ganhar, não sei. No seu seria legal reduzir o dinheiro pela metade ao invés de perder.

 

Você não tem permissão para dar reputação a este usuário.

Link to comment
Share on other sites

a idéia não é dar dinheiro de graça e quebrar a economia do server. É ser um jogo de azar, sem falar que há diversas maneiras de lucrar em cassinos. Uma das técnicas é sempre apostar o dobro quando perder:

aposto 100 gps - se eu ganho, ganho 200 gps (100 gps de lucro)
se eu perco, aposto 200 gps  - se eu ganho ganho 400 gps (100 gps de lucro)
se eu perco, aposto 400 gps - se eu ganho, ganho 800 gps (100 gps de lucro)
.
.
.
se eu perco, aposto 2 * a antiga aposta, se eu ganho, ganho 4 * a antiga aposta (4 * antiga aposta - todas as apostas anteriores de lucro).

PS: Sem falar que sua conta tá errada, vc ganha com 3 X ou 3 O, logo não seria 12,5%.

1 slot = qlqer coisa.
2 slot = tem que ser igual ao primeiro (50%)
3 slot = tem que ser igual ao primeiro (50%).
A chance total é 0.5 * 0.5 que é 0.25, ou 25%.

Link to comment
Share on other sites

18 horas atrás, Night Wolf disse:

PS: Sem falar que sua conta tá errada, vc ganha com 3 X ou 3 O, logo não seria 12,5%.

 

Aaaa sim, não li o script com atenção, eu achei que era só bola.

 

Em 05/10/2016 at 00:05, Night Wolf disse:

Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas.

 

Interpretação de texto errada minha.

Isso que dá ficar lendo só trechos do tópicos...

Link to comment
Share on other sites

Em 06/10/2016 at 17:20, Night Wolf disse:

@Bruno to na ativa sempre 8): é que recentemente tenho focado mais na faculdade/meu projeto pessoal/suporte do que em trazer conteúdo próprio kk. Mas já tenho algumas coisinhas separadas aqui pra ir trazendo esse mês

Boa amigo :happyderp-min:

Tamo Junto!

Link to comment
Share on other sites

Opa, Wolf, curto pakas teus scripts, tu é foda, só isso ahueahue
Me lembro que tu tinha feito uma lib própria e postado no que não deve ser nomeado, não? Tu postou aqui ela?

Se não, pode me passar o link dele no que não deve ser nomeado? Dei uma procurada e não achei nd, e nela tem umas funções que eu tô precisando MUITO, mas que são cabeças demais para um mero mortal como eu fazer sem o processador cerebral chegar à 97 graus e dar crash na vida pq comeu toda ram.

Link to comment
Share on other sites

Em 08/10/2016 at 18:36, LeirbagOtten disse:

Opa, Wolf, curto pakas teus scripts, tu é foda, só isso ahueahue

Me lembro que tu tinha feito uma lib própria e postado no que não deve ser nomeado, não? Tu postou aqui ela?

Se não, pode me passar o link dele no que não deve ser nomeado? Dei uma procurada e não achei nd, e nela tem umas funções que eu tô precisando MUITO, mas que são cabeças demais para um mero mortal como eu fazer sem o processador cerebral chegar à 97 graus e dar crash na vida pq comeu toda ram.

ahahaha ainda nao consegui tirar tempo pra trazer todos meus tópicos de lá pra cá, ainda tenho mt conteúdo novo pra trazer ;~ enfim, se vc clicar exatamente aqui voce vai ser direcionado pro link da library, qlqer dúvida me chama pm (nesse fórum aqui) que o outro eu mal tenho entrado

Link to comment
Share on other sites

5 horas atrás, Night Wolf disse:

ahahaha ainda nao consegui tirar tempo pra trazer todos meus tópicos de lá pra cá, ainda tenho mt conteúdo novo pra trazer ;~ enfim, se vc clicar exatamente aqui voce vai ser direcionado pro link da library, qlqer dúvida me chama pm (nesse fórum aqui) que o outro eu mal tenho entrado

Era bem isso mesmo, valeu, cara =):

Link to comment
Share on other sites

  • 5 years later...

Sim, estar a contar com a sorte para fazer dinheiro nunca é uma boa forma de planear a sua vida em geral. Pessoalmente, faço sempre questão de distinguir muito bem entre jogos, cuja principal função é divertir, de formas extra de fazer dinheiro que possa complementar o meu salário. Uma coisa é lazer, outra coisa é querer acrescentar fontes de rendimento. Especialmente importante se quiser investir o seu dinheiro em plataformas online. Nunca é demais consultar conteúdos como o do https://www.fraudes.com/, para evitar cair em burlas.  Não basta apenas ter estratégias, é preciso informaçã. É isso que faz a diferença a longo prazo.

Edited by WieskleyLoka
Link to comment
Share on other sites

×
×
  • Create New...