Ir para conteúdo
  • 0

fly bugado no client


clebao

Pergunta

boa tarde. gostaria de ajuda para desbugar meu client poketibia opem sourses .quando usado o fly no pokemon o mesmo usa e sobe os andares porem no ar nao se move em nenhuma direçao fica travado podendo somente subir e decer.agradeço de coraçao qquer ajuda eu acho que o problema esta no client porem tem que saber usar c++ pra arrumar e eu nao sei.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 2

está usando pda com source adaptada?

 

então faça o seguinte.

 

vá até servidor/data/lib/somefunctions.lua

Spoiler

vá até ultima linha pule duas linhas e adicione isso:

Spoiler

function getDirectionToWalk(p1, pos2)
    local dir = NORTH
    local pos1 = getCreaturePosition(p1)
    if(pos1.x > pos2.x) then
        dir = WEST
        if(pos1.y > pos2.y) then
            dir = NORTHWEST
        elseif(pos1.y < pos2.y) then
            dir = SOUTHWEST
        end
    elseif(pos1.x < pos2.x) then
        dir = EAST
        if(pos1.y > pos2.y) then
            dir = NORTHEAST
        elseif(pos1.y < pos2.y) then
            dir = SOUTHEAST
        end
    else
        if(pos1.y > pos2.y) then
            dir = NORTH
        elseif(pos1.y < pos2.y) then
            dir = SOUTH
        end
    end
    return dir
end

function getNextStepDelay(cid, dir)
            return tonumber(398)
end     

 

agora vá em servidor/data/movements/script/fly.lua e troque por esse

Spoiler

local del = {'460', '1022', '1023', '1024'}


function onStepIn(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 17000) <= 0 then
doTeleportThing(cid, topos, false)
doRemoveItem(getTileThingByPos(frompos).uid, 1)
if isPlayer(cid) then
doPlayerSendCancel(cid, "You can't fly.")
end
return true
end
if getPlayerStorageValue(cid, 17000) >= 1 then
if topos.z == frompos.z then
if getCreatureOutfit(cid).lookType == 316 then
effect = 136
else
effect = 2
end
doSendMagicEffect(topos, effect)
end
end
for x=-1,1 do
        for y=-1,1 do
            posa = {x=topos.x+x,y=topos.y+y,z=topos.z}
            if isInArray(del, getTileThingByPos(posa).itemid) then
            doRemoveItem(getTileThingByPos(posa).uid, 1)
            end
end
end
for x=-1,1 do
        for y=-1,1 do
            pose = {x=frompos.x+x,y=frompos.y+y,z=frompos.z}
            if getTileThingByPos(pose).itemid == 0 then
            doCombatAreaHealth(cid, 0, pose, 0, 0, 0, CONST_ME_NONE)
            doCreateItem(460, 1, pose)
end
end
end
doCombatAreaHealth(cid, 0, topos, 0, 0, 0, CONST_ME_NONE)
doCreateItem(460, 1, frompos)
            if topos.z > frompos.z then
            doCreateItem(11676, 1, frompos)
            doTransformItem(getTileThingByPos(frompos).uid, 11676)
            elseif topos.z < frompos.z then
            doCreateItem(11675, 1, frompos)
            doTransformItem(getTileThingByPos(frompos).uid, 11675)
            end
return true
end    

function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)

--if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV

local effect = 2

    if toPosition.z == fromPosition.z and getCreatureOutfit(cid).lookType ~= 316 and getCreatureOutfit(cid).lookType ~= 648 then
        doSendMagicEffect(fromPosition, effect)
    end

local oldtpos = fromPosition
oldtpos.stackpos = STACKPOS_GROUND


if getTileThingByPos(oldtpos).itemid >= 1 then
doRemoveItem(getTileThingByPos(oldtpos).uid, 1)
end

return true
end    

 

 

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...