• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [CreatureEvents] Event Loot

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

    1default [CreatureEvents] Event Loot el Jue Mar 13, 2014 12:43 am

    [Admin] God Maya

    avatar
    Administrador
    Administrador
    Tested en TFS 0.3.6

    Bueno amigos antes para los eventos navideños o de carnaval o cualquier festejo en nuestros servidor tibia teníamos que estar quitando y agregando los moustro del eventos o moviendo casi todos los moustros ahora con este script podremos agregar un loot o varios loot extra a todos los moustros  en nuestro dia festivo dicho esto vamos a instalación del scripts




    primeramente cuando añadamos este script en nuestro servidor tendremos que cancelar monsterLootMessage
    nos vamos a config.lua y cancelamos asi el monsterLootMessage porque si no lo Hacemos tendremos doble loot mensaje :

    Código:
    monsterLootMessage = 0

    En creaturescripts.xml agregamos la siguiente tag:

    Código:
    <event type="kill" name="EventLoot" event="script" value="eventloot.lua"/>

    en data/creaturescripts/scripts/login.lua Abrimos el archivo y editamos con block de notas y añadimos esta linea


    Código:
    registerCreatureEvent(cid, "EventLoot")

    En data/creaturescripts/scripts/  copiamos cualquier archivo y le colocamos el nombre de eventloot.lua y pegamos dentro esto:

    Código:
    local items = {
     {id = 8110, count = 1, chance = 20},
     {id = 6570, count = 1, chance = 35},
     {id = 6571, count = 1, chance = 45}
    }
     
    function getCorpseItemsDescriptions(uid)
     local size, i = getContainerSize(uid), 0
     local result = ""
     while i < size do
     local ret = ", "
     if i == 0 then
    ret = ""
     end
     result = result .. ret
     local v = getContainerItem(uid, i)
     local info = getItemInfo(v.itemid)
    if v.type > 0 and isItemStackable(v.itemid) then
    result = result .. v.type .. " " .. info.plural
     else
    result = result .. info.article .. " " .. info.name
     end
     i = i + 1
     end
     return result
    end
     
    local function addLoot(cid, pos, info)
     local c = math.random(1, 100)
     local corpse = getTileItemById(pos, info.lookCorpse).uid
     if isContainer(corpse) then
     for x = 1, #items, 1 do
     if c < items[x].chance then
     doAddContainerItem(corpse, items[x].id, items[x].count)
     local loot = getCorpseItemsDescriptions(corpse)
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Loot of " .. info.description .. ": " .. (loot ~= "" and loot or "nothing")..".")
     return true
     else
     c = c - items[x].chance
     end
     end
     end
     return true
    end
     
    function onKill(cid, target)
     
    if isPlayer(target) then
     return true
     end
     local info = getMonsterInfo(getCreatureName(target))
     addEvent(addLoot, 1, cid, getCreaturePosition(target), info)
     return true
    end


    Zona editable:

    Código:
    local items = {
     {id = 8110, count = 1, chance = 20},
     {id = 6570, count = 1, chance = 35},
     {id = 6571, count = 1, chance = 45}
    }

    id: es el id del item

    count: es la cantidad

    chance: es oportunidad o suerte de obtener un objeto

    si quieren añadir un objeto mas no se deven de olvidar que la ultima linea no lleva coma el objeto pintado de color fue el que añadi


            {id = 8110, count = 1, chance = 20},
    {id = 6570, count = 1, chance = 35},
            {id = 2520, count = 1, chance = 35},
    {id = 6571, count = 1, chance = 45}



    Última edición por [Admin] God Maya el Jue Mar 13, 2014 12:45 am, editado 1 vez (Razón : prefijo)



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

    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.