BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Resuelto] Chest Por Vocacion

[Resuelto] Chest Por Vocacion

#1 [Resuelto] Chest Por Vocacion el Miér Abr 01, 2015 8:52 pm

Abarrera


Estudiante
Hola Amigos Disculpen La molestia es que soy nuevo y pregunto muchas cosas
Bueno Quisiera saber si es posible Poner Un Solo Chest Para las vocaciones
Ejemplo:
Druid Abra el Chest y salga el set del Druid
Paladin Abra el Chest Y salga el Set del Paladin
Knight Abra el chest y salga el set del knight

En Un Mismo Chest..


Gracias.

#2 Re: [Resuelto] Chest Por Vocacion el Miér Abr 01, 2015 9:55 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver esa imagen]
TEMA MOVIDO
[Tienes que estar registrado y conectado para ver este vínculo]

Sección incorrecta, movido a "Pedido de Scripts".
¡Se ruega al usuario que la próxima vez se fije bien
dónde va a postear el tema antes de hacerlo!

(Pues donde lo pusiste solo se realizan aportes
de Scripts y no dudas o pedidos )

Servidor/Data/Actions/... Actions.xml
<action uniqueid="9865" event="script" value="vocationChest.lua"/>
Ahí pones ese UniqueID o el que gustes(que no estés usando ya en otro script), también en el cofre con el RME.

Servidor/Data/Actions/Scripts/... vocationChest.lua
Código:
function onUse(cid, item, position, fromPosition, toPosition)
  local config = {
    [{1, 5}] = { -- Sorcerer / Master Sorcerer.
    -- {ID del objeto, cantidad del cual}
      {2190, 1}, -- Wand of Vortex.
      {8820, 1}, -- Mage Hat.
    },

    [{2, 6}] = { -- Druid / Elder Druid.
    -- {ID del objeto, cantidad del cual}
      {2182, 1}, -- Snakebite Rod.
      {3971, 1}, -- Charmer's Tiara.
    },

    [{3, 7}] = { -- Paladin / Royal Paladin.
    -- {ID del objeto, cantidad del cual}
      {2389, 1}, -- Spear.
      {2544, 50}, -- Arrow.
    },

    [{4, 8}] = { -- Knight / Elite Knight.
    -- {ID del objeto, cantidad del cual}
      {8602, 1}, -- Jagged Sword.
      {8601, 1}, -- Steel Axe.
      {2439, 1}, -- Daramanian Mace.
    },
  }

    if getPlayerStorageValue(cid, item.uid) < 0 or getPlayerStorageValue(cid, item.uid) == nil then
        for voc, i in pairs(config) do
            if isInArray(voc, getPlayerVocation(cid)) then
                for _, v in ipairs(i) do
                    doPlayerAddItem(cid, v[1], v[2])
                end

                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found ' .. getItemsFromList(i) .. '.')
            end
        end
        setPlayerStorageValue(cid, item.uid, 1)

     else
       doPlayerSendCancel(cid, 'It is empty.')
    end

  return true
end

function getItemsFromList(items) -- by Vodka
  local str = ''
    if table.maxn(items) > 0 then
        for i = 1, table.maxn(items) do
          str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
            if i ~= table.maxn(items) then
              str = str .. ', '
            end
        end
    end

  return str
end

Zona (básica) a editar:
 local config = {
   [{1, 5}] = { -- Sorcerer / Master Sorcerer.
   -- {ID del objeto, cantidad del cual}
     {2190, 1}, -- Wand of Vortex.
     {8820, 1}, -- Mage Hat.
   },

   [{2, 6}] = { -- Druid / Elder Druid.
   -- {ID del objeto, cantidad del cual}
     {2182, 1}, -- Snakebite Rod.
     {3971, 1}, -- Charmer's Tiara.
   },

   [{3, 7}] = { -- Paladin / Royal Paladin.
   -- {ID del objeto, cantidad del cual}
     {2389, 1}, -- Spear.
     {2544, 50}, -- Arrow.
   },

   [{4, 8}] = { -- Knight / Elite Knight.
   -- {ID del objeto, cantidad del cual}
     {8602, 1}, -- Jagged Sword.
     {8601, 1}, -- Steel Axe.
     {2439, 1}, -- Daramanian Mace.
   },
 }

Si quieres añadir más objetos, duplica más líneas como esas, editando el ID del objeto entregado y su respectiva cantidad.
Ya, lo demás como los nombres de dichos objetos entregados saldrán automáticamente en el mensaje.



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#3 Re: [Resuelto] Chest Por Vocacion el Miér Abr 01, 2015 11:03 pm

Abarrera


Estudiante
Muchas Gracias Amigo Me Ayudo Muchisimo
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
[Tienes que estar registrado y conectado para ver esa imagen]
TEMA MOVIDO
[Tienes que estar registrado y conectado para ver este vínculo]

Sección incorrecta, movido a "Pedido de Scripts".
¡Se ruega al usuario que la próxima vez se fije bien
dónde va a postear el tema antes de hacerlo!

(Pues donde lo pusiste solo se realizan aportes
de Scripts y no dudas o pedidos )

Servidor/Data/Actions/... Actions.xml
<action uniqueid="9865" event="script" value="vocationChest.lua"/>
Ahí pones ese UniqueID o el que gustes(que no estés usando ya en otro script), también en el cofre con el RME.

Servidor/Data/Actions/Scripts/... vocationChest.lua
Código:
function onUse(cid, item, position, fromPosition, toPosition)
  local config = {
    [{1, 5}] = { -- Sorcerer / Master Sorcerer.
    -- {ID del objeto, cantidad del cual}
      {2190, 1}, -- Wand of Vortex.
      {8820, 1}, -- Mage Hat.
    },

    [{2, 6}] = { -- Druid / Elder Druid.
    -- {ID del objeto, cantidad del cual}
      {2182, 1}, -- Snakebite Rod.
      {3971, 1}, -- Charmer's Tiara.
    },

    [{3, 7}] = { -- Paladin / Royal Paladin.
    -- {ID del objeto, cantidad del cual}
      {2389, 1}, -- Spear.
      {2544, 50}, -- Arrow.
    },

    [{4, 8}] = { -- Knight / Elite Knight.
    -- {ID del objeto, cantidad del cual}
      {8602, 1}, -- Jagged Sword.
      {8601, 1}, -- Steel Axe.
      {2439, 1}, -- Daramanian Mace.
    },
  }

    if getPlayerStorageValue(cid, item.uid) < 0 or getPlayerStorageValue(cid, item.uid) == nil then
        for voc, i in pairs(config) do
            if isInArray(voc, getPlayerVocation(cid)) then
                for _, v in ipairs(i) do
                    doPlayerAddItem(cid, v[1], v[2])
                end

                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have found ' .. getItemsFromList(i) .. '.')
            end
        end
        setPlayerStorageValue(cid, item.uid, 1)

     else
       doPlayerSendCancel(cid, 'It is empty.')
    end

  return true
end

function getItemsFromList(items) -- by Vodka
  local str = ''
    if table.maxn(items) > 0 then
        for i = 1, table.maxn(items) do
          str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
            if i ~= table.maxn(items) then
              str = str .. ', '
            end
        end
    end

  return str
end

Zona (básica) a editar:
 local config = {
   [{1, 5}] = { -- Sorcerer / Master Sorcerer.
   -- {ID del objeto, cantidad del cual}
     {2190, 1}, -- Wand of Vortex.
     {8820, 1}, -- Mage Hat.
   },

   [{2, 6}] = { -- Druid / Elder Druid.
   -- {ID del objeto, cantidad del cual}
     {2182, 1}, -- Snakebite Rod.
     {3971, 1}, -- Charmer's Tiara.
   },

   [{3, 7}] = { -- Paladin / Royal Paladin.
   -- {ID del objeto, cantidad del cual}
     {2389, 1}, -- Spear.
     {2544, 50}, -- Arrow.
   },

   [{4, 8}] = { -- Knight / Elite Knight.
   -- {ID del objeto, cantidad del cual}
     {8602, 1}, -- Jagged Sword.
     {8601, 1}, -- Steel Axe.
     {2439, 1}, -- Daramanian Mace.
   },
 }

Si quieres añadir más objetos, duplica más líneas como esas, editando el ID del objeto entregado y su respectiva cantidad.
Ya, lo demás como los nombres de dichos objetos entregados saldrán automáticamente en el mensaje.

#4 Re: [Resuelto] Chest Por Vocacion Hoy a las 11:22 am

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.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .