• TibiaFace

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

    .
    demo menumenu

    Afiliados



    Votar:

    [Pedido] PUERTA POR VOCACION

    Compartir:

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

    1default [Pedido] PUERTA POR VOCACION el Mar Jun 20, 2017 2:17 pm

    Fosfik

    Fosfik
    Miembro
    Miembro
    Hola buen dia, estoy buscando un script de puerta por vocacion, 4 puertas para 4 vocaciones.

    Agradezco tu atencion y su ayuda.


    Buen dia Smile

    2default Re: [Pedido] PUERTA POR VOCACION el Mar Jun 20, 2017 2:33 pm

    Aslak

    Aslak
    Nuevo Miembro
    Nuevo Miembro
    Lo unico que tienes que hacer es agregar un unico id a las puertas

    Código:
    local t = {
        coords = {x = 1000, y = 1000, z = 7},
        requiredlevel = 10,
        vocations = {1, 2, 3, 4, 5, 6, 7, 8}
    }
     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        if isInArray(t.vocations, getPlayerVocation(cid)) and getPlayerLevel(cid) >= t.requiredlevel and getPlayerItemCount(cid, 2159) >= 50 then
            doTeleportThing(cid, t.coords, TRUE)
            doPlayerRemoveItem(cid, 2159, 50)
        else
            doPlayerSendCancel(cid, "Sorry not possible.")
            end
        return true
    end

    Si no te funciona utiliza uno mas complejo

    function onUse(cid, item, topos)
    local doors = {
    [8651] = {vocation = {1, 5, 9}, messageFail = "Sorry, you need to be a Sorcerer, Master Sorcerer to pass."},
    [8652] = {vocation = {2, 6, 10}, messageFail = "Sorry, you need to be a Druid, Elder Druid to pass."},
    [8653] = {vocation = {3, 7, 11}, messageFail = "Sorry, you need to be a Paladin, Royal Paladin to pass."},
    [8654] = {vocation = {4, 8, 12}, messageFail = "Sorry, you need to be a Knight, Elite Knight to pass."},
    }




    if (isInArray(doors[item.actionid].vocation, getPlayerVocation(cid))) 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
    doTeleportThing(cid,pos)
    doSendMagicEffect(topos,12)
    end
    else
    doPlayerSendCancel(cid, doors[item.actionid].messageFail)
    end
    return true
    end

    3default Re: [Pedido] PUERTA POR VOCACION el Mar Jun 20, 2017 2:49 pm

    Fosfik

    Fosfik
    Miembro
    Miembro
    [Tienes que estar registrado y conectado para ver este vínculo] escribió:Lo unico que tienes que hacer es agregar un unico id a las puertas

    Código:
    local t = {
        coords = {x = 1000, y = 1000, z = 7},
        requiredlevel = 10,
        vocations = {1, 2, 3, 4, 5, 6, 7, 8}
    }
     
    function onUse(cid, item, fromPosition, itemEx, toPosition)
        if isInArray(t.vocations, getPlayerVocation(cid)) and getPlayerLevel(cid) >= t.requiredlevel and getPlayerItemCount(cid, 2159) >= 50 then
            doTeleportThing(cid, t.coords, TRUE)
            doPlayerRemoveItem(cid, 2159, 50)
        else
            doPlayerSendCancel(cid, "Sorry not possible.")
            end
        return true
    end

    Si no te funciona utiliza uno mas complejo

    function onUse(cid, item, topos)
    local doors = {
    [8651] = {vocation = {1, 5, 9}, messageFail = "Sorry, you need to be a Sorcerer, Master Sorcerer to pass."},
    [8652] = {vocation = {2, 6, 10}, messageFail = "Sorry, you need to be a Druid, Elder Druid to pass."},
    [8653] = {vocation = {3, 7, 11}, messageFail = "Sorry, you need to be a Paladin, Royal Paladin to pass."},
    [8654] = {vocation = {4, 8, 12}, messageFail = "Sorry, you need to be a Knight, Elite Knight to pass."},
    }




    if (isInArray(doors[item.actionid].vocation, getPlayerVocation(cid))) 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
    doTeleportThing(cid,pos)
    doSendMagicEffect(topos,12)
    end
    else
    doPlayerSendCancel(cid, doors[item.actionid].messageFail)
    end
    return true
    end

    Muchas gracias bro, sino es mucha molestia me podrias explicar?

    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.

     

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