Ir para conteúdo

Featured Replies

Postado

Galera eu ja ouvi falar mas nao encontrei por aqui dei umas pesquisada des do findi semana e não achei, um script que serve para aqueles players que ficam jogando mil items de baixo das portas que fecha automaticas, ai quando a porta fecha da crash no server, alguem sabe como resolver? Quem estiver ajudando ai muito abrigado, qualquer ideia é bem vinda aqui :)

Editado por Gustavo12345 (veja o histórico de edições)



Resolvido por Gustavo12345

Ir para solução
  • Respostas 6
  • Visualizações 645
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Fir3element
    Fir3element

    config.lua, coloca o limite aqui: tileLimit = 0   movements/scripts/closingdoor.lua, substitua o seu por esse: function onStepOut(cid, item, position, fromPosition)     if(getTileInfo(position

Postado

config.lua, coloca o limite aqui:

tileLimit = 0

 

movements/scripts/closingdoor.lua, substitua o seu por esse:

function onStepOut(cid, item, position, fromPosition)
    if(getTileInfo(position).creatures > 0) then
        return true
    end

    local newPosition = {x = position.x, y = position.y, z = position.z}
    if(isInArray(verticalOpenDoors, item.itemid)) then
        newPosition.x = newPosition.x + 1
    else
        newPosition.y = newPosition.y + 1
    end

    doRelocate(position, newPosition)
    local tmpPos = position
    tmpPos.stackpos = -1

    local i, tmpItem, tileCount = 1, {uid = 1}, getTileThingByPos(tmpPos)
    while(tmpItem.uid ~= 0 and i < tileCount) do
        tmpPos.stackpos = i
        tmpItem = getTileThingByPos(tmpPos)
        if(tmpItem.uid ~= item.uid and tmpItem.uid ~= 0 and not isMoveable(tmpItem.uid)) then
            doRemoveItem(tmpItem.uid)
        else
            i = i + 1
        end
    end

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

Rapida resposta! Obrigado mano vou testar aqui :)

Complementando aqui, testei e ao abrir a distro aparece o seguinte erro um pouco antes do server ficar online:

"This application has requested the Runtime to terminate it in an unusual way.

Please contact the application's support team for more information."

isso aparece no distro mesmo e em seguida ela para de funcionar.

 

Entao eu achei um outro script de um outro otserver aqui que é o seguinte

 

function onStepOut(cid, item, position, lastPosition)
    if(getTileInfo(position).creatures > 0) then
        return true
    end

    local newPosition = {x = position.x + 1, y = position.y, z = position.z}
    local query = doTileQueryAdd(cid, newPosition)
    if(query == RETURNVALUE_NOTENOUGHROOM) then
        newPosition.x = newPosition.x - 1
        newPosition.y = newPosition.y + 1
        query = doTileQueryAdd(cid, newPosition) -- repeat until found
    end

    if(query == RETURNVALUE_NOERROR and query == RETURNVALUE_NOTENOUGHROOM) then
        doRelocate(position, newPosition)
    end

    position.stackpos = -1
    local i, tileItem, tileCount = 1, {uid = 1}, getTileThingByPos(position)
    while(tileItem.uid ~= 0 and i < tileCount) do
        position.stackpos = i
        tileItem = getTileThingByPos(position)
        if(tileItem.uid ~= 0 and tileItem.uid ~= item.uid and isMovable(tileItem.uid)) then
            doRemoveItem(tileItem.uid)
        else
            i = i + 1
        end
    end

    local itemInfo = getItemInfo(item.itemid)
    doTransformItem(item.uid, itemInfo.transformUseTo)
    return true
end

 coloquei esse para ver, entao o servidor abriu normal, mas o erro dele é quando vou na porta e coloco o item la, ai  a porta fecha era pra remover o item, porem remove a porta junto... rs'

Editado por Gustavo12345 (veja o histórico de edições)



Postado

Qual tfs você tá usando?

 

Tenta ai:

function onStepOut(cid, item, position, lastPosition)
    if(getTileInfo(position).creatures > 0) then
        return true
    end

    local newPosition = {x = position.x + 1, y = position.y, z = position.z}
    local query = doTileQueryAdd(cid, newPosition)
    if(query == RETURNVALUE_NOTENOUGHROOM) then
        newPosition.x = newPosition.x - 1
        newPosition.y = newPosition.y + 1
        query = doTileQueryAdd(cid, newPosition) -- repeat until found
    end

    if(query == RETURNVALUE_NOERROR and query == RETURNVALUE_NOTENOUGHROOM) then
        doRelocate(position, newPosition)
    end

    position.stackpos = -1
    local i, tileItem, tileCount = 1, {uid = 1}, getTileThingByPos(position)
    while(tileItem.uid ~= 0 and i < tileCount) do
        position.stackpos = i
        tileItem = getTileThingByPos(position)
        if(tileItem.uid ~= 0 and tileItem.uid ~= item.uid and not isMovable(tileItem.uid)) then
            doRemoveItem(tileItem.uid)
        else
            i = i + 1
        end
    end

    local itemInfo = getItemInfo(item.itemid)
    doTransformItem(item.uid, itemInfo.transformUseTo)
    return true
end
Postado
  • Autor

Tu mudo alguma coisa? parece tar igual kkkkk

 achei vo testar : and not isMovable(tileItem.uid)) then

 

Testado, agora ele removeu apenas a porta, e o item ficou, antes sem a ediçao ele havia removido o item e a porta.

E se passar pela porta tambem mesmo que sem item embaixo ele remove a porta..

 

Estou usando o TFS que ja veio com o server, o servidor é o luminera sever do gustavo ferreira, tfs by Elf, talaturen, stian... 0.4 e C++ version 3.4.5

Editado por Gustavo12345 (veja o histórico de edições)



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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo