Ir para conteúdo
  • 0

Hiraishin kunai (andando em vez de teleportar)


alanmtd

Pergunta

Eae amigos vamos ao script que tenho duvida:

 

QUote:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
local pos = fromPosition
local aqui = getPlayerPosition(cid)
local vocs = {501, 502, 503, 504, 505, 506, 507, 508}
local agua = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
local parede = {1049, 1050, 1026, 1029, 1025, 9119, 1041, 5152, 1044, 1037, 4472, 4475, 4471, 1058, 1056, 1055, 1060, 1063, 1061}
local pedra = {3333, 2711, 2786, 2784, 2778, 3330}
if getDistanceBetween(aqui, toPosition) >= 7 then
return doPlayerSendTextMessage(cid, 27, "Esta Muito Longe.")
elseif(not(isSightClear(aqui, toPosition, 1))) then
return doPlayerSendTextMessage(cid, 27, "Isso E Impossivel.")
elseif(getTilePzInfo(aqui)) then
return doPlayerSendCancel(cid, "voce nao pode usar quando estiver em protect zone.")
elseif(getTilePzInfo(toPosition)) then
return doPlayerSendCancel(cid, "voce nao pode entra em protec zone.")
elseif(isInArray(agua, itemEx.itemid)) then
return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em agua")
elseif(isInArray(parede, itemEx.itemid)) then
return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em paredes")
elseif(isInArray(pedra, itemEx.itemid)) then
return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em pedras")
elseif(not(isInArray(vocs, getPlayerVocation(cid)))) then
return doPlayerSendTextMessage(cid, 27, "Desculpe Apenas Vocacao Minato Para Usar.")
end
if(doTeleportThing(cid, toPosition, false)) then
doSendMagicEffect(pos, 111)
doSendMagicEffect(toPosition, 122)
return doSendDistanceShoot(pos, toPosition, 35)
end
return doPlayerSendCancel(cid, "Desculpe Nao Foi Possivel.")
end

 

em vez de teleportar ela anda dps teleporta alguem poderia me ajuda a fazer ela transportar de vez?
ajuda ai :DD
VOces ajudaram mts pessoas :)))
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

local pos = fromPosition
local aqui = getPlayerPosition(cid)
local vocs = {501, 502, 503, 504, 505, 506, 507, 508}
local agua = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}
local parede = {1049, 1050, 1026, 1029, 1025, 9119, 1041, 5152, 1044, 1037, 4472, 4475, 4471, 1058, 1056, 1055, 1060, 1063, 1061}
local pedra = {3333, 2711, 2786, 2784, 2778, 3330}
 
if(doTeleportThing(cid, toPosition, false)) then
doSendMagicEffect(pos, 111)
doSendMagicEffect(toPosition, 122)
return doSendDistanceShoot(pos, toPosition, 35)
end
 
if getDistanceBetween(aqui, toPosition) >= 7 then
return doPlayerSendTextMessage(cid, 27, "Esta Muito Longe.")

elseif(not(isSightClear(aqui, toPosition, 1))) then
return doPlayerSendTextMessage(cid, 27, "Isso E Impossivel.")

elseif(getTilePzInfo(aqui)) then
return doPlayerSendCancel(cid, "voce nao pode usar quando estiver em protect zone.")

elseif(getTilePzInfo(toPosition)) then
return doPlayerSendCancel(cid, "voce nao pode entra em protec zone.")

elseif(isInArray(agua, itemEx.itemid)) then
return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em agua")

elseif(isInArray(parede, itemEx.itemid)) then
return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em paredes")

elseif(isInArray(pedra, itemEx.itemid)) then
return doPlayerSendTextMessage(cid, 27, "voce nao pode usar em pedras")

elseif(not(isInArray(vocs, getPlayerVocation(cid)))) then
return doPlayerSendTextMessage(cid, 27, "Desculpe Apenas Vocacao Minato Para Usar.")
end
 
return doPlayerSendCancel(cid, "Desculpe Nao Foi Possivel.")
end
Link para o comentário
Compartilhar em outros sites

  • 0

Somente Minato Usa

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

local manaNeed = 3000 -- mana necessario para usar.
local LvlNeed = 500 -- level necessario para usar.
local vocationsUse = {270} -- vocações que podem usar.

if item2.itemid == 0 then
    doPlayerSendCancel(cid,"Você não pode fazer isso.")
else
    if isInArray(vocationsUse, getPlayerVocation(cid)) then
        if getPlayerLevel(cid) >= LvlNeed then
            if getCreatureMana(cid) >= manaNeed then
                if not getTilePzInfo(getCreaturePosition(cid)) or not getTilePzInfo(topos) then
                    local playerpos = getPlayerPosition(cid)
                    local check = true
                    local menorX = 0
                    local maiorX = 0
                    if playerpos.x > topos.x then
                        maiorX = playerpos.x
                        menorX = topos.x
                    else
                        maiorX = topos.x
                        menorX = playerpos.x
                    end
                    local menorY = 0
                    local maiorY = 0
                    if playerpos.y > topos.y then
                        maiorY = playerpos.y
                        menorY = topos.y
                    else
                        maiorY = topos.y
                        menorY = playerpos.y
                    end
                    for i=menorX, maiorX do	    
                        for j=menorY, maiorY do
                            local pos = {x=i,y=j,z=playerpos.z}
                            if not isWalkable(pos) then
                                pos.stackpos = 253
                                if getThingfromPos(pos).uid ~= cid then
                                    check = false
                                end
                            end
                        end
                    end
                    if check then
                        doTeleportThing(cid,topos)
                        doSendMagicEffect(playerpos,3)
                        doSendMagicEffect(topos,3)
                        doSendAnimatedText(playerpos,"Teleport",35)
                        doPlayerAddMana(cid, manaNeed)
                    else
                        doPlayerSendCancel(cid,"Você não pode atravessar isso.")
                    end
                else
                    doPlayerSendCancel(cid,"Você não pode utilizar em protection zone.")
                end
            else
                doPlayerSendCancel(cid,"Você não tem chakra necessaria para usar.")
            end
        else
            doPlayerSendCancel(cid,"Você não tem level suficiente para usar.")
        end
    else
        doPlayerSendCancel(cid,"Só Minato pode usar..")
    end
end
return true
end

function isWalkable(pos, creature, pz, proj) -- nord
    if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
    local creature = getTopCreature(pos)
    if creature.type > 0 then	 return false end
    if getTilePzInfo(pos) and not pz then return false end
    local n = not proj and 3 or 2
    for i = 0, 255 do
	    pos.stackpos = i
	    local tile = getTileThingByPos(pos)
	    if tile.itemid ~= 0 and not isCreature(tile.uid) then
		    if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then
			    return false
		    end
	    end
    end
return true
end
Editado por Dbko
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...