Ir para conteúdo

Featured Replies

Postado

alguem me ajuda a resolver esse bug?, eu adicionei uma porta com gate of expertise tudo certinho mas ele ta pedindo pra eu arrumar alguma coisa no doors e eu não sei mecher lá

image.thumb.png.4b0c3fae8550d9a8a4f3249c70c9d422.png

  Citar

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Postado

Se vc que tem os scripts  nao sabe "mecher" lá, imagina a gente que nem tem =]

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Postado
  • Autor
  Em 28/07/2020 em 16:26, Mor3nao disse:

Se vc que tem os scripts  nao sabe "mecher" lá, imagina a gente que nem tem =]

local function checkStackpos(item, position)
    position.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
    local thing = getThingFromPos(position)

    position.stackpos = STACKPOS_TOP_FIELD
    local field = getThingFromPos(position)

    return (item.uid == thing.uid or thing.itemid < 100 or field.itemid == 0)
end

local function doorEnter(cid, item, toPosition)
    doTransformItem(item.uid, item.itemid + 1)
    doTeleportThing(cid, toPosition)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
        doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        return true
    end

    if(getItemLevelDoor(item.itemid) > 0) then
        if(item.actionid == 189) then
            if(not isPremium(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, toPosition)
            return true
        end

        local gender = item.actionid - 186
        if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
            if(gender ~= getPlayerSex(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, toPosition)
            return true
        end

        local skull = item.actionid - 180
        if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
            if(skull ~= getCreatureSkullType(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, toPosition)
            return true
        end

        local group = item.actionid - 150
        if(group >= 0 and group < 30) then
            if(group > getPlayerGroupId(cid)) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, toPosition)
            return true
        end

        local vocation = item.actionid - 100
        if(vocation >= 0 and vocation < 50) then
            local playerVocationInfo = getVocationInfo(getPlayerVocation(cid))
            if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
                return true
            end

            doorEnter(cid, item, toPosition)
            return true
        end

        if(item.actionid == 190 or (item.actionid ~= 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid)))) then
            doorEnter(cid, item, toPosition)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
        end

        return true
    end

    if(isInArray(specialDoors, item.itemid)) then
        if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then
            doorEnter(cid, item, toPosition)
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
        end

        return true
    end

    if(isInArray(keys, item.itemid)) then
        if(itemEx.actionid > 0) then
            if(item.actionid == itemEx.actionid and doors[itemEx.itemid] ~= nil) then
                doTransformItem(itemEx.uid, doors[itemEx.itemid])
                return true
            end

            doPlayerSendCancel(cid, "The key does not match.")
            return true
        end

        return false
    end

    if(isInArray(horizontalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) then
        local newPosition = toPosition
        newPosition.y = newPosition.y + 1
        local doorPosition = fromPosition
        doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
        local doorCreature = getThingfromPos(doorPosition)
        if(doorCreature.itemid ~= 0) then
            local pzDoorPosition = getTileInfo(doorPosition).protection
            local pzNewPosition = getTileInfo(newPosition).protection
            if((pzDoorPosition and not pzNewPosition and doorCreature.uid ~= cid) or
                (not pzDoorPosition and pzNewPosition and doorCreature.uid == cid and isPlayerPzLocked(cid))) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end

            return true
        end

        doTransformItem(item.uid, item.itemid - 1)
        return true
    end

    if(isInArray(verticalOpenDoors, item.itemid) and checkStackpos(item, fromPosition)) then
        local newPosition = toPosition
        newPosition.x = newPosition.x + 1
        local doorPosition = fromPosition
        doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
        local doorCreature = getThingfromPos(doorPosition)
        if(doorCreature.itemid ~= 0) then
            if(getTileInfo(doorPosition).protection and not getTileInfo(newPosition).protection and doorCreature.uid ~= cid) then
                doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            else
                doTeleportThing(doorCreature.uid, newPosition)
                if(not isInArray(closingDoors, item.itemid)) then
                    doTransformItem(item.uid, item.itemid - 1)
                end
            end

            return true
        end

        doTransformItem(item.uid, item.itemid - 1)
        return true
    end

    if(doors[item.itemid] ~= nil and checkStackpos(item, fromPosition)) then
        if(item.actionid == 0) then
            doTransformItem(item.uid, doors[item.itemid])
        else
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")
        end

        return true
    end
    
    local houseDoors = {
    [11790] = 11792,
    [11791] = 11792,
    [11792] = 11790,
    [11793] = 11795,
    [11794] = 11795,
    [11795] = 11793,
    [11796] = 11797,
    [11797] = 11796,
    [11798] = 11799,
    [11799] = 11798,
    [11800] = 11801,
    [11801] = 11800,
    [11802] = 11803,                        --alterado v1.6
    [11803] = 11802,
    }
    
    if houseDoors[item.itemid] then      
       doTransformItem(item.uid, houseDoors[item.itemid])
       return true
    end

    return false
end
 

Postado

Tenta assim:

Mostrar conteúdo oculto

 

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Postado
  • Autor
  Em 28/07/2020 em 16:34, Mor3nao disse:

Tenta assim:

Mostrar conteúdo oculto

 

agora ta dando isso image.thumb.png.01452cf78c6dc8c4aa5ed3afa776806e.png

to usando esse script aqui pra porta 

==============================

 

 

local config = {
    daily = "no", -- allow only one enter per day? (like in global Tibia)
    level = 150,
    storage = 33303,
    entry =
    {
        {x = 1631, y = 1032, z = 8} -- onde o player esta parado para usar a porta, ou seja; coordenada na frente da porta
    },
    destination =
    {
        {x = 1631, y = 1034, z = 8} -- pra onde ele vai ser teleportado, ou seja, para coordenada doutro lado da porta
    }
}

config.daily = getBooleanFromString(config.daily)
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if(item.itemid == 6265) then -- coloque aqui o id da porta no lugar do 1946
        if(config.daily) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
        else
            doTransformItem(item.uid, item.itemid - 1)
        end

        return true
    end

    if(item.itemid ~= 6265) then
        return true
    end

    local players = {}
    for _, position in ipairs(config.entry) do
        local pid = getTopCreature(position).uid
        if(pid == 0 or not isPlayer(pid) or getCreatureStorage(pid, config.storage) > 0 or getPlayerLevel(pid) < config.level) then
            doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
            return true
        end

        table.insert(players, pid)
    end

    for i, pid in ipairs(players) do
        doSendMagicEffect(config.entry, CONST_ME_POFF)
        doTeleportThing(pid, config.destination, false)
        doSendMagicEffect(config.destination, CONST_ME_ENERGYAREA)
    end

    doTransformItem(item.uid, item.itemid + 1)
    return true
end

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo