Ir para conteúdo

[Actions] Quest's De Variados Tipos.


pbottrinks

Posts Recomendados

Olá galerinha Xtibiana, vim aqui trazer "tipos de 'quests".

Vamos lá.

1ª Quest Simples.( de um item).

Vá em Data, Actions, Scripts, Quests e copie um arquivo.lua e renomeie para NOME.lua, dentro dela ponha isso:

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

  	if item.uid == UID then --Esse é o unique id usado na chest. 
  		queststatus = getPlayerStorageValue(cid,0000) --Essa é a Storage Value
  		if queststatus == -1 then
  			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce Achou Seu item.") --Essa é a mensagem quando o player completa a quest, ponha como quiser.
  			local quest = doPlayerAddItem(cid,2494,1) --ID do item, no caso Demon Armor.Na frente é a quantidade, no caso se a  quest for de dinheiro tu põe a quantidade.
  			setPlayerStorageValue(cid,0000,1) --Essa é a Storage Value
  		else
  			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ja pegou seu premio.") --Essa é a Mensagem se o player tiver feito a quest.
  		end
end
  	return 1
end

 

 

Agora em Data, actions, procure por actions.xml e coloque a seguinte tag.

 

 

       <action uniqueid="UID" script="quests/NOME.lua" />

 

 

 

Pronto, agora vamos pra segunda.

2ªQuest de 2 ou mais items.

Script:

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

  	if item.uid == UID then --Esse é o unique id usado na chest. 
  		queststatus = getPlayerStorageValue(cid,0000) --Essa é a Storage Value
  		if queststatus == -1 then
  			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce Achou Seu item.") --Essa é a mensagem quando o player completa a quest, ponha como quiser.
  			local quest1 = doPlayerAddItem(cid,2160,100) --ID do item, no caso crystal coin, e na  frente 100, que no caso é a quantidade.
		local quest = doPlayerAddItem(cid,2494,1) --ID do item, no caso Demon Armor.
  			setPlayerStorageValue(cid,0000,1) --Essa é a Storage Value
  		else
  			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ja pegou seu premio.") --Essa é a Mensagem se o player tiver feito a quest.
  		end
end
  	return 1
end

 

 

 

TAG:

 

 

       <action uniqueid="UID" script="quests/NOME.lua" />

 

 

proonto.

 

3ª Quest:Quest de 2 ou mais items só que da pra pegar somente 1.

Script:

 

 



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

if item.uid == UID then --Unique ID usado no 1º baú.
queststatus = getPlayerStorageValue(cid,9000) --Storage Value. (Cuidado, ela deve ser colocada em todos os Storage Values da quest.
if queststatus == -1 then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Você recebeu seu item.") --Mensagem quando a quest é completada.
local quest = doPlayerAddItem(cid,2656,1) --ID do Item1 no caso blue robe
setPlayerStorageValue(cid,9000,1) --Storage Value
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Desculpe, você já pegou seu premio.") -- Mensagem caso o player já tenha completado a quest.
end
elseif item.uid == UID then --Unique ID usado no 2º baú
queststatus = getPlayerStorageValue(cid,9000) --Storage Value
if queststatus == -1 then 
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Você recebeu seu item.") --Mensagem quando a quest é completada.
local quest = doPlayerAddItem(cid,8871,1) --ID do Item2 no caso Focus Cape.
setPlayerStorageValue(cid,9000,1) --Storage Value
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE,"Voce ja pegou seu premio.") --Mensagem caso o player tenha completado a quest.
end
else
return 0
end

return 1
end

 

 

 

TAG'S:

 

 

<action uniqueid="UID" script="quests/NOME.lua" />
<action uniqueid="UID" script="quests/NOME.lua" />

 

 

 

4ª Quest com descrição.(Este item pertence á PLAYER)Crédito:thony402

Script:

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

  	if item.uid == UID then --Unique ID colocada no baú
  		queststatus = getPlayerStorageValue(cid,0000) --Storage Value
  		if queststatus == -1 then
  			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce Achou Seu item.") --Mensagem quando completa a quest
  			local item1 = doPlayerAddItem(cid,2472,1) --Id do item, no caso MPA
                       doSetItemSpecialDescription(item1, "Este Item pertence a " .. getPlayerName(cid) .. ".") --Aqui no caso, é a descrição do item.
  			setPlayerStorageValue(cid,0000,1) --Storage Value
  		else
  			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce ja pegou seu premio.") --Mensagem se a quest já foi completada
  		end
end
  	return 1
end

 

 

 

TAG:

 

 

<action uniqueid="UID" script="quests/NOME.lua" />

 

 

 

5ª Quest por vocação (cada vocação ganha uma recompensa diferente).

Script:

 

 

function onUse (cid, item, frompos, item2, topos)
playervoc = getPlayerVocation(cid)

if playervoc == 1 or playervoc == 5 then -- Especifica se o player é sorcerer ou master sorcerer
if item.uid == 3002 then -- Unique ID colocado no mapa
queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid, 22, "Você recebeu seus items.") --Mensagem da Quest
local quest = doPlayerAddItem(cid,8902,1) -- Item ID no caso SpellBook of mind control
setPlayerStorageValue(cid, 3002, 1) --Storage Value
else
doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seus premios.") -- Mensagem Caso Player já tenha feito a Quest
end
else
return 0
end
return 1
end

if playervoc == 2 or playervoc == 6 then -- Especifica se o player é druid ou elder druid
if item.uid == 3002 then -- Unique ID colocado no mapa
queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid, 22, "Você recebeu seus items.") --Mensagem da Quest
local quest = doPlayerAddItem(cid,8918,1) -- Item ID no caso SpellBook of dark mysteries
setPlayerStorageValue(cid, 3002, 1) --Storage Value
else
doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seus premios.") -- Mensagem Caso Player já tenha feito a Quest
end
else
return 0
end
return 1
end

if playervoc == 3 or playervoc == 7 then -- Especifica se o player é pally ou royal pally
if item.uid == 3002 then -- Unique ID colocado no mapa
queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid, 22, "Você recebeu seus items.") --Mensagem da Quest
local quest = doPlayerAddItem(cid,7368,100) -- Item ID no caso 100 assassin stars
setPlayerStorageValue(cid, 3002, 1) --Storage Value
else
doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seus premios.") -- Mensagem Caso Player já tenha feito a Quest
end
else
return 0
end
return 1
end

if playervoc == 4 or playervoc == 8 then --Especifica se o player é kina ou elite kina
if item.uid == 3002 then -- Unique ID colocado no mapa
queststatus = getPlayerStorageValue(cid, 3002) -- Storage Value
if queststatus == -1 or queststatus == 0 then
doPlayerSendTextMessage(cid, 22, "Você recebeu seus items.") --Mensagem da Quest
local quest = doPlayerAddItem(cid,2400,1) -- Item ID no caso Magic Sword
setPlayerStorageValue(cid, 3002, 1) --Storage Value
else
doPlayerSendTextMessage(cid,22,"Desculpe, você já pegou seus premios.") -- Mensagem Caso Player já tenha feito a Quest
end
else
return 0
end
return 1
end

end

 

 

 

Tag:

 

 

       <action uniqueid="3002" script="quests/NOME.lua" />

 

 

 

É galerinha, é isso.

Alguma dúvida poste aqui no tópico ou adcione MSN: lucas.rafael.correa@hotmail.com

Falem dicas, sugestões etc..

Até +

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...