A tuto é bom, mas o problema é quando espertinhos usarem a alavanca e sairem logo após isso.
é Preferível deixar uma PZ por toda a área, menos na área onde é pra ser atacado e na área onde é pra atacar(trainers).
A tuto é bom, mas o problema é quando espertinhos usarem a alavanca e sairem logo após isso.
é Preferível deixar uma PZ por toda a área, menos na área onde é pra ser atacado e na área onde é pra atacar(trainers).
Mtu bom embora eu preferisse assim
Trainter -Fogo -pared
Alavanka -Player -vaziu(transformado em parede)
Trainer -Fogo -pared
Quando o player entrasse nos trainer ele ativaria uma alavanka.quando ativada a parte "vaziu"entre as 2 paredes criaria uma parede.impossibilitando de alguem entrar.Quando o player kizesse sair ele apertava a alanvanka e a parede desaparecia novamente.
dece seu jeito acontecera oque o rafix falou:
entra uma pessoa no cubinho e fexa a porta e sem seguida da logout.
do meu jeito isso nao acontece porque quando o player fexa a porta.os trainers atkam ele e o batle nao deixa o kra sair.se o kra kiser sair tera que abrir a porta e ir para um local protegido.
SIm .. eh bom .. mas concordo com o rafix .. se o kra puxa a alavanca e sai ?
Ai vai te q fik chamando o gm ... Mas ta bom .. tpw .. ning nunca me pko quando eu tava treinado .. dai eu n sabia disso ... agr to alert ^^ !
Editado Fevereiro 20 por Tyler
Tópico Movido para a seção oficial.
info
Grupo: Conde
Registrado: 06/08/06
Posts: 554
Reputação: +223
Char no Tibia: Balacky

Bem rox valeu pelo tuto.
:hi: :hi: :hi: :hi:
muito bom esse tuto e um dos unicos que funfo aki =)
info
Grupo: Visconde
Registrado: 21/05/07
Posts: 377
Reputação: 0
Char no Tibia: Sirke Amere *( AsTeRa )*

Muito rox!
Parabeins Addcit
genial, pena q tem a sacanagem de puxa alavanca e sai
info
Grupo: Visconde
Registrado: 09/10/07
Posts: 338
Reputação: 0
Char no Tibia: Popr Sansungz
Mas Addict..
Com exori vis dá pra matar o 'vizinho' :$
info
Grupo: Barão
Registrado: 29/03/08
Posts: 338
Reputação: 0
Char no Tibia: Neeco;

Parabéns Addict
Apesar de eu não jogar mais tibia, muito bom seu tutorial.
Genial...
Funciono bem aqui
E nao deu nenhum problemaaa
Gratzzzzz
info
Grupo: Campones
Registrado: 20/03/08
Posts: 30
Reputação: 0
Char no Tibia: Sir'Taj

Boa ideia mesmo =D
Otima idea...mas o cara vai no trainer depois de 15 minutos e kick e o GOD afk e a grade fica sem ninguem ou se o cara fexa a grade e logar como citou o cara acima ai...
Mas adorei seu tuto eu tava procurando isso ae mas pra usar em outra coisa vlwwww
info
Grupo: Conde
Registrado: 12/10/05
Posts: 568
Reputação: +12
Gênero: Masculino
Char no Tibia: Homao Dapoha
Olá, irei mostrar aqui uma forma de fazer uma área de treino segura para os players, usando o map editor (sério!?) e scripts. O tutorial está longo mais por causa da explicação dos scripts, quem já sabe configurar isso é só olhar a idéia mesmo.
Como assim "segura"?
Sabe quando você quer treinar em paz, mas vem um PK, vê que você está AFK e te mata? Pois é, com essa minha idéia você nunca mais terá esse problema!
Sem mais delongas, vamos começar.
Primeio, faça a área no map editor da seguinte forma:
(use o estilo que quiser)
Indicado com as flechas retas, está o destino dos teleports.
A janela se destaca por estar FECHADA, pois assim não tem como atirar runas ou bolts.
Ao usar a alavanca, a grade aparecerá, bloqueando a entrada no bloco de treino.
Scripts:
(nesse script fiz como se houvesse apenas 2 blocos a ser fechados)
Crie um arquivo .lua com o nome desejado na sua pasta data/actions/scripts (usarei o nome "levers_trainareas.lua")
function onUse(cid, item, frompos, item2, topos) wall1 = {x=115, y=30, z=7, stackpos=1} wall2 = {x=118, y=30, z=7, stackpos=1} getwall1 = getThingfromPos(wall1) getwall2 = getThingfromPos(wall2) --bloco 1 if item.uid == 8005 and item.itemid == 1945 and getwall5.itemid == 0 and getwall5.itemid == 0 then doCreateItem(1547,1,wall5) doTransformItem(item.uid,item.itemid+1) elseif item.uid == 8005 and item.itemid == 1946 and getwall5.itemid == 1547 and getwall5.itemid == 1547 then doRemoveItem(getwall5.uid,1) doTransformItem(item.uid,item.itemid-1) --bloco 2 elseif item.uid == 8006 and item.itemid == 1945 and getwall6.itemid == 0 and getwall6.itemid == 0 then doCreateItem(1547,1,wall6) doTransformItem(item.uid,item.itemid+1) elseif item.uid == 8006 and item.itemid == 1946 and getwall6.itemid == 1547 and getwall6.itemid == 1547 then doRemoveItem(getwall6.uid,1) doTransformItem(item.uid,item.itemid-1) else doPlayerSendCancel(cid,"Algo esta bloqueando a grade.") end return 1 endEntendendo o código:
wall1 = {x=115, y=30, z=7, stackpos=1} wall2 = {x=118, y=30, z=7, stackpos=1}Cada "wall" representa uma grade.
No bloco número 1 a grade será wall1, e no bloco 2 será wall2.
No x, y e z que aparecem você deve colocar as coordenadas do lugar onde aparecerá a GRADE de cada bloco.
Para cada wall você deverá colocar um getwall, que irá pegar a coordenada do wall descrito
para a wall1 temos o getwall1, veja: getwall1 = getThingfromPos(wall1)
Aqui iniciamos os comandos para criação da grade, e também para tirá-la quando a alavanca for ativada.
if item.uid == 8001
Quando aparecer isso, no lugar de 8001 você deve colocar o UniqueID da alavanca do bloco (nesse caso seria o bloco 1).
and getwall1.itemid == 0 and getwall1.itemid == 0 then
Aqui você deve trocar o numero do getwall pelo correspondente do bloco, nesse caso é o 1 mesmo.
Nesse código, você diz que no lugar onde aparecerá a grade nao deve ter nenhum item, por isso o id "0", ou seja, nada.
doCreateItem(1547,1,wall1)
Cria a grade de ID 1547, na posição wall1 (óbviamente você não é obrigado a usar essa grade, você pode usar qualquer parede, apenas troque o ID).
getwall1.itemid == 1547 and getwall1.itemid == 1547 then
Siginifica que para retirar a grade, no sqm que ela está deve estar apenas a grade (ID 1547). Note que se você usar outra parede, você deverá substituir esse ID pelo o da parede usada.
doRemoveItem(getwall1.uid,1)
Remove a grade da posição getwall1.
Aqui, indicamos a mensagem que será enviada ao player caso algum item esteja no lugar de onde deve aparecer a grade. Você pode escrever qualquer coisa, desde que esteje dentro das aspas, e lembre-se de não colocar acentos ou cedilha.
A cada grade você deverá criar um wall, um getwall para o wall, e um script inteiro como esse;
onde você deverá editar os números para que ocorra tudo certo.
VEJA QUE ADICIONAMOS "else" JUNTO AO "if" QUANDO ESSE NÃO FOR O PRIMEIRO BLOCO! APENAS O PRIMEIRO BLOCO DEVE COMEÇAR COM "if"!
Agora em data/actions/actions.xml, insira:
<action uniqueid="8001" script="levers_trainarea.lua" />
Note que para cada alavanca você deve botar uma linha igual essa com o UniqueID da alavanca. Se tivéssemos 3 alavancas seria assim (note a mudança dos UniqueIDs):
<action uniqueid="8001" script="levers_trainarea.lua" />
<action uniqueid="8002" script="levers_trainarea.lua" />
<action uniqueid="8003" script="levers_trainarea.lua" />
Assim, o player entra no bloquinho com a alavanca, aciona ela e fecha seu bloco, teleporta-se para os montros e treina em paz sem perigo de ser atacado.
Lembre-se que se a parede for vertical, você deverá usar o id da grade (ou parede escolhida) na posição vertical, no caso da grade, seria ID 1546.
Créditos: Ajcmaster