Ir para conteúdo
  • Cadastre-se

(Resolvido)Bug Death Channel


Ir para solução Resolvido por Ackerzin,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

0,4 8.60

Qual o motivo deste tópico? 

Estou com o seguinte erro no script que o @Yan Liima postou no xt,
quando o player morre para aquele fogo da forcefield, ou aquele espeto no chão que aparece ao pisar, está ocorrendo esse erro.

eu sei que o erro ocorre pois não é encontrado o monstro/player que causou a morte do jogador, visto que o channel avisa quando o player é morto par alguma dessas opções.

como posso resolver isso ?

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

Citar

[Error - CreatureScript Interface]
data/creaturescripts/scripts/PH/deathchannel.lua:onDeath
Description:
(luaGetCreatureStorage) Creature not found

[Error - CreatureScript Interface]
data/creaturescripts/scripts/PH/deathchannel.lua:onDeath
Description:
(luaGetCreatureStorage) Creature not found

[Error - CreatureScript Interface]
data/creaturescripts/scripts/PH/deathchannel.lua:onDeath
Description:
data/creaturescripts/scripts/PH/deathchannel.lua:11: attempt to perform arithmetic on a boolean value
stack traceback:
        data/creaturescripts/scripts/PH/deathchannel.lua:11: in function <data/creaturescripts/scripts/PH/deathchannel.lua:5>
 

 

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

 -- Coded by Zoom..
local info, win, lose = "%s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos."
local frags, storage = {2, 5, 8, 10, 15, 20, 35, 45, 50}, 30045

function onDeath(cid, corpse, deathList)
if(not isPlayer(cid)) then
return true
end

local target = deathList[1]
doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1))

for _, pid in ipairs(getPlayersOnline()) do
doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_O, 0xF)
for _, frag in ipairs(frags) do
if(getCreatureStorage(target, storage) == frag) then
doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_W, 0xF)
end

if(getCreatureStorage(cid, storage) >= frag) then
doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_CHANNEL_RN, 0xF)
end
end
end

doCreatureSetStorage(cid, storage, 0)
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
  • Solução
2 horas atrás, diarmaint disse:

.Qual servidor ou website você utiliza como base? 

0,4 8.60

Qual o motivo deste tópico? 

Estou com o seguinte erro no script que o @Yan Liima postou no xt,
quando o player morre para aquele fogo da forcefield, ou aquele espeto no chão que aparece ao pisar, está ocorrendo esse erro.

eu sei que o erro ocorre pois não é encontrado o monstro/player que causou a morte do jogador, visto que o channel avisa quando o player é morto par alguma dessas opções.

como posso resolver isso ?

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

 

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


 -- Coded by Zoom..
local info, win, lose = "%s [Level: %s] foi mort%s pelo %s %s%s", "%s obteve %s frags seguidos após derrotar %s.", "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos."
local frags, storage = {2, 5, 8, 10, 15, 20, 35, 45, 50}, 30045

function onDeath(cid, corpse, deathList)
if(not isPlayer(cid)) then
return true
end

local target = deathList[1]
doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1))

for _, pid in ipairs(getPlayersOnline()) do
doPlayerSendChannelMessage(pid, '', info:format(getCreatureName(cid), getPlayerLevel(cid), getPlayerSex(cid) == 1 and "o" or "a", isPlayer(target) and "player" or "monstro", getCreatureName(target), isPlayer(target) and " [Level: "..getPlayerLevel(target).."]." or "."), TALKTYPE_CHANNEL_O, 0xF)
for _, frag in ipairs(frags) do
if(getCreatureStorage(target, storage) == frag) then
doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_W, 0xF)
end

if(getCreatureStorage(cid, storage) >= frag) then
doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_CHANNEL_RN, 0xF)
end
end
end

doCreatureSetStorage(cid, storage, 0)
return true
end

 

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

 

Eu utilizo esse aqui, muito da hora.

 

-- Coded by Zoom..
local info = {
	[1] = "%s [Level: %s] estilhaçou %s%s.",
	[2] = "Se %s [Level: %s] continuar assim, %s%s vai morrer dentro da PZ.",
	[3] = "%s [Level: %s] mandou um brutality em %s%s.",
	[4] = "%s [Level: %s] fez a vida abandonar %s%s.",
	[5] = "%s [Level: %s] forrou o chão com o sangue de %s%s.",
	[6] = "%s [Level: %s] aniquilou %s%s.",
	[7] = "%s [Level: %s] acabou de derrotar %s%s.",
	[8] = "%s [Level: %s] está com o sangue de %s%s nas mãos.",
	[9] = "%s [Level: %s] destruiu %s%s.",
	[10] = "%s [Level: %s] da boas vindas a %s%s no circo de soled.",
	[11] = "%s [Level: %s] fará %s%s ter pesadelos por um tempo.",
	[12] = "%s [Level: %s] está sendo cruel com %s%s.",
	[13] = "Que isso %s [Level: %s], melhor %s%s ir treinar um pouco.",
	[14] = "%s [Level: %s] venceu a luta contra %s%s.",
	[15] = "%s [Level: %s] trouxe dor e sofrimento para %s%s.",
	[16] = "%s [Level: %s] assassinou %s%s.",
	[17] = "%s [Level: %s] castigou %s%s.",
	[18] = "%s [Level: %s] enfrentou e derrubou %s%s.",
    [19] = "%s [Level: %s] matou %s%s.",
	[20] = "%s [Level: %s] casou %s%s com a morte.",
	[21] = "%s [Level: %s] purificou %s%s."
}

local lose, win = "%s acabou de impedir que %s fizesse uma sequência de %s frags seguidos.", "%s obteve %s frags seguidos após derrotar %s."
local frags, storage = {3, 5, 8, 10}, 30045

function onDeath(cid, corpse, deathList)
local target = deathList[1]

if(not isPlayer(cid) or not isPlayer(target)) then
	return true
end

	doCreatureSetStorage(target, storage, getCreatureStorage(target, storage) + (getCreatureStorage(target, storage) == -1 and 2 or 1))
	for _, pid in ipairs(getPlayersOnline()) do
		doPlayerSendChannelMessage(pid, '', info[math.random(21)]:format(getCreatureName(target), isPlayer(target) and getPlayerLevel(target), getCreatureName(cid), " [Level: "..getPlayerLevel(cid).."]"), TALKTYPE_CHANNEL_ORANGE, 0xF)
		for _, frag in ipairs(frags) do			
			if(getCreatureStorage(target, storage) == frag) then
				doPlayerSendChannelMessage(pid, '', win:format(getCreatureName(target), frag, getCreatureName(cid)), TALKTYPE_CHANNEL_MANAGEMENT, 0xF)
			end
		end
	end

	doCreatureSetStorage(cid, storage, 0)
	return true
end

 

       112674.gif

 

 

 

Link para o post
Compartilhar em outros sites

Isso é em creaturescripts? se sim, poderia me mandar o resto?

 

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

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