Ir para conteúdo
  • Cadastre-se

(Resolvido)[C]: in function 'doSendMagicEffect'


Ir para solução Resolvido por Kyle Bellini,

Posts Recomendados

***Ola estou com um pequeno problema na instalaçao do [EDO Tensei] esta tudo certo mas na hora de invocar o "EDO" com o pergaminho da erro, ja agradeço se alguem puder ajudar s2 O erro é esse  ***

Citar

[0:51:09.260] [Error - Action Interface] [0:51:09.262] data/actions/scripts/edocatch.lua:onUse

[0:51:09.263] Description:

[0:51:09.264] attempt to index a nil value

[0:51:09.267] stack traceback:

[0:51:09.268] [C]: in function 'doSendMagicEffect'

[0:51:09.272] data/actions/scripts/edocatch.lua:24: in function <data/actions/scripts/edocatch.lua:11>

 

** O Script**

 

```local voc = {716, 717, 718, 719, 720, 721, 722, 723, 724, 725} -- ID das vocações que poderão usar o Pergaminho.

local corpse = {3058}
local id = 26683 -- Id do edo pergaminho

local edo = {
 
                ["[EDO TENSEI] Anbu"] = {hp = 50000, maxhp = 50000, corpse = 3058, chance = 100}, -- Nome do Edo, HP do Edo quando summoned, max hp do edo , corpo do edo, chance de falhar.
}

function onUse(cid, item, frompos, item2, topos)

if(not(isInArray(voc, getPlayerVocation(cid)))) then

return doPlayerSendTextMessage(cid, 25, "Voce nao tem a vocacao nescessaria")

end


if(not(isInArray(corpse, item2.itemid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "voce precisa usar o pergaminho em um corpse")

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

local perga = doPlayerAddItem(cid, id, 1)

                for edo_tensei, v in pairs(edo) do
                
                                if item2.itemid == v.corpse then
                                        if math.random(0,100) <= v.chance then
doSendMagicEffect(topos, CONST_ME_POFF)
                                                doPlayerSendTextMessage(cid, 27, "".. edo_tensei .. " foi selado nesse pergaminho.")
                                                doRemoveItem(item.uid, 1)
                                                doRemoveItem(item2.uid, 1)
                                                doItemSetAttribute(perga, "namepet", edo_tensei)
                                                doItemSetAttribute(perga, "description", "Neste pergaminho foi selado um ".. edo_tensei ..".")
                                                doItemSetAttribute(perga, "lifepet", v.hp)
                                                doItemSetAttribute(perga, "maxlifepet", v.maxhp)
                                        else
                                                doPlayerSendTextMessage(cid, 27, "O pergaminho falhou")
                                        end
                                end
                end
                return true
end```

 

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

 

Link para o post
Compartilhar em outros sites
46 minutos atrás, Capitao wyz disse:

***Ola estou com um pequeno problema na instalaçao do [EDO Tensei] esta tudo certo mas na hora de invocar o "EDO" com o pergaminho da erro, ja agradeço se alguem puder ajudar s2 O erro é esse  ***

 

** O Script**

 

```local voc = {716, 717, 718, 719, 720, 721, 722, 723, 724, 725} -- ID das vocações que poderão usar o Pergaminho.

local corpse = {3058}
local id = 26683 -- Id do edo pergaminho

local edo = {
 
                ["[EDO TENSEI] Anbu"] = {hp = 50000, maxhp = 50000, corpse = 3058, chance = 100}, -- Nome do Edo, HP do Edo quando summoned, max hp do edo , corpo do edo, chance de falhar.
}

function onUse(cid, item, frompos, item2, topos)

if(not(isInArray(voc, getPlayerVocation(cid)))) then

return doPlayerSendTextMessage(cid, 25, "Voce nao tem a vocacao nescessaria")

end


if(not(isInArray(corpse, item2.itemid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "voce precisa usar o pergaminho em um corpse")

doSendMagicEffect(pos, CONST_ME_POFF)

return true

end

local perga = doPlayerAddItem(cid, id, 1)

                for edo_tensei, v in pairs(edo) do
                
                                if item2.itemid == v.corpse then
                                        if math.random(0,100) <= v.chance then
doSendMagicEffect(topos, CONST_ME_POFF)
                                                doPlayerSendTextMessage(cid, 27, "".. edo_tensei .. " foi selado nesse pergaminho.")
                                                doRemoveItem(item.uid, 1)
                                                doRemoveItem(item2.uid, 1)
                                                doItemSetAttribute(perga, "namepet", edo_tensei)
                                                doItemSetAttribute(perga, "description", "Neste pergaminho foi selado um ".. edo_tensei ..".")
                                                doItemSetAttribute(perga, "lifepet", v.hp)
                                                doItemSetAttribute(perga, "maxlifepet", v.maxhp)
                                        else
                                                doPlayerSendTextMessage(cid, 27, "O pergaminho falhou")
                                        end
                                end
                end
                return true
end```

 

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

 

tenta ae 

local voc = {716, 717, 718, 719, 720, 721, 722, 723, 724, 725} -- ID das vocações que poderão usar o Pergaminho.

local corpse = {3058}
local id = 26683 -- Id do edo pergaminho

local edo = {
 
                ["[EDO TENSEI] Anbu"] = {hp = 50000, maxhp = 50000, corpse = 3058, chance = 100}, -- Nome do Edo, HP do Edo quando summoned, max hp do edo , corpo do edo, chance de falhar.
}

function onUse(cid, item, frompos, item2, topos)

if(not(isInArray(voc, getPlayerVocation(cid)))) then

return doPlayerSendTextMessage(cid, 25, "Voce nao tem a vocacao nescessaria")

end


if(not(isInArray(corpse, item2.itemid))) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "voce precisa usar o pergaminho em um corpse")

doSendMagicEffect(toPosition, CONST_ME_POFF)

return true

end

local perga = doPlayerAddItem(cid, id, 1)

                for edo_tensei, v in pairs(edo) do
                
                                if item2.itemid == v.corpse then
                                        if math.random(0,100) <= v.chance then
doSendMagicEffect(toPosition, CONST_ME_POFF)
                                                doPlayerSendTextMessage(cid, 27, "".. edo_tensei .. " foi selado nesse pergaminho.")
                                                doRemoveItem(item.uid, 1)
                                                doRemoveItem(item2.uid, 1)
                                                doItemSetAttribute(perga, "namepet", edo_tensei)
                                                doItemSetAttribute(perga, "description", "Neste pergaminho foi selado um ".. edo_tensei ..".")
                                                doItemSetAttribute(perga, "lifepet", v.hp)
                                                doItemSetAttribute(perga, "maxlifepet", v.maxhp)
                                        else
                                                doPlayerSendTextMessage(cid, 27, "O pergaminho falhou")
                                        end
                                end
                end
                return true
end
Link para o post
Compartilhar em outros sites
  • Solução

Caso o do amigo acima não funcione, teste com esse:

 

local voc = {716, 717, 718, 719, 720, 721, 722, 723, 724, 725} -- ID das vocações que poderão usar o Pergaminho.

local corpse = {3058}
local id = 26684 -- Id do edo pergaminho

local edo = {

["[EDO TENSEI] Anbu"] = {hp = 50000, maxhp = 50000, corpse = 3058, chance = 100}, -- Nome do Edo, HP do Edo quando summoned, max hp do edo , corpo do edo, chance de falhar.
}

function onUse(cid, item, frompos, item2, topos)

	if(not(isInArray(voc, getPlayerVocation(cid)))) then
		return doPlayerSendTextMessage(cid, 25, "Voce nao tem a vocacao nescessaria")
	end

		if(not(isInArray(corpse, item2.itemid))) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "voce precisa usar o pergaminho em um corpse")
			doSendMagicEffect(getThingPos(cid), 21)
			return true
		end

local perga = doPlayerAddItem(cid, id, 1)

	for edo_tensei, v in pairs(edo) do

		if item2.itemid == v.corpse then
			if math.random(0,100) <= v.chance then
				doSendMagicEffect(getThingPos(cid), 21)
				doPlayerSendTextMessage(cid, 27, "".. edo_tensei .. " foi selado nesse pergaminho.")
				doRemoveItem(item.uid, 1)
				doRemoveItem(item2.uid, 1)
				doItemSetAttribute(perga, "namepet", edo_tensei)
				doItemSetAttribute(perga, "description", "Neste pergaminho foi selado um ".. edo_tensei ..".")
				doItemSetAttribute(perga, "lifepet", v.hp)
				doItemSetAttribute(perga, "maxlifepet", v.maxhp)
			else
				doPlayerSendTextMessage(cid, 27, "O pergaminho falhou")
			end
		end
	end
	return true
end

 

Link para o post
Compartilhar em outros sites

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

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

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo