Ir para conteúdo

Featured Replies

Postado

Está causando lentidão no servidor, e não estou conseguindo resolver esse problema.

 

.Qual servidor ou website você utiliza como base? 

0.4

 

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

2115759326_Semttulo.png.61e3c4cdba59a083f03721bce8893da7.png

 

Você tem o código disponível? Se tiver publique-o aqui: 

 local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0)

local function onCastSpell1(parameters)
doCombat(parameters.cid, parameters.combat1, parameters.var)
end
 
function onCastSpell(cid, var)
local parameters = {cid = cid, var = var, combat1 = combat1}

for k = 1, 7 do
	addEvent(function()
		if isCreature(cid) then
			addEvent(onCastSpell1, 0, parameters)
		end
	end, 1 + ((k-1) * 300))
end
return true
end

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

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

Resolvido por 139

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

Top Posters In This Topic

Most Popular Posts

  • O erro ocorre porque esse parameters armazena o target (dentro do var) e o addEvent(function() tenta lançar a spell nele. Só que quando o target sai do alcance (troca de andar, morre, etc) da err

  • Erro meu, tinha escrito o nome do combat errado.  Agora ta certo:   local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(com

Posted Images

Postado

O erro ocorre porque esse parameters armazena o target (dentro do var) e o addEvent(function() tenta lançar a spell nele.

Só que quando o target sai do alcance (troca de andar, morre, etc) da erro porque a spell ta tentando acertar algo que não está alcançavel.
Pra corrigir é só por a spell pra checar se o player ainda tem target na battlelist, a cada loop do addEvent.
Aproveitei e dei uma encolhida no script.

 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0)
 
function onCastSpell(cid, var)
	for k = 0, 6 do
		addEvent(function()
			if isCreature(cid) then
				targ = getCreatureTarget(cid)
				if targ > 0 then
					doCombat(cid, combat, numberToVariant(targ))
				end
			end
		end, k*300)
	end
	return true
end

 

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

Postado
  • Autor
1 hora atrás, 139 disse:

O erro ocorre porque esse parameters armazena o target (dentro do var) e o addEvent(function() tenta lançar a spell nele.

Só que quando o target sai do alcance (troca de andar, morre, etc) da erro porque a spell ta tentando acertar algo que não está alcançavel.
Pra corrigir é só por a spell pra checar se o player ainda tem target na battlelist, a cada loop do addEvent.
Aproveitei e dei uma encolhida no script.

 


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0)
 
function onCastSpell(cid, var)
	for k = 0, 6 do
		addEvent(function()
			if isCreature(cid) then
				targ = getCreatureTarget(cid)
				if targ > 0 then
					doCombat(cid, combat, numberToVariant(targ))
				end
			end
		end, k*300)
	end
	return true
end

 

 Fala amigo, muito obrigado pela resposta, assim que possível vou testar, agradeço bastante!!

 Tenha um bom dia

3 horas atrás, 139 disse:

O erro ocorre porque esse parameters armazena o target (dentro do var) e o addEvent(function() tenta lançar a spell nele.

Só que quando o target sai do alcance (troca de andar, morre, etc) da erro porque a spell ta tentando acertar algo que não está alcançavel.
Pra corrigir é só por a spell pra checar se o player ainda tem target na battlelist, a cada loop do addEvent.
Aproveitei e dei uma encolhida no script.

 


local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0)
 
function onCastSpell(cid, var)
	for k = 0, 6 do
		addEvent(function()
			if isCreature(cid) then
				targ = getCreatureTarget(cid)
				if targ > 0 then
					doCombat(cid, combat, numberToVariant(targ))
				end
			end
		end, k*300)
	end
	return true
end

 

Testei, aconteceu algo, o script não esta respeitando o EFFECT e DISTANCEEFFECT ali em questão, está mandando algo nada haver.

Postado

Na real isso tá acontecendo pq vc tá usando dois addEvent, mas só verificando em um se a creatura ainda existe.

 

Mude a função pra essa e testa.

local function onCastSpell1(parameters)
	if isCreature(parameters.cid) then
		doCombat(parameters.cid, parameters.combat1, parameters.var)
	end
end

 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Postado
  • Solução
Em 13/02/2021 em 16:46, cesarfilho55 disse:

 Fala amigo, muito obrigado pela resposta, assim que possível vou testar, agradeço bastante!!

 Tenha um bom dia

Testei, aconteceu algo, o script não esta respeitando o EFFECT e DISTANCEEFFECT ali em questão, está mandando algo nada haver.


Erro meu, tinha escrito o nome do combat errado. 
Agora ta certo:

 

local combat1 = createCombatObject()
setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat1, COMBAT_PARAM_EFFECT, 34)
setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 21)
setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -38.0, 0, -38.5, 0)
 
function onCastSpell(cid, var)
	for k = 0, 6 do
		addEvent(function()
			if isCreature(cid) then
				targ = getCreatureTarget(cid)
				if targ > 0 then
					doCombat(cid, combat1, numberToVariant(targ))
				end
			end
		end, k*300)
	end
	return true
end

 

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