BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Hydra Egg en monsters

Hydra Egg en monsters

#1 Hydra Egg en monsters el Jue Ene 21, 2016 2:32 pm

Daviid95


Aprendiz
alguien tendra el escript que este funcionando al 100
que en todos los mosnters salga un hydra egg y que al ponerlo en el suelo que salga el monster que lo dropeo??

Saludos y gracias

#2 Re: Hydra Egg en monsters el Vie Ene 22, 2016 2:52 pm

Daviid95


Aprendiz
[Tienes que estar registrado y conectado para ver este vínculo] mega super duper BUMP! xD

#3 Re: Hydra Egg en monsters el Dom Ene 24, 2016 7:25 am

Daviid95


Aprendiz
@bump pequeño y silencioso :$

#4 Re: Hydra Egg en monsters el Dom Ene 24, 2016 9:19 am

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:alguien tendra el escript que este funcionando al 100
que en todos los mosnters salga un hydra egg y que al ponerlo en el suelo que salga el monster que lo dropeo??

Saludos y gracias
Creo que sabría hacer todo lo que implica el script, aunque, con el dilema de que la única forma que se me ocurre de relacionar cada huevo con cada monstruo sería vía actionid, para hacerlo eclosionar con el script de Actions.

Es decir, tener que registrar el nombre de toooodos los monstruos en una tabla y cada uno relacionarlo con cada actionid. Lo cual, obviamente puede ser un verdadero coñazo por los 600 monstruos que tendrás xD

¿Igualmente, deseas que así lo haga? En tal caso, intentaría hacerlo yo mismo, solo necesitaría que me pegues tu monsters.xml
¿O esperamos a que otro posible usuario dé con la forma de conseguir relacionarlos sin tener que nombrar a cada uno en el script y te lo haga?



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]

#5 Re: Hydra Egg en monsters el Dom Ene 24, 2016 9:29 am

Daviid95


Aprendiz
no hay problema, yo lo hago :DD!
y gracias! *-*
link del xml
[Tienes que estar registrado y conectado para ver este vínculo]

pd: agregare mas monsters, asi que si necesito moverle algo me dices D:

#6 Re: Hydra Egg en monsters el Dom Ene 24, 2016 11:04 pm

Belerofonte


Administrador
Finalmente, fue como te dije luego por el chat: no hay que registrar ningún monstruo en ninguna tabla.
Y no tuve que hacer prácticamente nada, pues los scripts ya estaban hechos por CyberM y funciones varias que ya vi en otland, yo solo los uní y quité algunos detallitos.
Por lo que, yo no poseo ningún crédito en esto



Servidor/Data/Actions/... Actions.xml
Código:
<action itemid="4850" event="script" value="monsterEgg.lua"/>

Servidor/Data/Actions/Scripts/... monsterEgg.lua
Código:
function onUse(cid, item, fromPosition, itemEx, toPosition)

  local position = getClosestFreeTile(cid, fromPosition)
    if (fromPosition.x ~= CONTAINER_POSITION) then

        if not position then
          return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM) and true
        end

        if not getTilePzInfo(fromPosition) then
          local egg = string.gsub(getItemName(item.uid), "'s egg", "")

          local summon = doCreateMonster (egg, position, true)
            if not isCreature(summon) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHROOM)
            end

            doSendMagicEffect (getThingPos(summon), CONST_ME_TELEPORT)
            doRemoveItem(item.uid, 1)

         else
            doPlayerSendDefaultCancel(cid, RETURNVALUE_ACTIONNOTPERMITTEDINANOPVPZONE)
        end

     else
        doPlayerSendCancel(cid, 'You may open this only on the ground.')
    end

  return true
end



Servidor/Data/Creaturescripts/... Creaturescripts.xml
Código:
<event type="kill" name="monsterEgg" event="script" value="monsterEgg.lua"/>
<event type="kill" name="lootList" event="script" value="lootList.lua"/>

Servidor/Data/Creaturescripts/Scripts/... monsterEgg.lua
Código:
local egg = 4850 -- Id del huevo.
function onKill(cid, target, lastHit)
    if lastHit and isMonster(target) then

      local v = getMonsterInfo(getCreatureName(target))
        if v.lookCorpse > 0 then

          local master = getCreatureMaster(target)
            if not master or master == target then

                addEvent(function(pos, newName, v)
                  local corpse = getTileItemById(pos, v.lookCorpse).uid

                    if isContainer(corpse) then
                      local item = doAddContainerItem(corpse, egg)
                        doItemSetAttribute(item, "name", string.lower(newName) .. "'s egg")
                    end
                end, 0, getThingPos(target), getCreatureName(target), v)

            end
        end
    end

   return true
end

Servidor/Data/Creaturescripts/Scripts/... lootList.lua
Código:
function onKill(cid, target, lastHit)
    if lastHit and isMonster(target) then

      local v = getMonsterInfo(getCreatureName(target))
        if v.lookCorpse > 0 then

          local master = getCreatureMaster(target)
            if not master or master == target then
                addEvent(send, 100, cid, getThingPos(target), v.lookCorpse, v.description, getPlayerParty(cid))
            end

        end
    end

    return true
end

Servidor/Data/Creaturescripts/Scripts/... login.lua (el archivo ya existente)
Código:
   registerCreatureEvent(cid, "lootList")
    registerCreatureEvent(cid, "monsterEgg")



Servidor/... Config.lua buscas la línea:
Código:
monsterLootMessage = 3
Y le pones:
Código:
monsterLootMessage = 0 -- Activado en: Creaturescripts/Scripts/monsterEgg.lua
Eso es para desactivar el típico mensaje del listado de objetos que ha loteado el monstruo exterminado. Ya que, saldrá dicho mensaje gracias a haber puesto el anterior script procedente del Creaturescripts/lootList.lua

Y realizar estos últimos pasos ha sido para que el huevo aparezca en dicha lista, ya que, en la lista que se activa desde el config.lua no salía el cual.



Servidor/Data/Items/... Items.xml Buscas el id 4850(o del huevo que vayas a usar) y le cambias el nombre, así:
Código:
   <item id="4850" article="a" name="monster's egg">
        <attribute key="weight" value="5000"/>
    </item>
¿Por qué? porque pese a que su nombre se es cambiado gracias al anterior script procedente del Creaturescripts/monsterEgg.lua, nombrando al monstruo que se ha matado... cuando sale el mensaje del lootList.lua el huevo aparece con el puñetero nombre que tenga en el Items.xml ;D

Así, mientras que en el mensaje del loot saldrá "monster's egg", al darle look al huevo saldrá por ejemplo "demon's egg".



Fuentes de las que extraje los scripts:
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]



Cualquier cosa me avisas



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]

#7 Re: Hydra Egg en monsters el Lun Ene 25, 2016 12:00 am

Daviid95


Aprendiz
gracias men! lo testeo y edito aqui mismo si me funciono

#8 Re: Hydra Egg en monsters Hoy a las 6:16 pm

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 .