Ir para conteúdo
  • Cadastre-se

(RESOLVIDO) Script dando erro no distro


Posts Recomendados

Fala galera, tenho um script que quando um player passa por um tile, todos do servidor recebem uma mensagem mais ou menos assim: "O player Carlos da guild Rules está invadindo o castelo de Rhyves". Esse script tá certinho e sem erros, o único problema é que quando um player passa por esse tile com algum summon, tipo, um fire elemental, dá um erro no distro.. Lógico que eu não quero que o nome do bixo seja enviado como broadcast para todos os players, mas pelo menos, não quero que fique dando esse erro, em outras palavras, não quero nem que dê erro no distro e nem que o nome do bixo seja enviado por broadcast.. Vou passar o script para vocês e vou passar a img do erro. Alguém pode ajudar? Grato!

http://imageshack.us/photo/my-images/201/erronr.jpg/

function onStepIn(cid, item, position, fromPosition)

--- configuration by notle ---

local exhaust = 10 -- Tempo para player poder manda messagem denovo! (1 por segundos)

local frase1 = "O player" -- frase que vem antes do nome da guild

local frase2 = "da guild" -- frase que vem antes do nome dos players

local frase3 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player

--- configuration by notle ---

if getPlayerStorageValue(cid, 14800) >= os.time() and doPlayerSendCancel(cid, "A mensagem de alerta só vai aparecer novamente em "..(getPlayerStorageValue(cid, 14800) - os.time()).." segundos.") then return true end

doBroadcastMessage(""..frase1.." \""..getCreatureName(cid).."\" "..frase2.." \""..getPlayerGuildName(cid).."\" "..frase3.." ", MESSAGE_STATUS_CONSOLE_ORANGE)

setPlayerStorageValue(cid, 14800, os.time() + exhaust)

return true

end

Editado por coriel (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
function onStepIn(cid, item, position, fromPosition)

if not isCreature(cid) then

return true

end

--- configuration by notle ---

local exhaust = 10 -- Tempo para player poder manda messagem denovo! (1 por segundos)

local frase1 = "O player" -- frase que vem antes do nome da guild

local frase2 = "da guild" -- frase que vem antes do nome dos players

local frase3 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player

--- configuration by notle ---

if getPlayerStorageValue(cid, 14800) >= os.time() and doPlayerSendCancel(cid, "A mensagem de alerta só vai aparecer novamente em "..(getPlayerStorageValue(cid, 14800) - os.time()).." segundos.") then return true end

doBroadcastMessage(""..frase1.." \""..getCreatureName(cid).."\" "..frase2.." \""..getPlayerGuildName(cid).."\" "..frase3.." ", MESSAGE_STATUS_CONSOLE_ORANGE)

setPlayerStorageValue(cid, 14800, os.time() + exhaust)

return true

end

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

MaXwEllDeN uma criatura pode ser o player ou um monstro possivelmente ainda dario erro :X

function onStepIn(cid, item, position, fromPosition)

--- configuration by notle ---

local exhaust = 10 -- Tempo para player poder manda messagem denovo! (1 por segundos)

local frase1 = "O player" -- frase que vem antes do nome da guild

local frase2 = "da guild" -- frase que vem antes do nome dos players

local frase3 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player

if isPlayer(cid) then

if getPlayerStorageValue(cid, 14800) >= os.time() and doPlayerSendCancel(cid, "A mensagem de alerta só vai aparecer novamente em "..(getPlayerStorageValue(cid, 14800) - os.time()).." segundos.") then return true end

doBroadcastMessage(""..frase1.." \""..getCreatureName(cid).."\" "..frase2.." \""..getPlayerGuildName(cid).."\" "..frase3.." ", MESSAGE_STATUS_CONSOLE_ORANGE)

setPlayerStorageValue(cid, 14800, os.time() + exhaust)

return true

end

end

Editado por caotic (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Tenta ai:



function onStepIn(cid, item, position, fromPosition)

--- configuration by notle ---

local exhaust = 10 -- Tempo para player poder manda messagem denovo! (1 por segundos)

local frase1 = "O player" -- frase que vem antes do nome da guild

local frase2 = "da guild" -- frase que vem antes do nome dos players

local frase3 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player

--- configuration by notle ---

if getPlayerStorageValue(cid, 14800) >= os.time() and doPlayerSendCancel(cid, "A mensagem de alerta só vai aparecer novamente em "..(getPlayerStorageValue(cid, 14800) - os.time()).." segundos.") then return true end

doBroadcastMessage(" "..frase1.." \ "..getCreatureName(cid).." \ "..frase2.." \ "..getPlayerGuildName(cid).." \ "..frase3.." ", MESSAGE_STATUS_CONSOLE_ORANGE)

setPlayerStorageValue(cid, 14800, os.time() + exhaust)

return true

end

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites

Obrigado caotic, você resolveu o meu problema. Te dei rep+.. Obrigado aos que me ajudaram também, dei rep+ para o sky tbm.. Amanhã te dou um rep+ max.. Podem mover o tópico. Gratooo!

Link para o post
Compartilhar em outros sites

MaXwEllDeN uma criatura pode ser o player ou um monstro possivelmente ainda dario erro :X

function onStepIn(cid, item, position, fromPosition)

--- configuration by notle ---

local exhaust = 10 -- Tempo para player poder manda messagem denovo! (1 por segundos)

local frase1 = "O player" -- frase que vem antes do nome da guild

local frase2 = "da guild" -- frase que vem antes do nome dos players

local frase3 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player

if isPlayer(cid) then

if getPlayerStorageValue(cid, 14800) >= os.time() and doPlayerSendCancel(cid, "A mensagem de alerta só vai aparecer novamente em "..(getPlayerStorageValue(cid, 14800) - os.time()).." segundos.") then return true end

doBroadcastMessage(""..frase1.." \""..getCreatureName(cid).."\" "..frase2.." \""..getPlayerGuildName(cid).."\" "..frase3.." ", MESSAGE_STATUS_CONSOLE_ORANGE)

setPlayerStorageValue(cid, 14800, os.time() + exhaust)

return true

end

end

Verdade Caotic, é que geralmente não uso muito movements, aí quando preciso verificar se é player, só uso o isCreature mesmo, pois não teria como um monstro executar o evento, força do hábito :P

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo