Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Nome: Mortes no Broadcast

Versão: 8.4x

Tipo do script: creaturescript

Servidor Testado: TFS 0.2 (pinch.gif')

Autor: Alguém da equipe criadora do TFS e eu por editar.

Comentario: Script editado; Original é o que vem com o tfs.

----------------------------------------------------------------------

Falae;

Preview: broad.png

Como não vi nenhum tópico sobre o assunto por aqui, resolvi criar o script, ou melhor, editar o playerdeath.lua '-'

Primeiramente, abra a pasta data/creaturescripts/scripts e crie um arquivo playerdeath.lua

dofile("./config.lua")


function onDeath(cid, corpse, killer)


vitima = getCreatureName(cid)

assassino = getCreatureName(killer)


    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You are dead.")

    if deathListEnabled == "yes" then

        if sqlType == "mysql" then

            env = assert(luasql.mysql())

            con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort))

        else -- sqlite

            env = assert(luasql.sqlite3())

            con = assert(env:connect(sqliteDatabase))

        end

        local byPlayer = FALSE

        if killer == FALSE then

            killerName = "field item"

        else

            if isPlayer(killer) == TRUE then

                byPlayer = TRUE

            end

            killerName = getCreatureName(killer)

        end

        assert(con:execute("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `is_player`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", '" .. escapeString(killerName) .. "', " .. byPlayer .. ");"))

        local cursor = assert(con:execute("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";"))

        local deathRecords = numRows(cursor)

        if sqlType == "mysql" then

            while deathRecords > maxDeathRecords do

                delete = assert(con:execute("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1;"))

                deathRecords = deathRecords - 1

            end

        else

            while deathRecords > maxDeathRecords do

                delete = assert(con:execute("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);"))

                deathRecords = deathRecords - 1

            end

        end            

        con:close()

        env:close()

        broadcastMessage("" .. assassino .. " Matou " .. vitima .."!", MESSAGE_STATUS_CONSOLE_ORANGE)

    end

end

Depois salve e pronto, está implantado o sistema de anúncio de mortes no broadcast; é simples, porém algumas pessoas não sabem como fazer.

Já que insistem, aí está a TAG:

<event type="death" name="PlayerDeath" script="playerdeath.lua"/>

Contato;

6yonKDJ.png god.marinii

TaxNfhb.png

  • Respostas 6
  • Visualizações 2.1k
  • Created
  • Última resposta

Top Posters In This Topic

Postado

Muito Bom Já Tenho isso no meu Ot ia Postar No Tk Mas Já Que Voçe Ja Postou REP + Pra Voçe !

13978461.png
  • 2 weeks later...
Postado

Muda Por Aki

broadcastMessage("" .. assassino .. " Matou " .. vitima .."!", MESSAGE_STATUS_CONSOLE_ORANGE)

13978461.png
  • 1 year later...

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