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é +