Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Script Quest


Ir para solução Resolvido por Frenesy,

Posts Recomendados

Olá pessoal! Estou precisando de 1 script de quest para 8.4. 

 

Esse script de quest serve para eu montar 1 ancient helmet se eu tiver as peças e colocar elas no lugar certo, e quando puxar uma alavanca e tiver todas as peças o ancient helmet aparece.

 

Aqui está 1 video de como é:

 

Vejam só do 0:13 a 00:44.

 

P.S: Eu ja fiz esse lugar no mapa eu só preciso da script da quest!

 

ATT: R1B31R0!

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Link para o post
Compartilhar em outros sites
local config = {
	pos = {x = 160, y = 54, z = 7}, -- Posição onde os ítens ficarão
	itens = {2160, 2151, 2132}, -- Itens que precisa pra formar ele
	new_id = 1111, -- ID do Ancient Helmet
}

function onUse(cid)
	for _, itemid in ipairs(config.itens) do
		if getTileItemById(config.pos, itemid).uid < 100 then
			doPlayerSendCancel(cid, "Você não tem os ítens necessários para forjar o capacete.")
			return false
		end
	end

	for _, itemid in ipairs(config.itens) do
		doRemoveItem(getTileItemById(config.pos, itemid).uid, 1)
	end

	doCreatureSay(cid, "Yaay", 19)
	doCreateItem(config.new_id, 1, config.pos)
	return false
end

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Como assim? pos = {x = 160, y = 54, z = 7}, -- Posição onde os ítens ficarão

 

Edit: São 7 itens ai eu coloco as posição dos itens? ai tipo irei colocar

 pos = {= 160, y = 54, z = 7},{= 161, y = 55, z = 7},{= 162, y = 55, z = 7},

 

Tipo isso ate ficar os 7?

 

E onde ponho isso, e tag? E tambem não tem onde o helmet vai aparecer na script...

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

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Link para o post
Compartilhar em outros sites

É um item em cada posição? Achei que você jogaria todos os ítens em uma única posição, e puxaria a alavanca, essa pos, é a posição onde todos os ítens devem estar...

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Sim é assim! Faltou tambem quando formasse aparecer na posiçao que eu queria! E Não sei ond poem e a tag !

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Link para o post
Compartilhar em outros sites
local config = {
	itens = {
		[2160] = {x = 160, y = 54, z = 7},
		[2151] = {x = 160, y = 54, z = 7},
		[2132] = {x = 160, y = 54, z = 7}
	}, -- Itens que precisa pra formar ele

	new_id = 1111, -- ID do Ancient Helmet
	new_pos = {x = 160, y = 54, z = 7}, -- Posição onde o novo item será criado
}

function onUse(cid)
	for itemid, pos in ipairs(config.itens) do
		if getTileItemById(pos, itemid).uid < 100 then
			doPlayerSendCancel(cid, "Você não tem os ítens necessários para forjar o capacete.")
			return false
		end
	end

	for itemid, pos in ipairs(config.itens) do
		doRemoveItem(getTileItemById(pos, itemid).uid, 1)
	end

	doCreatureSay(cid, "Yaay", 19)
	doCreateItem(config.new_id, 1, config.new_pos)
	return false
end

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Onde eu ponho isso e a tag? Acho que tambem tem que ter 1 parte da alavanca com uniqueid para puxar e formar não é?

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

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Link para o post
Compartilhar em outros sites
<action actionid="5010" event="script" value="alavancahelmet.lua"/>

Coloque a actionid 5010 na alavanca

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

O script não funcionou.!

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Link para o post
Compartilhar em outros sites
  • Solução
function onUse(cid, item, frompos, item2, topos)


item1pos = {x=71, y=234, z=15, stackpos=255} --item1pos
item2pos = {x=76, y=237, z=15, stackpos=255} --item2pos
item3pos = {x=76, y=237, z=15, stackpos=255} --item3pos
item4pos = {x=76, y=237, z=15, stackpos=255} --item4pos
item5pos = {x=66, y=236, z=15, stackpos=255} --item5pos
item6pos = {x=66, y=236, z=15, stackpos=255} --item6pos
item7pos = {x=66, y=236, z=15, stackpos=255} --item7pos


