Ir para conteúdo

Featured Replies

Postado

Já é assim, o que acontece é que o efeito tem um período de duração, e o player sai do SQM antes do effect acabar.

  • Respostas 9
  • Visualizações 2.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Toma cuidado ao usar com o GOD/GM pois pode dar debug nos players em volta.  Pra todo mundo vai mostrar invisivel, pra vc fica como se tivesse de utana vid edit: descobri que não dá pra ficar invis

  • Espero que ele dê REP+ pra mim, pq acho que respondi certo a dúvida dele :v

Postado
  • Solução

Toma cuidado ao usar com o GOD/GM pois pode dar debug nos players em volta.

 Pra todo mundo vai mostrar invisivel, pra vc fica como se tivesse de utana vid

edit: descobri que não dá pra ficar invisivel com a condition de GM, leia mais aqui
 

-- Edited Dash by Night Wolf
local damage = 20 -- dano que toma qnd bate em algum obstáculo
local distance = 15 -- distancia que anda (em sqm)
local speed = 100 -- milisegundos entre cada passo (qnt menor = mais rapido)

local invisible = createConditionObject(CONDITION_GAMEMASTER, (speed * distance) + 50, false, GAMEMASTER_INVISIBLE) -- nao mexa
local outfit = createConditionObject(CONDITION_INVISIBLE, (speed * distance) + 50, false) -- nao mexa

local 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
    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 true
end  

function onWalk(cid)
local poslook = getCreatureLookPosition(cid)
poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
	if isWalkable(poslook, false, false, false) then
		if not isCreature(getThingfromPos(poslook).uid) then
			doMoveCreature(cid, getPlayerLookDirection(cid))
			doSendMagicEffect(getPlayerPosition(cid), 14)
		return true
		else      
			doCreatureAddHealth(cid, -damage)
			doSendMagicEffect(getPlayerPosition(cid), 31)
			doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180) 
		return true
		end
	else      
		doCreatureAddHealth(cid, -damage)
		doSendMagicEffect(getPlayerPosition(cid), 31)
		doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180) 
	end
end


function onCastSpell(cid, var)
	doAddCondition(cid, invisible)
	doAddCondition(cid, outfit)
	for i = 0, distance do
		addEvent(onWalk, speed * i,cid)
	end
return true
end  

Editado por xWhiteWolf (veja o histórico de edições)

Postado
  • Autor

Valeu Gabuuh e xWhiteWolf!

 

XWhitWolf, curto muito seus scripts seus trabalhos ... Obrigado de verdade!

  • 2 years later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo