CO

[ Antigo ] Caça Niqueis

Por Conde Sapo, 23 de set. de 2007 em Actions e Talkactions

otserv
tibia
script
45
11.6k
Conde SapoC
23 de setembro de 2007 às 21:02

Exclusivo para XTibia

favor não postar em outro forum

------------------------------------------------------------------------------------------

 

Cansei de ver tutoriais de CASSINO que não funcionam ou são incompletos.

 

Vai aqui um CAÇA NIQUEIS que eu garanto que funciona.

 

Imagem pra exempo da área do Caça Niqueis

Cassino.jpg

 

1° Passo

Fazer a chamada do script no arquivo data\actions\actions.xml

<action uniqueid="1313" script="Cassino.lua" /> -- Sorte ou Azar...  Puxe a alavanca

 

2° Passo

Criar o script data\actions\scripts\Cassino.lua

-- Sorte/Azar (By Conde Sapo)

function onUse(cid, item, frompos, item2, topos)

Aposta = getPlayerSlotItem(cid, 10)

if Aposta.itemid == 2148 then
	Tipo = " gp"
elseif Aposta.itemid == 2152 then
	Tipo = " platinum"
elseif Aposta.itemid == 2160 then
	Tipo = " crystal"
else
	doPlayerSay(cid,"You need a BET on your BELT",1)
	--  Voce precisa uma APOSTA no seu CINTO
	return 0
end

Tile1Pos = {x=46, y=42, z=7, stackpos=0}
Tile2Pos = {x=47, y=42, z=7, stackpos=0}
Tile3Pos = {x=48, y=42, z=7, stackpos=0}

Tile1 = getThingfromPos(Tile1Pos)
Tile2 = getThingfromPos(Tile2Pos)
Tile3 = getThingfromPos(Tile3Pos)

Sorte1 = math.random(1, 20)
Sorte2 = math.random(1, 20)
Sorte3 = math.random(1, 20)

NovoTile1 = 3165 +Sorte1
NovoTile2 = 3165 +Sorte2
NovoTile3 = 3165 +Sorte3

if item.itemid == 1946 then
	doTransformItem(1313,1945)
else
	doTransformItem(1313,1946)
end

doTransformItem(Tile1.uid,NovoTile1)
doTransformItem(Tile2.uid,NovoTile2)
doTransformItem(Tile3.uid,NovoTile3)

Premio = 0
Ganhou = FALSE
if NovoTile1 == 3166 then
	Ganhou = TRUE
	Premio = Premio + 2
end
if NovoTile2 == 3166 then
	Ganhou = TRUE
	Premio = Premio + 2
end
if NovoTile3 == 3166 then
	Ganhou = TRUE
	Premio = Premio + 2
end
if NovoTile1 == 3167 then
	Ganhou = TRUE
	Premio = Premio + 3
end
if NovoTile2 == 3167 then
	Ganhou = TRUE
	Premio = Premio + 3
end
if NovoTile3 == 3167 then
	Ganhou = TRUE
	Premio = Premio + 3
end
if NovoTile1 == 3168 then
	Ganhou = TRUE
	Premio = Premio + 4
end
if NovoTile2 == 3168 then
	Ganhou = TRUE
	Premio = Premio + 4
end
if NovoTile3 == 3168 then
	Ganhou = TRUE
	Premio = Premio + 4
end

doPlayerRemoveItem(cid,Aposta.itemid,1)	-- Sempre remove a aposta
if Ganhou == TRUE then
	doPlayerAddItem(cid, Aposta.itemid, Premio)
	doPlayerSendCancel(cid,"Congratulations. Get your prize!!!!!")
	doPlayerSay(cid,"Aew...  " .. Premio .. Tipo .. "s.",1)
elseif NovoTile1 ~= NovoTile2 and NovoTile1 ~= NovoTile3 and NovoTile2 ~= NovoTile3 then
	doPlayerSendCancel(cid,"Sorry!!!")
else
	if NovoTile1 == NovoTile2 and NovoTile1 == NovoTile3 and NovoTile2 == NovoTile3 then
		doPlayerAddItem(cid, Aposta.itemid, 2)
		doPlayerSendCancel(cid,"Gratz!!! 3 Tiles. Get your premium!")
		doPlayerSay(cid,"Aew...  " .. Premio .. Tipo .. "s.",1)
	else
		doPlayerAddItem(cid, Aposta.itemid, 1)
		doPlayerSendCancel(cid,"Luck!! 2 Tiles. Get your reward!")
		doPlayerSay(cid,"Aew...  1" .. Tipo .. ".",1)
	end
end
return 1
end

 

Explicando :

 

Aposta

Você precisa colocar moeda(s) no cinto.

Aceita Gold , Platinum e Crystal COINS

Cada vez que perde a aposta , some só 1 moeda.

Sendo assim pode deixar varias no cinto que não tem perigo.

 

Tiles

Gostei dos Tiles ID 3166 a 3188 (20 Tiles)

 

3 Tiles são especiais

3166 , 3167 , 3168

(os Tiles que aparecem ao lado de cada quadro e no fundo do cassino)

 

Tile1.jpg

3166

Cada vez que vem esse Tile , a aposta cresce 2 moedas.

 

Tile2.jpg

3167

Cada vez que vem esse Tile , a aposta cresce 3 moedas.

 

Tile3.jpg

3168

Cada vez que vem esse Tile , a aposta cresce 4 moedas.

 

Qualquer outro Tile

Se aparecerem 2 Tiles iguais , a aposta cresce 2 moedas.

Se aparecerem 3 Tiles iguais , a aposta cresce 3 moedas.

Se forem 3 Tiles diferentes , você perde a aposta. (Some 1 moeda do cinto)

 

Sorte

Um número randônico que vai de 1 a 20 (pra cada Tile)

1 a 10 seria uma change BOA pra ganhar

1 a 20 é uma chance MEDIA pra guanhar

1 a 40 seria POUCA chance de ganhar

 

Sorte1 , Sorte2 e Sorte3

Número randônico pro Tile1 , Tile2 e Tile3

Usar tabela de chances acima.

 

Alavanca

Cada puchada da alavanca dispara uma nova seqüência de 3 Tiles.

Vem a mensagem SORRY se você perde.

Se você ganha , o player fica feliz e diz quanto ganhou.

 

UID

Usei o UID 1313 na alavanca (13 é sorte ou azar ???) :)

o Tile da esquerda tem o UID 1301 (Tile1)

o Tile central tem o UID 1302 (Tile2)

o Tile da direita tem o UID 1303 (Tile3)

Mudar a vontade bastando sincronizar o UID no Mapa com o UID no Script

 

Placas

Na entrada do Caça Niqueis eu coloquei os 3 Tiles especiais e uma Placa ao lado de cada um deles

Colocar a mensagem em cada uma das Placas explicando o premio quando sai esse Tile

 

Ao lado da Alavanca também tem uma Placa.

Colocar mensagem que precisa ter moeda no cinto , que aceita Gold, Platinum ou Crystal , etc,etc,etc

(só uma sugestão pro conteudo da placa)

 

Acho que isso é tudo...............

 

denunciar aqui se encontrar em outro Forum.

Editado Janeiro 18 por Conde Sapo

DeadKennedyD
23 de setembro de 2007 às 22:32

Meu amigo CondeSapo:

Incrível!

Realmente, muito criativo, e principalmente INTERATIVO!

 

Meus parabéns!

 

Grato, KingCPI

Dare DevilD
24 de setembro de 2007 às 15:48

Otimo Tutorial meus parabéns...

 

Mais vai uma dica tenta colocar mais um pouco de cor, ta ligado mais destaque as partes importantes...

 

Atenciosamente,

~DD

rookroxzR
24 de setembro de 2007 às 18:25

criativo...

 

mas poderia ter infeitado + a area sei la ia fica + rox!

 

msm assim aprovado

silkssS
24 de setembro de 2007 às 19:55

Eu acho que já disse isso, e também acho que vou disser muito ainda...

PARABÉNS!

 

Sempre trazendo scripts muito bons, vo coloca um cassino no meu OT...

Valeu Conde!

 

Flw

Conde SapoC
24 de setembro de 2007 às 20:07
Imagem pra exempo da area do Caça Niqueis

Cassino.jpg

Como eu disse , é só um exemplo.

 

minha intenção na imagem , era só pra ajudar a entender oque o sprite faz.

Cada um que faça do seu jeito.

 

As unicas coisas realmente importantes são os 3 tiles da roleta e a alavanca.

o player pode até estar pisando nos tiles.

Tile1Pos = {x=46, y=42, z=7, stackpos=0}

stackpos=0 lê o chão não importando oque está em cima.

 

o balcão , o banquinho , as placas , são só detalhes.

 

As placas ao lado dos 3 tiles especiais (abaixo) é só uma ideia de como explicar o valor de cada 1 dos tiles especiais pro player que tá indo jogar.

 

Estou aberto a sugestões.

VoxnotV
24 de setembro de 2007 às 20:13

Legal, gostei muito, nunca tinha visto =)

Parabens

 

 

//VOXNOT

thayamT
24 de setembro de 2007 às 20:17

Dahora kra, realmente é muito criativo, e como vc mesmo disse, a area é soh um exemplo, a decoração do lugar fica por conta propria

no more

Thayam~~

darkmaleD
25 de setembro de 2007 às 16:25

kkkkkk muito dez caça niqueis :lol: tem de tudo qualquer action negh..

thiagosilvaT
27 de setembro de 2007 às 21:14

Vo criar um serv apenas para fazer isto, pois na Rl acabou minha grana \o

 

Isso vai me alcalmar qdo der vontad de ir jogar

 

sAUHAhusauhas

JvchequerJ
30 de setembro de 2007 às 15:45

Tópico movido para Scripts.

NostradamusN
02 de outubro de 2007 às 22:36

Muito legal, a BlackOnix fez isso a algum tempo, só aconselho que vá aprender a usar arrays para deixar seu script mais "inteligente".

GOD BonG
02 de outubro de 2007 às 22:48

Ótimo Script muito legal mesmo cassino em ot é sorte ou azar :p.

 

~~Abraços~~

 

Atenciosamente, GOD Bon.

deco20D
08 de outubro de 2007 às 21:32

@Conde Sapo

gostei otimo tutorial como sempre neh CS =P

adoro seus trabalhos

Cya

2 semanas depois...
quadrdoQ
20 de outubro de 2007 às 20:12

Conde sapo....

mais um otimo trabalho...

uma boa ideia seria botar dentro da casa de um player...

 

todos os trabalhos que vi do conde sapo até agora são otimos e interessantes!

continue assim e parabens!