LU
pedido

Hiraishin Kunai - Yondaime

Por lucasromero0110, 21 de fev. de 2014 em Scripts

resolvido
script
11
2.4k
21 de fevereiro de 2014 às 20:14

Olá, eu gostaria de que arrumassem esse script da hiraishin kunai para mim.
Quando o player da use with no item e na posição desejada, ele é teleportado para o lugar selecionado.
Mas eu queria que algum de vocês colocassem para não ser usado na Area PZ, ou seja, ele esta fora da area pz e quando for se teletransportar para a Area PZ não funcionar.
Alem disso, gostaria que vocês também colocassem apenas para tal vocation usar.

Script da Hiraishin Kunai que eu uso:


function onUse(cid, item, frompos, item2, topos, item3)
local pos = getThingPos(item2.uid)
local effect = 12 ------eu coloquei o effect 12 mais esta livre para editar e colocar que effect que vc quiser--------

if getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "O item nao tem poder em Protection Zones.")
end

doTeleportThing(cid, pos, false)
doPlayerSay(cid, "Shunshin", 1)
doSendMagicEffect(pos, effect)
return true
end

zipter98Z
21 de fevereiro de 2014 às 20:24

 

local eff = 12
local vocation = xxx    --Vocation.
function onUse(cid, item, frompos, item2, topos)
    if getTileInfo(topos).protection then
        return doPlayerSendCancel(cid, "Você não pode se teleportar para áreas PZs.")
    elseif getPlayerVocation(cid) ~= vocation then
        return doPlayerSendCancel(cid, "Você não pertence à vocação necessária.")
    else
        doSendMagicEffect(topos, eff)
        doTeleportThing(cid, topos)
        doCreatureSay(cid, "Shunshin", TALKTYPE_SAY)
    end
    return true
end
Junior001J
21 de fevereiro de 2014 às 20:28

Bom o do Zipter vai funcionar :)

Editado Fevereiro 21 por Junior Silva

21 de fevereiro de 2014 às 21:03

Funcionou corretamente, REP +
Caso tenha algum tempo a mais, tem como adicionar uma parte no script de não poder se teleportar em arvores? as id de arvores eu adiciono.
Caso não tenha tempo tudo bem, o script funcionou muito bem.

zipter98Z
21 de fevereiro de 2014 às 22:08


function isWalkable(pos)-- by Nord / editado por Omega

if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0

then return false

elseif getTopCreature(pos).uid > 0 then

return false

elseif isCreature(getTopCreature(pos).uid) then

return false

elseif getTileInfo(pos).protection then

return false

elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then

return false

end

return true

end

local eff = 12

local vocation = xxx --Vocation.

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

if getTileInfo(topos).protection then

return doPlayerSendCancel(cid, "Você não pode se teleportar para áreas PZs.")

elseif not isWalkable(topos) then

return doPlayerSendCancel(cid, "Você não pode se teleportar aí.")

elseif getPlayerVocation(cid) ~= vocation then

return doPlayerSendCancel(cid, "Você não pertence à vocação necessária.")

else

doSendMagicEffect(topos, eff)

doTeleportThing(cid, topos)

doCreatureSay(cid, "Shunshin", TALKTYPE_SAY)

end

return true

end

Editado Fevereiro 21 por zipter98

jessicahJ
21 de fevereiro de 2014 às 22:21

No meu o char anda ate o lugar selecionado e teleporta 1 pra frente,tem como arrumar isso?

22 de fevereiro de 2014 às 09:12

Script funcionou muito bem, não entrou Area PZ, paredes.

#Topico Reportado para fechar.

alanmtdA
22 de fevereiro de 2014 às 09:49
function isWalkable(pos)-- by Nord / editado por Omega
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0
        then return false
    elseif getTopCreature(pos).uid > 0 then
        return false
    elseif isCreature(getTopCreature(pos).uid) then
        return false
    elseif getTileInfo(pos).protection then
        return false
    elseif hasProperty(getThingFromPos(pos).uid, 3) or hasProperty(getThingFromPos(pos).uid, 7) then
        return false
    end
    return true
end
local eff = 12
local vocation = xxx    --Vocation.
function onUse(cid, item, frompos, item2, topos)
    if getTileInfo(topos).protection then
        return doPlayerSendCancel(cid, "Você não pode se teleportar para áreas PZs.")
    elseif not isWalkable(topos) then
        return doPlayerSendCancel(cid, "Você não pode se teleportar aí.")
    elseif getPlayerVocation(cid) ~= vocation then
        return doPlayerSendCancel(cid, "Você não pertence à vocação necessária.")
    else
        doSendMagicEffect(topos, eff)
        doTeleportThing(cid, topos)
        doCreatureSay(cid, "Shunshin", TALKTYPE_SAY)
    end
    return true
end

 

[Warning - Event::loadScript] Event onCastSpell not found (data/spells/scripts/minato/Hira.lua)

Coloca Como configurar ai pff?

Editado Fevereiro 22 por alanmtd1

KilluaK
22 de fevereiro de 2014 às 10:36

Tópico movido para a seção de dúvidas e pedidos resolvidos.

zipter98Z
22 de fevereiro de 2014 às 15:02

@alanmtd1

Esse código é uma action, e não uma spell...

Você deve colocar em data/actions/scripts, não data/spells.

3 anos depois...
GunzLuckyG
07 de setembro de 2017 às 22:41

Como vai ficar no actions.xml?