Ring of the skies teleport back
aqui eu tenho uma action que voce vai ligar ao ring of the skies
oq ela faz? voce pode gravar uma posição ao ring e quando tu usar ele denovo ele vai te teleportar pra essa posição
em que isso vai ser util? pense em quando voce vai entrar em um teleport ou buraco e não tem bem certeza do que vai encontrar lá, com essa action é só você gravar sua posição, entrar no teleport, e dar um simples clique se não gostar do que viu
bom, sem mais delongas vamos as instruções
crie um arquivo.lua em data/actions/scripts de nome telback, e escreva no arquivo:
function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid,4000) if queststatus == -1 and item.actionid == 0 or item.actionid == 100 then telpos = getPlayerPosition(cid) doSendMagicEffect(frompos,12) doPlayerSendTextMessage(cid, 22, "The ring has recorded your position.") doSetItemActionId(item.uid, 200) setPlayerStorageValue(cid,4000,1) elseif queststatus == -1 and item.actionid < 300 and item.actionid > 101 then telpos = getPlayerPosition(cid) doSendMagicEffect(frompos,12) doPlayerSendTextMessage(cid, 22, "The ring has recorded your position.") doSetItemActionId(item.uid, item.actionid-1) setPlayerStorageValue(cid,4000,1) elseif queststatus == -1 and item.actionid == 101 then doPlayerSendTextMessage(cid, 22, "The ring has lost his power, life crystals can recharge it.") elseif queststatus == 1 then doSendMagicEffect(frompos,2) doTeleportThing(cid,telpos) doSendMagicEffect(frompos,10) setPlayerStorageValue(cid,4000,-1) end return 1 end
feito isso crie outro arquivo, agora de nome rechargetel e escreva o seguinte
function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid,4001) if queststatus == -1 then if item2.itemid == 2177 then setPlayerStorageValue(cid,4001,1) doSetItemSpecialDescription(item.uid, "it is full.") doRemoveItem(item2.uid,1) doSendMagicEffect(topos,12) end elseif queststatus == 1 then if item2.itemid == 2357 then setPlayerStorageValue(cid,4001,-1) doSetItemSpecialDescription(item.uid, "it is empty.") doSetItemActionId(item2.uid,0) doSendMagicEffect(topos,12) end end return 1 end
esse script é pra poder recarregar o ring of the skies gastando um life crystal, porque se ele não gastasse nada pra usar seria ainda mais cabuloso do que já é, e ficaria sem graça.
Obs: pros servers que vão querer adotar essa action, façam a raridade do ring of the skies ainda maior do que já é, pra poder equilibrar e o serv não desvalorizar, se quiserem botem ele ao acesso apenas de gms, ou apenas possível de se adquirir fazendo uma quest, não sei, to só dando idéia porque eu sei que o impacto de um item desses na mão dos lowlevel de um serv pode ser considerávelmente grande
ok, pra ele estar pronto e funcionando não se esqueçam de adicionar no actions.xml as seguintes tags:
<action itemid="2357" script="telback.lua" /> <action itemid="4869" script="rechargetel.lua" />
Obs2: eu baseei os ids no client 7.81 ao fazer esses scripts, só pra não botarem numa versão 7.6 e depois bugar tudo
Missão ring of the skies topic: Concluída
Downloads:
Creditos: CapaVerde.