Ir para conteúdo

Featured Replies

Postado

(8.54) tfs 0.4
Gostaria de saber como faço para o player não andar por X tempo (0.1s) ou (0.2s) editavel enquanto usa um spell, eu estou usando um script que quando o player usa o spell ele troca de outfit, porem o mesmo outfit não tem animação andando e ai o player sai se "arrastando"

local tempo = 0.1
local config = {
[1] = 21,  
[2] = 27,  
[3] = 22,  
[4] = 23,  
[5] = 25,  
[6] = 26, 
[7] = 24,
[8] = 11
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 7)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false)
setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE)
setHealingFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 1.5, 2)


function onCastSpell(cid, var)
local currcolor = getCreatureOutfit(cid)
local homem = {lookType = config[getPlayerVocation(cid)], lookHead = currcolor.lookHead, lookBody = currcolor.lookBody, lookLegs = currcolor.lookLegs, lookFeet = currcolor.lookFeet} 
local mulher = {lookType = config[getPlayerVocation(cid)], lookHead = currcolor.lookHead, lookBody = currcolor.lookBody, lookLegs = currcolor.lookLegs, lookFeet = currcolor.lookFeet}
local sex = getPlayerSex(cid)
if sex == 0 then --sexo == 0 significa que o personagem é mulher
doSetCreatureOutfit(cid, mulher, tempo*1000)
else 
doSetCreatureOutfit(cid, homem, tempo*1000)
end
	return doCombat(cid, combat, var)
end


Exemplo em video:

 

Resolvido por Cerberus

Ir para solução
  • Respostas 5
  • Visualizações 961
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • doCreatureSetNoMove(cid,true)   -- Fica parado sem poder andar so vira pros lado usando control   doCreatureSetNoMove(cid,false) -- volta andar novamente. pode fazer assim. if sex

Postado
  • Solução

doCreatureSetNoMove(cid,true)   -- Fica parado sem poder andar so vira pros lado usando control

 

doCreatureSetNoMove(cid,false) -- volta andar novamente.

pode fazer assim.

  if sex == 0 then --sexo == 0 significa que o personagem é mulher
      doCreatureSetNoMove(cid,true)
      doSetCreatureOutfit(cid, mulher, tempo*1000)
      addEvent(doCreatureSetNoMove, tempo*1000, cid,false) -- volta no tempo do script
  else 
      doCreatureSetNoMove(cid,true)
      addEvent(doCreatureSetNoMove, tempo*1000, cid,false) -- volta no tempo do script
      doSetCreatureOutfit(cid, homem, tempo*1000)
  end

 

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

Postado
  • Autor

Consegui !!! vlw
eu fiz assim, botei 2 functions
 

local function onCastSpell1(cid, target)
doCreatureSetNoMove(cid, true)
doPlayerAddItem(cid, 6300, 1)
end
 
local function onCastSpell2(cid, target)
doCreatureSetNoMove(cid, false)
end

e depois chamei elas no oncast spell
 

addEvent(onCastSpell1, 0, cid, target)
addEvent(onCastSpell2, 1000, cid, target) --- 1 segundo para voltar a andar

 

Postado
26 minutos atrás, Meguminyan disse:

Consegui !!! vlw
eu fiz assim, botei 2 functions
 


local function onCastSpell1(cid, target)
doCreatureSetNoMove(cid, true)
doPlayerAddItem(cid, 6300, 1)
end
 
local function onCastSpell2(cid, target)
doCreatureSetNoMove(cid, false)
end

e depois chamei elas no oncast spell
 


addEvent(onCastSpell1, 0, cid, target)
addEvent(onCastSpell2, 1000, cid, target) --- 1 segundo para voltar a andar

 

 

 

a primeira função que e add não precisa por evento.. poe igual te falei... a segunda que e tirar precisa de evento pq tem tempo para sair xd.. mais vc q sabe.

if sex == 0 then --sexo == 0 significa que o personagem é mulher
      doCreatureSetNoMove(cid,true)  -- para o player assim que ele usa
      doSetCreatureOutfit(cid, mulher, tempo*1000)--troca o outfit dele e some depois de 100 milisegundos pq vc pois 0.1*1000
      addEvent(doCreatureSetNoMove, tempo*1000, cid,false) -- tira o outfit depois dos mesmo 100 qdo outfit
  else 
      doCreatureSetNoMove(cid,true)
      addEvent(doCreatureSetNoMove, tempo*1000, cid,false) -- volta no tempo do script
      doSetCreatureOutfit(cid, homem, tempo*1000)
  end

pois isso fiz assim..em ves de add 2 evento.

negocio e que seu script aqui ta assim

 

local tempo = 0.1
local config = {
[1] = 21,  
[2] = 27,  
[3] = 22,  
[4] = 23,  
[5] = 25,  
[6] = 26, 
[7] = 24,
[8] = 11
}

deveria tar assim

local tempo = 1
local config = {
[1] = 21,  
[2] = 27,  
[3] = 22,  
[4] = 23,  
[5] = 25,  
[6] = 26, 
[7] = 24,
[8] = 11
}

 

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

Postado
  • Autor

ah sim, o tempo 0.1 eu tinha arrumado só esqueci de editar aqui, é que estou usando em mais de 1 spell.
fiz como você falou está funciondando vlw, o unico problema é que o char fica tentando andar e voltando qdo vc usa correndo, isso da pra editar em algum lugar? estou usando ot client não sei se faz diferença nessa parte.
Pra dar rep é só marcar melhor resposta?

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

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.7k

Informação Importante

Confirmação de Termo