BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Item equipado que añada addon!

Item equipado que añada addon!

#1 Item equipado que añada addon! el Jue Mar 13, 2014 7:50 am

rodarutrot


Novato
Hola! queria saber si alguien podria decirme como hacer para que cuando te equipes una armadura se ponga un addon en el outfit y que cuando la quites del equipo se quite el addon! Gracias!

http://www.facebook.com/jinso.companygame

#2 Re: Item equipado que añada addon! el Jue Mar 13, 2014 10:35 am

Belerofonte


Administrador
Te vas a tu Servidor/Data/Movements/Movements.xml y en una de las líneas pegas las siguientes:
Código:
<movevent type="Equip" itemid="2463" slot="armor" event="script" value="weapddon.lua"/>
<movevent type="DeEquip" itemid="2463" slot="armor" event="script" value="weapddon.lua"/>
Luego te vas a tu Servidor/Data/Movements/Scripts...
copias un archivo.lua cualquiera de los que haya y lo pegas en esa misma carpeta,
le cambias el nombre que tenga por el de weapddon,
lo abres & sustitúyes todo lo que haya dentro a cambio de lo siguiente...
Para que se ponga un addon (1, 2 ó 3) independientemente del Outfit que se tenga:
Código:
local a = {3} -- {Número del addon que se impondrá} ({1} = 1º addon; {2} = 2º addon; {3} = Ambos addons a la vez)
  for _, v in ipairs (a) do
function onEquip(cid, item, slot)
 local o = getCreatureOutfit(cid)
 local Belero = {
  {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = v},
  {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = v}
   }
 local sexIndex = getPlayerSex(cid) + 1
  doSetCreatureOutfit(cid, Belero[sexIndex], -1)
 return true
end

function onDeEquip(cid, item, slot)
 local o = getCreatureOutfit(cid)
 local Belero = {
  {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = v},
  {lookType = o.lookType, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = v}
   }
 local sexIndex = getPlayerSex(cid) + 1
 if(hasCondition(cid, CONDITION_OUTFIT, 0, CONDITIONID_COMBAT) and o.lookAddons == Belero[sexIndex].lookAddons) then
  doRemoveCondition(cid, CONDITION_OUTFIT)
 end
  end
 return true
end
Solamente has de editar esa parte de arriba:
Código:
local a = {3} -- {Número del addon que se impondrá} ({1} = 1º addon; {2} = 2º addon; {3} = Ambos addons a la vez)
Poniéndo dentro del { } el número del addon/addons que desees
Por lo que todo lo demás que ya tenga seleccionado el jugador se pondrá automáticamente, como el color de cada parte del Outfit y el tipo del cual.

O si por ejemplo se pone una Plate Armor pero carece del Warrior Outfit no se le pondrá ningún addon:
Código:
-- Configuración Abajo --
 local c = {
  chica = 142, -- lookType de Chica de un Outfit en concreto.
  chico = 134, -- lookType de Chico de un Outfit en concreto.
  addons = 2   -- {Número de addons que se impondrá} ({1} = 1º addon; {2} = 2º addon; {3} = Ambos addons a la vez)
  }
-- Configuración Arriba --
function onEquip(cid, item, slot)
 local o = getCreatureOutfit(cid)
 local Belero = {
  {lookType = c.chica, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = c.addons},
  {lookType = c.chico, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = c.addons}
   }
 local sexIndex = getPlayerSex(cid) + 1
 if o.lookType == Belero[sexIndex].lookType then
  doSetCreatureOutfit(cid, Belero[sexIndex], -1)
 end
 return true
end

function onDeEquip(cid, item, slot)
 local o = getCreatureOutfit(cid)
 local Belero = {
  {lookType = c.chica, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = c.addons},
  {lookType = c.chico, lookHead = o.lookHead, lookBody = o.lookBody, lookLegs = o.lookLegs, lookFeet = o.lookFeet, lookAddons = c.addons}
   }
 local sexIndex = getPlayerSex(cid) + 1
 if(hasCondition(cid, CONDITION_OUTFIT, 0, CONDITIONID_COMBAT) and o.lookType == Belero[sexIndex].lookType) then
  doRemoveCondition(cid, CONDITION_OUTFIT)
 end
 return true
end

Solamente has de editar esa parte de arriba:
Código:
-- Configuración Abajo --
 local c = {
  chica = 142, -- lookType de Chica de un Outfit en concreto.
  chico = 134, -- lookType de Chico de un Outfit en concreto.
  addons = 2   -- {Número de addons que se impondrá} ({1} = 1º addon; {2} = 2º addon; {3} = Ambos addons a la vez)
  }
Dependiendo de sus parámetros explicados a su derecha.

Por lo que todo lo demás que ya tenga seleccionado el jugador se pondrá automáticamente, como el color de cada parte del Outfit.



Última edición por Belerofonte el Jue Mar 13, 2014 5:57 pm, editado 1 vez



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: Item equipado que añada addon! el Jue Mar 13, 2014 3:24 pm

Sirakx


Moderador
Aquí tienes uff me tarde demasiado por que me gusta mucho los detalles, pero creo que te gustara

En movements.xml agregas esto:


Código:

<movevent type="Equip" itemid="XXXX" slot="head" event="script" value="head.lua"/>
<movevent type="DeEquip" itemid="XXXX" slot="head" event="script" value="head.lua"/>


En itemid="XXXX" Pones el id del item que quieras y en slot="head" pones dependiendo si es helmet, shoes,etc..

Todos los que hay son head=Helmet, feet=shoes, armor=armor, legs=legs, shield=shield, necklace=cadenas etc.. Aun creo que me faltan algunos pero esos son los necesarios

y Ahora ve a data/movements/script y creas un archivo llamado head.lua y dentro pones esto:


Código:

--By: <Xx-God Rakzzo-xX>
local premium = 1 --0 para no premium 1 para si
local lvl = 20  -- level requerido
local sex = 1
local storage = 14742
local outfitHombre = 128 --citizen
local outfitMujer = 136 --citizen
local addon=
{
      lookTypeH = {lookType=outfitHombre, lookHead=0, lookBody=0, lookLegs=0, lookFeet=0, lookAddons=0},
      lookTypeM = {lookType=outfitMujer, lookHead=0, lookBody=0, lookLegs=0, lookFeet=0, lookAddons=0},
      lookTypeH1 = {lookType=outfitHombre, lookHead=0, lookBody=0, lookLegs=0, lookFeet=0, lookAddons=1},
      lookTypeM1 = {lookType=outfitMujer, lookHead=0, lookBody=0, lookLegs=0, lookFeet=0, lookAddons=1}
}
function onEquip(cid, item, slot)
   if getPlayerPremiumDays(cid) >= premium then
      if getPlayerLevel(cid) >= lvl then
         if getPlayerSex(cid) >= sex then
            doPlayerAddOutfit(cid,outfitHombre,1)
            doCreatureChangeOutfit(cid,addon.lookTypeH1)
            doSendMagicEffect(getPlayerPosition(cid),13)
            setPlayerStorageValue(cid,storage, 1)
         else
            doPlayerAddOutfit(cid,outfitMujer,1)
            doCreatureChangeOutfit(cid,addon.lookTypeM1)
            doSendMagicEffect(getPlayerPosition(cid),12)
            setPlayerStorageValue(cid,storage, 1)
         end
      else
         doPlayerSendCancel(cid,"no tienes el level "..lvl.." para equipar el addon")
      end
   else
      doPlayerSendCancel(cid,"no tienes premium en tu cuenta para montar el addon")
   end
return true
end
function onDeEquip(cid, item, slot)
   if getPlayerStorageValue(cid,storage) > 0 then
      if getPlayerSex(cid) >= sex then
         doPlayerRemOutfit(cid,outfitHombre,1)
         doCreatureChangeOutfit(cid,addon.lookTypeH)
         doSendMagicEffect(getPlayerPosition(cid),13)
         setPlayerStorageValue(cid,storage, 0)
      else
         doPlayerRemOutfit(cid,outfitMujer,1)
         doCreatureChangeOutfit(cid,addon.lookTypeM)
         doSendMagicEffect(getPlayerPosition(cid),12)
         setPlayerStorageValue(cid,storage, 0)
      end
   else
      doPlayerSendCancel(cid,"No tienes el addon")
   end
   return true
end


Y es todo Pícale al Me Gusta  -----------------------------------------------------------------------------------------------------v

http://celesta-global.net/

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 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 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 .