HI

Quest

Por Hiqui, 25 de jan. de 2010 em Archived

11
1.1k
HiquiH
25 de janeiro de 2010 às 15:23

Andei procurando e não achei...

 

Quero fazer uma quest que o player possa pegar o item sempre quando quiser.

 

E aproveitando o tópico, nem quest normal consigo fazer, alguém me da um help? vlw

SukxS
25 de janeiro de 2010 às 16:15

	<action uniqueid="1000" event="script" value="quest.lua"/>

 

local config = {
level = 50,	-- Level mínimo para pegar a recompensa
chestuid = 1000,	-- Unique ID do chest
item = 2160	-- ID do item
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if item.uid == config.chestuid then
         if getPlayerLevel(cid) >= config.level
	doPlayerSendTextMessage(cid, 22, "Voce pegou sua recompensa.")
	doPlayerAddItem(cid, config.item, 1)
         else
	doPlayerSendTextMessage(cid, 22, "Voce nao tem level suficiente para pegar sua recompensa.")
         end
    end
end

 

Não testei essa action, se não funcionar posta aqui que eu vejo o que está errado.

Editado Janeiro 27 por Sukx

WiltryW
26 de janeiro de 2010 às 15:28

/\

É melhor usar actionid doque uniqueid...

rockstar96R
26 de janeiro de 2010 às 21:28

/\

ñ faz diferença se é uma quest, action ids são melhores soh pq podem ser usadas quantas vezes forem necessárias.

WiltryW
26 de janeiro de 2010 às 22:22

/\

Por isso mesmo, se ele usar o mesmo unique id doque o de uma quest no serv pode (nao sei nunca testei ahieuhea) dar erro...

rockstar96R
26 de janeiro de 2010 às 22:50

/\

o servidor e o map editor avisam quando tem 2 ou mais unique ids repetidas

WiltryW
26 de janeiro de 2010 às 22:54

/\

mas os 2 continuam funcionando?

satan666S
27 de janeiro de 2010 às 00:44

/\

 

sim se forem pra funções diferentes Ex:

action e movements

WiltryW
27 de janeiro de 2010 às 00:49

Então nesse caso não ia funcionar, porque os 2 sao actions...

SukxS
27 de janeiro de 2010 às 08:10

Ele provavelmente só irá usar uma vez o unique id

 

Fiz com action se prefirir:

        <action actionid="1000" event="script" value="quest.lua"/>

 

local config = {
       level = 50,     -- Level mínimo para pegar a recompensa
       chestaid = 1000, -- Action ID do chest
       item = 2160     -- ID do item
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if item.actionid == config.chestaid then
         if getPlayerLevel(cid) >= config.level
               doPlayerSendTextMessage(cid, 22, "Voce pegou sua recompensa.")
               doPlayerAddItem(cid, config.item, 1)
         else
               doPlayerSendTextMessage(cid, 22, "Voce nao tem level suficiente 
para pegar sua recompensa.")
         end
    end
end

Editado Janeiro 27 por Sukx

satan666S
27 de janeiro de 2010 às 10:34

Sukx você não fechou 1 if e a função e na tabela separe os elementos usando ','(virgula)