Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''action''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Calabouço
  • OTServ - Áreas Comuns
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Encontrado 14 registros

  1. Iae galera To dando inicio a um projeto Mapa global 8.6 Pretendo cria projeto old global 8.6 Ja possuo vps para criação do servidor e o dedicado para abertura oficial. TO ABRINDO VAGA PARA MINHA EQUIPE VAGAS URGENTE < Scripter ProGramaDor > |Com Experiencia em Quests. Venha Fazer Parte Na Nossa Equipe < TibiaRetro >
  2. action Pistol

    Hi. Outro pedido de um user, fiz esse script há um bom tempo. É um script de pistola. Você equipa em uma das mãos, usa a arma em algum monster ou player e boa, atira. Script: data/actions/scripts/pistol.lua: data/actions/actions.xml: <action itemid="xxxx" script="pistol.lua" allowfaruse="1"/> No lugar de xxxx, coloque o id do item que será usado como pistola. Configure aqui: Bom uso, até.
  3. action Soul ring

    Olá pessoas! Fiz um script novo para vocês Quem já jogou DotA sabe que existe um item chamado soul ring. Aos que nunca jogaram, aqui vai a explicação de como ele funciona: É um anel que, ao ser usado, consome 150 de vida e te dá 200 de mana temporariamente. Se você não utilizar essa mana no tempo máximo, você perde ela. Script: data/actions/scripts/soul_ring.lua: data/actions/actions.xml: <action itemid="xxxx" script="soul_ring.lua"/> Substitua xxxx pelo id do item que você usará como soul ring. Configurações: Bom uso, até.
  4. action Jester Doll

    Olá pessoas. Lembro que há um bom tempo atrás fiz um script bem simples para um user, mas que já vi isso sendo pedido umas 50 vezes, sem exageros. Então, vou postar o código do Jester Doll. Funciona assim: Você reúne as partes do boneco, dá use em uma delas e pimba, monta o boneco. Script: - data/actions/scripts/jester_doll.lua: - data/actions/actions.xml: <action fromid="9694" toid="9699" script="jester_doll.lua"/> Bom uso, até.
  5. Moeda da Sorte

    Bom galera, o iuniX me deu uma pequena aula de script e decidi me virar. O Script a seguir faz o seguinte: Você dá use na scarab coin (ou se você modificar no item que você escolher) e tem 10% para ganhar 1kk. (Pode usar a scarab coin em eventos ou monstros dificeis como bosses) Abra data/actions/scripts e lá dentro crie uma pasta chamada moedasorte.lua e ponha isso lá dentro: function onUse(cid, item, pos) if math.random(100) <= 10 then doSendMagicEffect(pos, 30) doPlayerAddItem(cid, 2160, 100) end doRemoveItem(item.uid) return true end E adicione isso no actions.xml: <action itemid="2159" event="script" value="moedasorte.lua"/> o 2159 é o ID do scarab coin, se você quizer mudar o item é ali. Pronto, agora sua moeda da sorte está pronta. Obrigado. ps: Agradeço ao Catios por ter visto o pequeno erro que cometi.
  6. OTServ Live Action! Recrutando!

    OTServ Live Action! Ola, Galerinha da OTNET!!! Quanto tempo ein?(Faz tanto tempo que dei até sorte de acertar a Acc deste perfil kkk...) Bom, voltando a ativa, com uma incrível proposta para vocês... Sim realmente isto é uma proposta séria, não é para criação de servidores, formação de qualquer tipo de equipe, ou algo do gênero, eu estou realmente buscando bons programadores e scripters conhecimento nas seguintes áreas, para que eu concretize uma idéia para auxiliar o mundo do Tibia! ..:: Vagas ::.. Administrador Geral, Idealista e Fundador do projeto - Eu(Pedro Michel) Coordenadores: [Vago!], [Vago!] (Estás vagas só serão preenchidas por pessoas realmente de minha confiança dentro do projeto, então por favor não insista em pedi-la!) Analistas(Idealistas) [Vago!], [Vago!] (Estás vagas só serão preenchidas por pessoas realmente por dentro do projeto, que façam boas analises e tirem conclusões exatas de cada fato ocorrido dentro do projeto!) Designer Gráfico [bioquímico], [Vago!] (Procuro bons designers com grande facilidade em criação de interface de programas etc... Isso será discutido via MSN!) Programadores [Vago!], [Vago!], [Vago!] (Será um trabalho mega importante dentro do projeto, só se inscreva se você realmente tem um bom conhecimento na área da criação de softwares!) Scripters de Tibia(.lua) [Vago!], [Vago!], [Vago!], [Vago!] (Será necessário bons scripters na área do Tibia, para ajudar na configuração e na projeção dos códigos de forma que fique "legível"(Isso será discutido via MSN), estou recrutando scripters que tenho conhecimento dês das versões do Tibia 7.6 até as versões atuais(Creio que seja 8.70) ..:: A idéia ::.. Bom como toda boa idéia, ela veio de erros e principalmente do nada! Enquanto eu estudava um pouco de scripts, notei que algumas pessoas tinham mais facilidade em aprender os scripts em forma de códigos(.lua), e outras por formas mais distintas onde elas compreendiam o que tem que é preciso fazer más não sabiam passar para o papel, por isso veio a idéia do OTServ Live Action!(Nome a ser refeito futuramente)! ..:: O Projeto ::.. Bom o projeto em si está na mesa de planejamento (Quase pronto para fluir), por isso preciso de pelo menos 40% das vagas preenchidas para começar os debates, apresentações mais detalhadas e mais a fundo do projeto, tempo para bolar como ira funcionar, demonstrar o que eu quero proporcionar, qual a finalidade, e por fim ir fazendo testes e criações “BETA” a serem divulgadas(OBS: Esse projeto não tem nenhum intuito de fazer propagandas de nenhum local, a não ser que realmente sejamos motivados a isso) Progresso Geral → ░░░░░░░░░░ 0% Progresso para a primeira BETA → ░░░░░░░░░░ 0% ..:: Proposta Inicial ::.. A proposta é de desenvolver um software cuja função seja de auxiliar os players, na hora de desenvolver scripts e seus derivados (OBS: Não estou aqui visando criar um OTScript Live nem nada do gênero, o OTServ Live Action! é outra coisa....), o software em questão tem uma função única, de auxiliar o player que tem mais dificuldade na hora de "botar no papel" o seu script(idéias). Então com tudo eu posso dizer, se o projeto realmente fluir eu digo, adeus códigos complicados e sérias dificuldades, e bem vindo aos anos 2000 onde o processo é mais rápido, pratico e detalhado! (OBS: Não, eu não sou nenhum deus, nem santo milagreiro, só vejo e falo a verdade, e pretendo concretizá-la!). Neste projeto vamos precisar de pessoas realmente qualificadas, que tenham um bom conhecimento tanto na área de scripts(.lua tibia) quanto na área da programação avançada(Vale qualquer programador(Delphi, C, C++, Visual Basic etc...), dês de que atenta todos os pedidos e não tenha muita dificuldade com o planejado pelo projeto, e nem com o pedido de nossos membros. ..:: Forma de Inscrição ::.. (OBS: Todos os membros serão ouvidos, testados, e avaliados!) Bom galerinha conto com a colaboração de vocês! Qualquer e toda duvida que vocês tenham não deixe de postar aqui mesmo no fórum ou no MSN, breve será criado uma comunidade para o mesmo! Até galerinha e muito obrigado! \\Att \\Pedro Michel!
  7. Equipe Otserv

    Bom, Preciso de um Scripter, que saida um metodo mas facil de converter os scripts, bom o ot era 8.4 ai passei pra 8.5, pra depois por pra versao mas atual, mas tem que substituir as linhas do arquivo Action. Quem se disponibilizar entre em contado, [email protected] e entrara na equipe. O serve vai ser dedicado(PAGO) 24hrs/7. E a renda sera Dividida entre a Equipe, O mapa esta 100% so falta apenas isso ai
  8. Demoniac Concentrated Blood

    Nome: Demoniac Concentrated Blood Creditos: Kaya Man [Dragon Souls] Versão testada: 7.92 XML Evolutions 0.7.8 mas acho que pode ser testado em versão mais nova. Explicação: É uma blood diferente quando você clicar nele você vai vira um mounstro e sera healado sua mana e sua hp. Va em data/actions/scripts Em azul é a mana que pode ser healadaEm vermelho é a hp q pode ser healada Agora vai em data/actions/actions.xml
  9. Passagem Secreta

    Função: Passagem secreta Autor: Oxyflavor Versão Testada: New Styller Yourots 0.6.5 (8.54) Informações Adicionais Meu segundo script! >.< Oi pessoal.. To criando um OT Serv, e então decidi aprender um pouco de script.. Este é meu segundo script, então, se houver algum erro que eu não vi, poste! ------------------------- Este script faz com que, ao usar o item com um UniqueID(*), uma parede em uma posição(*) seja removida, e no lugar dela, criada uma escada(tem que ser aquelas escadas de 1 tile só)(*). Tipo uma passagem secreta... *Configurado(a) por você. Bom, vamos ao codigo! \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ Crie um arquivo .lua com o nome que quiser, ou pegue um ja existente da pasta talkactions/scripts, apague tudo oque tem dentro, renomeie para o nome que quiser, e cole isto dentro do novo arquivo: ---[[ Porta secreta, por Oxflavor ]]-- function onUse(cid, item, frompos, item2, topos) local config = { itempos = {x=[color=DarkOrange][b]POSX[/b][/color], y=[color=DarkOrange][b]POSY[/b][/color], z=[b][color=DarkOrange]POSZ[/color][/b], stackpos=1}, -- Posição X, Y e Z da parede/escada msg1 = 'Você acionou a alavanca e uma porta secreta foi aberta!', msg2 = 'Você acionou a alavanca e fechou a porta secreta.', paredeid = [b][color=Blue]x[/color][/b], -- ID Da parede que vai ser removida e aparecer uma escada escadaid = [color=SeaGreen][b]x[/b][/color], -- ID da escada que vai aparecer no lugar da parede idalavanca = [color=Red][b]x[/b][/color], -- UniqueID que vai ter o item que acionar o script. } local getid = getThingFromPos(config.itempos) if getid.itemid == config.paredeid and item.uid == config.idalavanca then doRemoveItem(getid.uid, 1) doCreateItem(config.escadaid, 1, config.itempos) doPlayerSendTextMessage(cid, 22, config.msg1) elseif getid.itemid == config.escadaid and item.uid == config.idalavanca then doRemoveItem(getid.uid, 1) doCreateItem(config.paredeid, 1, config.itempos) doPlayerSendTextMessage(cid, 22, config.msg2) end end Se nao entenderam por ai, entao vo explicar por aqui: ---------------------------------------------- Agora vá em actions / actions.xml, e cole isso no final (mas antes do </actions> <action uniqueid="[b]UNIQUEID[/b]" event="script" value="[color=DarkOrchid][b]NomeDoSeuScript[/b][/color].lua"/> NomeDoSeuScript = Ponha no lugar disso o nome do arquivo que você criou, quando estava lendo o comecinho deste tópico. UNIQUEID = Mesmo valor que você colocou em idalavanca. ---------------------------------------------------------------- Se gostou, por favor, Doe V$, não importa quanto. 1 ja ta bom ;D Bom, é isso. Foi meu segundo script, por isso, ME AVISE SE ENCONTRAR ERROS! -------------------------------------------------
  10. [8.4] Enchant System and Rainbow shield

    Padrão de Postagem: Nome: Enchant System Versão: [8.40+] Tipo do script: Action Servidor Testado: ... Autor: richiadicct Muitos ja devem ter o sistema de encantamento em seu ot, que é encantar gemas em altares do tipo fire/poison/ice/energy e este faz o mesmo só que é atualizado e conta com a possibilidade de encantar o Rainbow Shield. Rainbow Shield Notas: Encantável (cada encanto dura 20 minutos). Com os encantos você pode conseguir: Sparking Rainbow Shield aumenta sua velocidade em 10 levels e possui defesa 36. Fiery Rainbow Shield aumenta seu shielding skill em 3 e possui defesa 36. Icy Rainbow Shield possui defesa 39. Terran Rainbow Shield aumenta sua velocidade de regeneração e possui defesa 37. Chega de explicações qualquer duvida ou erro é só reportar! Vamos la: :soudado: enchant.lua --by Richi~ -- function onUse(cid, item, frompos, item2, topos) local gems = {2146, 2147, 2149, 2150} local egems = {7759, 7760, 7761, 7762} local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}} local weapons = {2383, 7384, 7389, 7406, 7402, 2429, 2430, 2435, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905} local eweapons = {{7763, 7744, 7854, 7869}, {7765, 7746, 7856, 7871}, {7770, 7751, 7861, 7876}, {7766, 7747, 7857, 7872}, {7767, 7748, 7858, 7873}, {7768, 7749, 7859, 7874}, {7769, 7750, 7860, 7875}, {7770, 7751, 7861, 7876}, {7771, 7752, 7862, 7877}, {7772, 7753, 7863, 7878}, {7773, 7754, 7864, 7879}, {7774, 7755, 7865, 7880}, {7775, 7756, 7866, 7881}, {7776, 7757, 7867, 7882}, {7777, 7758, 7868, 7883}, {7839, 7840, 7838, 7850}, {8907, 8906, 8909, 8908}} local type = item.type if type == 0 then type = 1 end local mana = 300 * type local soul = 2 * type if isInArray(gems, item.itemid)== TRUE then for aa=1, #gems do if item.itemid == gems[aa] then a=aa end end if isInArray(altars[a], item2.itemid)== TRUE then if getPlayerMana(cid) >= mana and getPlayerSoul(cid) >= soul then doTransformItem(item.uid,egems[a]) doPlayerAddMana(cid,-mana) doPlayerAddSoul(cid,-soul) doSendMagicEffect(frompos,39) else doPlayerSendCancel(cid,"You dont have mana or soul points.") end else return 2 end elseif isInArray(egems, item.itemid)== TRUE then for bb=1, #egems do if item.itemid == egems[bb] then b=bb end end if isInArray(weapons, item2.itemid)== TRUE then for cc=1, #weapons do if item2.itemid == weapons[cc] then c=cc end end doTransformItem(item2.uid,eweapons[c][b],1000) doSendMagicEffect(frompos,39) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You can't enchanted this.") end else return 0 end return 1 end actions.xml <action itemid="2146" script="enchant.lua" /> <action itemid="2147" script="enchant.lua" /> <action itemid="2150" script="enchant.lua" /> <action itemid="2149" script="enchant.lua" /> <action itemid="7759" script="enchant.lua" /> <action itemid="7760" script="enchant.lua" /> <action itemid="7761" script="enchant.lua" /> <action itemid="7762" script="enchant.lua" /> Espero que gostem!!! Creditos: richiadicct
  11. Escalar System

    E ae Galera, Vo postar aqui um script que pode ser util pra qm gostad e rpg e usa mta criatividade! Agora o Script!Vá em actions/tolls e add um arkivo chamado Scall.lua dentro dele cole isto: local holeId = {[color=Blue]3369, 7062, 7064, 7066, 392, 408, 409, 427, 428, 430, 462, 469, 470, 482, 484, 485, 489, 924, 3135, 3136[/color]} function onUse(cid, item, fromPosition, itemEx, toPosition) local groundTile = getThingfromPos(toPosition) if groundTile.itemid == 7062 or groundTile.itemid == 7066 or groundTile.itemid == [color=Red]3362[/color] then doTeleportThing(cid, {x = toPosition.x, y = toPosition.y - 1, z = toPosition.z - 1}, FALSE) elseif isInArray(holeId, itemEx.itemid) == TRUE then local hole = getThingfromPos({x = toPosition.x, y = toPosition.y, z = toPosition.z + 1, stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE}) if hole.itemid > 0 then doTeleportThing(hole.uid, {x = toPosition.x, y = toPosition.y + 1, z = toPosition.z}, FALSE) else doPlayerSendCancel(cid, "Sorry, not possible.") end else return FALSE end return TRUE end Depois vá em actions.xml e coloque: ----------CONFIGURANDO--------- é o id da corda, no caso a elvenhair é os pisos aond pode ter a montanha/parede é o id da montanha/parede que vc vai escalar! pronto Configure e gogo rpg! c quiser deichar assim eh melhor... pois voce pod bugar algo...c vc souber mudar direitin, use a criatividade! Nesse script vc esacala a Stone wall com a elvehair rope! Ate a proxima! :yes:
  12. Quest Manera!

    Nome: Quets Criativa Autor: eu msm! Versão: TESTADO Em 8.40 Tipo: Action/quest Poh galera, esses dias tava eu tendo umas ideas pro meu ot, e pensei numa base pra fazer uma quest manera, e usei essa! Supomos q seu server tenha 4 cidades; Uma quest criativa poderia ser: em cada cidade você faz uma pequena sala. Nela você coloca um piso especial. uma placa indicando que se quer participar da quests que fique em cima dele! ai voce faz isso nas 4 cidades! e em uma voce coloca uma alavanca! ( na principal de preferencia ) Ao puxar a alavanca, os players das 4 cidades sao teleportados para uma quest!!! manero né? eu axo...hahuhua agora como fazer? crie em action/scripts/quests um arkivo renomeie para o nome que quiser!e coloque: Coloque isso em actions/scripts/quests local playerPosition = { [color=Magenta]{x = 217, y = 364, z = 7, stackpos = STACKPOS_TOP_CREATURE}, {x = 218, y = 364, z = 7, stackpos = STACKPOS_TOP_CREATURE},[/color] } local newPosition = { [color=YellowGreen]{x = 216, y = 375, z = 7}, {x = 216, y = 376, z = 7},[/color] } -- Do not modify the declaration lines below. local player = {0, 0, } local failed = FALSE function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then for i = 1, 2 do failed = TRUE player[i] = getThingfromPos(playerPosition[i]) if player[i].itemid > 0 then if isPlayer(player[i].uid) == TRUE then if getPlayerStorageValue(player[i].uid, [color=DarkSlateBlue]30015[/color]) == -1 then if getPlayerLevel(player[i].uid) >= [color=Blue]10[/color] then failed = FALSE end end end end if failed == TRUE then doPlayerSendCancel(cid, "Sorry, not possible.") return TRUE end end for i = 1, 4 do doSendMagicEffect(playerPosition[i], CONST_ME_POFF) doTeleportThing(player[i].uid, newPosition[i], FALSE) doSendMagicEffect(newPosition[i], CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid + 1) elseif item.itemid == 1946 then doPlayerSendCancel(cid, "Sorry, not possible.") end return TRUE end dpois vá em actions.xml e add: <action uniqueid="30015" script="quests/NOMEDOSCRIPT.lua"/> Configurando! è a posição do player, aonde ele deve estar na hra q o principal puxar a alavanca! (configure quantos players quiser é só adicionar mais tags igual eu markei) è a posição que os players vao ser teleportados! 10 é o level do player coloque qual vc kiser! é o unique id q vc vai colocar na alavanca no map editor! isso tudo acima é a configuração basica! se quiser mais detalhes! msg me! Agora não skece de colocar a quest que vc quer! use a criatividade! Foi mal qualquer erro! so novo ak na area... vlw :yes:
  13. Vampirecoffin Quest

    Testado em: Yurots 1.2 Versão 8.1 Olá, este é o meu primeiro tutorial, espero que gostem... Eu utilizei a action em uma quest em que você chega num local com vários caixões...Em um deles você abre (coloquei a unique ID somente em um caixão), recebe um vampire shield e sai um vampire de cada caixão. Criando a action: Crie um arquivo .lua na pasta data/actions/scripts com o nome vampirecoffin, copie isso e cole lá: Salve o arquivo e feche. Explicando: Em azul a posição do primeiro vampire que irá aparecer. Em vermelho a posição do segundo vampire que irá aparecer. Você pode criar quantas posições quiser, assim poderão ser invocadas mais criaturas...simplesmente insira outra linha abaixo das que possuem as "vamppos" assim: Dessa forma, você pode colocar quantos vampires quiser, isso fica ao seu critério, e também se quiser pode colocar mais de um vampire para ser invocado por caixão, ou até outras criaturas, eu coloquei um vampire ao lado de cada caixão. Em verde a Unique ID utilizada pela quest(a que será colocada no caixão). Em azul ciano o "valor" que será adicionado ao player quando o mesmo usar o caixão(assim a quest não poderá ser repetida várias vezes), ou seja, quando alguém tentar abrir o caixão será checado se ele possuí esse "valor" no seu arquivo, se possuir, a action não será realizada. Em laranja a mensagem recebida ao abrir o caixão. Em amarelo o ID do item que receberá ao abrir usar o caixão. Em roxo as criaturas que serão invocadas, com as respectivas posições. Para serem invocadas outras criaturas como demons, por exemplo, é só alterar assim: Você pode usar demonposX, posiçãodobichoX, como você quiser, estou usando vampposX pois a quest é com vampires. A mesma coisa na seguinte parte, é só alterar na "pos" do início e na "pos" do doSummonCreature: Poderia estar assim: Na parte do doSummonCreature: Ficaria assim: Em rosa a mensagem recebida se você tentar abrir o caixão após ter feito a quest. Agora, vá em data/actions e abra o actions.xml com o bloco de notas, e insira isso em uma linha: Pronto, agora salve e a sua action está pronta. ^^ Imagens da quest: Ao achar o caixão: http://img511.imageshack.us/my.php?image=coffin1sp0.png O que será que tem dentro? http://img291.imageshack.us/my.php?image=coffin2zs4.png Abrindo: http://img511.imageshack.us/my.php?image=coffin3ok2.png Vou tentar denovo... http://img291.imageshack.us/my.php?image=coffin4lt6.png Bom...é isso aí Baseada em uma action de The Killer: http://forums.otserv.com.br/showthread.php?t=661 Modificada by: Shibew Aproveitem (Y)
  14. Sistema de Waypoint(parecido com DII)

    Sistema de Waypoint 2.0 Tópico já editado com a versão 2.0 1. Introdução 2. Script 3 Configuração 4. Configuração(adicionando um novo waypoint) 5. Configuração(editando talkactions.xml) 6. Instruções de uso 1. O que é um sistema de waypoint? Você já jogou Diablo II? Tentei fazer o mais parecido possível, mas pra quem ainda não conhece vou explicar, waypoint, pelo menos nesse caso, é um lugar que você guarda e depois pode se teleportar pra lá na hora que quiser. E como eu fiz isso pra Otserv? Simples(pra explica, não pra faze -.-) quando o player falar a palavra: Waypoint se ele tiver em cima de alguma coordenada válida como waypoint(você vai escolher quais coordenadas são válidas) o waypoint vai ficar ativado pra sempre, depois disso a qualquer hora ele pode falar: GO "nome do local O nome do local é vc quem escolhe, e quando ele ativar o waypoint vai aparecer escrito em uma mensagem. Há, já tava esquecendo quando ele usa esse último código(GO) pra ir pro waypoint ele gasta uma quantidade de mana que você pode escolher quanto é, coloquei isso pra não ficar muito fácil de usar o waypoint. 2. O código Primeiro vá na pasta do seu OT depois em data\talkactions\scripts copie qualquer arquivo renomeie pra waypoint.lua abra com bloco de notas e apague tudo que tem dentro depois copie e código abaixo e cole nesse arquivo. --- Diablo II Waypoint System v2.0 100% By Mililo! Thx for Dark and Forger for tutorials --- function onSay(cid, words, param) --------------------------- CONFIGURAÇÃO ------------------------------------ local lugares = {[color="Sienna"][b]'Thais', 'Carlin'[/b][/color]} local coords = { [color="Red"][b]{x=1104, y=1026, z=7}, {x=1126,y=1043,z=7}[/b][/color] } local mana = [color="Blue"][b]{50,100}[/b][/color] local storages = [b][color="Orange"]{2325, 2326}[/color][/b] exaust = [b][color="SeaGreen"]10[/color][/b] wait_storage = [b][color="DarkSlateGray"]54321[/color][/b] ----------------------FINAL DA CONFIGURAÇÃO --------------------------- playerpos = getPlayerPosition(cid) playermana = getPlayerMana(cid) playerlife = getPlayerHealth(cid) ------------ PARTE I: Salvar o Waypoint ----------- if words == 'Waypoint' or words == 'waypoint' then if playerpos.x == coords[1].x and playerpos.y == coords[1].y and playerpos.z == coords[1].z then n = 1 elseif playerpos.x == coords[2].x and playerpos.y == coords[2].y and playerpos.z == coords[2].z then n = 2 else n = 0 end if n == 0 then doPlayerSendTextMessage(cid, 21, "You cannot use that function here.") else if playerpos.x == coords[n].x and playerpos.y == coords[n].y and playerpos.z == coords[n].z then if getPlayerStorageValue(cid, storages[n]) ~= 1 then doSendMagicEffect(playerpos,13) doPlayerSendTextMessage(cid, 24, "You saved the waypoint of "..lugares[n]..".") setPlayerStorageValue(cid, storages[n], 1) else doPlayerSendTextMessage(cid, 21, "You ever have this waypoint.") end else doPlayerSendTextMessage(cid, 21, "You cannot use that function here.") end end end --------------- PARTE 2: Teleportar para o waypoint ------------ if words == 'GO' then if param == lugares[1] then n2 = 1 elseif param == lugares[2] then n2 = 2 else n2 = 0 end if getPlayerStorageValue(cid, wait_storage) == 0 then if n2 == 0 then doPlayerSendTextMessage(cid, 21, "You do not have the waypoint for this area.") else if param == lugares[n2] then if getPlayerStorageValue(cid, storages[n2]) == 1 then if playermana >= mana[n2] then doTeleportThing(cid, coords[n2]) doSendMagicEffect(coords[n2],13) doPlayerAddMana(cid,-mana[n2]) setPlayerStorageValue(cid,wait_storage, 1) tempo = exaust * 1000 old_life = playerlife addEvent(cansaco,tempo,cid) else doPlayerSendTextMessage(cid, 21, "You do not have enough mana.") end else doPlayerSendTextMessage(cid, 21, "You do not have the waypoint for this area.") end end end else doPlayerSendTextMessage(cid, 21, "You are exhausted.") end end end function cansaco(cid) wait_storage = 54321 setPlayerStorageValue(cid,wait_storage, 0) end O código não é tão grande quanto parece é porque tá bastante espaçado. 3. Configuração Vão olhando pro código e acompanhado as cores que vou falar. Marrom - São os nomes dos waypoints, devem estar entre ' ' e separados por vírgula, thais e carlin foram só exemplos não tava usando mapa global pra testar e as coord não são verdadeiras, além disso usei cidades no exemplo mas você pode colocar waypoints em outras áreas como florestas, desertos etc. Vermelho - São as coordenadas x,y e z dos waypoints de acordo com o tabela de cima. Ex: Os primeiros x,y e z são de thais e os segundos de carlin. Devem ser colocados neste formato: {x=numero,y=numero,z=numero} Azul - Mana gasta pra teleportar pra cada lugar também é de acordo com as tabelas de cima, se não quiser usar mana simplesmente cooloque "0". Laranja - Cada waypoint usa um storage value(eu tinha tentado fazer de um jeito mais simples usando tabelas, mas não consegui ) A única coisa que tem que fazer aqui é colocar um número qualquer que não esteja sendo usado como storage por outro script do seu OT. Verde - Tempo de exhaust em segundos. Cinza - Coloque um número qualquer que não esteja sendo usado como storage no seu OT. As configurações acabam aqui e além de configurar de acordo com seu mapa e OT você com certeza deve querer adicionar outros waypoints(3º, 4º etc) pra tanto é só vc adicionar as terceiras opções nas tabelas que eu mostrei acima e seguir o 4º passo. 4. Adicionando um terceiro waypoint Para adiconar um terceiro waypoint não é difícil, basta copiar as opções do segundo e mudar todos os nº2 para nº3, vou explicar exemplificadamente adiconando um terceiro waypoint chamado "Venore": Primeiro vamos editar as configurações(linhas 8 a 10), assim: local lugares = {'Thais', 'Carlin', 'Venore'} local coords = { {x=1104, y=1026, z=7}, {x=1126,y=1043,z=7}, {x=708,y=502,z=7}} local mana = {50,100,150} local storages = {2325, 2326,2327} Já expliquei sobre isso tudo acima. Agora vamos copiar as linhas 22 e 23 e colar na 24, ou 25 pra dar espaço(aperte Crtl + G pra localizar linha). Feito isso, substitua todos os nº2 por 3 assim: elseif playerpos.x == coords[[color="#ff0000"]3[/color]].x and playerpos.y == coords[[color="#ff0000"]3[/color]].y and playerpos.z == coords[[color="#ff0000"]3[/color]].z then n = [color="Red"]3[/color] Agora copie as linhas 52 e 53 cole na 54 ou 55 e faça o mesmo(substitua todo 2 por 3),ficando assim: elseif param == lugares[[color="Red"]3[/color]] then n2 = [color="#ff0000"]3[/color] E está pronto, simples e rápido, use o mesmo método pra fazer o 4º, 5º, 6º e quantos mais waypoints você quiser! (Y) 5. Talkactions.xml Agora é só abrir o talkactions.xml e colocar isso acima de </talkactions>: <talkaction words=[color="Blue"]"Waypoint"[/color] script="waypointsystem.lua" /> <talkaction words=[color="#0000ff"]"waypoint"[/color] script="waypointsystem.lua" /> <talkaction words=[color="DarkGreen"]"GO"[/color] script="waypointsystem.lua" /> Palavra a falar pra salvar o waypoint(maisculo e minusculo), caso mude essa palavra, vá no script na linha 19: if words == [color="#ff0000"]'Waypoint'[/color] or words == [color="#ff0000"]'waypoint'[/color] then e mude lá também o que está em vermelho. Palavra a falar pra ir ao waypoint, mude no script tb, linha 48 6. Usando Já falei lá no começo como usa mas como agora vcs tem uma idéia melhor de como é o script então vo fla denovo: 1. Ande em cima de algum waypoint e diga waypoint ou outra palavra que você escolheu. 2. Saia de perto desse waypoint e diga GO "nome do waypoint pra voltar pra ele. cya
×