Ir para conteúdo

Sistema De Cassanique


bloder

Posts Recomendados

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!

Link para o comentário
Compartilhar em outros sites

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:

Link para o comentário
Compartilhar em outros sites

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

 

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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 ;)

Link para o comentário
Compartilhar em outros sites

  • 3 months later...
<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?

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...