Olá yahooABC,
- Teste o script abaixo,
function onSay(cid, words, param, channel)
local dire = getCreatureLookDirection(cid)
local storevalue = 2468
local alerttime = 15
local p = {}, --Coloque aqui IDs de chãos
kapos = getCreaturePosition(cid)
npos = {x=kapos.x, y=kapos.y + 3, z=kapos.z}
lpos = {x=kapos.x - 3, y=kapos.y, z=kapos.z}
spos = {x=kapos.x, y=kapos.y - 3, z=kapos.z}
opos = {x=kapos.x + 3, y=kapos.y, z=kapos.z}
if dire == 0 then
if (alert(cid, storevalue, alerttime) == 1) then
if (isInArray(p, getThingFromPos(npos))) then
addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2})
doPlayerAddMana(cid,-45)
doTeleportThing(cid, npos)
doSendMagicEffect(kapos, 2)
doSendMagicEffect(npos, 2)
doCreateItem(1285,1,kapos)
doSendAnimatedText(npos, "Kawarimi", TEXTCOLOR_ORANGE)
else
doPlayerSendCancel('Parece haver algum obstáculo')
end
end
end
if dire == 1 then
if (alert(cid, storevalue, alerttime) == 1) then
if (isInArray(p, getThingFromPos(lpos))) then
addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2})
doPlayerAddMana(cid,-45)
doTeleportThing(cid, lpos)
doSendMagicEffect(kapos, 2)
doSendMagicEffect(lpos, 2)
doCreateItem(1285,1,kapos)
doSendAnimatedText(lpos, "Kawarimi", TEXTCOLOR_ORANGE)
else
doPlayerSendCancel('Parece haver algum obstáculo')
end
end
end
if dire == 2 then
if (alert(cid, storevalue, alerttime) == 1) then
if (isInArray(p, getThingFromPos(spos))) then
addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2})
doPlayerAddMana(cid,-45)
doTeleportThing(cid, spos)
doSendMagicEffect(kapos, 2)
doSendMagicEffect(spos, 2)
doCreateItem(1285,1,kapos)
doSendAnimatedText(spos, "Kawarimi", TEXTCOLOR_ORANGE)
else
doPlayerSendCancel('Parece haver algum obstáculo')
end
end
end
if dire == 3 then
if (alert(cid, storevalue, alerttime) == 1) then
if (isInArray(p, getThingFromPos(opos))) then
addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2})
doPlayerAddMana(cid,-45)
doTeleportThing(cid, opos)
doSendMagicEffect(kapos, 2)
doSendMagicEffect(opos, 2)
doCreateItem(1285,1,kapos)
doSendAnimatedText(opos, "Kawarimi", TEXTCOLOR_ORANGE)
else
doPlayerSendCancel('Parece haver algum obstáculo')
end
end
end
return TRUE
end
- Preste atenção nesta linha que adicionei:
local p = {}, --Coloque aqui IDs de chãos
Você deverá colocar IDs de todos os chãos possíveis, por mais trabalhoso que seja, creio que funcionará.


info
Grupo: Campones
Registrado: 15/12/07
Posts: 69
Reputação: +11
Ola, eu preciso da ajuda de voces. Eu fiz um script de uma magia que o player teleporta, so que ele esta atravessando parede, montanhas, arvores, agua em fim atravessa tudo que esta na frente. A questão é que eu quero saber como faço pra colocar pra ele nao poder atravessar essas coisas.
O Script esta aqui:
function onSay(cid, words, param, channel) local dire = getCreatureLookDirection(cid) storevalue = 2468 alerttime = 15 kapos = getCreaturePosition(cid) npos = {x=kapos.x, y=kapos.y + 3, z=kapos.z} lpos = {x=kapos.x - 3, y=kapos.y, z=kapos.z} spos = {x=kapos.x, y=kapos.y - 3, z=kapos.z} opos = {x=kapos.x + 3, y=kapos.y, z=kapos.z} if dire == 0 then if (alert(cid, storevalue, alerttime) == 1) then addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2}) doPlayerAddMana(cid,-45) doTeleportThing(cid, npos) doSendMagicEffect(kapos, 2) doSendMagicEffect(npos, 2) doCreateItem(1285,1,kapos) doSendAnimatedText(npos, "Kawarimi", TEXTCOLOR_ORANGE) end end if dire == 1 then if (alert(cid, storevalue, alerttime) == 1) then addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2}) doPlayerAddMana(cid,-45) doTeleportThing(cid, lpos) doSendMagicEffect(kapos, 2) doSendMagicEffect(lpos, 2) doCreateItem(1285,1,kapos) doSendAnimatedText(lpos, "Kawarimi", TEXTCOLOR_ORANGE) end end if dire == 2 then if (alert(cid, storevalue, alerttime) == 1) then addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2}) doPlayerAddMana(cid,-45) doTeleportThing(cid, spos) doSendMagicEffect(kapos, 2) doSendMagicEffect(spos, 2) doCreateItem(1285,1,kapos) doSendAnimatedText(spos, "Kawarimi", TEXTCOLOR_ORANGE) end end if dire == 3 then if (alert(cid, storevalue, alerttime) == 1) then addEvent(doRemovePedra, 3*1000, {x=kapos.x,y=kapos.y,z=kapos.z,stackpos=2}) doPlayerAddMana(cid,-45) doTeleportThing(cid, opos) doSendMagicEffect(kapos, 2) doSendMagicEffect(opos, 2) doCreateItem(1285,1,kapos) doSendAnimatedText(opos, "Kawarimi", TEXTCOLOR_ORANGE) end end return TRUE endObrigado