• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx)

    Compartir:

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

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador


    name = "VIP System";
    author = "Mock";
    version = "1.0.0.0"
    ;



    1.-te vas a data/lib copias cualquier archivo y renombras por 049-vipsys.lua y pegas esto dentro:

    Código:
    vip = {
    name = "VIP System";
    author = "Mock";
    version = "1.0.0.0";
    query="ALTER TABLE `accounts` ADD `vip_time` INTEGER";
    query2="ALTER TABLE `accounts` ADD `vip_time` INT(15) NOT NULL"
    }

    function vip.setTable()
    dofile('config.lua')
    if sqlType == "sqlite" then
    db.executeQuery(vip.query)
    else
    db.executeQuery(vip.query2)
    end
    end

    function vip.getVip(cid)
    assert(tonumber(cid),'Parameter must be a number')
    if isPlayer(cid) == FALSE then error('Player don\'t find') end;
    ae = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..getPlayerAccount(cid).."';")
    if ae:getID() == -1 then
    return 0
    end

    local retee = ae:getDataInt("vip_time") or 0
    ae:free()
    return retee
    end

    function vip.getVipByAcc(acc)
    assert(acc,'Account is nil')
    local a = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';")
    if a:getID() ~= -1 then
    return a:getDataInt("vip_time") or 0, a:free()
    else
    error('Account don\'t find.')
    end
    end

    function vip.setVip(cid,time)
    dofile("config.lua")
    assert(tonumber(cid),'Parameter must be a number')
    assert(tonumber(time),'Parameter must be a number')
    if isPlayer(cid) == FALSE then error('Player don\'t find') end;
    db.executeQuery("UPDATE `"..sqlDatabase.."`.`accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='".. getPlayerAccount(cid).."';")
    end

    function vip.getVipByAccount(acc)
    assert(acc,'Account is nil')
    return db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';"):getDataInt("vip_time") or 0
    end

    function vip.hasVip(cid)
    assert(tonumber(cid),'Parameter must be a number')
    if isPlayer(cid) == FALSE then return end;
    local t = vip.getVip(cid) or 0
    if os.time(day) < t then
    return TRUE
    else
    return FALSE
    end
    end

    function vip.hasVips(cid)
    assert(tonumber(cid),'Parameter must be a number')
    if isPlayer(cid) == FALSE then return end;
    local t = vip.getVip(cid)
    if os.time(day) < t then
    return TRUE
    else
    return FALSE
    end
    end

    function vip.accountHasVip(acc)
    assert(acc,'Account is nil')
    if os.time() < vip.getVipByAccount(acc) then
    return TRUE
    else
    return FALSE
    end
    end
    function vip.getDays(days)
    return (3600 * 24 * days)
    end

    function vip.addVipByAccount(acc,time)
    assert(acc,'Account is nil')
    assert(tonumber(time),'Parameter must be a number')
    local a = vip.getVipByAcc(acc)
    a = os.difftime(a,os.time())
    if a < 0 then a = 0 end;
    a = a+time
    return vip.setVipByAccount(acc,a)
    end

    function vip.setVipByAccount(acc,time)
    dofile("config.lua")
    assert(acc,'Account is nil')
    assert(tonumber(time),'Parameter must be a number')
    db.executeQuery("UPDATE `accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='"..acc.."';")
    return TRUE
    end

    function vip.returnVipString(cid)
    assert(tonumber(cid),'Parameter must be a number')
    if isPlayer(cid) == TRUE then
    return os.date("%d %B %Y %X ", vip.getVip(cid))
    end
    end

    2.- te vas a data/creaturescrpits/scripts copias cualquier archivo y renombras por fimvip.lua y pegas esto dentro:

    Código:
    function onLogin(cid)
    local temple = { x =32369, y = 32246, z = 6}
    if vip.hasVip(cid) == true then
    if getPlayerStorageValue(cid,55555) ~= 1 then
    setPlayerStorageValue(cid,55555,1)
    end
    else
    if getPlayerStorageValue(cid,55555) == 1 then
    doTeleportThing(cid, temple)
    doPlayerSendTextMessage(cid, 22, "Your VIP Time over!")
    db.executeQuery("UPDATE `accounts` SET `vip_time` = 0 WHERE `id` = ".. getAccountIdByName(getPlayerName(cid)) ..";")
    setPlayerPromotionLevel(cid, 1)
    setPlayerStorageValue(cid, 55555, 0)
    end
    end
    return true
    end


    editas local temple = {x=32369, y=32246, z=6}. por son las cordenadas donde sera teleportado el player cuando se termine su vip.


    3-te vas a data/creaturescripts/scripts/login.lua y añades esta linea:

    Código:
    registerCreatureEvent(cid, "FimVip")
    registerCreatureEvent(cid, "VipReceive")

    4.-en data/creaturescripts/creaturescripts.xml adicione está tag:

    Código:
    <event type="login" name="FimVip" event="script" value="fimvip.lua"/>


    5.-en data\movements\scripts copie cualquier archivo y renombre por viptile.lua y pegue esto dentro

    Código:
    function onStepIn(cid, item, position, fromPosition)

    local tileConfig = {
    kickPos = fromPosition, kickEffect = CONST_ME_POFF,
    kickMsg = "You need to be a vip player to access this area.",
    enterMsg = "Welcome to vip area!",
    enterEffect = CONST_ME_MAGIC_RED,
    }

    if isPlayer(cid) == true then
    if vip.hasVip(cid) == FALSE then
    doTeleportThing(cid, tileConfig.kickPos)
    doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
    doPlayerSendCancel(cid, tileConfig.kickMsg)
    return
    end
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
    doSendMagicEffect(position, tileConfig.enterEffect)
    return true
    end
    end


    6.- En data\movements\movements.xml adicione a tag:


    Código:
    <movevent type="StepIn" actionid="13500" event="script" value="viptile.lua"/>


    en el rme coloque este ActionID : 13500 en el sqm que es el que no le permitira al player pasar si no tiene vip


    7.- en data/talkactions/scripts copie 7 archivos.lua y renombre por:


    add.lua y pegue dentro

    Código:
    function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, "Added "..param.." Vip Days.")
    return doPlayerAddVipDays(cid, param)
    end

    addvipp.lua y pegue dentro

    Código:
    function onSay(cid, words, param)
    if param == "" then
    return doPlayerPopupFYI(cid,"Está com problemas?\nAprenda os comandos!\n---------------\nAdicionar vip:\n/vip add days player\n/vip add 30 Real\n---------------\nDeletar vip:\n/vip del player\n/vip del Real\n---------------\nVer a vip:\n/vip see player\n/vip see Real\n---------------\n")
    end
    if param:lower():find('add') == 1 and 3 then
    local _,_,id,name = param:lower():find('add (%d+) (.+)')
    name = name or ""
    id = tonumber(id or 1) or 1
    if tonumber(id) == nil or getPlayerByName(name) == false then
    return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Adicionar vip:\n/vip add days player\n/vip add 30 Real\n [Player: "..name.."]")
    end
    if isPlayer(getPlayerByName(name)) == TRUE then
    vip.addVipByAccount(getPlayerAccount(getPlayerByName(name)) ,vip.getDays(id))

    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"Foram adicionados "..tonumber(id).." dias de vip a "..name..".")
    doPlayerSendTextMessage(getPlayerByName(name),MESSAGE_INFO_DESCR,"Você recebeu "..tonumber(id).." dias de vip.")
    else
    doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,name.." não esta online ou não existe.")
    end
    elseif param:lower():find('del') == 1 and 3 then
    local _,_,name = param:lower():find('del (.+)')
    if getPlayerByName(name) == false then
    return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Deletar vip:\n/vip del player\n/vip del Real\n")
    end

    vip.setVipByAccount(getPlayerAccount(getPlayerByName(name)),-os.time())
    doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"A vip de "..name.." foi apagada.")
    elseif param:lower():find('see') == 1 and 3 then
    local _,_,name = param:lower():find('see (.+)')
    name = name or ""
    if getPlayerByName(name) == false then
    return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Ver a vip:\n/vip see player\n/vip see Real\n")
    end
    local ret_ = vip.getVip(getPlayerByName(name))
    if ret_ == 0 then
    return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,name.." Não tem vip, e nunca teve.")
    else
    return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A vip de "..name.." Acaba/terminou em "..os.date("%d %B %Y %X ",ret_))
    end
    end
    return TRUE
    end

    get.lua y pegue dentro

    Código:
    function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, ""..getPlayerVipDays(cid).." days VIP left.")
    end

    is.lua y pegue dentro

    Código:
    function onSay(cid, words, param, channel)
    if isPlayerVip(cid) == TRUE then
    doPlayerSendCancel(cid, "You are a VIP player.")
    else
    doPlayerSendCancel(cid, "You are not a VIP player.")
    end
    end


    removevip.lua
    y pegue dentro

    Código:
    function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, "Vip removed.")
    return doPlayerRemoveVip(cid)
    end

    set.lua y pegue dentro

    Código:
    function onSay(cid, words, param, channel)
    doPlayerSendCancel(cid, "VIP Days: "..param..".")
    return setPlayerVipDays(cid, param)
    end

    vipdays.lua y pegue dentro

    Código:
    function onSay(cid, words, param)
    if vip.hasVip(cid) == TRUE then
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your vip end in "..os.date("%d %B %Y %X ",vip.getVip(cid)))
    else
    if vip.getVip(cid) ~= 0 then
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're not a vip player. Your vip has finished in "..os.date("%d %B %Y %X ", vip.getVip(cid)).." and now is "..os.date("%d %B %Y %X ", os.time()))
    else
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You're not a vip player. You naver has a vip.")
    end
    end
    return TRUE
    end


    8° - En data/talkactions/talkactions.xml adicione está tag:

    Código:
    <talkaction log="yes" words="/vip" access="5" event="script" value="VIP/addvipp.lua" />
    <talkaction words="!vipdays" event="script" value="VIP/vipdays.lua" />

    9° - para terminar ejecute esta tabla en su base de datos:

    si tiene mysql:

    Código:
    ALTER TABLE `accounts` ADD `vip_time` INT(15) NOT NULL

    si tiene sqlite

    Código:
    ALTER TABLE `accounts` ADD `vip_time` INTEGER


    y listo.



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Sotomayor

    Sotomayor
    Miembro
    Miembro
    Ese sistema esta perfecto! yo lo uso amigo, hay manera de aplicar vip por ejemplo con item y te de 3 dias? ya que solo se otorga con comando o por medio de la pagina amigo? saludos

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Ese sistema esta perfecto! yo lo uso amigo, hay manera de aplicar vip por ejemplo con item y te de 3 dias? ya que solo se otorga con comando o por medio de la pagina amigo? saludos

    Código:

    function onUse(cid, item, fromPos, itemEx, toPos)
    vip.addVipByAccount(getPlayerAccount(cid), vip.getDays(1)) -----> 1 dia
    doPlayerSendTextMessage(cid, 20, "Obtuviste 1 dias de VIP!")
    doRemoveItem(item.uid, 1)
    return true
    end


    ahi esta el action ya usted elige el item que quiera que le de la vip



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    ElizaldeG

    ElizaldeG
    Miembro
    Miembro
    Como puedo configurar para que con un items el usuario pueda tener vip 1 dia

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Como puedo configurar para que con un items el usuario pueda tener vip 1 dia

    ahi esta ahi comente

    [Tienes que estar registrado y conectado para ver este vínculo]

    a esa persona



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    ElizaldeG

    ElizaldeG
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Como puedo configurar para que con un items el usuario pueda tener vip 1 dia

    ahi esta ahi comente

    [Tienes que estar registrado y conectado para ver este vínculo]

    a esa persona

    Ya puse el codigo con este items <action itemid="9653" script="vip/vip.lua"/>

    Al momento de usar se habre una ventana de texto y no da vip.

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Como puedo configurar para que con un items el usuario pueda tener vip 1 dia

    ahi esta ahi comente

    [Tienes que estar registrado y conectado para ver este vínculo]

    a esa persona

    Ya puse el codigo con este items <action itemid="9653" script="vip/vip.lua"/>

    Al momento de usar se habre una ventana de texto y no da vip.


    y para que usa ese item que abre un ventanda de texto use otro



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    ElizaldeG

    ElizaldeG
    Miembro
    Miembro
    [quote="[Admin] God Maya"][quote="ElizaldeG"]
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Como puedo configurar para que con un items el usuario pueda tener vip 1 dia

    ahi esta ahi comente

    [Tienes que estar registrado y conectado para ver este vínculo]

    a esa persona

    Ya funciono como puedo hacer que se habrán las puertas. Que tenia con el otro sistema.

    ActionID 5788

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [quote="ElizaldeG"][quote="[Admin] God Maya"]
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Como puedo configurar para que con un items el usuario pueda tener vip 1 dia

    ahi esta ahi comente

    [Tienes que estar registrado y conectado para ver este vínculo]

    a esa persona

    Ya funciono como puedo hacer que se habrán las puertas. Que tenia con el otro sistema.

    ActionID 5788


    Código:

    function onUse(cid, item, frompos, item2, topos)
    if vip.hasVip(cid) >= 1 then
    pos = getPlayerPosition(cid)
    if pos.x == topos.x then
    if pos.y < topos.y then
    pos.y = topos.y + 1
    else
    pos.y = topos.y - 1
    end
    elseif pos.y == topos.y then
    if pos.x < topos.x then
    pos.x = topos.x + 1
    else
    pos.x = topos.x - 1
    end
    else
    doPlayerSendTextMessage(cid,22,"Fique de frente com a porta.")
    return true
    end
    doTeleportThing(cid,pos)
    doSendMagicEffect(topos,12)
    else
    doPlayerSendTextMessage(cid,22,'Precisar ser VIP Account para passar por aqui.')
    end
    return true
    end


    Código:
    <action actionid="xxxx" event="script" value="vip/vipdoor.lua"/>

    xxxx -----> actionid que no este ocupando y que colocara a la puerta con rme en l parte actionid

    nota: si tienes algun error cambia esta linea
    Código:

    if vip.hasVip(cid) >= 1 then

    a esta otra
    Código:

    if vip.hasVip(cid) == TRUE then


    para un piso en moveevents

    Código:
    <movevent type="StepIn" actionid="13500" event="script" value="vip/viptile.lua"/>

    135000 actionid que s colocran en el piso con el rme

    Código:

    function onStepIn(cid, item, position, fromPosition)
    local tileConfig = {
        kickPos = fromPosition, kickEffect = CONST_ME_POFF,
        kickMsg = "You need to be a vip player to access this area.",
        enterMsg = "Welcome to vip area!",
        enterEffect = CONST_ME_MAGIC_RED,
    }
    if isPlayer(cid) == true then
    if vip.hasVip(cid) == FALSE then
            doTeleportThing(cid, tileConfig.kickPos)
            doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
            doPlayerSendCancel(cid, tileConfig.kickMsg)
            return
        end
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
            doSendMagicEffect(position, tileConfig.enterEffect)
            return true
    end
    end



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Sotomayor

    Sotomayor
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Ese sistema esta perfecto! yo lo uso amigo, hay manera de aplicar vip por ejemplo con item y te de 3 dias? ya que solo se otorga con comando o por medio de la pagina amigo? saludos

    Código:

    function onUse(cid, item, fromPos, itemEx, toPos)
    vip.addVipByAccount(getPlayerAccount(cid), vip.getDays(1)) -----> 1 dia
    doPlayerSendTextMessage(cid, 20, "Obtuviste 1 dias de VIP!")
    doRemoveItem(item.uid, 1)
    return true
    end


    ahi esta el action ya usted elige el item que quiera que le de la vip

    Gracias maya! me anduvo perfecto el script del action =)

    Ver perfil de usuario

    Krapula

    Krapula
    Miembro
    Miembro
    Maya todo lo hice tal cual hasta este punto
    si tiene sqlite

    PunBB expand Copiar Codigo popup ?
    ALTER TABLE `accounts` ADD `vip_time` INTEGER


    y listo.

    alli no supe como hacerlo y tambien lo corri sin hacer eso y me dio estos erroes

    3/2/2019 4:48:37] >>> Loading talkactions... [Error - LuaInterface::loadFile] cannot open data/talkactions/scripts/VIP/addvipp.lua: No such file or directory
    [13/2/2019 4:48:37] [Error - Event::checkScript] Cannot load script (data/talkactions/scripts/VIP/addvipp.lua)
    [13/2/2019 4:48:37] cannot open data/talkactions/scripts/VIP/addvipp.lua: No such file or directory
    [13/2/2019 4:48:37] [Error - LuaInterface::loadFile] cannot open data/talkactions/scripts/VIP/vipdays.lua: No such file or directory
    [13/2/2019 4:48:37] [Error - Event::checkScript] Cannot load script (data/talkactions/scripts/VIP/vipdays.lua)
    [13/2/2019 4:48:37] cannot open data/talkactions/scripts/VIP/vipdays.lua: No such file or directory

    Ver perfil de usuario https://www.facebook.com

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Maya todo lo hice tal cual hasta este punto
    si tiene sqlite

    PunBB expand Copiar Codigo popup ?
    ALTER TABLE `accounts` ADD `vip_time` INTEGER


    y listo.

    alli no supe como hacerlo y tambien lo corri sin hacer eso y me dio estos erroes

    3/2/2019 4:48:37] >>> Loading talkactions... [Error - LuaInterfaceFile] cannot open data/talkactions/scripts/VIP/addvipp.lua: No such file or directory
    [13/2/2019 4:48:37] [Error - EventScript] Cannot load script (data/talkactions/scripts/VIP/addvipp.lua)
    [13/2/2019 4:48:37] cannot open data/talkactions/scripts/VIP/addvipp.lua: No such file or directory
    [13/2/2019 4:48:37] [Error - LuaInterfaceFile] cannot open data/talkactions/scripts/VIP/vipdays.lua: No such file or directory
    [13/2/2019 4:48:37] [Error - EventScript] Cannot load script (data/talkactions/scripts/VIP/vipdays.lua)
    [13/2/2019 4:48:37] cannot open data/talkactions/scripts/VIP/vipdays.lua: No such file or directory



    esto es pra ejecutar en sqlitestudio para lo que usan account manager

    ALTER TABLE `accounts` ADD `vip_time` INTEGER


    lo demas dice que los directorios de los archivo que muestra estan incorrectos no los encuentra



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Krapula

    Krapula
    Miembro
    Miembro
    claro, amigo maya yo se que eso es para ejecutar en el Sqlite yo tengo abierto el Sqlite pero no tengo ninguna idea de donde colocarlo o como colocarlo o donde va, no puedo solo abrir el sqlite y pegar xq no hace nada Very Happy me explicas rapidin como colocarlo? ami y algun otra persona que ignore esto en un futuro?

    Ver perfil de usuario https://www.facebook.com

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:claro, amigo maya yo se que eso es para ejecutar en el Sqlite yo tengo abierto el Sqlite pero no tengo ninguna idea de donde colocarlo o como colocarlo o donde va, no puedo solo abrir el sqlite y pegar xq no hace nada Very Happy me explicas rapidin como colocarlo? ami y algun otra persona que ignore esto en un futuro?

    en el sqlitestudio hay lapiz le das clic ahi y se te abrira un ventano en otro al pie delprogrmas hay uan ventas donde te pedimite pegar texto y te aparece arriba un rayo amarillo dodne le das clic para ejecutar



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Krapula

    Krapula
    Miembro
    Miembro
    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) NCFzEOm
    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) OsDNdC2

    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) UDYuo7N

    Ver perfil de usuario https://www.facebook.com

    Diliwi

    Diliwi
    Miembro
    Miembro
    excelente, pero.. consulta como adicinar para que al ser vip la exp sea multiplicada? ejemplo x2


    atento a respuesta



    Diliwi

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:excelente, pero.. consulta como adicinar para que al ser vip la exp sea multiplicada? ejemplo x2


    atento a respuesta



    Diliwi

    Aqui tienes

    Código:

    function onLogin(cid)

    local rate = 2
       if vip.hasVip(cid) == true then
          doPlayerSetExperienceRate(cid, rate)
          doPlayerSendTextMessage(cid,19, "Exp Stage = " .. getConfigValue("rateExperience")*rate .. ".")
       else
            doPlayerSendTextMessage(cid,19, 'Purchase VIP and get more EXP from monsters!')
    end
    return TRUE
    end

    Lo risgistra al igual que finvip del sistema



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    Diliwi

    Diliwi
    Miembro
    Miembro
    gracias, bucando igual encontre esta manera, ya que te avisa al entrar que si fueras vip tendrias X exp adicional y siendo vip tienes X exp adicional

    Creaturescript/script

    vipexp.lua

    Código:

    Creaturescript/script 
    vipexp.lua


    function onLogin(cid)

    local rate = 1.3 -- 30%
    local config = {
    vip = "tienes "..((rate - 1)*100).."% de exp mas ahora!",
    notvip = "Cuentas vip tienen "..((rate - 1)*100).."% mas de experiencia!",
    }

    if vip.hasVip(cid) == FALSE then 
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.notvip)
    else
    doPlayerSetExperienceRate(cid, rate)
    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.vip)
    end
    return TRUE
    end


    en Creaturescript/script/

    login.lua
    Código:
    registerCreatureEvent(cid, "ExpVip")

    y en Creaturescript.xml

    Código:
    <event type="login" name="ExpVip" script="vipexp.lua"/>

    espero sea util
    Saludos!

    Ver perfil de usuario

    Mezzony

    Mezzony
    Nuevo Miembro
    Nuevo Miembro
    Hola amigo como hago para que en vez de comandos se otorge con item?

    Ver perfil de usuario

    [Admin] God Maya

    [Admin] God Maya
    Administrador
    Administrador
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Hola amigo como hago para que en vez de comandos se otorge con item?

    [Tienes que estar registrado y conectado para ver este vínculo]


    la los comentarios ahi coloque el script para que sea por items



    [Sistema] VIP System (Mock tfs 0.3.7/0.4.0 / Otx) YNU5B25
    Ver perfil de usuario https://www.tibiaface.com

    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.

    Temas Recomendados×+

       

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