• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    exp extra para premium account 0.4.0

    Compartir:

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

    1exp extra para premium account 0.4.0 Empty exp extra para premium account 0.4.0 Vie Ago 21, 2020 1:57 pm

    AmonGod

    AmonGod
    Miembro
    Miembro
    hola amigos de TibiaFace le quiero compartir este scripst que me encontre por alli investigando... se trata de exp extra para playesr premium account para 0.4.0

    Ok vamos a data/lib abrimos el archivo llamado 050-function.lua y pegamos esto en la parte superior:

    Código:

    function doPlayerSetSkills(cid, value)
        for i = 0, 8 do
            doPlayerSetRate(cid, i, value)
        end
    end

    luego vamos a data/creaturescripts abrimos el archivo login.lua y buscamos esta linea:

    Código:

    function onLogin(cid)

    DEBAJO de esta linea pegamos:

    Código:

    if isPremium(cid) then
          doPlayerSetExperienceRate(cid, 1.5)
          doPlayerSetSkills(cid, 1.5)
          doPlayerSetMagicRate(cid, 1.5)
          doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are premium, enjoy 50% extra experience, skills and magic level rates.")
       end

    deberia quedarles de esta manera:

    Código:

    function onLogin(cid)
       if isPremium(cid) then
          doPlayerSetExperienceRate(cid, 1.5)
          doPlayerSetSkills(cid, 1.5)
          doPlayerSetMagicRate(cid, 1.5)
          doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You are premium, enjoy 50% extra experience, skills and magic level rates.")
       end

    Cambie (cid, 1.5) por la tasa que desee, por ejemplo, si desea un 22 por ciento más, luego ponga un 1.22, debería verse así (cid, 1.22)

    ¡A CONTINUACION PUEDEN AGREGAR UN MEJOR LUT PARA PREMIUM!

    vaya a la carpeta mods y cree un archivo XML llamado premiumloot.xml y alli pegue esto:

    Código:

    <?xml version="1.0" encoding="UTF-8"?>
    <mod name="Premium Loot Rate" version="1.0" author="Cykotitan" contact="otland.net" enabled="yes">
       <event type="kill" name="plr" event="script"> <![CDATA[
    local premRate = 7 -- loot rate for premium players
     
    local rate = getConfigInfo('rateLoot') -- the normal rate, don't change
     
    function getContentDescription(uid, comma)
       local ret, i, containers = '', 0, {}
       while i < getContainerSize(uid) do
          local v, s = getContainerItem(uid, i), ''
          local k = getItemInfo(v.itemid)
          if k.name ~= '' then
             if v.type > 1 and k.stackable and k.showCount then
                s = v.type .. ' ' .. getItemInfo(v.itemid).plural
             else
                local article = k.article
                s = (article == '' and '' or article .. ' ') .. k.name
             end
             ret = ret .. (i == 0 and not comma and '' or ', ') .. s
             if isContainer(v.uid) and getContainerSize(v.uid) > 0 then
                table.insert(containers, v.uid)
             end
          else
             ret = ret .. (i == 0 and not comma and '' or ', ') .. 'an item of type ' .. v.itemid .. ', please report it to gamemaster'
          end
          i = i + 1
       end
       for i = 1, #containers do
          ret = ret .. getContentDescription(containers[i], true)
       end
       return ret
    end
     
    local function send(cid, pos, corpseid, monster, party)
       local corpse = getTileItemById(pos, corpseid).uid
       local ret = isContainer(corpse) and getContentDescription(corpse)
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'))
       if party then
          for _, pid in ipairs(getPartyMembers(party)) do
             doPlayerSendChannelMessage(pid, '', 'Loot of ' .. monster .. ': ' .. (ret ~= '' and ret or 'nothing'), TALKTYPE_CHANNEL_W, CHANNEL_PARTY)
          end
       end
    end
     
    local function createLoot(i, ext)
       local item = type(i.id) == 'table' and i.id[math.random(#i.id)] or i.id
       local random = math.ceil(math.random(100000) / (ext and premRate or rate))
       local tmpItem
     
       if random < i.chance then
          tmpItem = doCreateItemEx(item, getItemInfo(item).stackable and random % i.count + 1 or 1)
       end
     
       if not tmpItem then
          return
       end
     
       if i.subType ~= -1 then
          doItemSetAttribute(tmpItem, 'subType', i.subType)
       end
     
       if i.actionId ~= -1 then
          doItemSetAttribute(tmpItem, 'aid', i.actionId)
       end
     
       if i.uniqueId ~= -1 then
          doItemSetAttribute(tmpItem, 'uid', i.uniqueId)
       end
     
       if i.text ~= '' then
          doItemSetAttribute(tmpItem, 'text', i.text)
       end
     
       return tmpItem
    end
     
    local function createChildLoot(parent, i, ext)
       if #i == 0 then
          return true
       end
     
       local size, cap = 0, getContainerCap(parent)
       for k = 1, #i do
          if size == cap then
             break
          end
          local tmp = createLoot(i[k], ext)
          if tmp then
             if isContainer(tmp) then
                if createChildLoot(tmp, i[k].child, ext) then
                   doAddContainerItemEx(parent, tmp)
                   size = size + 1
                else
                   doRemoveItem(tmp)
                end
             else
                doAddContainerItemEx(parent, tmp)
                size = size + 1
             end
          end
       end
     
       return size > 0
    end
     
    local function dropLoot(pos, v, ext)
       local corpse = getTileItemById(pos, v.lookCorpse).uid
       if isContainer(corpse) then
          for i = 1, getContainerSize(corpse) do
             doRemoveItem(getContainerItem(corpse, 0).uid)
          end
          local size, cap = 0, getContainerCap(corpse)
          for i = 1, #v.loot do
             if size == cap then
                break
             end
             local tmp = createLoot(v.loot[i], ext)
             if tmp then
                if isContainer(tmp) then
                   if createChildLoot(tmp, v.loot[i].child, ext) then
                      doAddContainerItemEx(corpse, tmp)
                      size = size + 1
                   else
                      doRemoveItem(tmp)
                   end
                else
                   doAddContainerItemEx(corpse, tmp)
                   size = size + 1
                end
             end
          end
       end
    end
     
    function onKill(cid, target, damage, flags)
       if isInArray({1,3}, flags) 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(dropLoot, 0, getThingPos(target), v, isPremium(cid))
             end
             addEvent(send, 100, cid, getThingPos(target), v.lookCorpse, v.description, getPlayerParty(cid))
          end
       end
       return true
    end
       ]]></event>
    <event type="login" name="Premium Loot Rate" event="buffer"><![CDATA[
       registerCreatureEvent(cid, 'plr')
    ]]></event>
    </mod>

    Aquí solo tiene que modificar premRate local = 7 que siete para la nueva tasa que desee


    creditos:
    kito2 de OTLand

    2 participantes

    2exp extra para premium account 0.4.0 Empty Re: exp extra para premium account 0.4.0 Vie Ago 21, 2020 5:32 pm

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    data/creaturescripts/scripts

    Código:
    function onLogin(cid)
    if getPlayerPremiumDays(cid) >= 1 then
    doPlayerSetExperienceRate(cid, 1.15) -- 1.15 = +15% experience, change as you wish. Example: 2.0 = double exp
    else
    doPlayerSetExperienceRate(cid, 1.0) -- returns to normal rate when premium days expire
    end
    return true
    end



    creaturescripts/creaturescripts.xml
    Código:


    <event type="login" name="extraPremExp" event="script" value="premiumCheck.lua"/>

    creaturescripts/scripts/login.lua
    Código:


    registerCreatureEvent(cid, "extraPremExp")



    exp extra para premium account 0.4.0 YNU5B25
    2 participantes
    http://www.tibiaface.com

    3exp extra para premium account 0.4.0 Empty Re: exp extra para premium account 0.4.0 Vie Ago 21, 2020 8:17 pm

    AmonGod

    AmonGod
    Miembro
    Miembro
    amigo mio ese me da error en cosola funciona para 0.4.0?

    2 participantes

    Contenido patrocinado


    2 participantes

    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.

     

    BienvenidosTibiaFace es una comunidad de Open Tibia. Para participar debes estar registrado (click para Regístrate).