charleschaleron 0 Postado Fevereiro 10, 2009 Share Postado Fevereiro 10, 2009 Uma quest: Recompensa de acordo com a vocação. Opa, olhando os tópicos de um site de otservs achei este action que concerteza alguém usará pois sendo uma quest útil, muito bem estou falando de uma quest que os players chegam e abrem o baú de recompensa e ganha algo de acordo com sua vocação. Todos os números serão usados como exemplo. Abra a pasta do seu otserv e vá em pasta date/actions/actions.xmle abre ela no modo de bloco de notas e adiciona essa linha: <action uniqueid="9000" script="vocquest.lua" /> vermelho:UniqueID usado Verde: Nome da arquivo da quest Agora vá em actions/scripts/ copie e cole um arquivo e renomeie para vocquest abra e cole isso dentro dele: 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 == 9000 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 9000) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "You have found a wand of inferno.") --Mensagem da Quest doPlayerAddItem(cid,2187,1) -- Item ID do loot dos sorcerers(wand of inferno) setPlayerStorageValue(cid, 9000, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"You already did this quest.") -- 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 == 9000 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 9000) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "You have found a hailstorm rod.") --Mensagem da Quest doPlayerAddItem(cid,2183,1) -- Item ID do loot dos druids(hailstorm rod) setPlayerStorageValue(cid, 9000, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"You already did this quest.") -- 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 == 9000 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 9000) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "You have found 100 infernal bolts.") --Mensagem da Quest doPlayerAddItem(cid,6529,100) -- Item ID do loot de pallys(100 infernal bolts) setPlayerStorageValue(cid, 9000, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"You already did this quest.") -- 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 == 9000 then -- Unique ID colocado no mapa queststatus = getPlayerStorageValue(cid, 9000) -- Storage Value if queststatus == -1 or queststatus == 0 then doPlayerSendTextMessage(cid, 22, "You have found a demon shield.") --Mensagem da Quest doPlayerAddItem(cid,2520,1) -- Item ID do loot de kinas (demon shield) setPlayerStorageValue(cid, 9000, 1) --Storage Value else doPlayerSendTextMessage(cid,22,"You already did this quest.") -- Mensagem Caso Player já tenha feito a Quest end else return 0 end return 1 end end No site onde peguei diz que o script foi feito por Zopeki sendo assim creio que os creditos sejam dele. é isso espero que tenha ajudado vocês. (Obs: não dou suporte deste script se der algo errado não me consultem) Link para o comentário https://xtibia.com/forum/topic/107503-uma-quest-recompensa-de-acordo-com-a-voca%C3%A7%C3%A3o/ Compartilhar em outros sites More sharing options...
yasha 12 Postado Fevereiro 11, 2009 Share Postado Fevereiro 11, 2009 O script parece ser bom. Vou testar aqui no meu OT. Obrigado por trazer ao Xtibia. //yasha Link para o comentário https://xtibia.com/forum/topic/107503-uma-quest-recompensa-de-acordo-com-a-voca%C3%A7%C3%A3o/#findComment-694297 Compartilhar em outros sites More sharing options...
Posts Recomendados