Postado Maio 13, 2015 10 anos 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 Maio 13, 2015 10 anos por Gustavo12345 (veja o histórico de edições)
Postado Maio 13, 2015 10 anos 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 Maio 13, 2015 10 anos 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 Maio 13, 2015 10 anos por Gustavo12345 (veja o histórico de edições)
Postado Maio 13, 2015 10 anos 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 Maio 13, 2015 10 anos 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 Maio 13, 2015 10 anos 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.