BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Script de addon pisar y resivir addon

Script de addon pisar y resivir addon

Ir a la página : Precedente  1, 2

#26 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 11:49 am

ArcaniaOnline


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:No no funciono, quiza por que uso TFS 1.1, pero al pararme en la baldosa me tira error con la linea 9 del scrip

Código:
local addon = config[item.cant]

Código:
local addon = config[item.actionid]

En movements.xml solamente agregas el aid este lo dejas así, si no funciona me avisas o intenta el del chico que posteo arriba.

#27 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 11:59 am

naruto6


Miembro
el de kriss me funciono perfecto, me quita los items 1 por 1 pero funciona y ya hice test llevando solo los helmet, o los chicken y no me da el addon hasta que me quite todo lo que me pide, ya el problema es que cuando me da el addon, si me vuelvo a parar me pide items nuevamente, y si me paro con 5 legion helemt me los quita nuevamente, como podría modificar lo para que una ves que me de el addon si me paro me diga que ya lo tengo o algo parecido? escribió:

si tiene un bug, si entro con el ultimo item configurado, en este caso los honeycomb, me da los addons

#28 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 12:07 pm

naruto6


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Code: Seleccionar el contenido
local addon = config[item.actionid]

En movements.xml solamente agregas el aid este lo dejas así, si no funciona me avisas o intenta el del chico que posteo arriba.

me da el siguiente error
[Tienes que estar registrado y conectado para ver esa imagen]

#29 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 1:33 pm

Kriss


Miembro
Código:
<movevent type="StepIn" uniqueid="9090" event="script" value="citizenaddon.lua"/>

Código:
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if isPlayer(cid) then
      if item.uid == 9090 then
      queststatus = getPlayerStorageValue(cid,9090)
        if queststatus == -1 then
if doPlayerRemoveItem(cid, 5859, 50) then
else if doPlayerRemoveItem(cid, 2480, 5) then
else if doPlayerRemoveItem(cid, 5902, 50) then
                doPlayerAddOutfit(cid,128,2)
                doPlayerAddOutfit(cid,136,2)
            setPlayerStorageValue(cid,9090,1)
else
doPlayerSendCancel(cid, "necesitas chiken feather x50, legion helmet x5, homy comb x50")
        else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "ya tienes este addon.")
end
end
end
end
end
return true
end

#30 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 2:20 pm

naruto6


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:
Código:
<movevent type="StepIn" uniqueid="9090" event="script" value="citizenaddon.lua"/>

Código:
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if isPlayer(cid) then
      if item.uid == 9090 then
      queststatus = getPlayerStorageValue(cid,9090)
         if queststatus == -1 then
if doPlayerRemoveItem(cid, 5859, 50) then
else if doPlayerRemoveItem(cid, 2480, 5) then
else if doPlayerRemoveItem(cid, 5902, 50) then
                doPlayerAddOutfit(cid,128,2)
                doPlayerAddOutfit(cid,136,2)
            setPlayerStorageValue(cid,9090,1)
else
doPlayerSendCancel(cid, "necesitas chiken feather x50, legion helmet x5, homy comb x50")
         else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "ya tienes este addon.")
end
end
end
end
end
return true
end

para que me funcionara me toco quitarle las siguientes linea
Código:
         else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "ya tienes este addon.")

me funciono, una ves entrego todos los items ya no me dice nada al pararme en la baldosa, ni me quita otra ves items.
pero sigue con el problema de que si voy solo con 50 honey comb me da el addon
disculpa que moleste tanto, ya has hecho bastante por mi

#31 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 2:24 pm

Godz4t4n1c


Miembro
Bro me bota este error en la consola

[26/2/2015 15:21:21] >>> Loading movements... [Error - LuaInterface::loadFile] data/movements/scripts/addons/citizen.lua:14: 'end' expected (to close 'if' at line 8) near 'else'
[26/2/2015 15:21:21] [Error - Event::checkScript] Cannot load script (data/movements/scripts/addons/citizen.lua)
[26/2/2015 15:21:21] data/movements/scripts/addons/citizen.lua:14: 'end' expected (to close 'if' at line 8) near 'else'

#32 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 3:03 pm

Kriss


Miembro
Código:
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
if isPlayer(cid) then
      if item.uid == 9090 then
      queststatus = getPlayerStorageValue(cid,9090)
        if queststatus == -1 then
else if doPlayerRemoveItem(cid, 5859, 50) then
else if doPlayerRemoveItem(cid, 2480, 5) then
else if doPlayerRemoveItem(cid, 5902, 50) then
            setPlayerStorageValue(cid,9090,1)
                doPlayerAddOutfit(cid,128,2)
                doPlayerAddOutfit(cid,136,2)
doPlayerSendOutfitWindow(cid)
else
            doPlayerSendTextMessage(cid, "necesitas chiken feather x50, legion helmet x5, homy comb x50")
        else
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "ya tienes este addon.")
end
end
end
end
end
return true
end

#33 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 3:38 pm

naruto6


Miembro
solo funciona si le quite el else a la linea 6, de lo contrario el sqm no te dice nada ni te quita nada, tampoco te da nada xD

#34 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 3:41 pm

Belerofonte


Administrador
@Godz4t4n1c

Servidor/Data/Lib/... el archivo ya existente llamado 050-function.lua, lo abres y sin quitar nada de lo que haya, arriba del todo pegas lo siguiente (si no lo tienes ya)
Código:
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

Servidor/Data/Movements/... Movements.xml
<movevent type="StepIn" uniqueid="10101; 10102" event="script" value="tile_outfit.lua"/>
Ahí pones esos o los uniqueid que gustes(que no estés usando ya en otro script). Son los que has de poner también en los tiles con el Remeres y en la tabla del siguiente script.

Servidor/Data/Movements/Scripts/... tile_outfits.lua
Código:
  local c = {
    [10101] = { -- UniqueID del tile.
      Nombre = 'Citizen', -- 'Nombre' del outfit.
      Trajes = 1, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
      Genero = {chico = 128, chica = 136}, -- LookTypes...  {...de chico, ...de chica}, ...de ese mismo Outfit.
      Objeto = { -- {Objeto requerido, Cantidad del cual},
        {5890, 50},
        {2480, 5},
        {5902, 50},
      },
    },

    [10102] = { -- UniqueID del tile.
      Nombre = 'Citizen', -- 'Nombre' del outfit.
      Trajes = 2, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
      Genero = {chico = 128, chica = 136}, -- LookTypes...  {...de chico, ...de chica}, ...de ese mismo Outfit.
      Objeto = { -- {Objeto requerido, Cantidad del cual}
        {2160, 1},
        {2159, 2},
      },
    },
}

function onStepIn(cid, item, fromPosition, toPosition)
  local v = c[item.uid]
    if v and isPlayer(cid) then
      local addon = (v.Trajes == 1 and 'el Primer' or v.Trajes == 2 and 'el Segundo' or v.Trajes == 3 and 'todos los')
        if canPlayerWearOutfit(cid, v.Genero.chico, v.Trajes) or canPlayerWearOutfit(cid, v.Genero.chica, v.Trajes) then
          return doPlayerSendCancel(cid, 'Ya posees ' .. addon .. ' addon del ' .. v.Nombre .. ' outfit.') and doSendMagicEffect(fromPosition, CONST_ME_POFF) and true -- Mensaje cuando ya se posea el addon desde antes.
        end

      local Textos, Tipos, Efecto = '', {}, {}
      local belero = true
        for _, item in pairs(v.Objeto) do
            if getPlayerItemCount(cid, item[1]) < item[2] then
                belero = false
              break
            end
        end

        if belero then
          Textos, Tipos, Efecto = 'Has adquirido ' .. addon .. ' addon del ' .. v.Nombre .. ' outfit!', MESSAGE_INFO_DESCR, CONST_ME_STUN -- Mensaje al recibir el addon, Tipo de mensaje, Efecto Mágico.
            doPlayerAddOutfit(cid, v.Genero.chico, v.Trajes)
            doPlayerAddOutfit(cid, v.Genero.chica, v.Trajes)

            for _, item in pairs(v.Objeto) do
                doPlayerRemoveItem(cid, item[1], item[2])
            end

        else
          Textos, Tipos, Efecto = 'Para adquirir ' .. addon .. ' addon del ' .. v.Nombre .. ' outfit, necesitas tener ' .. getItemsFromList(v.Objeto) .. '.', MESSAGE_STATUS_CONSOLE_BLUE, CONST_ME_POFF -- Mensaje si no se tienen los objetos necesarios, Tipo de mensaje, Efecto Mágico.
        end

        doPlayerSendTextMessage(cid, Tipos, Textos)
        doSendMagicEffect(fromPosition, Efecto)
    end

  return true
end

Zona a editar:
local c = {
[10101] = { -- UniqueID del tile.
Nombre = 'Citizen', -- 'Nombre' del outfit.
Trajes = 1, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
Genero = {chico = 128, chica = 136}, -- LookTypes... {...de chico, ...de chica}, ...de ese mismo Outfit.
Objeto = { -- {Objeto requerido, Cantidad del cual},
{5890, 50},
{2480, 5},
{5902, 50},
},
},

[10102] = { -- UniqueID del tile.
Nombre = 'Citizen', -- 'Nombre' del outfit.
Trajes = 2, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
Genero = {chico = 128, chica = 136}, -- LookTypes... {...de chico, ...de chica}, ...de ese mismo Outfit.
Objeto = { -- {Objeto requerido, Cantidad del cual}
{2160, 1},
{2159, 2},
},
},
}

Pudiendo añadir tantas líneas de objetos como quieras en la variable:
Objeto = { -- {Objeto requerido, Cantidad del cual}
{2160, 1},
{2159, 2},
},
Tal cual están expuestas: una bajo la otra y separadas por una coma.

También puedes poner todos los tiles con sus respectivos uniqueid, addons, etc... que quieras. Por ejemplo, si quisiéramos añadir para que se dé todos los Addons de Demon Hunter, pues:
local c = {
[10101] = { -- UniqueID del tile.
Nombre = 'Citizen', -- 'Nombre' del outfit.
Trajes = 1, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
Genero = {chico = 128, chica = 136}, -- LookTypes... {...de chico, ...de chica}, ...de ese mismo Outfit.
Objeto = { -- {Objeto requerido, Cantidad del cual},
{5890, 50},
{2480, 5},
{5902, 50},
},
},

[10102] = { -- UniqueID del tile.
Nombre = 'Citizen', -- 'Nombre' del outfit.
Trajes = 2, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
Genero = {chico = 128, chica = 136}, -- LookTypes... {...de chico, ...de chica}, ...de ese mismo Outfit.
Objeto = { -- {Objeto requerido, Cantidad del cual}
{2160, 1},
{2159, 2},
},
},

[10103] = { -- UniqueID del tile.
Nombre = 'Demon Hunter', -- 'Nombre' del outfit.
Trajes = 3, -- Número de addons otorgados (1 = first addon, 2 = second addon, 3 = ambos addons)
Genero = {chico = 289, chica = 288}, -- LookTypes... {...de chico, ...de chica}, ...de ese mismo Outfit.
Objeto = { -- {Objeto requerido, Cantidad del cual}
{2134, 100},
{5906, 30},
{5954, 237},
},
},

}

Registrando cada número de UniqueID de cada tile en la línea anterior del Movements.xml

Más las líneas:
Número 29:
return doPlayerSendCancel(cid, 'Ya posees ' .. addon .. ' addon del ' .. v.Nombre .. ' outfit.') and doSendMagicEffect(fromPosition, [color:3f98=00FFFF]CONST_ME_POFF) and true -- Mensaje cuando ya se posea el addon desde antes. Efecto Mágico.
Que aparecerá así:
[Tienes que estar registrado y conectado para ver esa imagen]

Número 42:
Textos, Tipos, Efecto = 'Has adquirido ' .. addon .. ' addon del ' .. v.Nombre .. ' outfit!', MESSAGE_INFO_DESCR, CONST_ME_STUN -- Mensaje al recibir el addon, Tipo de mensaje, Efecto Mágico.
Que aparecerá así:
[Tienes que estar registrado y conectado para ver esa imagen]

Número 51:
Textos, Tipos, Efecto = 'Para adquirir ' .. addon .. ' addon del ' .. v.Nombre .. ' outfit, necesitas tener ' .. getItemsFromList(v.Objeto) .. '.', MESSAGE_STATUS_CONSOLE_BLUE, CONST_ME_POFF -- Mensaje si no se tienen los objetos necesarios, Tipo de mensaje, Efecto Mágico.
Que aparecerá así:
[Tienes que estar registrado y conectado para ver esa imagen]

Los objetos necesarios aparecerán automáticamente en una listado sin que tengas que poner manualmente sus nombres y cantidades, gracias a la función de Vodka de arriba del todo.




Tipos de mensaje:
MESSAGE_STATUS_CONSOLE_RED = 18 -- Aparece solo en el LOG en Rojo.
MESSAGE_EVENT_ORANGE = 19 -- Aparece solo en el DEFAULT en Naranja.
MESSAGE_STATUS_CONSOLE_ORANGE = 20 -- Aparece solo en el DEFAULT en Naranja.
MESSAGE_STATUS_WARNING = 21 -- Aparece en la PARTE CENTRAL de la PANTALLA y en el SERVER LOG en Rojo.
MESSAGE_EVENT_ADVANCE = 22 -- Aparece en la PARTE CENTRAL de la PANTALLA y en el SERVER LOG en Blanco.
MESSAGE_EVENT_DEFAULT = 23 -- Aparece en la PARTE INFERIOR de la PANTALLA y en el SERVER LOG en Blanco.
MESSAGE_STATUS_DEFAULT = 24 -- Aparece en la PARTE INFERIOR de la PANTALLA y en el SERVER LOG en Blanco.
MESSAGE_INFO_DESCR = 25 -- Aparece en la PARTE CENTRAL de la PANTALLA y en el SERVER LOG en Verde.
MESSAGE_STATUS_SMALL = 26 -- Aparece solo en la PARTE INFERIOR de la PANTALLA en Blanco.
MESSAGE_STATUS_CONSOLE_BLUE = 27 -- Aparece solo en el DEFAULT en Azul.

Antes de comentarme, preuba y testéalo bien por si acaso.



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]

#35 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 4:10 pm

naruto6


Miembro
Belerofronte, ese script esta muy currado,  me quita todos los items a la ves, me da los addons, me dice que ya lo tengo si la vuelvo a pisar, todo perfecto a excepción de la ultima cosita, cuando piso el sqm sin los items para que me diga que necesito, me lanza este error en mi consola

[Tienes que estar registrado y conectado para ver esa imagen]

uso OTX Alpha 2, quiza sea por eso

#36 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 9:08 pm

Godz4t4n1c


Miembro
@Belerofonte
we gracias deberas gracias *-*
Te dejo tu +REP x10

#37 Re: Script de addon pisar y resivir addon el Jue Feb 26, 2015 10:09 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Belerofronte, ese script esta muy currado,  me quita todos los items a la ves, me da los addons, me dice que ya lo tengo si la vuelvo a pisar, todo perfecto a excepción de la ultima cosita, cuando piso el sqm sin los items para que me diga que necesito, me lanza este error en mi consola

[Tienes que estar registrado y conectado para ver esa imagen]

uso OTX Alpha 2, quiza sea por eso
Ya lo suponía, por ello al principio puse el nombre del usuario que creó este thread... como refiriéndome sólo a él.
... Porque aún no tengo ni idea de los scripts en esas versiones nuevas basadas en 1.0+


[Tienes que estar registrado y conectado para ver este vínculo] escribió:@Belerofonte
we gracias deberas gracias *-*
Te dejo tu +REP x10
Ok, me alegro.
Por cierto. A la próxima, en el caso en el que no hayan pasado 24 horas o no te haya contestado ningún otro usuario por este mismo medio desde que publicaste un comentario: usa la opción [Tienes que estar registrado y conectado para ver esa imagen] para añadir lo que tengas que decir y así evitar hacer spam gracias.



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]

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 2 de 2.]

Ir a la página : Precedente  1, 2

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 .