Por charleschaleron, 10 de fev. de 2009 em Actions e Talkactions
info
Grupo: Barão
Registrado: 05/01/08
Posts: 226
Reputação: 0
Char no Tibia: Brahamus
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
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
return 0
return 1
if playervoc == 2 or playervoc == 6 then -- Especifica se o player é druid ou elder druid
doPlayerSendTextMessage(cid, 22, "You have found a hailstorm rod.") --Mensagem da Quest
doPlayerAddItem(cid,2183,1) -- Item ID do loot dos druids(hailstorm rod)
if playervoc == 3 or playervoc == 7 then -- Especifica se o player é pally ou royal pally
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)
if playervoc == 4 or playervoc == 8 then --Especifica se o player é kina ou elite kina
doPlayerSendTextMessage(cid, 22, "You have found a demon shield.") --Mensagem da Quest
doPlayerAddItem(cid,2520,1) -- Item ID do loot de kinas (demon shield)
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)
Grupo: Artesão
Registrado: 25/12/07
Posts: 144
Reputação: +12
Char no Tibia: Maximus Down
O script parece ser bom.
Vou testar aqui no meu OT.
Obrigado por trazer ao Xtibia.
//yasha
info
Grupo: Barão
Registrado: 05/01/08
Posts: 226
Reputação: 0
Char no Tibia: Brahamus
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:
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:
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)