Tibia Dark

¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.
Tibia Dark

TibiaDark Aqui Podras Encontrar Todo Sobre OTXserver.


    DeathBroadcast

    Kroxos
    Kroxos


    Vocacion : Paladin

    Experiencia : LUA

    Mensajes : 7
    Reputación : 3
    Edad : 27
    Localización : Venezuela

    DeathBroadcast Empty DeathBroadcast

    Mensaje por Kroxos 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 Abr 26, 2024 8:14 am