Ir para conteúdo

Cassino System 100% By Drakylucas


drakylucas

Posts Recomendados

bom galera.. alguns me conhecem, outros não, prazer.. DrakyLucas..



faz tempo que não mecho com Tibia, tanto por preguiça, quanto por falta de tempo.

 

Fiz esse scriptzin para aquecer um pouco.. espero que gostem.. é bem legal para OTs sérios ou até para OTs brincalhões.

 

Esse script é um sistema de cassino.. o player vai puxar uma alavanca, irão aparecer 3 monstros (1 por vez) em sua frente, se os três forem iguais o player ganha a aposta, caso contrario apenas perde seu dinheiro.

 

exclusivo XTibia em!

Testado com TFS 0.3.6 Lost Server - 8.60



Peço que abram os spoilers a seguir sequencialmente, para não se perderem na instalação.

 

Instalação



Mapa:

 

Parte1:

parte1b.gif

 

 

 

 

 

 

Parte2:

parte2l.gif

 

 

 

 

Parte3:

parte3k.gif

 

 

 

Parte4:

parte4.gif

 

 

 

 

 

 

 

 

Actions.xml

 

 

Na pasta de seu servidor, vá em Data -> Actions e abra o actions.xml com bloco de notas.

abaixo de

<actions>

coloque:

 

<action actionid="12312" event="script" value="cassino.lua">

 

 

Cassino.lua

 

 

Agora em Data -> Actions - > Scripts crie um arquivo chamado cassino.lua e nele coloque isso:

 

--[[ **** <créditos> **** ]] --

-- 100% DrakyLucas

-- Exclusivo XTIBIA

-- Não postar em outros fórums sem a devida autorização

-- Não comercializar esse script

--[[ **** </créditos> **** ]] --

 

local config = {

storageGlobal = 12312, -- esta storage é global e armazenará um valor para verificar se alguem usou o sistema antes dele finalizar

premioQuantidade = 100000, -- em GPS

valorAposta = 15000, -- preço, em GPS, de cada chance

pos = {{x = 35,y = 81,z = 7,stackpos = 253},{x = 36,y = 81,z = 7,stackpos = 253},{x = 37,y = 81,z = 7,stackpos = 253}}, -- configure as 3 posições

criaturas = {"Rabbit","Black Sheep","Dog","Cat"}, -- monstros que irão aparecer

verificador = {}, -- não mecher

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(getStorage(config.storageGlobal) == 1) then

doPlayerSendCancel(cid,"Aguade esta rodada acabar.")

return true

end

if(getPlayerMoney(cid) < config.valorAposta) then

doPlayerSendCancel(cid,"Consiga " .. config.valorAposta .. " gold coins antes.")

return true

end

doPlayerRemoveMoney(cid, config.valorAposta)

sumonarVerificar(cid,1)

doSetStorage(config.storageGlobal, 1) -- adiciona o verificador para não clicar 100 veses e bugar

addEvent(doSetStorage,4000,config.storageGlobal,-1) -- retira o verificador para poder clicar novamente

return false

end

 

 

function sumonarVerificar(cid,i)

if(not isPlayer(cid)) then -- evita erros

for k = 1,3 do

if(isMonster(getTopCreature(config.pos[k]).uid)) then

doRemoveCreature(getTopCreature(config.pos[k]).uid)

end

end

return false

else

if(i == 4)then

if(config.verificador[1] == config.verificador[2] and config.verificador[2] == config.verificador[3]) then

for k = 1,3 do

doSendMagicEffect(config.pos[k], 29)

end

doSendMagicEffect(getCreaturePosition(cid), 29)

doSendAnimatedText(getCreaturePosition(cid), "Congratz!", math.random(1,255))

doPlayerAddMoney(cid, config.premioQuantidade)

else

for k = 1,3 do

doSendMagicEffect(config.pos[k], 2)

end

doSendMagicEffect(getCreaturePosition(cid), 2)

end

for k = 1,3 do

if(isMonster(getTopCreature(config.pos[k]).uid)) then

doRemoveCreature(getTopCreature(config.pos[k]).uid)

end

end

for k,v in pairs(config.verificador) do config.verificador[k]=nil end -- limpa tabela

else

rand = math.random(1,#config.criaturas)

monstro = doCreateMonster(config.criaturas[rand],config.pos)

doSendMagicEffect(config.pos,2)

table.insert(config.verificador, config.criaturas[rand]) -- adiciona a criatura na tabela para futura verificação

doChangeSpeed(monstro, -getCreatureBaseSpeed(monstro)) -- fará com que ele não se mexa

addEvent(sumonarVerificar,1000,cid,i + 1)

end

end

end

 

 

 

Configurar:

Nesta cor, coloque o Prêmio em Gold Coins (gps)

Nesta cor, coloque o preço da aposta em Gold Coins (gps)

Nesta cor, coloque as posições (anotadas no Passo 4 - Mapa)

Nesta cor, coloque as criaturas (pode adicionar quantas quiser, mas apenas criaturas hostis (cachorro, gato, galinha...) --> quanto mais criaturas, mais dificil é dos players ganharem.

 

 

 

 

Finalizar

 

 

Abra o servidor, teste.

espero que gostem.. e que esteja bem explicado, pois levei mais tempo para formatar o tópico/tirar as SS do que para fazer o sistema :p

 

 

 

Créditos

 

 

100% DrakyLucas (Eu :D)

Proibido vender e/ou anunciar a outros fórums

Exclusividade XTibia

 

 

 

Edited: 12/07/2012 11:38 AM -> concertei um possivel bug :p

Por favor, comente sua opinião e dê ideias de outros sistemas legais para eu fazer.

Editado por DrakyLucas
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

So para avisar falta um signo no actions

 

<action actionid="12312" event="script" value="cassino.lua"/>

 

outra coisa os players podem atacar os monsters, si eu coloco Pz pode funcionar???

 

outro como posso colocar varios cassinos? eu tentei so trocar o nombe por cassino2, cassino3, cassino4, mas nao funciona ;/

Editado por deviletico
Link para o comentário
Compartilhar em outros sites

outro como posso colocar varios cassinos? eu tentei so trocar o nombe por cassino2, cassino3, cassino4, mas nao funciona ;/

 

é eu tb tentei e nao deu, buga os cassino.. acho q precisa de uma storage para cada um!

 

 

AH e teria como botar um item como recompensa?? e nao dinheiro...

Editado por MonsterOt
Link para o comentário
Compartilhar em outros sites

vários cassinos:

 

copie o script e cole, no script novo mude o valor storageGlobal e as posições... no actions.xml desse novo script mude a ActionID e no mapa, na alavanca do novo cassino também.

 

sobre a PZ, no mapa eu deixei claramente q tem q ser protectionZone, menos os 3 pisos... olhe o tutorial ¬¬

 

sobre o item, postaram na seção de pedidos la, e um outro user arrumou ja.

Link para o comentário
Compartilhar em outros sites

Cara fiz tudo oque vc falou, e olha oque aconteçe:

 

http://imageshack.us...95/cassino.png/

 

 

 

meu cassino:

 

 

 

local config = {

storageGlobal = 12312, -- esta storage é global e armazenará um valor para verificar se alguem usou o sistema antes dele finalizar

premioQuantidade = 2272, -- como por em item? 10503

valorAposta = 15000, -- preço, em GPS, de cada chance

pos = {{x = 118,y = 33,z = 5,stackpos = 253},{x = 119,y = 33,z = 5,stackpos = 253},{x = 120,y = 33,z = 5,stackpos = 253}}, -- configure as 3 posições

criaturas ={"Rabbit"}, -- monstros que irão aparecer

verificador = {}, -- não mecher

}

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(getStorage(config.storageGlobal) == 1) then

doPlayerSendCancel(cid,"Aguade esta rodada acabar.")

return true

end

if(getPlayerMoney(cid) < config.valorAposta) then

doPlayerSendCancel(cid,"Consiga " .. config.valorAposta .. " gold coins antes.")

return true

end

doPlayerRemoveMoney(cid, config.valorAposta)

sumonarVerificar(cid,1)

doSetStorage(config.storageGlobal, 1) -- adiciona o verificador para não clicar 100 veses e bugar

addEvent(doSetStorage,4000,config.storageGlobal,-1) -- retira o verificador para poder clicar novamente

return false

end

 

meu cassino2:

 

 

 

local config = {

storageGlobal = 12313, -- esta storage é global e armazenará um valor para verificar se alguem usou o sistema antes dele finalizar

premioQuantidade = 2272, -- como por em item? 10503

valorAposta = 15000, -- preço, em GPS, de cada chance

pos = {{x = 121,y = 33,z = 5,stackpos = 253},{x = 122,y = 33,z = 5,stackpos = 253},{x = 123,y = 33,z = 5,stackpos = 253}}, -- configure as 3 posições

criaturas ={"Rabbit"}, -- monstros que irão aparecer

verificador = {}, -- não mecher

}

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(getStorage(config.storageGlobal) == 1) then

doPlayerSendCancel(cid,"Aguade esta rodada acabar.")

return true

end

if(getPlayerMoney(cid) < config.valorAposta) then

doPlayerSendCancel(cid,"Consiga " .. config.valorAposta .. " gold coins antes.")

return true

end

doPlayerRemoveMoney(cid, config.valorAposta)

sumonarVerificar(cid,1)

doSetStorage(config.storageGlobal, 1) -- adiciona o verificador para não clicar 100 veses e bugar

addEvent(doSetStorage,4000,config.storageGlobal,-1) -- retira o verificador para poder clicar novamente

return false

end

 

 

E para botar item naodeu certo no outro topico.. :/

Editado por MonsterOt
Link para o comentário
Compartilhar em outros sites

uma coisinha, você se lembrou de deixar a actionID das duas alavancas DIFERENTES neh? pq se não ele só ta lendo o script da alavanca da direita...

 

tipo deixa o da alavanca da esquerda 12312 e no actions.xml o cassino1.lua como 12312 também..

e o da direita 12313 e no xml cassino2.lua como 12313

 

em relaçao ao item, teste esse script: (não testei..)

(pesso que não retire as linhas comentadas com créditos)

--[[ **** <créditos> **** ]] --
-- 100% DrakyLucas
-- Exclusivo XTIBIA
-- Não postar em outros fórums sem a devida autorização
-- Não comercializar esse script
--[[ **** </créditos> **** ]] --

local config = {
storageGlobal = 12312, -- esta storage é global e armazenará um valor para verificar se alguem usou o sistema antes dele finalizar
premio = {id = 10503,count = 1} -- count só para itens agrupaveis.
valorAposta = 15000, -- preço, em GPS, de cada chance
pos = {{x = 118,y = 33,z = 5,stackpos = 253},{x = 119,y = 33,z = 5,stackpos = 253},{x = 120,y = 33,z = 5,stackpos = 253}}, -- configure as 3 posições
criaturas ={"Rabbit"}, -- monstros que irão aparecer
verificador = {}, -- não mecher
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(getStorage(config.storageGlobal) == 1) then
doPlayerSendCancel(cid,"Aguade esta rodada acabar.")
return true
end
if(getPlayerMoney(cid) < config.valorAposta) then
doPlayerSendCancel(cid,"Consiga " .. config.valorAposta .. " gold coins antes.")
return true
end
doPlayerRemoveMoney(cid, config.valorAposta)
sumonarVerificar(cid,1)
doSetStorage(config.storageGlobal, 1) -- adiciona o verificador para não clicar 100 veses e bugar
addEvent(doSetStorage,4000,config.storageGlobal,-1) -- retira o verificador para poder clicar novamente
return false
end

function sumonarVerificar(cid,i)
if(not isPlayer(cid)) then -- evita erros
for k = 1,3 do
if(isMonster(getTopCreature(config.pos[k]).uid)) then
doRemoveCreature(getTopCreature(config.pos[k]).uid)
end
end
return false
else
if(i == 4)then
if(config.verificador[1] == config.verificador[2] and config.verificador[2] == config.verificador[3]) then
for k = 1,3 do
doSendMagicEffect(config.pos[k], 29)
end
doSendMagicEffect(getCreaturePosition(cid), 29)
doSendAnimatedText(getCreaturePosition(cid), "Congratz!", math.random(1,255))
doPlayerAddItem(cid,config.premio[id],config.premio[count])
else
for k = 1,3 do
doSendMagicEffect(config.pos[k], 2)
end
doSendMagicEffect(getCreaturePosition(cid), 2)
end
for k = 1,3 do
if(isMonster(getTopCreature(config.pos[k]).uid)) then
doRemoveCreature(getTopCreature(config.pos[k]).uid)
end
end
for k,v in pairs(config.verificador) do config.verificador[k]=nil end -- limpa tabela
else
rand = math.random(1,#config.criaturas)
monstro = doCreateMonster(config.criaturas[rand],config.pos[i])
doSendMagicEffect(config.pos[i],2)
table.insert(config.verificador, config.criaturas[rand]) -- adiciona a criatura na tabela para futura verificação
doChangeSpeed(monstro, -getCreatureBaseSpeed(monstro)) -- fará com que ele não se mexa
addEvent(sumonarVerificar,1000,cid,i + 1)
end
end
end

Editado por DrakyLucas
Link para o comentário
Compartilhar em outros sites

tipo deixa o da alavanca da esquerda 12312 e no actions.xml o cassino1.lua como 12312 também..

e o da direita 12313 e no xml cassino2.lua como 12313

 

 

eu ja fiz isso e nao deu...

 

 

ah e os itens eu ja consegui

Editado por MonsterOt
Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 4 weeks later...

Maaan no meu funfou mais tipoo as vezes vem monstro e quadrados atraz ou as vezes 1 olhe a imagem !!!! fiz tudo certo não tem pz nos 3 quadrados

 

fotokc.png

 

Uploaded with ImageShack.us

 

outra duvida, tipo quando os mosntro aparece o player pode killar então upando tinha coomo colocar um jeito que naão desce para o player atacar ?

e outra não estar limpando =/ por que será ? ta nascendo mosntro por cima de mosntro !

 

 

foto2kj.png

 

Uploaded with ImageShack.us

 

 

--[[ **** <créditos> **** ]] --

-- 100% DrakyLucas

-- Exclusivo XTIBIA

-- Não postar em outros fórums sem a devida autorização

-- Não comercializar esse script

--[[ **** </créditos> **** ]] --

 

local config = {

storageGlobal = 12312, -- esta storage é global e armazenará um valor para verificar se alguem usou o sistema antes dele finalizar

premioQuantidade = 8000000, -- em GPS

valorAposta = 5000000, -- preço, em GPS, de cada chance

pos = {{x = 513,y = 848,z = 3,stackpos = 253},{x = 514,y = 848,z = 3,stackpos = 253},{x = 515,y = 848,z = 3,stackpos = 253}}, -- configure as 3 posições

criaturas = {"Demon","Slime","Rat","Wyrm"}, -- monstros que irão aparecer

verificador = {}, -- não mecher

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(getStorage(config.storageGlobal) == 1) then

doPlayerSendCancel(cid,"Aguade esta rodada acabar.")

return true

end

if(getPlayerMoney(cid) < config.valorAposta) then

doPlayerSendCancel(cid,"Consiga 5 antes.")

return true

end

doPlayerRemoveMoney(cid, config.valorAposta)

sumonarVerificar(cid,1)

doSetStorage(config.storageGlobal, 1) -- adiciona o verificador para não clicar 100 veses e bugar

addEvent(doSetStorage,4000,config.storageGlobal,-1) -- retira o verificador para poder clicar novamente

return false

end

 

 

function sumonarVerificar(cid,i)

if(not isPlayer(cid)) then -- evita erros

for k = 1,3 do

if(isMonster(getTopCreature(config.pos[k]).uid)) then

doRemoveCreature(getTopCreature(config.pos[k]).uid)

end

end

return false

else

if(i == 4)then

if(config.verificador[1] == config.verificador[2] and config.verificador[2] == config.verificador[3]) then

for k = 1,3 do

doSendMagicEffect(config.pos[k], 29)

end

doSendMagicEffect(getCreaturePosition(cid), 29)

doSendAnimatedText(getCreaturePosition(cid), "Congratz!", math.random(1,255))

doPlayerAddMoney(cid, config.premioQuantidade)

else

for k = 1,3 do

doSendMagicEffect(config.pos[k], 2)

end

doSendMagicEffect(getCreaturePosition(cid), 2)

end

for k = 1,3 do

if(isMonster(getTopCreature(config.pos[k]).uid)) then

doRemoveCreature(getTopCreature(config.pos[k]).uid)

end

end

for k,v in pairs(config.verificador) do config.verificador[k]=nil end -- limpa tabela

else

rand = math.random(1,#config.criaturas)

monstro = doCreateMonster(config.criaturas[rand],config.pos)

doSendMagicEffect(config.pos,2)

table.insert(config.verificador, config.criaturas[rand]) -- adiciona a criatura na tabela para futura verificação

doChangeSpeed(monstro, -getCreatureBaseSpeed(monstro)) -- fará com que ele não se mexa

addEvent(sumonarVerificar,1000,cid,i + 1)

end

end

end

 

 

aff esse forum a cada dia que passa é mais demorando para um problema ser solucionado, doou rep+ pra quem me ajudar xD

Editado por testepaulinho
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...