Ir para conteúdo

Featured Replies

Postado
  • 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:
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 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:
giphy.gif

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

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

  • Respostas 29
  • Visualizações 4.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • a questão agora é entender  pq q qnd vc bota uma bola embaixo ele tá criando ao invés de transformar.. tem ctza absoluta que tu não colocou duas uma em cima da outra?   o id é 1548

Postado

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.

 

Postado

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

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Postado

Wolf e seus scripts .

Ficou muito bom, inclusive a hora que ele remove as peças :wow:

@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% <3  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:

 

giphy.gif

Editado por eviltox (veja o histórico de edições)

                                                                                                230x230.jpg

 

Postado
  • 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

I7Pm6ih.png

(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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo