Ir para conteúdo
  • Cadastre-se

Usar item em outro e ganhar storage e outfit temporário [8.60]


Posts Recomendados

Gostaria que ao usar um item A em um item B, o player ganhasse storage e mudasse o outfit por 1 minuto.

- tanto o storage quanto o outfit tem que ser perdidos após 1 minuto;

- só poderá usar o item A no B novamente se não tiver mais o storage;

- o item B tem que sumir após o uso.

 

vlw :D

Link para o post
Compartilhar em outros sites

actions.xml

<action itemid="itemA" event="script" value="script.lua"/>

crie um arquivo .lua na pasta actions/scripts com nome igual do xml e cole o codigo e configure

local config = {
	itemB = 1234, -- id do item b
	seconds = 60, -- segundos da storage e da outfit
	storage = 34351, -- storage livre
	outfit = {lookType = 30, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} -- tabela da outfit caso for usar somente o looktype deixe os outros 0
}

function onUse(cid, item, frompos, item2, topos)
	if getPlayerStorageValue(cid, config.storage) == 1 then
		return doPlayerSendCancel(cid, "Você ja esta usando a outfit.")
	end
	if item2.itemid == config.itemB then
		doSetCreatureOutfit(cid, config.outfit, config.seconds * 1000)
		tempStorage(cid, config.storage, 1, config.seconds, 0)
		doRemoveItem(item2.uid, 1)
	end
	return true
end

function tempStorage(cid, storage, value, seconds, count)
	if not isCreature(cid) then return true end
	if count == 0 then
		doPlayerSetStorageValue(cid, storage, value)
	end
	if count == seconds then
		doPlayerSetStorageValue(cid, storage, -1)
		return true
	end
	addEvent(tempStorage, 1000, cid, storage, value, seconds, count+1)
end

no arquivo creaturescripts/scripts/login.lua antes do return true adicione a seguinte linha

doPlayerSetStorageValue(cid, storage, -1)

no lugar de storage coloque a mesma q usou na configuração do arquivo da actions

whatsapp-4in.png (18) 98134-9991

 

icon-skype.png [email protected]

 

Link para o post
Compartilhar em outros sites

actions.xml

<action itemid="itemA" event="script" value="script.lua"/>

crie um arquivo .lua na pasta actions/scripts com nome igual do xml e cole o codigo e configure

local config = {
	itemB = 1234, -- id do item b
	seconds = 60, -- segundos da storage e da outfit
	storage = 34351, -- storage livre
	outfit = {lookType = 30, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} -- tabela da outfit caso for usar somente o looktype deixe os outros 0
}

function onUse(cid, item, frompos, item2, topos)
	if getPlayerStorageValue(cid, config.storage) == 1 then
		return doPlayerSendCancel(cid, "Você ja esta usando a outfit.")
	end
	if item2.itemid == config.itemB then
		doSetCreatureOutfit(cid, config.outfit, config.seconds * 1000)
		tempStorage(cid, config.storage, 1, config.seconds, 0)
		doRemoveItem(item2.uid, 1)
	end
	return true
end

function tempStorage(cid, storage, value, seconds, count)
	if not isCreature(cid) then return true end
	if count == 0 then
		doPlayerSetStorageValue(cid, storage, value)
	end
	if count == seconds then
		doPlayerSetStorageValue(cid, storage, -1)
		return true
	end
	addEvent(tempStorage, 1000, cid, storage, value, seconds, count+1)
end

no arquivo creaturescripts/scripts/login.lua antes do return true adicione a seguinte linha

doPlayerSetStorageValue(cid, storage, -1)

no lugar de storage coloque a mesma q usou na configuração do arquivo da actions

Não ocorre erro algum, porém, nada acontece. Aparece no jogo "you cannot use this object". Já troquei por outros IDs, mas sempre a mesma coisa

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 RankerS
      Hoje estarei disponibilizando um outfit criado por mim para vocês do TK .
      sakuraskin_1915.obd
    • Por CoachLord
      Opa, tudo bom? 
      Eu estou adicionando novas outfit no servidor aqui, elas sao maiores e necessitam de deslocamento, porem quando eu edito o deslocamento no Object Builder, ele nao funciona no game.
      Versão 12.64 
    • Por Cat
      Testado em: TFS 1.0 (10.31)
      Funciona em: TFS 1.0 e TFS 0.4
      Descrição: Você leva uma determinada espada até o npc, fala com ele, ele vai pegar essa espada e ficar com ela por um certo tempo (3min), claro, você irá pagar uma quantia. Ao retornar, sua espada estará melhorada (no caso dos ids utilizados o npc irá trocar o item). Se houver algum bug, reporte que arrumaremos.
      Créditos: Jamison, Daniel.
       
      ---------- • ----------
       
      Diálogo:
       
      22:21 Daniel [250]: hi 
      22:21 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:21 Daniel [250]: transform 
      22:21 Blacksmith Elf: From time to time fate smiles upon those who take great risks and have strong dreams! If you have money, we can try to transform your umbral swords, axes, clubs, bows, crossbows or spellbooks. 
      22:21 Daniel [250]: club 
      22:21 Blacksmith Elf: One handed or two handed? 
      22:21 Daniel [250]: one handed 
      22:21 Blacksmith Elf: Do you want to spend your money to transform your crude umbral mace, yes or no? 
      22:21 Daniel [250]: yes 
      22:21 Blacksmith Elf: Great! Alright, I need a while to finish this club for you. Come ask me later. 22:22 Daniel [250]: hi 
      22:22 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:22 Daniel [250]: transform 
      22:22 Blacksmith Elf: Have you left anything here to transform ? 
      22:22 Daniel [250]: yes 
      22:22 Blacksmith Elf: You must wait until : 22:24:49. 22:25 Daniel [250]: hi 
      22:25 Blacksmith Elf: Hello Daniel! I'm a Blacksmith Elf, I can transform your item! 
      22:25 Daniel [250]: transform 
      22:25 Blacksmith Elf: Have you left anything here to transform ? 
      22:25 Daniel [250]: yes 
      22:25 Blacksmith Elf: Here you have it.  
      ---------- • ----------
       
      Fotos
       

       

       

       
      ---------- • ----------
       
      Script:
       
      data/npc/Blacksmith Elf.lua
       



       
      data/npc/scripts/blacksmith_elf.lua
       



    • Por lordzetros
      Bom, como o título já informa, o script faz com que você remova um item do inventário de algum player online.
       
      Versão: 8.6 - TFS 0.4
      Em data\talkactions\scripts crie um arquivo chamado removerItem (lembrando que deve ser .lua, caso não saiba criar um, copie algum já existente e cole, após isso, mude o nome do arquivo e cole o código dentro)
       
      --[[ Script feito por Lordzetros para o fórum Tibia King ]] function onSay(cid, words, param) pos = getPlayerPosition(cid) if (param == '') then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O comando necessita de parametros (nomePlayer,idItem,quantidade). Ex.: /remover Bugador,2160,100") if (not isPlayerGhost(cid)) then doSendMagicEffect(pos, CONST_ME_POFF) end return true end local aux = string.explode(param, ",") local pid = getPlayerByNameWildcard(aux[1]) if (not pid) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player " .. aux[1] .. " nao encontrado.") elseif (getPlayerAccess(pid) > getPlayerAccess(cid)) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce nao pode remover itens de um superior seu.") doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "O membro da staff " ..getCreatureName(cid).. " tentou remover um item de voce!") return true end aux[1] = aux[1]:lower() local qntd = 1 if(aux[3]) then if (tonumber(aux[3]) <= 0) then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Nao eh permitido valores nulos/negativos! Caso queira remover apenas 1x, use /remover Player,idItem") else qntd = aux[3] end end if (doPlayerRemoveItem(pid, tonumber(aux[2]), qntd) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Removido " ..qntd.. "x " ..getItemNameById(aux[2]).. " do player "..aux[1]) posPlayer = getCreaturePosition(pid) doSendMagicEffect(posPlayer, CONST_ME_PLANTATTACK) doCreatureSay(pid,"O membro da staff " ..getCreatureName(cid).. " removeu " ..qntd.. "x " ..getItemNameById(aux[2]).." de seu inventario!", TALKTYPE_ORANGE_1) return true else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "O Player " ..aux[1].. " nao tem o item ou a quantidade do item informada em seu inventario.") end return true end Salve o arquivo no qual colocou o código, após isso navegue até data\talkactions\ e abra o arquivo talkactions.lua, e coloque este trecho de código onde quiser:
       
      <talkaction log="yes" access="3" words="/remover" event="script" value="removerItem.lua"/> Feito isso, salve o mesmo e já pode testar no seu servidor.

      Obs1.: Repare que o acesso está definido como 3, ou seja, GM para cima. (mude se quiser)

       
      Comando na prática: /remover nomePlayer,idItem,qntd

      Imagens:
      1

       
      2

       
      3


       
      4

       
      Enfim, é isso pessoal, script simples, porém, pode servir para algum tibiano interessado. 
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo