• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Actions] Item que invoca un monster con restriccion de nivel-nivel

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

    jesus135

    avatar
    Miembro
    Miembro
    Hola no soy publicador normalmente pero ahora si, ya hice un script, se que es corto y sencillo pero es lo que que he aprendido si es que les sirve aqui se los dejo.
    La idea es 3 items (Copper, silver, gold)
    uno mejor que el otro 1.- gold, 2.- silver, 3.- copper.
    y al dar click a copper por ejemplo invocara un monster (es configurable)
    y te pedira una restriccion de nivel, en el caso de el copper el nivel minimo para usarlo es 100 y el maximo 500.
    Gold = 1000+
    Silver = 500 - 1000
    Copper = 100 - 500
    Aqui les dejo el script es configurable con las variables.
    Copper:
    Código:
    -- By [GM] KAISER
    -- By [GM] KAISER
    local monster = "rotworm" -- Monster que summonea
    local item_id = 25378 -- Item Id que usa el script
    local message = "Solo los jugadores nivel 100 a nivel 500 lo pueden usar." -- Mensage de cancel
    local min_lvl = 100 -- Minimo nivel para usar
    local max_lvl = 500 -- Maximo nivel para usar
    local effect1 = 15 -- Efecto satisfactorio
    local effect2 = 3 -- Efecto cancel

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
    local level = player:getLevel(cid)
    local p = Player(cid)
       if item.itemid == item_id then
       if level >= min_lvl and level <= max_lvl then
       doSummonCreature(monster, player:getPosition())
       player:sendTextMessage(MESSAGE_INFO_DESCR, "Haz invocado un " ..monster.. ".")
       doSendMagicEffect(player:getPosition(), effect1)
       item:remove(1)
       else
       player:sendTextMessage(MESSAGE_INFO_DESCR, message)
       doSendMagicEffect(player:getPosition(), effect2)
       end
          return true
    end
    end
    Silver:
    Código:
    -- By [GM] KAISER
    local monster = "orc" -- monster que invocara
    local item_id = 25172 -- item id que usara el script
    local message = "Solo los jugadores nivel 500 a nivel 1000 lo pueden usar." -- mensaje de cancel
    local min_lvl = 500 -- minimo nivel de restriccion
    local max_lvl = 1000 -- maximo nivel de restriccion
    local effect1 = 15 -- effect satisfactorio
    local effect2 = 3 -- effect cancel

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
    local level = player:getLevel(cid)
    local p = Player(cid)
       if item.itemid == item_id then
       if level >= min_lvl and level <= max_lvl then
       doSummonCreature(monster, player:getPosition())
       player:sendTextMessage(MESSAGE_INFO_DESCR, "Haz invocado un " ..monster.. ".")
       doSendMagicEffect(player:getPosition(), effect1)
       item:remove(1)
       else
       player:sendTextMessage(MESSAGE_INFO_DESCR, message)
       doSendMagicEffect(player:getPosition(), effect2)
       end
          return true
    end
    end
    Gold:
    Código:
    -- By [GM] KAISER
    local monster = "Demon" -- monster que invocara
    local item_id = 25377 -- item id que usara el script
    local min_lvl = 1000 -- minimo nivel de restriccion
    local message2 = "Solo los jugadores mayores de nivel 1000 lo pueden usar." -- mensaje de cancel
    local effect1 = 15 -- effect satisfactorio
    local effect2 = 3 -- effect cancel

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
    local level = player:getLevel(cid)
    local p = Player(cid)
       if item.itemid == item_id then
       if level >= min_lvl then
       doSummonCreature(monster, player:getPosition())
       doSendMagicEffect(player:getPosition(), effect1)
       player:sendTextMessage(MESSAGE_INFO_DESCR, "Haz invocado un " ..monster.. ".")
       item:remove(1)
       else
       player:sendTextMessage(MESSAGE_INFO_DESCR, message2)
       doSendMagicEffect(player:getPosition(), effect2)
       end
          return true
    end
    end

    Fue mi primer script, no se si les sirva pero igual se las dejo.
    Gracias

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    gracias por el aporte

    pero veo que usas otx 3.x+

    si usaras tfs 1.2 o tfs 1.3 no podrias mesclar scripts

    Código:
    doSummonCreature(monster, player:getPosition())
      doSendMagicEffect(player:getPosition(), effect1)
      player:sendTextMessage(MESSAGE_INFO_DESCR, "Haz invocado un " ..monster.. "."

    doSummonCreature(

    doSendMagicEffect(

    son funciones de antiguas versiones

    +1 (y)



    Ver perfil de usuario http://www.tibiaface.com

    jesus135

    avatar
    Miembro
    Miembro
    Gracias por la informacion Maya Very Happy

    Ver perfil de usuario

    jesus135

    avatar
    Miembro
    Miembro
    Ya modifique el script y ahora lo que hice fue poner los 3 en 1 solo script para 1 item y depende del nivel
    Lo teste en tfs 1.3
    Código:
    -- By [GM] Kaiser
     local monster1 = "Demon"
     local monster2 = "The welter"
     local monster3 = "orshabaal"
     local itemid = 25378

    function onUse(player, item, fromPosition, target, toPosition, isHotkey)
     local posicion = player:getPosition(cid)

     local level = player:getLevel(cid)


     if item.itemid == itemid then
     if level >= 0 and level <= 100 then
     doSummonCreature(monster1, posicion)
     doSendMagicEffect(posicion, 15)
     doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Haz invocado un "..monster1.. ".")
     item:remove(1)
     elseif level >= 101 and level <= 200 then
     doSummonCreature(monster2, posicion)
     doSendMagicEffect(posicion, 15)
     doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Haz invocado un "..monster2.. ".")
     item:remove(1)
     elseif level >= 201 and level <= 300 then
     doSummonCreature(monster3, posicion)
     doSendMagicEffect(posicion, 15)
     doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Haz invocado un "..monster3.. ".")
     item:remove(1)
    end
    return true
    end
    end

    y en actions xml
    Código:
    <action itemid="25378" script="tokensummons.lua" />
    Si quieren agregar otro monster mas, añaden la variable arriba
    Código:
    local monster4  =  "hellgorak"
    y en el script añaden desde el ultimo "elseif" hasta item:remove(1)
    y lo pegan debajo de el ultimo, configuran el nivel y en el texto en vez de ..monster3.. ponen ..monster4.. y así.
    Si te gusto dame +rep porfavor!.

    Ver perfil de usuario

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    bien bien +1



    Ver perfil de usuario http://www.tibiaface.com

    Contenido patrocinado


    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).