Postado Janeiro 24, 2016 9 anos Boa Noite galera do Tibia King.. Vim aqui pedir ajuda em um problema. Criei o tópico em "Suporte de Scripts" porque o problema se modifica quando eu altero algumas actions, e nao sei como reverter. No meu server 8.6 [TFS 0.4], quando um player usa uma porta aberta, ela fecha com o player no meio, como pode ser visto na SEGUNDA IMAGEM.. Eu tentei alterar a pasta ACTIONS inteira por outras pastas, de outros OT servers, e aparece "You cannot use this object", como pode ser visto na TERCEIRA IMAGEM. Nao estou certo se o problema é nas Actions, mas aí estão as três imagens:
Postado Janeiro 25, 2016 9 anos se vc clicar na porta e não entrar ela fecha sozinha dps de 1 tempo? Ou ao clicar vc ja anda automaticamente 1 sqm pra frente?? Se não, é um problema em movements q está fechando a porta ao passar por cima e esquecendo de teleportar o player 1 sqm pra frente Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Janeiro 25, 2016 9 anos 9 horas atrás, xWhiteWolf disse: se vc clicar na porta e não entrar ela fecha sozinha dps de 1 tempo? Ou ao clicar vc ja anda automaticamente 1 sqm pra frente?? Se não, é um problema em movements q está fechando a porta ao passar por cima e esquecendo de teleportar o player 1 sqm pra frente A door de quest não funciona no meu ot, aquilo de por action id conforme o level que quer para passar na porta e tal, não funciona, dai eu peguei 1 script simples , uma action, que caso o player tenha o level, ele consegue passar pela porta , funciona, mas o player fica no mesmo sqm que a porta, com ela ainda fechada, seria melhor se em vez de andar1 sqm, ele andasse 2, sabe como resolver? script: function onUse(cid, item, topos) local level = 350 -- level que pode passar na porta . if getPlayerLevel(cid) >= level then doTeleportThing(cid, topos, TRUE) else doPlayerSendCancel(cid, "Volte no level 350!") end return true end
Postado Janeiro 25, 2016 9 anos Se n me engano esse é o script pra ir direto colocando na actions 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) if(item.uid ~= thing.uid and thing.itemid >= 100 or field.itemid ~= 0) then return FALSE end return TRUE end function onUse(cid, item, fromPosition, itemEx, toPosition) local nuevas = { {closed=10269, open=10270}, {closed=10272, open=10273}, {closed=10274, open=10275}, {closed=10276, open=10277}, {closed=10278, open=10279}, {closed=10280, open=10281}, {closed=10282, open=10283}, {closed=10284, open=10285}, {closed=10469, open=10470}, {closed=10471, open=10472}, {closed=10473, open=10474}, {closed=10475, open=10476}, {closed=10478, open=10479}, {closed=10480, open=10481}, {closed=10482, open=10483}, {closed=10484, open=10485}, } for ia = 1,#nuevas do if (item.itemid == nuevas[ia].closed) then doTransformItem(item.uid, nuevas[ia].open) elseif (item.itemid == nuevas[ia].open) then doTransformItem(item.uid, nuevas[ia].closed) end end if(getItemLevelDoor(item.itemid) > 0) then if(item.actionid > 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid))) then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") end return TRUE end if(isInArray(specialDoors, item.itemid) == TRUE) then if(item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) ~= -1) then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.") end return TRUE end if(isInArray(keys, item.itemid) == TRUE) then if(itemEx.actionid > 0) then if(item.actionid == itemEx.actionid) then if doors[itemEx.itemid] ~= nil then doTransformItem(itemEx.uid, doors[itemEx.itemid]) return TRUE end end doPlayerSendCancel(cid, "The key does not match.") return TRUE end return FALSE end if(isInArray(horizontalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition) == TRUE) 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 if(getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTeleportThing(doorCreature.uid, newPosition, TRUE) if(isInArray(closingDoors, item.itemid) ~= TRUE) 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) == TRUE and checkStackpos(item, fromPosition) == TRUE) 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(getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTeleportThing(doorCreature.uid, newPosition, TRUE) if(isInArray(closingDoors, item.itemid) ~= TRUE) 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) == TRUE) 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 return FALSE end Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Janeiro 25, 2016 9 anos Autor 14 horas atrás, xWhiteWolf disse: se vc clicar na porta e não entrar ela fecha sozinha dps de 1 tempo? Ou ao clicar vc ja anda automaticamente 1 sqm pra frente?? Se não, é um problema em movements q está fechando a porta ao passar por cima e esquecendo de teleportar o player 1 sqm pra frente A porta NUNCA movimenta o cara que abre ou fecha ela.. Se eu fechar a porta estando no mesmo sqm que ela, entao eu fico meio dela como na segunda imagem! Como eu poderia configurar para movimentar o player 1 sqm para frente?! Editado Janeiro 25, 2016 9 anos por Henrique Rezende (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.