Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Fala rapaziada, quanto tempo sem publicar algo aqui! Bom, hoje eu venho trazer um sisteminha que é bem utilizado atualmente.

Estou falando o Death System! Porém, com algumas coisinhas a mais.

 

Testado em OTX Server 8.60..

 

Como funciona?

O Death System em alguns servidores possui um channel chamado "Mortes" ou "Death Channel",

mas há alguns servidores que preferem que seja anunciado no default mesmo e a função é informar

quem matou quem, ou quem foi morto por certo monstro.

 

O que há de novo?

Bom, agora quem matar x jogadores(configurável) e essa quantia for uma consecutiva, será anunciado isso :

two.png.940302753b76e13f6c5672cd3da13f39

 

E se algum jogador derrotá-lo dentro a consecutiva, será anunciado isso :

three.png.4ac76f7f8372d7e17b8846c86c23de

 

Vamos ao sistema :

em data/XML/channels.xml, adicione isso :

<channel id="15" name="Death Channel"/>

em data/creaturescripts/creaturescripts.xml :

<event type="death" name="deathchannel" event="script" value="deathchannel.lua"/>

em data/creaturescripts/login.lua, adicione isso antes do último return true :

registerCreatureEvent(cid, "deathchannel")

em data/creaturescripts/scripts, crie um arquivo deathchannel.lua e cole isso dentro :

-- 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 = {10, 15, 20, 25, 30, 35, 40, 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_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
            
            if(getCreatureStorage(cid, storage) >= frag) then
                doPlayerSendChannelMessage(pid, '', lose:format(getCreatureName(target), getCreatureName(cid), getCreatureStorage(cid, storage)+1), TALKTYPE_GAMEMASTER_CHANNEL, 0xF)
            end
        end
    end
    
    doCreatureSetStorage(cid, storage, 0)
    return true
end

Há uma única configuração, que é as consecutivas :

local frags = {10, 15, 20, 25, 30, 35, 40, 45, 50}

completou 10 frags? anuncia! e assim sucessivamente..

 

Créditos : EU

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

  • Respostas 26
  • Visualizações 4.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Sistema maneiro. Tópico aprovado, obrigado por compartilhar. Você recebeu um REP pela contribuição.

  • de nada, eu que agradeço pela aprovação!

  • Que estranho! um amigo meu no privado me disse que estava com o mesmo problema que o seu, então eu mandei para ele essa modificação que fiz para você e lá funcionou normal. Veja no login.lua se o regi

Posted Images

Postado
  • Autor
16 minutos atrás, Wakon disse:

Sistema maneiro. Tópico aprovado, obrigado por compartilhar.

Você recebeu um REP pela contribuição.

de nada, eu que agradeço pela aprovação!

Postado

Muito bom, não curto muito spam, seja no default, ou broadcast para mortes e ao mesmo tempo é algo legal.

Vou testar no tfs amanha, provavelmente funcione, ja que o ots é baseado nele.

Obrigado pelo sistema.

Postado
  • Autor
3 horas atrás, dukeeh disse:

Muito bom, não curto muito spam, seja no default, ou broadcast para mortes e ao mesmo tempo é algo legal.

Vou testar no tfs amanha, provavelmente funcione, ja que o ots é baseado nele.

Obrigado pelo sistema.

De nada amigo, espero que funcione! Qualquer erro ou bug, me relate :)

 

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