Ir para conteúdo

Featured Replies

Postado

2 script :

"data/creaturescripts/scripts/deathbroadcast.lua" :

local config = {
    affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for?

    killStorageValue = 3943,
    deathStorageValue = 3944,

    -- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
    rewardItem = {
        use = true,
        itemid = 2160,
        minLevel = false, -- false if you don't want any level req
        minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
    },

    killMessage = {
        use = true,
        text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
        messageClass = MESSAGE_STATUS_CONSOLE_BLUE
    },

    broadcastMessage = {
        use = false,
        minLevel = false, -- false if you don't want any level req
        minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed).
        text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",
        messageClass = MESSAGE_STATUS_WARNING
    },

    killerAnimation = {
        use = true,
        text = "Frag!", -- Only 9 letters! No "commands" here.
        color = 144
    },

    targetAnimation = {
        use = true,
        text = "OWNED!!", -- Only 9 letters! No "commands" here.
        color = 180
    }
}

function onDeath(cid, corpse, deathList)
    for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do
        local killer = deathList[i]
        if(isPlayer(killer) == TRUE) then
            local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
            local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
        
            local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
            local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
        
            setPlayerStorageValue(killer, config.killStorageValue, targetKills)
            setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)

            local killerLevel = getPlayerLevel(killer)
            local targetLevel = getPlayerLevel(cid)
            local levelDiff = targetLevel - killerLevel

            local values = {
                ["KILLERKILLS"]         = killerKills,
                ["KILLERDEATHS"]        = killerDeaths,
                ["KILLERNAME"]          = getCreatureName(killer),
                ["KILLERLEVEL"]         = killerLevel,
            
                ["TARGETKILLS"]         = targetKills,
                ["TARGETDEATHS"]        = targetDeaths,
                ["TARGETNAME"]          = getCreatureName(cid),
                ["TARGETLEVEL"]         = targetLevel
            }

            function formateString(str)
                return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
            end
        
if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
    if getPlayerIp(cid) == getPlayerIp(killer) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não ganha nada matando MC")
        return False
    end
    local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 1)
end
            if(config.killMessage.use) then
                doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
            end
            if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
                broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
            end
            if(config.killerAnimation.use) then
                doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
            end
            if(config.targetAnimation.use) then
                doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
            end
        end
    end

    return true
end

function onKill(cid, target, lastHit)
 
local str = "O player %s acaba de ser morto no nível %d por %s"
 
    if isPlayer(cid) and isPlayer(target) then
        doBroadcastMessage(str:format(getCreatureName(target), getPlayerLevel(target), getCreatureName(cid)), 27)
    end
 
    return true
end

"data/creaturescripts/creaturescripts.xml" :

<event type="death" name="DeathBroadcast" event="script" value="deathBroadcast.lua"/>
<event type="kill" name="DeathBroadCast" event="script" value="deathbroadcast.lua"/>
  • Respostas 5
  • Visualizações 457
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 1 script: tag.xml: No login.lua:

  • 2 script : "data/creaturescripts/scripts/deathbroadcast.lua" : local config = { affected = 10, -- how many players (deathAssits) from table deathList should this script be executed for? ki

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