Ir para conteúdo
Propaganda

Problema no avanço para um certa distancia.


Valdez

Posts Recomendados

Boa tarde!

Estou com um problema em um script no qual o personagem irá avançar alguns sqm de distância. Ele está funcionando em alguns pisos e em outros não. Já tentei várias coisas diferentes e não consegui resolver. Poderia me ajudar?
Uso Otx 2
Esse é o script que estou usando:

Caso alguém tenha um script melhor e puder me enviar, agradeço.

local damage = 20 -- dano que toma qnd bate em algum obstáculo
local speed = 1000 -- velocidade do player ao usar o dash (vai de 0 a mil)
local pzprotect = true -- nao deixa entrar em pz com a spell
local distance = 20
function onWalk(cid)
    if isCreature(cid) then
        local poslook = getCreatureLookPosition(cid)
        poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM
        if isWalkable(poslook, false, false, pzprotect) then
            if not isCreature(getThingfromPos(poslook).uid) then
                doMoveCreature(cid, getPlayerLookDirection(cid))
                doSendMagicEffect(getPlayerPosition(cid), 10)
            else
                doCreatureAddHealth(cid, -damage)
                doSendMagicEffect(getPlayerPosition(cid), 31)
                doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180)
            end
        else      
            doCreatureAddHealth(cid, -damage)
            doSendMagicEffect(getPlayerPosition(cid), 31)
            doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180)
        end
    end
return true
end
 
function onCastSpell(cid, var)
    if exhaustion.check(cid, 13117) == TRUE then
        doPlayerSendCancel(cid, "Podera usar novamente dentro de 10 segundos.")
        return false
    end
    for i = 0, distance do
        addEvent(onWalk, (1001- math.min(speed, 1000)) *i, cid)
    end
  exhaustion.set(cid, 13117, 10.0)
return true
end
Link para o comentário
Compartilhar em outros sites

  • Administrador
53 minutos atrás, Valdez disse:

Boa tarde!

Estou com um problema em um script no qual o personagem irá avançar alguns sqm de distância. Ele está funcionando em alguns pisos e em outros não. Já tentei várias coisas diferentes e não consegui resolver. Poderia me ajudar?
Uso Otx 2
Esse é o script que estou usando:

Caso alguém tenha um script melhor e puder me enviar, agradeço.

local damage = 20 -- dano que toma qnd bate em algum obstáculo
local speed = 1000 -- velocidade do player ao usar o dash (vai de 0 a mil)
local pzprotect = true -- nao deixa entrar em pz com a spell
local distance = 20
function onWalk(cid)
    if isCreature(cid) then
        local poslook = getCreatureLookPosition(cid)
        poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM
        if isWalkable(poslook, false, false, pzprotect) then
            if not isCreature(getThingfromPos(poslook).uid) then
                doMoveCreature(cid, getPlayerLookDirection(cid))
                doSendMagicEffect(getPlayerPosition(cid), 10)
            else
                doCreatureAddHealth(cid, -damage)
                doSendMagicEffect(getPlayerPosition(cid), 31)
                doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180)
            end
        else      
            doCreatureAddHealth(cid, -damage)
            doSendMagicEffect(getPlayerPosition(cid), 31)
            doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180)
        end
    end
return true
end
 
function onCastSpell(cid, var)
    if exhaustion.check(cid, 13117) == TRUE then
        doPlayerSendCancel(cid, "Podera usar novamente dentro de 10 segundos.")
        return false
    end
    for i = 0, distance do
        addEvent(onWalk, (1001- math.min(speed, 1000)) *i, cid)
    end
  exhaustion.set(cid, 13117, 10.0)
return true
end

É uma spell de salto ? Algo do tipo ? Você conjura a spell e ele pula 2,3, 4 sqm a frente? Ele vai passar por cima de outros objetos ?

Link para o comentário
Compartilhar em outros sites

É uma spell de salto, sim. Ela fará o personagem avançar 20 sqm em linha reta. Contudo, caso o personagem bata em uma criatura, parede, árvore, etc., ele irá parar e receber um certo dano. Estou tendo o problema de que o script não funciona em alguns pisos, mesmo quando esses pisos têm as mesmas configurações que os pisos onde o script funciona.

Link para o comentário
Compartilhar em outros sites

  • Administrador
4 horas atrás, Valdez disse:

É uma spell de salto, sim. Ela fará o personagem avançar 20 sqm em linha reta. Contudo, caso o personagem bata em uma criatura, parede, árvore, etc., ele irá parar e receber um certo dano. Estou tendo o problema de que o script não funciona em alguns pisos, mesmo quando esses pisos têm as mesmas configurações que os pisos onde o script funciona.

possivelmente ai o problema é sua função iswalkable, essa função ela checa se a posição é caminhavel e etc, então se não for ela vai bloquear, você pode fazer o teste, vá para um local que n tenha nada na frente e conjure a spell, e depois faça o mesmo onde tem uma parede ou algo do tipo, mas ao mesmo tempo se você remover essa função o jogador vai passar por dentro de tudo, sendo assim vai roubar houses, e etc.

Link para o comentário
Compartilhar em outros sites

Eu já tinha feito, mas ficou muito bugado, passando por todos os obstáculos. Estou tentando arrumar, contudo, não estou conseguindo.

Link para o comentário
Compartilhar em outros sites

tlvz se voce determinar os ID do item q n pode ser atravessavel ajude 

Link para o comentário
Compartilhar em outros sites

Participe da Conversa

Você pode postar agora e se cadastrar mais tarde. Cadastre-se Agora para publicar com Sua Conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.

×
  • Criar Novo...