• TibiaFace

    Tibiaface | Una comunidad Open Tibia donde encontras : mapas, scripts, Otserver, npc y amigos etc ...

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] TopLevel Effect (TFS 0.4 y OTX 2)

    Compartir:

    Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje (Página 1 de 1.)

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    Hola usuarios de Tibaiface


    Bueno hoy dia venian buscando el famoso top level effect, que significa esto que si el player se convierte en top level dentro del juego le saldra un efecto en su personaje el cual destacara de los demas

    Instalacion:

    nos vamos a:

    data/creaturescripts/

    Abrimos el archivo creaturescripts.xml y pegamos esto dentro

    Código:

    <event type="login" name="TopEffect" event="script" value="topeffect.lua"/>
    <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/>


    luego nos vamos a:

    data/creaturescripts/scripts

    copiamos cualquier archivo y renombramos por topeffect.lua y dentro pegamos esto

    Código:

    --[[
       Script by Bruno Minervino para o Tibia King
       Caso for postar, colocar os créditos
    ]]

    local config = {
       tempo = 10, --tempo em segundos
       mensagem = {
          texto = "[TOP]", --não use mais de 9 caracteres
          efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText
       },
       efeito = 30, --efeito da função doSendMagicEffect
       globalstr = 5687 -- uma global storage qualquer q esteje vazia
    }

    --[[ Não mexa em nada abaixo ]]
    local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0

    function onLogin(cid)
       local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
       if (query:getID() ~= -1) then
          local pid = query:getDataString("id")
          local name = query:getDataString("name")
          if getPlayerName(cid) == name then
             if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end
             setGlobalStorageValue(config.globalstr, pid)
             TopEffect(cid)
          end
       end
       registerCreatureEvent(cid, "CheckTop")
       return true
    end

    function onAdvance(cid, skill, oldlevel, newlevel)
       if skill == 8 then
          local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
          if (query:getID() ~= -1) then
             local level = tonumber(query:getDataString("level"))
             if level < newlevel and topPlayer ~= getPlayerID(cid) then
                doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22)
                topPlayer = getPlayerID(cid)
                doSaveServer()
                setGlobalStorageValue(config.globalstr, getPlayerID(cid))
                TopEffect(cid)
             end         
          end
       end
       return true
    end

    function TopEffect(cid)
       if not isPlayer(cid) then return true end
       if topPlayer == getPlayerID(cid) then
          doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito)
          doSendMagicEffect(getCreaturePosition(cid), config.efeito)
          addEvent(TopEffect, config.tempo * 1000, cid)
       end
    end

    function getPlayerNameById(id)
       local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id))
       if query:getID() ~= -1 then
          return query:getDataString("name")
       end
       return 0
    end

    function getPlayerIdByName(name)
       local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
       if query:getID() ~= -1 then
          return tonumber(query:getDataString("id"))
       end
       return 0
    end

    function getPlayerID(cid)
       return getPlayerIdByName(getPlayerName(cid))
    end

    y listo

    creditos: Bruno Minervino



    [CreatureEvents] TopLevel Effect (TFS 0.4 y OTX 2) YNU5B25
    3 participantes
    http://www.tibiaface.com

    baamba

    baamba
    Miembro
    Miembro
    God maya a mi no me sirve.. no me sale ningun efecto al top llv.. tndria k modificar algo aqui?
    --[[
    Script by Bruno Minervino para o Tibia King
    Caso for postar, colocar os créditos
    ]]

    local config = {
    tempo = 10, --tempo em segundos
    mensagem = {
    texto = "[TOP]", --não use mais de 9 caracteres
    efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText
    },
    efeito = 30, --efeito da função doSendMagicEffect
    globalstr = 5687 -- uma global storage qualquer q esteje vazia
    }

    --[[ Não mexa em nada abaixo ]]
    local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0

    function onLogin(cid)
    local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
    if (query:getID() ~= -1) then
    local pid = query:getDataString("id")
    local name = query:getDataString("name")
    if getPlayerName(cid) == name then
    if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end
    setGlobalStorageValue(config.globalstr, pid)
    TopEffect(cid)
    end
    end
    registerCreatureEvent(cid, "CheckTop")
    return true
    end

    function onAdvance(cid, skill, oldlevel, newlevel)
    if skill == 8 then
    local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
    if (query:getID() ~= -1) then
    local level = tonumber(query:getDataString("level"))
    if level < newlevel and topPlayer ~= getPlayerID(cid) then
    doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22)
    topPlayer = getPlayerID(cid)
    doSaveServer()
    setGlobalStorageValue(config.globalstr, getPlayerID(cid))
    TopEffect(cid)
    end
    end
    end
    return true
    end

    function TopEffect(cid)
    if not isPlayer(cid) then return true end
    if topPlayer == getPlayerID(cid) then
    doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito)
    doSendMagicEffect(getCreaturePosition(cid), config.efeito)
    addEvent(TopEffect, config.tempo * 1000, cid)
    end
    end

    function getPlayerNameById(id)
    local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id))
    if query:getID() ~= -1 then
    return query:getDataString("name")
    end
    return 0
    end

    function getPlayerIdByName(name)
    local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
    if query:getID() ~= -1 then
    return tonumber(query:getDataString("id"))
    end
    return 0
    end

    function getPlayerID(cid)
    return getPlayerIdByName(getPlayerName(cid))
    end

    3 participantes

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    baamba escribió:God maya a mi no me sirve.. no me sale ningun efecto al top llv.. tndria k modificar algo aqui?
    --[[
    Script by Bruno Minervino para o Tibia King
    Caso for postar, colocar os créditos
    ]]

    local config = {
    tempo = 10, --tempo em segundos
    mensagem = {
    texto = "[TOP]", --não use mais de 9 caracteres
    efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText
    },
    efeito = 30, --efeito da função doSendMagicEffect
    globalstr = 5687 -- uma global storage qualquer q esteje vazia
    }

    --[[ Não mexa em nada abaixo ]]
    local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0

    function onLogin(cid)
    local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
    if (query:getID() ~= -1) then
    local pid = query:getDataString("id")
    local name = query:getDataString("name")
    if getPlayerName(cid) == name then
    if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end
    setGlobalStorageValue(config.globalstr, pid)
    TopEffect(cid)
    end
    end
    registerCreatureEvent(cid, "CheckTop")
    return true
    end

    function onAdvance(cid, skill, oldlevel, newlevel)
    if skill == 8 then
    local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
    if (query:getID() ~= -1) then
    local level = tonumber(query:getDataString("level"))
    if level < newlevel and topPlayer ~= getPlayerID(cid) then
    doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22)
    topPlayer = getPlayerID(cid)
    doSaveServer()
    setGlobalStorageValue(config.globalstr, getPlayerID(cid))
    TopEffect(cid)
    end
    end
    end
    return true
    end

    function TopEffect(cid)
    if not isPlayer(cid) then return true end
    if topPlayer == getPlayerID(cid) then
    doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito)
    doSendMagicEffect(getCreaturePosition(cid), config.efeito)
    addEvent(TopEffect, config.tempo * 1000, cid)
    end
    end

    function getPlayerNameById(id)
    local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id))
    if query:getID() ~= -1 then
    return query:getDataString("name")
    end
    return 0
    end

    function getPlayerIdByName(name)
    local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
    if query:getID() ~= -1 then
    return tonumber(query:getDataString("id"))
    end
    return 0
    end

    function getPlayerID(cid)
    return getPlayerIdByName(getPlayerName(cid))
    end

    solo funciona con persona que usan base de datos mysql ya que el scripts hace una consulta a mysql



    [CreatureEvents] TopLevel Effect (TFS 0.4 y OTX 2) YNU5B25
    3 participantes
    http://www.tibiaface.com

    GalaxyDev

    GalaxyDev
    Miembro
    Miembro
    [Admin] God Maya escribió:Hola usuarios de Tibaiface


    Bueno hoy dia venian buscando el famoso top level effect, que significa esto que si el player se convierte en top level dentro del juego le saldra un efecto en su personaje el cual destacara de los demas

    Instalacion:

    nos vamos a:

    data/creaturescripts/

    Abrimos el archivo creaturescripts.xml y pegamos esto dentro

    Código:

    <event type="login" name="TopEffect" event="script" value="topeffect.lua"/>
    <event type="advance" name="CheckTop" event="script" value="topeffect.lua"/>


    luego nos vamos a:

    data/creaturescripts/scripts

    copiamos cualquier archivo y renombramos por topeffect.lua y dentro pegamos esto

    Código:

    --[[
       Script by Bruno Minervino para o Tibia King
       Caso for postar, colocar os créditos
    ]]

    local config = {
       tempo = 10, --tempo em segundos
       mensagem = {
          texto = "[TOP]", --não use mais de 9 caracteres
          efeito = TEXTCOLOR_LIGHTBLUE --efeito para a função doSendAnimatedText
       },
       efeito = 30, --efeito da função doSendMagicEffect
       globalstr = 5687 -- uma global storage qualquer q esteje vazia
    }

    --[[ Não mexa em nada abaixo ]]
    local topPlayer = getGlobalStorageValue(config.globalstr) > 0 and getGlobalStorageValue(config.globalstr) or 0

    function onLogin(cid)
       local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
       if (query:getID() ~= -1) then
          local pid = query:getDataString("id")
          local name = query:getDataString("name")
          if getPlayerName(cid) == name then
             if topPlayer ~= getPlayerID(cid) then topPlayer = getPlayerID(cid) end
             setGlobalStorageValue(config.globalstr, pid)
             TopEffect(cid)
          end
       end
       registerCreatureEvent(cid, "CheckTop")
       return true
    end

    function onAdvance(cid, skill, oldlevel, newlevel)
       if skill == 8 then
          local query = db.getResult("SELECT `id`, `name`, `level` FROM `players` WHERE `group_id` < 2 ORDER BY `level` DESC LIMIT 1")
          if (query:getID() ~= -1) then
             local level = tonumber(query:getDataString("level"))
             if level < newlevel and topPlayer ~= getPlayerID(cid) then
                doBroadcastMessage("O jogador " .. getPlayerName(cid) .. " tornou-se o novo Top Level. Parabens!", 22)
                topPlayer = getPlayerID(cid)
                doSaveServer()
                setGlobalStorageValue(config.globalstr, getPlayerID(cid))
                TopEffect(cid)
             end         
          end
       end
       return true
    end

    function TopEffect(cid)
       if not isPlayer(cid) then return true end
       if topPlayer == getPlayerID(cid) then
          doSendAnimatedText(getCreaturePosition(cid), config.mensagem.texto, config.mensagem.efeito)
          doSendMagicEffect(getCreaturePosition(cid), config.efeito)
          addEvent(TopEffect, config.tempo * 1000, cid)
       end
    end

    function getPlayerNameById(id)
       local query = db.getResult("SELECT `name` FROM `players` WHERE `id` = " .. db.escapeString(id))
       if query:getID() ~= -1 then
          return query:getDataString("name")
       end
       return 0
    end

    function getPlayerIdByName(name)
       local query = db.getResult("SELECT `id` FROM `players` WHERE `name` = " .. db.escapeString(name))
       if query:getID() ~= -1 then
          return tonumber(query:getDataString("id"))
       end
       return 0
    end

    function getPlayerID(cid)
       return getPlayerIdByName(getPlayerName(cid))
    end

    y listo

    creditos: Bruno Minervino


    EXCELENTE APORTE BRO!! LO PROBE RECIEN Y FUNCIONA PERFECTO.!!



    [Tienes que estar registrado y conectado para ver este vínculo] Servidor 24/7 Full Animes  Smile    MI GITHUB (REVSCRIPTS TFS 1.3-1.5))
    3 participantes

    Contenido patrocinado


    3 participantes

    Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje (Página 1 de 1.)

    Permisos de este foro:
    No puedes responder a temas en este foro.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).