Ir para conteúdo

Featured Replies

Postado
Em 27/12/2017 em 20:29, Gengo disse:

Fala galera do TibiaKing venho disponibilizar para a comunidade um script bem bacana para seu poketibia, o famoso Slot Machine, no qual ele te recompensa com pedras de evolução, sem mas delongas vamos para a instalação.

 

1º Baixe os arquivos no link:

    -    http://www.mediafire.com/file/9df09dpbftz328y/slot_machine.rar 

             - Scan do link 1 ( https://www.virustotal.com/pt/file/ac47987beb6aa6437259226f09927099d4f7670c780315f8707e57e16767ad9f/analysis/1514485261/ )

    -    http://www.mediafire.com/file/x7xtq6otxfo70vf/machine.rar 

             - Scan do link 2 ( https://www.virustotal.com/pt/file/98d44e8815811eb8f4dc722c98faae690dae6bca0b79f67df1e3b5c5b9faaecb/analysis/1514485429/ )

 

Feito o 1º passo, coloque a pasta slot_machine na pasta do seu otClient modules/ e a pasta machine em data/images/game/ colocando os arquivos nos devido lugar certo já deve funcionar, mas agora vamos prosseguir em fazer com que ele dê o premio.

 

Na  pasta do servidor em data/creaturescripts/scritps  crie um arquivo chamado SlotMachine.lua e coloque o seguinte script:


local OPCODE_SLOT_MACHINE = 12
local removeDollar = 2000*100 -- = equivale a 20 Hundred Dollar

function onExtendedOpcode(cid, opcode, buffer) 
	
	if opcode == OPCODE_SLOT_MACHINE then
		
		if ( buffer ~= 1 ) then
		doPlayerAddItem(cid, buffer, 1)
		end
		
		doPlayerRemoveMoney(cid, removeDollar)
	end
	return true
end

Depois na mesma pasta abre o arquivo login.lua coloque o seguinte comando:


registerCreatureEvent(cid,"SlotMachine")

E por fim na mesma pasta do seu servidor onde você estava abre o arquivo data/creaturescripts/creaturescripts.xml coloque a seguinte tag:


<event type="extendedopcode" name="SlotMachine" event="script" value="SlotMachine.lua"/>

 

Imagem de como está em in game:

5a441e2a87d7a_imagemin_game.png.2af593fd5c5908e86fb83fced742faf7.png

 

Bom espero que tenham entendido, não sou muito bom com explicações ou escrever um tutorial, mas espero que gostem.  ?

Olá boa tarde

Seu módulo é perfeito haha, porém no meu ot tfs1.2 ocorreu alguns problemas

Ele não deixa eu jogar se não tiver o dinheiro

Essa parte está perfeita

Porém ele não subtrai o valor da minha bag dessa forma consigo jogar várias vezes sem perder o valor

 

Outra parada ,ele não entrega o item pro player

Não dá erro nenhum no servidor,ele funciona perfeitamente,porém não entrega o item ganho pro player e também não remove o dinheiro do player,poderia me ajudar por favor 

 

 

 

  • 1 month later...
  • Respostas 41
  • Visualizações 7.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Provavelmente os ids das pedras de evolução são diferentes no seu servidor.   Vá na pasta do modules/slot_machine  do otClient e abre o arquivo slot_machine.lua e na parte: local config

  • Pode mudar sim, qualquer duvida que você tiver em relação a mudança é só falar.

  • Vou deixar aqui a alteração caso alguém tenha mas duvida. local OPCODE_SLOT_MACHINE = 12 local config = { item = 6527 -- Id do item qtd = 5 -- Quantidade para ser removido } function onExt

Posted Images

Postado

 É possível adicionar uma chance para cada pedra?
Local

        [1]  = {11788,"leafStone",chance="80"},
        [2]  = {11789,"fireStone",chance="60"},
        [3]  = {11790,"waterStone",chance="10"}

 nesta função.

 

 

       if ( (slt1 == slt2 ) and (slt2 == slt3) ) then
        displayInfoBox(tr('Slot Machine'), tr('Voce ganhou uma '..config.stones[slt1][2]))
        idStone = config.stones[slt1][1]
        end

 

imagino algo assim

 

local chance_Stone =Total.chance * (config.stones.chance/100)

 

Editado por kokekanon (veja o histórico de edições)

Postado
3 minutos atrás, kokekanon disse:

 É possível adicionar uma chance para cada pedra?
Local


        [1]  = {11788,"leafStone",chance="80"},
        [2]  = {11789,"fireStone",chance="60"},
        [3]  = {11790,"waterStone",chance="10"}

 nesta função.

 

 


       if ( (slt1 == slt2 ) and (slt2 == slt3) ) then
        displayInfoBox(tr('Slot Machine'), tr('Voce ganhou uma '..config.stones[slt1][2]))
        idStone = config.stones[slt1][1]
        end

 

imagino algo assim

 


local chance_Stone =Total.chance * (config.stones.chance/100)

 

Funcionou com vc Amigo?Poderia me ajudar nesse meu problema,Comigo ele não aparenta erro nenhum e aparece a máquina de cassino funcionando porém não remove o money do player e não entrega o prêmio,poderia me falar como foi configurado no seu servidor?

Postado
3 minutes ago, Danijo said:

Funcionou com vc Amigo?Poderia me ajudar nesse meu problema,Comigo ele não aparenta erro nenhum e aparece a máquina de cassino funcionando porém não remove o money do player e não entrega o prêmio,poderia me falar como foi configurado no seu servidor?

 

tfs 1.5

local OPCODE_LANGUAGE = 1
local OPCODE_autoloot = 12
local removeDollar = 2000*100 -- = equivale a 20 Hundred Dollar
function onExtendedOpcode(player, opcode, buffer)
	if opcode == OPCODE_LANGUAGE then
		-- otclient language
		if buffer == 'en' or buffer == 'pt' then
			-- example, setting player language, because otclient is multi-language...
			-- player:setStorageValue(SOME_STORAGE_ID, SOME_VALUE)
		end
	end
	if opcode == OPCODE_autoloot then
		
		if (buffer ~= "1") then
		player:addItem(tonumber(buffer), 1)
			

		end
		
		player:removeItem(3043,1) -- ID COIN
	
	end
	
		-- other opcodes can be ignored, and the server will just work fine...
	
	
end

 

 

y login.lua 

player:registerEvent("ExtendedOpcode")

 

Editado por kokekanon (veja o histórico de edições)

  • 3 weeks later...
Postado
Em 28/10/2022 em 15:33, kokekanon disse:

 

tfs 1.5


local OPCODE_LANGUAGE = 1
local OPCODE_autoloot = 12
local removeDollar = 2000*100 -- = equivale a 20 Hundred Dollar
function onExtendedOpcode(player, opcode, buffer)
	if opcode == OPCODE_LANGUAGE then
		-- otclient language
		if buffer == 'en' or buffer == 'pt' then
			-- example, setting player language, because otclient is multi-language...
			-- player:setStorageValue(SOME_STORAGE_ID, SOME_VALUE)
		end
	end
	if opcode == OPCODE_autoloot then
		
		if (buffer ~= "1") then
		player:addItem(tonumber(buffer), 1)
			

		end
		
		player:removeItem(3043,1) -- ID COIN
	
	end
	
		-- other opcodes can be ignored, and the server will just work fine...
	
	
end

 

 

y login.lua 


player:registerEvent("ExtendedOpcode")

 

Obg meu amigo aqui está funcionando perfeitamente haha,porém somente com dinheiro sabe,conseguiria fazer uma configuração pra poder subtrair item invés de dinheiro, reparei que direto pelo cliente existe uma verificação se o player possui o dinheiro ou não,tentei configurar por lá algo como 

If doPlayerRemoveItem (id do item) then

Para seguir adiante mas não tive sucesso

Comigo só está funcionando a questão de dinheiro e não de item

Queria que o jogador não pudesse jogar na máquina se não fosse primeiro subtraído o item dele

 

Pois sobre o dinheiro funciona assim

O player não pode jogar se não tiver dinheiro suficiente na mochila 

 

Queria fazer essa verificação porém com item id e não "money"

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo