Ir para conteúdo
  • Cadastre-se

[Resolvido] ponte com sensor de level


Posts Recomendados

E ae pessoal do Tibia King, eu estou a um com tempo procurando po isso. E gostaria que alguem me passa-se o script para passar de uma ponte com determinado level. É como se fosse uma ponte para Rookgaard, que o personagem possa passar com level 2, porém não possa mais voltar.

Essa é a imagem da ponte:

ponten.png

Percebe-se que eu tirei a imagem direto do RME.

Gostaria muito que alguem me ajudasse. Valeu.

Link para o post
Compartilhar em outros sites

Nunca testei, mas tente por assim :

Action ID: 1010

Nesse caso só poderar passar level 10 ou mais ...

Como funciona :

1000 + o level que você quer para o player passar o resultado é o que você vai por no RME !

Exemplo2 :

1000 + 35 = 1035 ( se eu não me engano)

Então, apenas os players com level 35 ou + poderam passar !

Espero ter ajudado !

Att. Huziwara no Mokou

bXEB9.jpg
Link para o post
Compartilhar em outros sites

Se não funcionar o que o Huziwara falou.. tenta esse script:



function onStepIn(cid, item, position, fromPosition)

local level = 2


if getPlayerLevel(cid) ~= level  then

doTeleportThing(cid, fromPosition, true)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.")


else

doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z})

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)


end

return TRUE

end

Lembrando é um movements.. então na pasta "Data/movements/movements.xml" adicione:

<movevent event="StepIn" actionid="id" script="NOME.lua"/>

Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !

E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

Agora ta pegando perfeitamente... o player n pode voltar! só pode ir!Só mais 1 coisa... se não funcionar "-1" muda para "+1" é porque depende do lado que o personagem via passar.

Editado por Coyoty (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Nunca testei, mas tente por assim :

Action ID: 1010

Nesse caso só poderar passar level 10 ou mais ...

Como funciona :

1000 + o level que você quer para o player passar o resultado é o que você vai por no RME !

Exemplo2 :

1000 + 35 = 1035 ( se eu não me engano)

Então, apenas os players com level 35 ou + poderam passar !

Espero ter ajudado !

Att. Huziwara no Mokou

Eu fiz isso, só que olha o que aconteceu:

ponteerror.png

Ainda assim, preciso de alguma coisa, que faça o personagem passar com o nivel 2, e depois ele não possa mais voltar.

Mas muito obrigado pela sua contribuição.

Link para o post
Compartilhar em outros sites

Se não funcionar o que o Huziwara falou.. tenta esse script:



function onStepIn(cid, item, position, fromPosition)

local level = 2


if getPlayerLevel(cid) ~= level  then

doTeleportThing(cid, fromPosition, true)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.")


else

doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z})


end

return TRUE

end

Lembrando é um movements.. então na pasta "Data/movements/movements.xml" adicione:

<movevent event="StepIn" actionid="id" script="NOME.lua"/>

Em id, você coloca no RME clicando com o direito na tile e adicionando em "actionid" !

E em NOME, um nome qualquer para o arquivo(o mesmo que vc usou para adicionar o script).

Agora ta pegando perfeitamente... o player n pode voltar! só pode ir!

Sabe aquela ponte que tem antes do personagem chegar em Rookgaard (The Begging Quest)? É tipo isso que eu quero, o personagem pode passar para o outro lado, porém não pode voltar. Obrigado também pela sua ajuda.

Link para o post
Compartilhar em outros sites

Bom esse script funciona dessa mesma maneira... o player passa por ela.. mas não pode voltar !! Se chegou a testar viu que ela funciona perfeitamente !

Link para o post
Compartilhar em outros sites

Ok vou testar e ja edito.

@Edit

Eu testei com o "-1" e o "+1" no script, e deu a mesma coisa:

ponteerror.png

Na imagem o ACTID ta 1002 mas não é esse actid, eu utilizei a mesma imagem do outro post por causa que apareceu a mesma mensagem com meu personagem level 3.

Editado por Strogonofff
Erro. (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Bem, esse não vai falhar, mude esse script pelo que o Coyoty te passou, afinal esse script é o dele que eu editei xD

XML TAG :

NÃO SE ESQUEÇA DE POR NO itemid="" o ID do PISO !

<movevent event="StepIn" itemid="id" script="leveltile.lua"/>

Vai em movevent e cria um arquivo .lua chamado leveltile.lua ! E coloque :
function onStepIn(cid, item, position, fromPosition)

if(item.actionid > 50000 and item.actionid < 50200) then

 local level = (item.actionid - 50000)


if getPlayerLevel(cid) ~= level  then

doTeleportThing(cid, fromPosition, true)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.")


else

doTeleportThing(cid, {x = getPlayerPosition(cid).x - 1, y = getPlayerPosition(cid).y, z = getPlayerPosition(cid).z})

end

end

return TRUE

end

Funciona assim :

Action ID: 50010

Nesse caso só poderar passar level 10 ou mais ...

Como funciona :

50000 + o level que você quer para o player passar o resultado é o que você vai por no RME !

Exemplo2 :

50000 + 35 = 50035 ( se eu não me engano)

Então, apenas os players com level 35 ou + poderam passar !

O maximo é até 50200, ou seja, até level 200 xD

Espero ter ajudado !

Att. Huziwara no Mokou

bXEB9.jpg
Link para o post
Compartilhar em outros sites

Infelizmente deu o mesmo erro. Só uma coisa em qual dos "50000" eu mudo para 50002 no script? E qual eu ponho no RME.

Link para o post
Compartilhar em outros sites

Não, lá no Tag XML tu bota itemid="ID do Tile" e no RME bota 50002,

Depois teste com um level 1 !

function onStepIn(cid, item, position, fromPosition)

if(item.actionid > 50000 and item.actionid < 50200) then

local level = (item.actionid - 50000)

local kickposition = {x=848, y=1175, z=6} -- AQUI A POSIÇÃO QUE O PLAYER VAI SER TELEPORTADO SE ELE TIVER ABAIXO DO LEVEL

local kickposition2 = {x=848, y=1173, z=6} -- AQUI A POSIÇÃO QUE O PLAYER SERAR TELEPORTADO SE ELE TENTAR VOLTAR !

if getPlayerLevel(cid) < level  then

doTeleportThing(cid, kickposition, TRUE)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.")

elseif getPlayerLevel(cid) >= level  then

setPlayerStorageValue (cid, 34567, 1)

end

if getPlayerStorageValue(cid, 34567) == 1 then

doTeleportThing(cid, kickposition2, TRUE)

doPlayerSendCancel(cid,"Você não pode voltar !")

end

end

return TRUE

end

Esse script é assim :

Se no RME tiver 50002, só level 2 ou + passaram !

Então teste com level 1, se não conseguir passar é porque funcionou !

Att. Huziwara no Mokou

Editado por Huziwara (veja o histórico de edições)
bXEB9.jpg
Link para o post
Compartilhar em outros sites

Huziwara o problema do script ai é que você usou "< level" no de cima usou certo "~= level" ! e ele só quer q lv 2 passe, não podendo voltar!! E deu erro no meu script porque você usei o 1002 como action id... o recomendado é usar 30000 algum numero grande , pra n dar conflito, aqui usei o 47755 e funcionou de boa! tenta ai!

Link para o post
Compartilhar em outros sites

Atá sorry, vou editar o post acima !

Não tinha lido direito xD

Espero que agora funcione, olhe meu post anterior !

Att. Huziwara no Mokou

Editado por Huziwara (veja o histórico de edições)
bXEB9.jpg
Link para o post
Compartilhar em outros sites

Eu testei e deu o mesmo problema.

Você pode ver o que eu fiz de errado?

Aqui estão as imagens:

Arquivo: bridgerook_1.lua

problematibia3.png

Arquivo: movements.xml

problematibia2.png

Mapa Remere

problematibia1.png

Link para o post
Compartilhar em outros sites

Bom cara no meu script funcionou perfeitamente, vou testar o do Huziwara e ja edito!

EDIT: Huziwara realmente tem algo errado com seu script.. =/ eu testei aqui e só aparece você não pode voltar! não faz mais nada, lembrando que no action id no RME eu colokei 50002! coloquei o comando no movements.xml e não funcionou!!

EDIT2: Huziwara =D tomei a liberdade de editar o seu script bl?



function onStepIn(cid, item, position, fromPosition)

if(item.actionid > 50000 and item.actionid < 50200) then

local level = (item.actionid - 50000)

local kickposition = {x=95, y=125, z=7} -- AQUI A POSIÇÃO QUE O PLAYER VAI SER TELEPORTADO SE ELE TIVER ABAIXO DO LEVEL

local kickposition2 = {x=95, y=123, z=7} -- AQUI A POSIÇÃO QUE O PLAYER SERAR TELEPORTADO SE ELE TENTAR VOLTAR !

if getPlayerLevel(cid) ~= level  then

doTeleportThing(cid, kickposition, TRUE)

doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)

doPlayerSendCancel(cid,"Só players de level " .. level .. " podem passar.")

elseif getPlayerLevel(cid) == level  then

setPlayerStorageValue (cid, 3456787, 1)

end

if getPlayerStorageValue(cid, 3456787) == 1 then

doTeleportThing(cid, kickposition2, TRUE)

doPlayerSendCancel(cid,"Você não pode voltar !")

end

end

return TRUE

end

Agora funcionou !

Editado por Coyoty (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Liberdade total, você apenas está me ajudando a ajudar o membro, um ato de generozidade onde não pode haver conflito !

REP+ Muito obrigada !

Att. Huziwara no Mokou

bXEB9.jpg
Link para o post
Compartilhar em outros sites

Vou por o tópico como resolvido.

Caso ele o dono do tópico não conseguir, mudarei o nome do tópico.

Lembre-se, a postagem após o resolvido será considerado flood, só se você tiver uma dúvida semelhante !

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

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 lango rullez
      Bom como via muita gente "nem tanta" com dúvidas, problemas etc.. Resolvi criar esse tópico para acabar com os seus problemas !
       
      ---------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
       
      Bom então vamos lá !
      ------------------------------------//--------------------------------------
       
      Pasta do seu servidor --> Data --> movements --> scripts
       
      Agora crie um arquivo .lua Renomeie com o nome de sua preferencia ! Ps: Tem que ser obrigatoriamente .LUA
      Bom no meu caso coloquei "TileLevel"
        E então cole este script dentro:   
       
       
      ------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------
       
      {´~.~´} Legenda
       
      Vermelho: Level do player que irá poder passar no Teleport/tiler                                          
       
      Dourado: Posição de onde desejar colocar Teleport/tiler
       
      -------------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
      Agora salve o arquivo!
       
      -----------------------------------------------------------------//-----------------------------------------------------------------------
       
      Agora vamos para Segunda Parte !
      Me acompanhe !
      ---------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------
      Vamos em:
      Pasta do seu servidor --> Data --> Movements.xml 
      Agora adicione o seguinte código/tag:
       
       
      {´~.~´} Legenda
      Roxo: É o nome do arquivo.lua que você criou na pasta Scripts
      Azul: É o level do player, tem que estar igual no script acima. Obs: Caso queria colocar level 100 é só mudar parte 250 para 100 isso vale mesma coisa na "PS" que acabei de explica embaixo \/
      -----------------------------------//------------------------------------------
      Ps:No Remeres Editor coloque no tile o actionID: 1250 ou level da sua preferencia. Quer level 100? então no tile coloque "1100"
       
      Bom espero que ajudem a todos !
       
        Créditos @vankk pelo script, que ele postou individualmente em um tópico, sem muitos detalhes.
       A TAG E AS DEMAIS COISAS FEITO POR MIM !
    • 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 Absolute
      Fala galera do TK, trago hoje um comando simples que já vi pedidos.
      É o comando de adicionar level, para você que gosta de se editar, dar level para tests ou eventos, como quiser rs.
       
       
       
      Vamos lá:
      Siga meus passos que em 1 minuto o servidor terá o comando.
       
      Em data/talkactions/scripts crie um arquivo com o nome de addlevel.lua com o seguinte conteúdo:
      function onSay(cid, words, param) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Name and level required.") return TRUE end local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) local amount = tonumber(t[2]) if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You need to add a ,then the level to set.") end if (doPlayerAddExp(player, getExperienceForLevel(amount)-(getPlayerExperience(player)))) == LUA_ERROR then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Error") end doCreatureAddMana(player, getCreatureMaxMana(player)-getCreatureMana(player)) doCreatureAddHealth(player, getCreatureMaxHealth(player)-getCreatureHealth(player)) return TRUE end Em data/talkactions/talkactions.xml adicione a seguinte linha:
      <talkaction log="yes" access="5" words="!addlevel" event="script" value="addlevel.lua"/> Para adicionar level a algum player: !addlevel playername, 100
      !addlevel = comando executado apenas pelos Administradores do servidor.
      !playername = nome do jogador que vai receber o level
      100 = quantidade de level que irá receber
       
       
       
      Nota: O Comando já dará ao player o level/vida/mana e exp tudo de acordo!




      Simples e fácil para adaptar em seu servidor!



      Espero ter ajudado
       
       
       
      Absolute.
       
    • Por rodrigorodriguess
      Não acho normal isso, no meu OTserver tá assim..
       
      Player lvl 883 morre e volta 880
      Player lvl 716 morre e volta 710
       
      teria como ajustar para lvl alto perder mais level do que o level baixo?
    • Por zleozinho
      Pf alguem min ajuda com algum script ou qualquer outra,coisa para eu colocar max level!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo