Sistema De Cassanique

bloder
Por bloder
em Actions e Talkactions

bloder

Lucas
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/04/10Posts: 30

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:

screenshot2010123022211.png

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
end

E em Actions.xml,Cole isto:

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

Espero que tenham gostado!

23768_7.png

Ajudei ? Então clika ali no add.png E da um Rep+ pra mim!

Natan221100

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/08/08Posts: 2Char no Tibia: tome label

Mt legal ainda n testei mais parece ser mt bom : )

churupetinha

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/06/10Posts: 61Char no Tibia: Churupettinha

pow man da hora vou pro no meu ot aki pro cara brincar

kk

nao tem como variar o premium nao

?

bloder

Lucas
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/04/10Posts: 30

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:

23768_7.png

Ajudei ? Então clika ali no add.png E da um Rep+ pra mim!

Eskylo

boa sorte
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 11/08/10Posts: 477Gê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

 

Atenciosamente, Eskylo

 

 

Ironman-icon.png

.

.

bloder

Lucas
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/04/10Posts: 30

@ 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! :thumbsupsmiley:

23768_7.png

Ajudei ? Então clika ali no add.png E da um Rep+ pra mim!

Sanf

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/01/09Posts: 87Char 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 ;)

email: tansio_drowning@hotmail.com

 

 

Vendo Bronson server full todas features.. interessados add msn.

jandercalhau

Jander
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/11/10Posts: 10Char 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?

1.pngbanner-120x90.gif

banner468x60-01.gif

xXLukiinhasXx

Sei que vc Me que, e Não consegue nem negar
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/04/11Posts: 10Char 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: