Mt legal ainda n testei mais parece ser mt bom : )
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Sistema De Cassanique
info
Grupo: Campones
Registrado: 19/08/08
Posts: 2
Reputação: 0
Char no Tibia: tome label

info
Grupo: Campones
Registrado: 17/06/10
Posts: 61
Reputação: +4
Char no Tibia: Churupettinha
pow man da hora vou pro no meu ot aki pro cara brincar
kk
nao tem como variar o premium nao
?
Muito Obrigado pelos elogios :biggrin:
@ Churupetinha :
para colocar os premios ramdomizados,use este script:
-- Cassino System by LucasHere
function onUse(cid, item, frompos, item2, topos)
pos1 = {x=989, y=1013, z=7, stackpos=1} --posição que vai cria os items
pos2 = {x=990, y=1013, z=7, stackpos=1}
pos3 = {x=991, y=1013, z=7, stackpos=1}
local config = {
moneyneed = 100 -- dinheiro para jogar
}
local randomChance = math.random(1, 12)
local premio = {2148, 2687, 6394, 6280, 6574, 6578, 6575, 6577, 6569, 6576, 6572, 2114} -- id dos premios
local premio_cont = 2 -- quantidade do premio que vai ganhar
function additem(cid,premio,premio_cont)
doPlayerAddItem(cid, premio,premio_cont)
end
if item.itemid == 1945 and getPlayerMoney(cid) < config.moneyneed then
doPlayerSendCancel(cid,"Desculpe,voce não grana suficiente para jogar!")
return FALSE
end
if item.itemid == 1945 and math.random(0, 8) == 1 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
doCreateItem(6556,1,pos1)
addEvent(doCreateItem, 1000, 6556, 1, pos2)
addEvent(doCreateItem, 2000, 6556, 1, pos3)
addEvent(additem,2000, cid, premio[randomChance], premio_cont)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 2 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
doCreateItem(6557,1,pos1)
addEvent(doCreateItem, 1000, 6557, 1, pos2)
addEvent(doCreateItem, 2000, 6556, 1, pos3)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 3 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
doCreateItem(6557,1,pos1)
addEvent(doCreateItem, 1000, 6557, 1, pos2)
addEvent(doCreateItem, 2000, 6557, 1, pos3)
addEvent(additem,2000, cid, premio[randomChance], premio_cont)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 4 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
addEvent(doCreateItem, 1000, 6556, 1, pos2)
addEvent(doCreateItem, 2000, 6556, 1, pos3)
doCreateItem(6557,1,pos1)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 5 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
addEvent(doCreateItem, 1000, 6557, 1, pos2)
addEvent(doCreateItem, 2000, 6556, 1, pos3)
doCreateItem(6557,1,pos1)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 6 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
addEvent(doCreateItem, 1000, 6556, 1, pos2)
addEvent(doCreateItem, 2000, 6557, 1, pos3)
doCreateItem(6557,1,pos1)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 7 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
addEvent(doCreateItem, 1000, 6557, 1, pos2)
addEvent(doCreateItem, 2000, 6556, 1, pos3)
doCreateItem(6557,1,pos1)
return true
elseif item.itemid == 1945 and math.random(0, 8) == 8 then
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
addEvent(doCreateItem, 1000, 6556, 1, pos2)
addEvent(doCreateItem, 2000, 6557, 1, pos3)
doCreateItem(6556,1,pos1)
return true
end
item0 = getThingfromPos(pos1)
item1 = getThingfromPos(pos2)
item2 = getThingfromPos(pos3)
if item.itemid == 1946 then
doTransformItem(item.uid,1945)
if item0.itemid ~= 0 and item1.itemid ~= 0 and item2.itemid ~= 0 then
doRemoveItem(item0.uid,1)
doRemoveItem(item1.uid,1)
doRemoveItem(item2.uid,1)
end
else
doTransformItem(item.uid,1945)
end
return 1
end
Flw's :smile_positivo:
info
Grupo: Visconde
Registrado: 11/08/10
Posts: 477
Reputação: +175
Gênero: Masculino

Aprovado!
eu n ia flar mais nd, mas depois q vi q vc fez o lance aki do premio ser randomico da pra ver q vc poderia fazer melhor, hein
nota-se q em todas as possiblidades, os 'elseif' tds fazem:
doTransformItem(item.uid,1946)
doPlayerRemoveMoney(cid,config.moneyneed)
vc n precisava colocar isso td hora, bastava por isso embaixo do end desses "elseif's", outra coisa, n sei se foi proposital, É Possivel q o script n crie os itens nas pos's pois em tds elseif's vc sortea dnv, creio q vc podia criar uma variavel usar o math.random e depois verificar qual numero deu.
msm depois deu falar td isso creio q n seja preciso o uso desses elseifs, eu fiz umas modificações aki e deu em 33 linhas o script.
Parabens pelo script, desculpa se eu fui chato ou sei lá.
Feliz ano novo
@ Eskylo
Vlw pelo conselho,mas eu sou meio novo nessa area de script e ainda não tenho muito conhecimento pelo mesmo,tentarei modificar esse script deixando-o menor!
Feliz Ano novo! ![]()
info
Grupo: Campones
Registrado: 12/01/09
Posts: 87
Reputação: +22
Char no Tibia: Creepbreed

O script ta grande, e a função tá muito simples... e voce optar por clickar sumultaneamente sem parar!
Ficaria melhor se voce botasse um tenpo de uns 30 seg para puxar novamente ![]()
info
Grupo: Campones
Registrado: 13/11/10
Posts: 10
Reputação: +3
Char no Tibia: Tio Heloy

<action actionid="XXXX" event="script" value="cassino.lua"/>
XXXX = action id que vai ser usado para executar o script,não esqueça de colocar na alavanca do mapa.
eu ponho oq? o id da alavanca? a position?
info
Grupo: Campones
Registrado: 09/04/11
Posts: 10
Reputação: +7
Char no Tibia: a Seila vio

<action actionid="XXXX" event="script" value="cassino.lua"/>
XXXX = action id que vai ser usado para executar o script,não esqueça de colocar na alavanca do mapa.
eu ponho oq? o id da alavanca? a position?
O id do acction vc escolhe, não tem id definido vc vai criar para colokar na alavanca :smile_positivo:



info
Grupo: Campones
Registrado: 22/04/10
Posts: 30
Reputação: +14
Bom,esse é o primeiro Script que eu faço e posto aki no :XTibia_smile: ,então espero que gostem.
O Script funciona assim: o player pucha a alavanca e então aleatóriamente é criado 3 items,se os items forem iguais o player ganha um premio!
Então vamos ao que interesssa.Primeiramente,abra o mapa do seu ot e faça uma area mais ou menos como essa da imagem abaixo:
Depois,vá em data/actions/scripts e crie um arquivo chamado cassino.lua
e cole isto dentro:
-- Cassino System by LucasHere function onUse(cid, item, frompos, item2, topos) pos1 = {x=989, y=1013, z=7, stackpos=1} --posição que vai cria os items pos2 = {x=990, y=1013, z=7, stackpos=1} pos3 = {x=991, y=1013, z=7, stackpos=1} local config = { moneyneed = 100 -- dinheiro para jogar } local premio = 2148 -- id do premio local premio_cont = 200 -- quantidade do premio que vai ganhar function additem(cid,premio,premio_cont) doPlayerAddItem(cid, premio,premio_cont) end if item.itemid == 1945 and getPlayerMoney(cid) < config.moneyneed then doPlayerSendCancel(cid,"Desculpe,voce não grana suficiente para jogar!") return FALSE end if item.itemid == 1945 and math.random(0, 8) == 1 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) doCreateItem(6556,1,pos1) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) addEvent(additem,2000,cid,premio,premio_cont) return true elseif item.itemid == 1945 and math.random(0, 8) == 2 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) doCreateItem(6557,1,pos1) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) return true elseif item.itemid == 1945 and math.random(0, 8) == 3 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) doCreateItem(6557,1,pos1) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6557, 1, pos3) addEvent(additem,2000,cid,premio,premio_cont) return true elseif item.itemid == 1945 and math.random(0, 8) == 4 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 5 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 6 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6557, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 7 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6557, 1, pos2) addEvent(doCreateItem, 2000, 6556, 1, pos3) doCreateItem(6557,1,pos1) return true elseif item.itemid == 1945 and math.random(0, 8) == 8 then doTransformItem(item.uid,1946) doPlayerRemoveMoney(cid,config.moneyneed) addEvent(doCreateItem, 1000, 6556, 1, pos2) addEvent(doCreateItem, 2000, 6557, 1, pos3) doCreateItem(6556,1,pos1) return true end item0 = getThingfromPos(pos1) item1 = getThingfromPos(pos2) item2 = getThingfromPos(pos3) if item.itemid == 1946 then doTransformItem(item.uid,1945) if item0.itemid ~= 0 and item1.itemid ~= 0 and item2.itemid ~= 0 then doRemoveItem(item0.uid,1) doRemoveItem(item1.uid,1) doRemoveItem(item2.uid,1) end else doTransformItem(item.uid,1945) end return 1 endE em Actions.xml,Cole isto:
XXXX = action id que vai ser usado para executar o script,não esqueça de colocar na alavanca do mapa.
Espero que tenham gostado!