MJ

[Pedido Entregue]

Por mjsm4ever, 28 de nov. de 2009 em Archived

otserv
tibia
script
13
1.3k
mjsm4everM
28 de novembro de 2009 às 08:10

Aew gente blz? to aki pra encher o saco dos scripters denovo =] (é algo um pouco complexo)

 

Vamos lá !.

 

Abaixo 3 imagens de 3 monsters diferentes (com trap):

screenshot003jj.png(Demon)

 

screenshot001tn.png(Master Vampire)

 

screenshot002r.png

(Morgaroth)

 

Agora vou explicar.

 

Eu queria que qndo um (1) desses monsters morresse, automaticamente seria enviado uma Broadcast para todos os players< dizendo [Exemplo: Demon morreu] "O demon morreu" [Master Vampire] "Master Vampire morreu"

 

e automaticamente os outros dois monsters restantes (Tipo, vampire morreu), ou seja o Demon e o Morgaroth seriam excluidos do jogo (Que nem um /r automatico)

 

Um bom exemplo de exclusão é a usada no Perfect Trainer System, que quando o player sai do Tile, o Training Monk é excluido automaticamente (com localizações x=? y=? z=?). [Link do tópico]

 

Desculpe os erros ortográficos

Obrigado !.

Editado Novembro 28 por EncoreNumb

garepG
01 de dezembro de 2009 às 12:41

kara eu posso fazer pra vc é facil..

Piabeta KunP
03 de dezembro de 2009 às 17:18

entao faz q eu tbm qro!

 

e eu qria se puder faz um q manda pm pra todos cqndo o monstro morre tipo :

invsao de ferumbras ai um player vai la e mata ele ai aparece : kina loko matou o grande ferumbras!

 

intendeu se der pra ajuda eu agradeço!

morgado4everM
07 de dezembro de 2009 às 16:47

local MONSTERS = {"Master Vampire", "Demon", "Morgaroth"} -- adicione quantos monstros quiser

function onKill(cid, target)
    if (isInArray(MONSTERS, getCreatureName(target)) == TRUE) then
        doBroadcastMessage(getCreatureName(target) .. " is dead!", MESSAGE_STATUS_WARNING)
        for _, MONSTER in ipairs(MONSTERS) do
            if (isCreature(getCreatureByName(MONSTER)) == TRUE) then
                doRemoveCreature(getCreatureByName(MONSTER))
            end
        end
    end
    return TRUE
end

 

O script faz com que quando um dos monstros adicionados for morto, todos os outros serão removidos.

 

 

Sem mais, Kazz.

Henrique MouraH
07 de dezembro de 2009 às 16:51

Você esqueceu de explicar que se o usuário colocar monstros comuns, por exemplo uma rotworm, será removido uma rotworm aleatória no mapa. Por isso, coloque apenas monstros únicos no script.

 

Abraços.

Editado Dezembro 7 por KaKilo

morgado4everM
07 de dezembro de 2009 às 16:59
Você esqueceu de explicar que se o usuário colocar monstros comuns, por exemplo uma rotworm, será removido uma rotworm aleatória no mapa. Por isso, coloque apenas monstros únicos no script.

 

Abraços.

 

Verdade, esqueci de mencionar esse equívoco.

 

Obrigado por lembrar.

 

 

Como KaKilo disse: use monstros com nomes únicos e não sumone mais que um deste monstro. Caso contrário será removido um desses monstros aleatoriamente.

 

Sem mais, Kazz.

mjsm4everM
08 de dezembro de 2009 às 11:43
local MONSTERS = {"Master Vampire", "Demon", "Morgaroth"} -- adicione quantos monstros quiser

function onKill(cid, target)
    if (isInArray(MONSTERS, getCreatureName(target)) == TRUE) then
        doBroadcastMessage(getCreatureName(target) .. " is dead!", MESSAGE_STATUS_WARNING)
        for _, MONSTER in ipairs(MONSTERS) do
            if (isCreature(getCreatureByName(MONSTER)) == TRUE) then
                doRemoveCreature(getCreatureByName(MONSTER))
            end
        end
    end
    return TRUE
end

 

O script faz com que quando um dos monstros adicionados for morto, todos os outros serão removidos.

 

 

Sem mais, Kazz.

Poderia porfavor especificar o que devo fazer?, aonde colocar?, e o que devo mudar?

rockstar96R
08 de dezembro de 2009 às 14:29

local MONSTERS = {"Master Vampire", "Demon", "Morgaroth"} -- adicione quantos monstros quiser

 

 

colocar o monstro troll

local MONSTERS = {"Master Vampire", "Demon", "Morgaroth", "Troll"} -- adicione quantos monstros quiser

morgado4everM
08 de dezembro de 2009 às 17:06
Poderia porfavor especificar o que devo fazer?, aonde colocar?, e o que devo mudar?

Claro claro..

 

Dentro da pasta creaturescripts/scripts, crie o arquivo onkill.lua e coloque dentro dele:

 

local MONSTERS = {"Master Vampire", "Demon", "Morgaroth"} -- adicione quantos monstros quiser

function onKill(cid, target)
    if (isInArray(MONSTERS, getCreatureName(target)) == TRUE) then
        doBroadcastMessage(getCreatureName(target) .. " is dead!", MESSAGE_STATUS_WARNING)
        for _, MONSTER in ipairs(MONSTERS) do
            if (isCreature(getCreatureByName(MONSTER)) == TRUE) then
                doRemoveCreature(getCreatureByName(MONSTER))
            end
        end
    end
    return TRUE
end

 

 

Agora dentro da pasta creaturescrips, no arquivo creaturescripts.xml, adicione:

<event type="kill" name="onKill" event="script" value="onkill.lua"/>

 

 

Agora dentro da pasta creaturescrips/scripts, no arquivo login.lua, em baixo de:

registerCreatureEvent(cid, "GuildMotd")

 

Adicione:

registerCreatureEvent(cid, "onKill")

 

 

Ao sumonar os bosses monstros, apenas sumone 1 monstro de cada, exemplo: 1 Morgaroth, 1 Orshabaal e 1 Ferumbras.

 

Lembre-se de verificar que não há outros monstros iguais no mapa.

 

Não adicione monstros já existentes no mapa, como Demon, etc.

 

 

Espero ter ajudado, Kazz.

 

 

-- EDIT --

@iRockStar

VAI FLOODAR LÁ NA TUA AREA!

Editado Dezembro 8 por morgado4ever

rockstar96R
08 de dezembro de 2009 às 17:09

hehehehe reportado por chingamentos

ainda ganhei 1 post

 

 

tirei foto dele me chingando de retardado rs n adianta editar amico -n

 

 

 

 

mudou de retardado para babaca e de babaca ele tirou que pena hein

Editado Dezembro 8 por iRockStar

morgado4everM
08 de dezembro de 2009 às 17:13
hehehehe reportado por chingamentos

ainda ganhei 1 post

Só pensa nisso neah..?! Post não é tudo.

08 de dezembro de 2009 às 17:29

Usuário morgado4ever suspenso por 7 dias, por ofensas ao usuário iRockStar.

Não adianta editar o post brother, eu o vi antes de você editar. Use esses 7 dias para pensar 2 vezes antes de chingar alguém de "retardado".

E ontem mesmo você já tinha sido alertado por brigas.

Editado Dezembro 8 por helinholima

mjsm4everM
11 de dezembro de 2009 às 12:47
Claro claro..

 

Dentro da pasta creaturescripts/scripts, crie o arquivo onkill.lua e coloque dentro dele:

 

local MONSTERS = {"Master Vampire", "Demon", "Morgaroth"} -- adicione quantos monstros quiser

function onKill(cid, target)
    if (isInArray(MONSTERS, getCreatureName(target)) == TRUE) then
        doBroadcastMessage(getCreatureName(target) .. " is dead!", MESSAGE_STATUS_WARNING)
        for _, MONSTER in ipairs(MONSTERS) do
            if (isCreature(getCreatureByName(MONSTER)) == TRUE) then
                doRemoveCreature(getCreatureByName(MONSTER))
            end
        end
    end
    return TRUE
end

 

 

Agora dentro da pasta creaturescrips, no arquivo creaturescripts.xml, adicione:

<event type="kill" name="onKill" event="script" value="onkill.lua"/>

 

 

Agora dentro da pasta creaturescrips/scripts, no arquivo login.lua, em baixo de:

registerCreatureEvent(cid, "GuildMotd")

 

Adicione:

registerCreatureEvent(cid, "onKill")

 

 

Ao sumonar os bosses monstros, apenas sumone 1 monstro de cada, exemplo: 1 Morgaroth, 1 Orshabaal e 1 Ferumbras.

 

Lembre-se de verificar que não há outros monstros iguais no mapa.

 

Não adicione monstros já existentes no mapa, como Demon, etc.

 

 

Espero ter ajudado, Kazz.

 

 

-- EDIT --

@iRockStar

VAI FLOODAR LÁ NA TUA AREA!

 

 

Funcionou perfeitamente! obrigado!

 

Tópico Reportado!