Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá, gostaria que alguém me ensinasse como fazer o seguinte...

 

Exemplo: o player tem que ter 3 itens,

item 1, item 2 e item 3

o player vai ter que usa o item 3 em uma mesa X (a mesa já faz parte da quest, ela da o item 2)

quando o player usa o item 3 na mesa os 3 itens some e ele ganha 2 itens.

e queria aprende a checar storage (exemplo: checar se o player tem a storage da quest do item 3 antes de ganhar os itens)

 

 

to aprendendo a mexer com lua, fiquei um tempinho tentando e não consegui.

Link para o post
Compartilhar em outros sites

Como você quer que ensine como é, vou mostrar da forma mais simples:

 

Spoiler

local items = {1111, 2222, 3333}
local mesa_aid = 7777 --actionid da mesa
local recompensa = {4444, 5555}
local storage_item3 = 11111

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if target.actionid == mesa_aid then
    if player:getStorageValue(storage_item3) ~= -1 then
        if player:getItemCount(items[1]) >= 1 and player:getItemCount(items[2]) >= 1 and player:getItemCount(items[3]) >= 1 then
            player:removeItem(items[1], 1)
            player:removeItem(items[2], 1)
            player:removeItem(items[3], 1)
        else
            player:sendCancelMessage("Você não tem todos os itens necessários.")
            player:getPosition():sendMagicEffect(CONST_ME_POFF)
            return true
        end
        player:addItem(recompensa[1], 1)
        player:addItem(recompensa[2], 1)
        player:getPosition():sendMagicEffect(CONST_ME_STUN)
    else
        player:sendCancelMessage("Você não fez a quest do item 3 ainda.")
        player:getPosition():sendMagicEffect(CONST_ME_POFF)
    end
end
return true
end

 

 

 

Claro que você também poderia fazer algo do tipo:

 

Spoiler

local t = {
items = {{1111, 3}, {2222, 2}, {3333, 1}},
mesa_aid = 7777,
recompensa = {{4444, 1}, {5555,2}},
storage_item3 = 11111
}

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if target.actionid == t.mesa_aid then
    if player:getStorageValue(t.storage_item3) == -1 then
        player:sendCancelMessage("Você não fez a quest do item 3 ainda.")
        player:getPosition():sendMagicEffect(CONST_ME_POFF)
        return true
    end
    for i, k in ipairs(t.items) do
        if player:getItemCount(k[1]) < k[2] then
            player:sendCancelMessage("Você não tem todos os itens necessários.")
            player:getPosition():sendMagicEffect(CONST_ME_POFF)
            return true
        end
    end
    for i, k in ipairs(t.items) do
        player:removeItem(k[1], k[2])
    end    
    for i = 1, #t.recompensa do
        player:addItem(t.recompensa[i][1], t.recompensa[i][2])
    end
    player:getPosition():sendMagicEffect(CONST_ME_STUN)
end
return true
end

 

 

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

Contato:

 

Link para o post
Compartilhar em outros sites
local table = {
	item_id = {1111, 1},
	recompensa = {4444, 1},
	mesa_id = 7777,
	storage = 11111
}

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	if target then 
		if target:getId() == table.mesa_id then
			if player:getStorageValue(table.storage) < 1 then
				if player:getItemCount(table.item_id[1]) >= table.item_id[2] then
					if player:removeItem(items[1], items[2]) then
						player:addItem(table.recompensa[1], table.recompensa[2])
						player:getPosition():sendMagicEffect(CONST_ME_STUN)
					end
				else
					player:sendCancelMessage("Voce nao tem o item necessario.")
					player:getPosition():sendMagicEffect(CONST_ME_POFF)
				end
			else
				player:sendCancelMessage("Voce nao fez a quest do item 3 ainda.")
				player:getPosition():sendMagicEffect(CONST_ME_POFF)
			end
		end
	end
	return true
end

 

Editado por luanluciano93 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Dwarfer @luanluciano93  valeu mesmo pela ajuda, só queria um exemplo mesmo, quero aprende a fazer (me expressei errado na hora de criar o tópico).

 

 

 

 

@edit 

eu estou tentando adicionar uma linha no primeiro codigo do @Dwarfer  que é pra da storage pro player depois que ele receber os itens da mesa mas não estou conseguindo...

 

tentei dessas maneira...

 

setPlayerStorageValue(cid, 55555, 1)

player:setPlayerStorageValue(cid, storage, 1)  (e adicionei uma linha na parte de cima do codigo com a storage)

player:setPlayerStorageValue(cid, 55555, 1)

 

 

OBS: tentei colocar na linha depois que recebe a recompensa.

 

tentei assim, não sei outro jeito :(

Editado por Koring4 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo