Tibia Dark

TibiaDark Aqui Podras Encontrar Todo Sobre OTXserver.


DeathBroadcast

Comparte
avatar
Kroxos

Vocacion : Paladin

Experiencia : LUA

Mensajes : 7
Reputación : 2
Edad : 22
Localización : Venezuela

DeathBroadcast

Mensaje por Kroxos el Dom Jun 15, 2014 11:10 pm

Hola a todos los usuarios de Tibia Dark Aqui les dejo el DeathBroadctas Para su ot primero nos vamos:

data/creaturescripts/scripts

crean un lua llamado DeathBroadcast y agregan esto:

Código:
local config = {
  affected = 1, -- 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 = false,
      itemid = 2152,
      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 = false,
      text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
      messageClass = MESSAGE_STATUS_CONSOLE_BLUE
  },
 
  broadcastMessage = {
      use = true,
      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
  },
}
 
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
            local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 5)
        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
      end
  end
 
  return true
end

luego registramos en login lo siguiente:

Código:
registerCreatureEvent(cid, "DeathBroadcast")

Despues vamos a creaturescripts.xml y agregan lo siguiente:

Código:
<event type="death" name="DeathBroadcast" event="script" value="deathBroadcast.lua"/>

si les sirvio dejen Rep+



    Fecha y hora actual: Vie Nov 16, 2018 5:07 am