item8pos = {x=66, y=236, z=15, stackpos=255} -- Local onde o helmet irá aparecer


item1 = getThingfromPos(item1pos)
item2 = getThingfromPos(item2pos)
item3 = getThingfromPos(item3pos)
item4 = getThingfromPos(item4pos)
item5 = getThingfromPos(item5pos)
item6 = getThingfromPos(item6pos)
item7 = getThingfromPos(item7pos)


item8 = getThingfromPos(item8pos)




if item.itemid == 1945 and item1.itemid == 0000 and item2.itemid == 0000 and item3.itemid == 0000 and item4.itemid == 0000 and item5.itemid == 0000 and item6.itemid == 0000 and item7.itemid == 0000 then -- Substitua os 0000 pelos IDs dos items


doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,13)


doRemoveItem(item2.uid,1)
doSendMagicEffect(item2pos,13)


doRemoveItem(item3.uid,1)
doSendMagicEffect(item3pos,13)


doRemoveItem(item4.uid,1)
doSendMagicEffect(item4pos,13)


doRemoveItem(item5.uid,1)
doSendMagicEffect(item5pos,13)


doRemoveItem(item6.uid,1)
doSendMagicEffect(item6pos,13)


doRemoveItem(item7.uid,1)
doSendMagicEffect(item7pos,13)


doTransformItem(item.uid,item.itemid+1)
doCreateItem(0000,1, item8pos) -- Colocar ID do Helmet Aqui


doPlayerSendTextMessage(cid,22,'Sacrifio realizado com sucesso!')


elseif item.uid == 9011 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
else
return 0
end


return 1


end
 

Action.xml

<action uniqueid="9011" script="NomeDoArquivo.lua"/>

Coloque UniqueID 9011 na Alavanca pelo Map Editor.

 

#MaXwEllDeN

Antes que pergunte, NÂO, eu não sei por tudo bem organizadinho meus script iguais ao seu. Eu faço tudo 'brabo' mesmo.

Ainda preciso aprender tabelas e essas coisas, pra fazer scripts iguais ao seu.

 

To só me adiantando ;D

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

Tem como fazer isso sem alavanca? Depois que colocar 7 items em cima da pedra, aparecer o ancient helmet?sozinho igual do global.

function onUse(cid, item)
    local recompensa = 2342                               -- | Item que vai aparecer
    local ids = {2335,2336,2337,2338,2339,2340,2341}      -- | Todos os itens.
    local tilepos = {x=1883,y=1024,z=11}                -- | Posição que vai tar os itens
    
    local tab = {}      
    local value = true
    if getPlayerStorageValue(cid, 66654) >= 1 then
        return doPlayerSendCancel(cid, "Voce ja construiu o seu helmet")
    end
    for i = 1,7 do
        tab[i] = getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=i}).itemid
    end
 
    for i = 1,7 do
        if not table.find(ids, tab[i]) then
            value = false
        break
        end
    ids[table.find(ids, tab[i])] = nil
    end
 
    if value then
        doPlayerAddItem(cid, recompensa)
        setPlayerStorageValue(cid, 65535, 1)
        for i = 1,7 do
            doRemoveItem(getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=1}).uid)
        end
    end
return TRUE
end
Editado por AlekysRocha. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

Tem como fazer isso sem alavanca? Depois que colocar 7 items em cima da pedra, aparecer o ancient helmet? igual do global .

function onUse(cid, item)
    local recompensa = 2342                               -- |
    local ids = {2335,2336,2337,2338,2339,2340,2341}      -- | Mude se precisar
    local tilepos = {x=1883,y=1024,z=11}                -- |
    
    local tab = {}      
    local value = true
    if getPlayerStorageValue(cid, 66654) >= 1 then
        return doPlayerSendCancel(cid, "Voce ja construiu o seu helmet")
    end
    for i = 1,7 do
        tab[i] = getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=i}).itemid
    end
 
    for i = 1,7 do
        if not table.find(ids, tab[i]) then
            value = false
        break
        end
    ids[table.find(ids, tab[i])] = nil
    end
 
    if value then
        doPlayerAddItem(cid, recompensa)
        setPlayerStorageValue(cid, 65535, 1)
        for i = 1,7 do
            doRemoveItem(getThingFromPos({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=1}).uid)
        end
    end
return TRUE
end

Tem sim.

 

Movement onAddItem...

 

 

O script não funcionou.!

 

Se você pudesse falar qual o erro, seria de grande ajuda. Ainda não aprendi a ler mentes, sabe.

 

 

function onUse(cid, item, frompos, item2, topos)


item1pos = {x=71, y=234, z=15, stackpos=255} --item1pos
item2pos = {x=76, y=237, z=15, stackpos=255} --item2pos
item3pos = {x=76, y=237, z=15, stackpos=255} --item3pos
item4pos = {x=76, y=237, z=15, stackpos=255} --item4pos
item5pos = {x=66, y=236, z=15, stackpos=255} --item5pos
item6pos = {x=66, y=236, z=15, stackpos=255} --item6pos
item7pos = {x=66, y=236, z=15, stackpos=255} --item7pos


item8pos = {x=66, y=236, z=15, stackpos=255} -- Local onde o helmet irá aparecer


item1 = getThingfromPos(item1pos)
item2 = getThingfromPos(item2pos)
item3 = getThingfromPos(item3pos)
item4 = getThingfromPos(item4pos)
item5 = getThingfromPos(item5pos)
item6 = getThingfromPos(item6pos)
item7 = getThingfromPos(item7pos)


item8 = getThingfromPos(item8pos)




if item.itemid == 1945 and item1.itemid == 0000 and item2.itemid == 0000 and item3.itemid == 0000 and item4.itemid == 0000 and item5.itemid == 0000 and item6.itemid == 0000 and item7.itemid == 0000 then -- Substitua os 0000 pelos IDs dos items


doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,13)


doRemoveItem(item2.uid,1)
doSendMagicEffect(item2pos,13)


doRemoveItem(item3.uid,1)
doSendMagicEffect(item3pos,13)


doRemoveItem(item4.uid,1)
doSendMagicEffect(item4pos,13)


doRemoveItem(item5.uid,1)
doSendMagicEffect(item5pos,13)


doRemoveItem(item6.uid,1)
doSendMagicEffect(item6pos,13)


doRemoveItem(item7.uid,1)
doSendMagicEffect(item7pos,13)


doTransformItem(item.uid,item.itemid+1)
doCreateItem(0000,1, item8pos) -- Colocar ID do Helmet Aqui


doPlayerSendTextMessage(cid,22,'Sacrifio realizado com sucesso!')


elseif item.uid == 9011 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
else
return 0
end


return 1


end
 

Action.xml

<action uniqueid="9011" script="NomeDoArquivo.lua"/>

Coloque UniqueID 9011 na Alavanca pelo Map Editor.

 

#MaXwEllDeN

Antes que pergunte, NÂO, eu não sei por tudo bem organizadinho meus script iguais ao seu. Eu faço tudo 'brabo' mesmo.

Ainda preciso aprender tabelas e essas coisas, pra fazer scripts iguais ao seu.

 

To só me adiantando ;D

 

 

Huahuahuaha,Usa getTileItemById em vez do getThingfrompos. Esse negócio de stacks sempre muda e.e. Dá uma olhada nos tutoriais que eu poste, podem te ajudar bastante :P

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

Não obtive sucesso KKK me ajudao? rs <3

function onUse(cid, item)
    local recompensa = 2342                               -- |
    local ids = {2335,2336,2337,2338,2339,2340,2341}      -- | Mude se precisar
    local tilepos = {x=1883,y=1024,z=11}                -- |
    
    local tab = {}      
    local value = true
    if getPlayerStorageValue(cid, 66654) >= 1 then
        return doPlayerSendCancel(cid, "Voce ja construiu o seu helmet")
    end
    for i = 1,7 do
        tab[i] = getTileItemById({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=i}).itemid
    end
 
    for i = 1,7 do
        if not table.find(ids, tab[i]) then
            value = false
        break
        end
    ids[table.find(ids, tab[i])] = nil
    end
 
    if value then
        doPlayerAddItem(cid, recompensa)
        setPlayerStorageValue(cid, 65535, 1)
        for i = 1,7 do
            doRemoveItem(getTileItemById({x=tilepos.x,y=tilepos.y,z=tilepos.z,stackpos=1}).uid)
        end
    end
return TRUE
end
Editado por AlekysRocha. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Max, não deu nenhum erro mas não funcionou!

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

Link para o post
Compartilhar em outros sites

 

function onUse(cid, item, frompos, item2, topos)


item1pos = {x=71, y=234, z=15, stackpos=255} --item1pos
item2pos = {x=76, y=237, z=15, stackpos=255} --item2pos
item3pos = {x=76, y=237, z=15, stackpos=255} --item3pos
item4pos = {x=76, y=237, z=15, stackpos=255} --item4pos
item5pos = {x=66, y=236, z=15, stackpos=255} --item5pos
item6pos = {x=66, y=236, z=15, stackpos=255} --item6pos
item7pos = {x=66, y=236, z=15, stackpos=255} --item7pos


item8pos = {x=66, y=236, z=15, stackpos=255} -- Local onde o helmet irá aparecer


item1 = getThingfromPos(item1pos)
item2 = getThingfromPos(item2pos)
item3 = getThingfromPos(item3pos)
item4 = getThingfromPos(item4pos)
item5 = getThingfromPos(item5pos)
item6 = getThingfromPos(item6pos)
item7 = getThingfromPos(item7pos)


item8 = getThingfromPos(item8pos)




if item.itemid == 1945 and item1.itemid == 0000 and item2.itemid == 0000 and item3.itemid == 0000 and item4.itemid == 0000 and item5.itemid == 0000 and item6.itemid == 0000 and item7.itemid == 0000 then -- Substitua os 0000 pelos IDs dos items


doRemoveItem(item1.uid,1)
doSendMagicEffect(item1pos,13)


doRemoveItem(item2.uid,1)
doSendMagicEffect(item2pos,13)


doRemoveItem(item3.uid,1)
doSendMagicEffect(item3pos,13)


doRemoveItem(item4.uid,1)
doSendMagicEffect(item4pos,13)


doRemoveItem(item5.uid,1)
doSendMagicEffect(item5pos,13)


doRemoveItem(item6.uid,1)
doSendMagicEffect(item6pos,13)


doRemoveItem(item7.uid,1)
doSendMagicEffect(item7pos,13)


doTransformItem(item.uid,item.itemid+1)
doCreateItem(0000,1, item8pos) -- Colocar ID do Helmet Aqui


doPlayerSendTextMessage(cid,22,'Sacrifio realizado com sucesso!')


elseif item.uid == 9011 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
else
return 0
end


return 1


end
 

Action.xml

<action uniqueid="9011" script="NomeDoArquivo.lua"/>

Coloque UniqueID 9011 na Alavanca pelo Map Editor.

 

#MaXwEllDeN

Antes que pergunte, NÂO, eu não sei por tudo bem organizadinho meus script iguais ao seu. Eu faço tudo 'brabo' mesmo.

Ainda preciso aprender tabelas e essas coisas, pra fazer scripts iguais ao seu.

 

To só me adiantando ;D

 

 

VLWWWWWWWWWWWWW FUNFO CERTIN! NEM PRECISEI MUDAR NADA SÓ AS POSIÇÃO E OS IDS!

 

TRABALHOS

 

 

[iTEM.XML] Ancient Helmt dar HP e Duration: http://www.tibiaking.com/forum/topic/35010-itemxml-helmet-dar-vida-e-duration/

 

[CreatureScripts] OwNeD ao character morrerhttp://www.tibiaking.com/forum/topic/35733-creaturescripta-owned-quando-morrer/

 

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 Mathwsz
      Bom galera, estou trazendo um script de fusão que funciona assim:
      Explicação: É necessário de 7 itens, na qual você coloca em tal coordenada e aperte a alavanca, sendo assim formando um item na qual você deseja em tal lugar configurado.
      Exemplo: Você pode fazer 7 bosses na qual dropa tals itens "Parecidos" e formando um item raro de sua escolha, ou como preferir.. Vamos ao script!
       
      Em Data/Actions/Scripts crie um arquivo chamado fusaoitens.lua e adicione isto dentro:
       
       
      Agora, em Data/Actions.xml adicione o seguinte:
       
      <action uniqueid="9900" script="fusaoitens.lua" /> E no seu RemeresMapEditor , pegue sua alavanca, vai em Propriedades e adicione o UniqueID 9900 nele! 
      PRONTO! Agora configure e divirta-se! Obs: Caso lhe ajudei, da um REP+ Aí !
    • Por MySticaL
      Script Quest:
      --[[ Script: Exemplo de Quest Autor: MySticaL Email: [email protected] ]] function onUse(cid, item, frompos, item2, topos) -- Não mecha. storage = 938312 -- Storage a cada quest que for criada aumente um numero da storage pra qnd vc pegar o baú de outra quest ñ aparecer que vc já fez. item = 2160 -- Id do item ira ganhar. quantidade = 1 -- Quantidade ira ganhar. level = 5 -- Level que precisa pra fazer. if getPlayerLevel(cid) >= level and getPlayerStorageValue(cid,storage) == -1 then -- Não mecha. doPlayerSendTextMessage(cid,25,"Você ganhou um pouco de dinheiro") -- Mensagem que aparecera quando ganhar o item. doPlayerAddItem(cid, item, quantidade) -- Não mecha. setPlayerStorageValue(cid,storage,1) -- Não mecha. elseif getPlayerLevel(cid) <= level then -- Não mecha doPlayerSendTextMessage(cid,25,"Você precisa ser level 5 ou mais.") -- Mensagem que ira aparecer se o player tiver menos level que o necessario. elseif getPlayerStorageValue(cid,storage) >= 1 then -- Não mecha. doPlayerSendTextMessage(cid,25,"Você já fez está quest") -- Quando tentar pegar mais de uma vez o baú. end return true end Actions.xml
      <action actionid="3123" event="script" value="script.lua"/> Obs: O actionid="3123" é o que você deve botar no item no Remeres Map Editor
      Caso você queria criar outra quest aumente a storage no script e o id no actions.xml !
      Como configurar ?
      R- \/
      ================================================================================================================================
      storage = 938312 -- Storage a cada quest que for criada aumente um numero da storage pra quando você for pegar o baú de outra quest não aparecer  que você já fez.
      ================================================================================================================================
      item = 2160 -- Id do item ira ganhar.
      ======================================================
      quantidade = 1 -- Quantidade ira ganhar.
      ======================================================
      level = 5 -- Level que precisa pra fazer.
      ======================================================
      Script bem simples mais irá ajudar alguns membros.
      Rep não cai o dedo
      Não sei muito sobre script.
       
      100% Créditos meu caso for postar em outro lugar deixe os créditos para min !
      Desculpem o tópico mal arrumado
       
    • Por Nazo
      Buenas, TK!
      Um usuário pediu ajuda em um script, onde queria limitar para a quest ser feita apenas uma vez por IP, mesmo que ainda seja possível mudá-lo, resolvi postar aqui xd
       
      Execute esse código SQL no seu banco de dados MySQL, para a criação da tabela onde ficarão as storages e o IP armazenado do player:
      CREATE TABLE player_ip_storage( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);  
      Ou caso seja SQLITE, utilize esse código:
      CREATE TABLE player_ip_storage( player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);  
      Crie um arquivo chamado nazo-functions.lua em data/lib e adicione o seguinte conteúdo:
      -- by Nazo (tibiaking.com) -- IP Storage System function getIpQuestStatus(cid, storage) storages = db.getResult("SELECT * FROM `player_ip_storage` WHERE `ip` = \"" .. doConvertIntegerToIp(getPlayerIp(cid)) .. "\" and `storage` = "..storage..";") if(storages:getID() ~= -1) then return false end return true end function setIpQuestStatus(cid, storage) db.executeQuery("INSERT INTO player_ip_storage(player_id, ip, storage) VALUES("..getPlayerGUID(cid)..",\""..doConvertIntegerToIp(getPlayerIp(cid)).."\","..storage..")") return true end  
      Agora, quando você tiver uma quest, adicione na verificação a função getIpQuestStatus na checagem junto, e quando finalizar a quest utilize o setIpQuestStatus, com os parâmetros cid e número da storage, porém a função só armazena que essa storage tem algo no banco de dados, ou seja, a quest já foi feita, você não armazena o valor da storage junto (como a função normal que geralmente adiciona "1" na storage).
       
      Exemplo de quest abaixo:
      -- by Nazo (tibiaking.com) config = { storage = 123123, -- storage da quest premio = {2160, 1} -- {itemid, quantia} } function onUse(cid, item, frompos, item2, toPosition) queststatus = getPlayerStorageValue(cid,config.storage) if(queststatus == -1 and getIpQuestStatus(cid, config.storage)) then -- note que eu só adicionei a função, nenhuma comparação, explicarei abaixo do código doPlayerSendTextMessage(cid,22,"Tome seu prêmio.") doPlayerAddItem(cid,config.premio[1],config.premio[2]) setPlayerStorageValue(cid,config.storage,1) setIpQuestStatus(cid,config.storage) -- função que adiciona a storage no banco de dados else doPlayerSendTextMessage(cid,22,"Você já fez esta quest.") end end  
      Explicação básica do motivo da função não possuir comparação na verificação e ficar como a seguir:
       
      if(getIpQuestStatus(cid, config.storage)) then Quando você faz um if, com uma função dentro sem comparações, ela continuará o bloco de comando apenas se o retorno da mesma for verdadeiro, assim quando você fizer a quest, e tentar novamente, o get retorna falso, e isso cancela a condição e vai para o bloco de comando do "else".
    • Por tataboy67
      Opa galera beleza?
      Meu amigo esses dias pediu um sistema basicamente assim:
      sistema:
      !quests charizard (você é teleportado para hunt ou quest por "x" tempo, e após esse tempo, você é teleportado para 1 posição "y" (cp/templo)) !quest time (o jogador recebe uma msg de quanto tempo ainda resta para ele ficar nessa hunt/quest) !quest (abre uma janela aonde fala as informações dessa hunt/quest)
      bom eu tentei usar o "for" para fazer com que tenha varios tipos de hunts dentro (criando uma tabela), mas como ainda estou estudando lua e esse é meu 1º script, eu não consegui fazer, então eu to usando o "param" E eu fui pesquisar aqui no forum e em outro forums tbm esse sistema, e vi que ninguem nunca postou  
      então resolvi cria-lo.
       
      Em Talkactions.xml, adicione a linha:

      Em Talkactions, crie um arquivo com o nome de quest_time.lua, e adicione:

      Creditos:
      Eu: Pelo script

      Desculpa se o script ficou ruim, é que é meu primeiro script, tenham pena de mim.  
      Eu farei melhoras nesse script mais pra frente.
    • Por David Otserver
      Alguem sabe como  Achar outfilt de narutibia com essá base ae, engual a da foto ????
      se vcs perceber os boneco ai eles estão mei inclinado pro lado, agora o do narutibia normal ele ta reto e meio feio
      queria assim que é mais bonito, alguem pode ajudar ae ?
      dou rep ++++++



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo