Ir para conteúdo
  • Cadastre-se

[Resolvido] porta que só abre com chave


Posts Recomendados

local function changeBack(Pos)

doTransformItem(getTileItemById(Pos, PORTA).uid, TRANSFORMA)

end

function onUse(cid, item, frompos, item2, toPosition)

if(itemEx.itemid == PORTA) then

doTransformItem(itemEx.uid,TRANSFORMARDA)

addEvent(changeBack,1000,toPosition)

end

end

Link para o post
Compartilhar em outros sites
  • 8 months later...
  • 1 month later...
  • 9 months later...
  • 1 year later...

aonde tem esta informção ?? para ser alterado ?

 

a key esta em item.xml

 

e aonde esta esta informção para ela ser removida ou colocar chances de quebrar ou sumir ?

onde ta isso

???

 

doRemoveItem(item.uid, 1)
Link para o post
Compartilhar em outros sites
Em 27/01/2013 22:30:10, didito disse:
Citar
local function changeBack(Pos)

doTransformItem(getTileItemById(Pos, PORTA).uid, TRANSFORMA)

end

function onUse(cid, item, frompos, item2, toPosition)

if(itemEx.itemid == PORTA) then

doTransformItem(itemEx.uid,TRANSFORMARDA)

addEvent(changeBack,1000,toPosition)

end

end

 

Em 28/01/2013 10:29:30, Kimoszin disse:

Da sim, só adicionar

 

 

doRemoveItem(item.uid, 1)

 

 

Embaixo do doItemSetAttribute.

 

Poderiam me dizer onde colocar o script? e como vou atribuir esse código a porta e chave que quero? é por action id? nn vi nenhum id da chave nem aciton id para porta

 

 

 

Link para o post
Compartilhar em outros sites
  • 2 months later...

a galera aqui é foda, nunca falam onde coloca os scripts, custa falar:

salve isso na pasta X, como arquivo lua ou xml... e ai salve esse outro na pasta Y, como arquivo tal, e coloque os ids nos itens tal... só isso e a galera aprende sem precisar caçar tutorial por ai, só isso...

Link para o post
Compartilhar em outros sites
  • 1 year later...
Em 28/03/2016 ás 01:32, litones disse:

a galera aqui é foda, nunca falam onde coloca os scripts, custa falar:

salve isso na pasta X, como arquivo lua ou xml... e ai salve esse outro na pasta Y, como arquivo tal, e coloque os ids nos itens tal... só isso e a galera aprende sem precisar caçar tutorial por ai, só isso...

 

 

Não colocam onde colocar certinho porque é meio obvio não? 

   Qualquer um com uma noção minima de como mechar com otserv sabe como fazer..

 

Se você pretende abrir um ot faça o favor a você mesmo e pesquise.. caso contrario você vai por ot meia boca on onde só vai ter gastos..

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Lokozoido
      Olá galera do TK,procurei tanto um script de porta com level e não conseguir achar um que funcionasse,então decidi modificar uma script para passar na porta com tal level
      Primeiro vai em data/actions/scripts
      Crie um arquivo.lua (no caso criei portalvl.lua)
      Abra e cole isso lá
      Agora vá em data/actions/actions.xml
      E adicione isso:
      Explicação:
         if getPlayerLevel(cid) >= 250 then=Level necessário para passar.
              doTeleportThing(cid, {x=1993,y=2187,z=8})= Posição para onde o player será enviado ao clicar na porta
               doPlayerSendCancel(cid, "Voce nao tem level 250 para passar.")= Mensagem ao aparecer quando o player não tiver o level necessário
      <action actionid="5457" event="script" value="portalvl.lua"/>
      Numero para por na porta
      Nome do arquivo.lua
      Ajudei?RAP+
    • Por Liru
      Eu vim aqui pedir um script de uma Porta que só abre se você der um certo item pra ela, e depois de um certo tempo ela fecha e você mesmo tendo o item, não pode passar por ela novamente.
      Eu procurei por muitos lugares, mas não achei esse script, os que achei não funcionavam. E eu to dependendo disso pra fazer uma quest do ot.
      Eu uso a Base Cyan, se isso importar.
      Quem puder ajudar ai rep+
       
    • Por Digoshow
      Pessoal, procurei muiito e não consegui achar, alguem poderia me ajudar a fazer um script action de porta que só jogadores premium account consiga abri-lá?
      Uso TFS 0.4, REP+!
    • Por principe sharingan
      Bom galera é o seguinte, eu tentei criar um NPC que teleporta por X item. Mas sempre dava um erro quando vai adiciona-lo no mapa. Ai resolvi fazer uma Script que quando você clica na Estatua, porta, parede ou coisa do tipo você é teleportado se tiver X Item.
      ( PS: Quando vc é teleportado o item não é removido de sua bag. Você cotinua com o item, como se fosse uma permissão !! )
      Bom, vamos deixar de papo furado, e vamos ao que interessa. Vai em: data/actions/scripts crie um arquivo .lua com o nome que você quiser e cole isso:
      Agora vá em actions.xml e cole essa tag:
      Action ID
      Nome do arquivo que você criou em: data/actions/scripts
    • Por Cat
      Venho trazer a vocês essa adaptação que eu fiz pra minha datapack.
      Estava configurando novas door ids e pesquisei alguns tópicos procurando por scripts específicos, e não encontrei. Além disso, notei que muitas pessoas tiveram problemas para adicionar novas portas utilizando o script comum doors ou outros; ou não foram respondidas em vários tópicos.
       
       
      CONFIGURAR NOVAS DOOR IDS!
      Esse código é para novas portas especiais, duplicadas, de eventos ou quests..
      Demonstração:
       
       
       
      Instalação:
       
      Utilizarei os ids:
      Horizontal: Fechada: 12149 / Aberta: 12151
      Vertical: Fechada: 12158 / Aberta: 12160
       
      ------- • -------
      PARTE 1
      --- • ---
       
      • Abra data/itens/itens.xml e altere os dois ids das portas que você quer editar, assim como eu fiz:
      <item id="12149" article="a" name="closed door"> <attribute key="type" value="door" /> <attribute key="blockprojectile" value="1" /> </item> <item id="12151" article="an" name="open door"> <attribute key="type" value="door" /> </item> <item id="12158" article="a" name="closed door"> <attribute key="type" value="door" /> <attribute key="blockprojectile" value="1" /> </item> <item id="12160" article="an" name="open door"> <attribute key="type" value="door" /> </item>  
      • Em data/movements/scripts crie uma pasta doors
      - Nessa pasta você poderá adicionar outros ids de portas futuramente e manter organizado.
      - Dentro de doors, crie dois arquivos: closingdoorH e closingdoorV (.lua) e cole o mesmo código abaixo nos dois:
      - Se seus ids forem diferentes presta atenção nessa parte, na antepenúltima linha dos dois scripts:
      --> |    doTransformItem(item.uid, item.itemid - 2)   | <--
       
      • O que essa linha faz:
      - Se a minha porta ABERTA é ID12151, ao tirar o pé pra fora dela essa linha vai fazer a porta se transformar em 2 ids anteriores, nesse caso a porta FECHADA ID 12149.
      (12151 - 12149 = 2)
      - Então por exemplo, se a sua porta aberta for 12180 e a fechada 12150, é assim que tem que ser:
      --> |    doTransformItem(item.uid, item.itemid - 30)   | <--
       
      Código:
      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 - 2) return true end  
      Se preferir, use a versão configurável pra não se perder nas linhas:
       
       
       
       
      Em data/movements/movements.xml
       
      <movevent type="StepOut" itemid="12151" event="script" value="doors/closingdoorh.lua"/> <movevent type="StepOut" itemid="12160" event="script" value="doors/closingdoorv.lua"/>  
      ------- • -------
      PARTE 2
      --- • ---
       
      Em data/actions/actions.xml adicionei:
      <action itemid="12149" event="script" value="doors/door01.lua"/> <action itemid="12158" event="script" value="doors/door02.lua"/>  
      • Em data/actions/scripts crie uma pasta doors
      - Nessa pasta você poderá adicionar outros ids de portas futuramente e manter organizado.
      - Dentro de doors, crie dois arquivos: door01 e door02.
      - No meu caso, como as duas portas tem a mesma diferença de IDS o script fica o mesmo, então vou colar apenas 1 e você configura como quiser.
       
      door01.lua/door02.lua
       
      function onUse(cid, fromPos, toPos, itemEx) local config = { did = 2, -- Diferença de IDS entre a portas fechada/aberta level = 100, -- level necessario eff = 14, -- efeito ao abrir a porta txt = MESSAGE_EVENT_ADVANCE, -- txt = tipo e cor da mensagem. -- -- ... -- Exemplo: txt = MESSAGE_EVENT_ADVANCE, -- } -- -- MESSAGE_STATUS_CONSOLE_RED -> Texto em vermelho no default chat. -- MESSAGE_STATUS_CONSOLE_ORANGE -> Texto em laranja no default chat. -- MESSAGE_STATUS_CONSOLE_BLUE -> Texto em azul no default chat. -- MESSAGE_EVENT_ADVANCE -> Texto em branco na tela. -- MESSAGE_STATUS_WARNING -> Texto em vermelho na tela. -- MESSAGE_INFO_DESCR -> Texto em verde na tela. -- MESSAGE_EVENT_DEFAULT -> Texto em branco no server log. } local levelcheck = getPlayerLevel(cid) if levelcheck >= config.level then doTeleportThing(cid, toPos) doSendMagicEffect(getCreaturePosition(cid), (config.eff)) doTransformItem(itemEx.uid, itemEx.itemid + config.did) else doPlayerSendTextMessage(cid, config.txt, "Voce precisa ter level " ..config.level.." para entrar aqui") end end  
      Informações no script.
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo