function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end cr = getThingFromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = STACKPOS_TOP_CREATURE}) if isPlayer(cr.uid) or isMonster(cr.uid) then return false end if getTileInfo(pos).protection and pz then return false, true 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 trueend
Use essa função pra saber se uma posição é pisável, ou seja, se tem algo que bloqueie.
Depois, pode usar isso aqui pra checar se a posição serve:
if isWalkable(getPosByDir(getThingPos(cid), getCreatureLookPosition(cid), 1)) then
Tópico movido para a seção de dúvidas e pedidos resolvidos.


info
Grupo: Barão
Registrado: 05/10/12
Posts: 245
Reputação: +36
como eu posso checar se tem uma parede ou algum item block wall a 1 sqm na frente
e como eu posso fazer pra adicionar um addEvent que não deixe o player mudar de direção com ctrl+seta