Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''quest''.



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
    • Taverna
  • Projetos Open Source
    • Canary
    • OTServBR-Global
    • Mehah OTClient
    • MyAAC
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
  • Outros
    • Design

Encontrado 17 registros

  1. Antes de fazer a sua pergunta, tenha certeza de ter lido as regras da seção e o guia abaixo: https://forums.otserv.com.br/index.php?/forums/topic/168583-regras-da-seção/ https://forums.otserv.com.br/index.php?/forums/topic/165121-como-fazer-uma-pergunta-ou-o-grande-guia-do-usuário-com-dúvidas/ Obs: não delete esse formulário pré-definido, preencha-o corretamente para postar o seu tópico! Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.). Base: OTServBR-Global 12.x Qual é a sua pergunta? Recentemente fiz download do otServBr-Global 12.x e estou testando ele para uso. Percebi que os teleports da quest the curse spreads, ou conhecidas como mini boss were, não estão funcionando como deveria. alguns não funcionam e outros até funcionam porem não aparece boss dentro da sala nem realiza controle nenhum de tempo. acredito estar faltando algo relacionado a isso. algum arquivo.lua para a quest, ou para os teleports. Gostaria muito de ajuda. Deixo alguns prints para saberem de quais tp estou falando em caso de duvidas. Muito Obrigado. Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  2. Antes de fazer a sua pergunta, tenha certeza de ter lido as regras da seção e o guia abaixo: https://forums.otserv.com.br/index.php?/forums/topic/168583-regras-da-seção/ https://forums.otserv.com.br/index.php?/forums/topic/165121-como-fazer-uma-pergunta-ou-o-grande-guia-do-usuário-com-dúvidas/ Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do website / etc.). Ex: The Forgotten Server 1.3, Versão: 10.98. Base: OTServBR-Global, Versão: 12.51. Qual é a sua pergunta? Boa tarde, ontem uns amigos e eu fomos fazer a poi no server e ao chegarmos no final, descobrimos que os baús estão dando o item de recompensa apenas 1x a cada server save pois ao darmos "use" no baú ele somente abre com o item dentro pra ser retirado manualmente. Verifiquei o arquivo storages.lua e encontrei 3 parágrafos sobre a quest (print no spoiler), pelo que pesquisei deveria ter algo no chest.lua também, lá procurei pela id das recompensas e não achei nem a id da action nem a id do item de recompensa (print Remere's no spoiler), outra dúvida é sobre as fire fields que ao serem usadas no chão nenhum monstro passa por cima para atacar (print no spoiler) e a última dúvida seria em relação a um erro que aparece toda vez que inicio o server escrito: "[Warning - Items::parseItemNode] Unknown key value: quicklootcategory ", obrigado Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  3. Informações: Protocolo12, TFS 1.3.10, Npc Angus (mapa real) NPC: Olá, estou tentando criar uma nova missão copiando um NPC do mapa RL. Consegui criar um resumo do npc para uma nova missão, funcionou, mas está usando dados de "The Explorer Society Quest" Npc custom linha: 20, 35, 36 "Storage.ExplorerSociety.JoiningtheExplorers" "Storage.ExplorerSociety.QuestLine" Eu tentei mudar para "Storage.Custom.Join" "Storage.Custom.QuestLine". Não funcionou dizendo "join" não disse nada QuestLog: Eu tentei criar um novo questlog, isso fez com que o servidor não funcionasse QuestLog? linha: 3373-3385
  4. [8.54] Baú Que dá Outfit se tiver Level

    Antes de tudo pesquisei e não encontrei desse que dá a roupa se tiver o tal level pedido na script. Tou deixando bem explicado para melhor compreensão de todos. O script é simples e já foi testado, estando o mesmo 100% na minha base 8.54 Vamos lá! Vá em data/actions/scripts e crie um arquivo Lua chamado > Outfitquest Feito isso dentro adicione esse código v Em actions.xml você adiciona v Explicação: if item.uid == 12154 then 12154 é a unique id que você vai colocar no baú. Lembrando que vc pode mudar os valores. Obs: Mudando esse valor vc terá que deixar igual na da tag da actions.xml if getPlayerLevel(cid) >= 30 then 30 é o level que o player precisa ter para concluir a quest. Mude ao seu gosto! questOut = getPlayerStorageValue(cid, 31503) 31503 é a storage da quest, recomendo não mudar/caso mude, deixe todos eles iguais pois eles se repetem no script. setPlayerStorageValue(cid, 181655, 1) 181655 é a storage da quest da roupa que vc vai querer que ele ganhe, mas vc me pergunta Ayron/Sepultura onde eu acho essa storage de roupa? Simples, vá em data/XML e abra o outfits.xml Lá vc encontrará algo assim v <outfit id = "59" quest = "181655"> <list gender = "0" lookType = "1498" name = "Christmas" /> <!-- 0 mulher, 1 homem --> <list gender = "1" lookType = "1497" name = "Christmas" /> </ outfit> Note que o valor 181655 é o valor da quest que lista as roupas que deseja dar no baú Atenção aqui ( o script dá a roupa automático de acordo com o sexo do player) ^ ^ Bom se vc já fez tudo deixou as coisas OK falta a ultima parte. Abra o seu (rme map editor) e lá escolha o baú, feito isso aperte com o botão direito do mouse sobre ele e vá em propriedades, abrirá uma janelinha, na parte da Unique ID coloque o valor da unique da script que é o mesmo da tag na actions.xml = 12154 ficando assim v Pronto! salve o mapa e vá testar. ^ ^ Espero ajudar alguém, e se ajudei deixa o Rep+! aí para fortalecer a amizade É isso, abraços! 
  5. Tutorial sobre Quests/Quest Log! #vemcomgryllo

    MINI TUTORIALZIN SOBRE QUESTS E QUEST LOG. Vamos chamar de QUEST a missão como um todo e de MISSÃO as missões que são advindas das QUESTS. Por exemplo, para concluir o acesso de Yalahar (QUEST) é necessário que o jogador conclua várias missões, sacou? Agora vamos entender como funcionam as quests. Primeiro procure por 'data/lib/miscellaneous/051-storages.lua' ; Talvez os nomes dos arquivos/pastas mudem de acordo com o servidor que foi baixado; Caso não encontre o arquivo acima, procure algum .LUA relacionado a STORAGE. Se mesmo assim não encontrar, poste abaixo nos comentários que tentarei ajudar assim que for possível, belezura? O que é Storage? Storage é um tabela que usamos para guardar certos tipos de informações do jogador enviando para o banco uma key numérica (serve como identificador ID) e seu value (valor), para entendermos seu funcionamento, supondo que você tenha uma noção básica sobre programação, precisamos de um objeto da classe Player que não seja nulo, digamos que temos este objeto e seu nome seja player e precisamos acessar sua quantidade de horas jogadas, supondo que o ID da quantidade de horas seja 10777, fazemos assim: player:getStorageValue(10777). PUFT! Assim teremos de retorno o valor de ID dentro do Storage, se ficar confuso, pode perguntar bro. O que são esses números no 051-storages.lua? Se pegarmos a quest InServiceofYalahar como exemplo (mete um CTRL+F aí), temos os identificadores de cada missão e também da quest em si (questline), vejamos: Questline é basicamente a inicialização da QUEST, para iniciar as missões, você primeiro precisa inicializar a quest (questline). Não adianta você criar um NPC com a função de inicializar a missão de id 12241 (Mission01) se o Questline ainda não foi iniciado!! Para que eu irei utilizar esse 051-storages.lua? Bom, aqui a ideia é padronizar e também facilitar, ao criar uma quest, primeiro crie suas etapas neste arquivo, vamos ver um exemplo: QuestDoGryllao = { Questline = 999, Mission01 = 1000, Mission02 = 1001, Mission03 = 1002 } Agora como dito acima, para verificarmos se o player tem ou está em alguma etapa da Mission02 da QuestDoGryllao, fazemos o seguinte: player:getStorageValue(Storage.QuestDoGryllao.Mission02) Ué? Mas de onde saiu esse Storage? Storage é apenas um aviso para o código de que você quer pegar um valor de dentro do 051-storages.lua, entrando em Storage temos QuestDoGryllao e dentro temos as missões, ficando assim (Storage.QuestDoGryllao.Mission01). A ideia de utilizar o 051-storages.lua é facilitar na hora de buscar um STORAGE específico. Você poderia fazer assim também: player:getStorageValue(1001) Assim fica mais simples, cê tem demência GryLLo? Não, calma lá, imagina se você tiver uma nova quest BOLADÍSSIMA com 18 missões, você vai querer decorar todos os identificadores criados? E no futuro como fica se esquecer? Colocar tudo no 051-storages.lua é uma forma de deixar as tuas PARADAS mais organizadas e simples de entender até para outros programadores! Agora vamos procurar por 'data/XML/quests.xml', utilizaremos ainda a quest In Service of Yalahar como base de explicação; <quest name="In Service of Yalahar" startstorageid="12240" startstoragevalue="5"> <mission name="Mission 01: Something Rotten" storageid="12241" startvalue="1" endvalue="6"> <missionstate id="1" description="Palimuth asked you to help with some sewer malfunctions. You will need a Crowbar, there are 4 places where you need to go marked with an X on your map." /> <missionstate id="2" description="You cleaned 1 pipe of 4 from the garbage." /> <missionstate id="3" description="You cleaned 2 pipes of 4 from the garbage." /> <missionstate id="4" description="You cleaned 3 pipes of 4 from the garbage." /> <missionstate id="5" description="You cleaned 4 pipes of 4 from the garbage. Go back to Palimuth and report your mission" /> <missionstate id="6" description="You cleaned all pipes from the garbage! Go back to Palimuth and ask for mission." /> </mission> </quest> Entramos em <quest vamos ver o que temos aqui dentro O que é o atributo NAME? É onde fica o nome da QUEST que será mostrado no Quest Log E o atributo STARTSTORAGEID? Esse é o identificador da sua quest (QUESTLINE), não irei entrar muito em detalhes, mas é a partir desse identificador que o OTZÃO BOLADO identifica que é a "Quest X" que deve ser ou foi iniciada; Tá, e esse STARTSTORAGEVALUE? Esse aqui diz qual valor é necessário para se iniciar a quest, como padrão é 1, mas nesse caso em especial está em 5. Aqui é uma das coisas que fazem a galera se perder ao tentar forçar o início de algumas quests diretamente pelo código ou por algum npc novo. Se você quer inicializar a Quest pelo código, inicialize o QUESTLINE com o valor de STARTSTORAGEVALUE, após isso, você pode ir inicializando as missões dela. Agora em <mission, bora ver! Atributo NAME, de novo? Calma jovem, esse é nome da MISSÃO, será mostrado no Quest Log E o STORAGEID? Assim como o startstorageid é um identificador, porém, de cada missão dentro da quest; STARTVALUE? Esse atributo é parecido com o startstoragevalue é o valor para se inicializar a MISSÃO ENDVALUE? Esse atributo diz em que momento a MISSÃO será finalizada, nesse exemplo nós temos 6 sub-missões dentro dessa missão para que ela seja concluída. Simbora pro <missionstate Atributo ID? Este atributo é apenas o identificador da missão, provavelmente ele quem ordena as missões dentro do QUEST LOG e faz mais umas paradas si pá. E finalmente, o último DESCRIPTION!? Aqui é a descrição da missão, normalmente diz o que o player tem que fazer para concluir essa etapa, veja abaixo: Beleza, agora que tu sabe as paradas, vamos utilizar a QuestDoGryllao como exemplo e criaremos algo simples, vamos lá: Em 051-storage.lua coloque: QuestDoGryllao = { Questline = 999, Mission01 = 1000, Mission02 = 1001, Mission03 = 1002 } DEPENDENDO DE ONDE VOCÊ COLE ISTO, NÃO ESQUEÇA DE VERIFICAR SE FALTARAM VÍRGULAS OU OUTRAS PARADAS Agora em quests.xml fazemos uma parada assim: <quest name="Quest do Gryllao" startstorageid="999" startstoragevalue="1"> <mission name="Mission 01: Empregadinho" storageid="1000" startvalue="1" endvalue="2"> <missionstate id="1" description="De um oi para o Gryllao" /> <missionstate id="2" description="Leve um cafezin pro Gryllo" /> </mission> <mission name="Mission 02: Ajude a enfrentar inimigos" storageid="1001" startvalue="1" endvalue="2"> <missionstate id="1" description="Ajude Gryllo a matar 40 rotworms" /> <missionstate id="2" description="Ajude Gryllots a matar 40 bugs" /> </mission> <mission name="Mission 03: A Procura" storageid="1002" startvalue="1" endvalue="3"> <missionstate id="1" description="Procure o cachorrinho do Gryllo" /> <missionstate id="2" description="Fale com Godofredo para pedir informacoes" /> <missionstate id="3" description="Devolva o dogao ao Gryllo" /> </mission> </quest> Vocês entenderam a ideia? Vocês já sabem como verificar o status de uma Quest: player:getStorageValue(<id_da_quest>) -- ou player:getStorageValue(Storage.<nome_da_quest_no_storage>.<missao>) Irei apenas passar mais uma funçãozinha, que é para inserir dados no Storage, serve para avançar o jogador em missões ou gravar outras informações, seria assim ó: player:setStorageValue(<id_da_quest>, <value>) -- id da quest é o startstorageid ou storageid da quest/missao que quer atualizar -- value é basicamente o progresso da quest/missao, na Mission01 do gryllo por exemplo, poderia por 1 ou 2 #EDIT 28/12/2018 Falei sobre o Storage ser uma referência as variáveis dentro de 051-storages.lua e esqueci de uma parada, na verdade, notei recentemente. Observe dentro de 051-storages.lua dentro de QUAL ARRAY você está colocando sua quest ou está a quest que você quer mexer, dentro dele há o Storage que foi explicado acima e o GlobalStorage (tem basicamente a mesma função só que com outros IDs) Acho que o básico sobre as Quests e também como mostrá-las no Quest Log já está aí. Por hoje é só pessoal, fiquem bem e sonhem com Batman! Uns abraços, GryLLo
  6. Olá, eu gostaria de saber como fazer uma quest onde o player clica no baú e ganhe exp. Eu tenho alguns scripts salvos, porém não sei fazer a quest no map editor pra colocar exp pra cada tipo de quest. questexp.lua
  7. Scripting Quest

    Então, Olá. Estou com um projeto em desenvolvimento. Queria pedir uma ajuda se alguem disponibilizava. Eu tava atras, de um script que ja vi que funciona da seguinte forma. Existe um mob em tal local e apos matar ele, ele sumona um Teleport, assim levando para tal local. Queria fazer isso de exemplo para esta sala. Aonde esta o circulo estranho que tentei fazer, seria o mob, e aonde ta o cinal de V seria um local de exemplo do Teleport, e aonde ta o X seria o local de teleport.!
  8. Ola boa noite eu estou com uma duvida que esta me matando eu gostaria de criar algumas quests que o premio seriam box que daria um poke aleatório dentro de uma pokeball, mais eu preciso criar novas boxs alguem saberia como me ajudar ? Estou a muito tempo sem mecher com server voltei meio perdido A minha divida e que n sei onde seria a id da box e onde seria a id da pokeball. vou deixar o script da box Obrigado desde já. Rep++ pra quem ajudar. Server de poketibia 8.54. Script Box
  9. The Annihilator Quest Full Code e Mapa

    The Annihilator Quest Bom dia a todos, hoje vou postar pra vocês o meu código da Annihilator Quest e download do mapa e do server completo com os código e mapa já configurados. Você enfrentará: A quest envolve somente Demons. Recompensa: Escolher um dentre esses 4 itens: Magic Sword, Demon Armor, Stonecutter Axe ou um Thunder Hammer. Em Breve Testado com TFS 0.4 - Versão 8.60 Actions Lib Server Full (Acc Manager 1/1 | Admin 2/1 ) Baixar | Scan Code Full Baixar | Scan Mapa Full Baixar | Scan Senha: rodrigocoutobr Se for postar em outro fórum favor por os créditos a RodrigoCoutoBR (MekaBR)
  10. Quests diferentes,

    eu me lembro de já ter visto algo parecido no global que todos eram expulsos da de uma torre depois que o tempo excedia... algo assim... pensei, será que dá para ter uma quest nesse estilo... tipo... a galera tem 30 minutos para fazer uma quest que está num local X... se o tempo acabar... geral é expulsa da quest e tal... não sei se tem um script que faça isso... não consegui achar :\ Outra... Fazer tipo uma quest que tenha varias fases e talz... qual pegar o item de 1º baú que seja uma dica para onde é a continuação da quest... dai a pessoa level esse pergaminho em um npc e ele pega o item e explica melhor onde é o local da quest... Outra... Tipo... um script que no baú da quest quando clique a 1ª sai um Boss... quando clicar a 2ª e 3ª vez sai mais Bicho... para que só na 4ª ou 5ª vez dependendo do desejo do dono do server o cara pegue o item... (isso tudo em 1 baú só... Outra... Parecida com a de cima... quando o puxar um alavanca a 1ª vez... sai um boss... quando puxar a 2ª libera a porta para continuar a quest... e assim vai até a última parte da quest... o cara puxa a alavanca a 1ª vez sai boss... a 2ª também e na 3ª o cara pega o item da quest... *-* Outra... Uma que tem no final tenha 3 Baús... mas só possa pegar 1 item... Só que os 3 itens dos baús nunca ficaram no mesmo Baús... para o player pegar o item na sorte... o melhor item pode está no Baú 1, 2 ou 3 dependendo da sorte do cara... *-* última... Num baú da quest... o item que o cara pegue ser um item random que o dono server escolherá para ser os itens e talz... tipo... escolhi 5 itens... MPA, DSM, DSL, GH, ElvenArmor... chega um player no final da quest quando clica no baú pega GH... e o outro que veio com ele pega DSM... o item muda de acordo com a sorte do player... *-* será que minhas idéias tem fundamento? :hmm: :style: valeu ae *-*
  11. Scripts De Quests Global

    Protocolo (versão do Tibia): 8.57 Servidor utilizado: forgothen Nível de experiência: amador (aprendo fuçando) Adicionais/Informações: Abaixo \/ Olá, estou montando um ot mapa proprio, e para aperfeiçoar ainda mais preciso dos scripts das quests iguais o global, como por exemplo os da Banshee Quest na parte da white e black perl q vc poe uma em cada lado e é teleportado, outro exemplo é a parte da paradox onde o Ghoul arrasta uma caixa pro SQM "x" e uma escada aparece na localização "y". Preciso de TODOS os scripts IGUAIS ao global, por favor se alguem poder me ajudar, qualquer ajuda será bem vinda. Aqui está a lista das quests que preciso de script: Banshee Quest, Black Knight Quest, Bright Sword Quest, Demon Oak, Inquisition, Orc Fortress, Paradox Tower Quest, Pits of Inferno Quest PS: Estou montando uma equipe para o meu ATS, alguem que manje de script/site, fazer 2 servidores na mesma acc (como o global loga em Mythera e Pythera na mesma acc) pode postar aqui qm sabe vc entra pra a equipe. Obrigado.
  12. Criando lista das quests do seu servidor

    Bom... primeiramente vou falar, sou bem iniciante nessa area de script, e como eu nunca vi nada parecido por aqui eu vou compartilhar com vocês. [b]Nome do Script:[/b] Quest Log [b]Função:[/b] Exibe para o jogador todas as quests do servidor, e tambem mostra as completas e incompletas. [b]Autor:[/b] Paulix [b]Servidor Testado:[/b] Aries 0.4.0 XML Bom... vou explicar como o script funciona. Sabe aquelas quests que quando voce clica no baú ganha algum item?, a action daquele baú muda o valor do seu storage value de -1 para 1. Este meu script verifica se a quest ja foi feita ou nao e exibe para o jogador. Iniciando: 1- Copie um arquivo da pasta data>talkactions>scripts mude o nome para quests.lua e cole isto: function onSay(cid, words, param) if getPlayerStorageValue(cid,[color=DarkOrange][b]1111[/b][/color]) == 1 then [color=Lime][b]first[/b][/color] = '[color=Red][b]Complete[/b][/color]' else [color=Lime][b]first[/b][/color] = '[color=Red][b]Incomplete[/b][/color]' end if getPlayerStorageValue(cid,[color=DarkOrange][b]2222[/b][/color]) == 1 then [color=DeepSkyBlue][b]second[/b][/color] = '[color=Red][b]Complete[/b][/color]' else [color=DeepSkyBlue][b]second[/b][/color] = '[color=Red][b]Incomplete[/b][/color]' end if getPlayerStorageValue(cid,[color=DarkOrange][b]3333[/b][/color]) == 1 then [color=Navy][b]third[/b][/color] = '[color=Red][b]Complete[/b][/color]' else [color=Navy][b]third[/b][/color] = '[color=Red][b]Incomplete[/b][/color]' end if getPlayerStorageValue(cid,[color=DarkOrange][b]4444[/b][/color]) == 1 then [color=Purple][b]fourth[/b][/color] = '[color=Red][b]Complete[/b][/color]' else [color=Purple][b]fourth[/b][/color] = '[color=Red][b]Incomplete[/b][/color]' end doPlayerSendTextMessage(cid,16, '[color=DarkGreen][b]Quest 1 = [/b][/color]'..[color=Lime][b]first[/b][/color]..'.') doPlayerSendTextMessage(cid,16, '[color=DarkGreen][b]Quest 2 = [/b][/color]'..[color=DeepSkyBlue][b]second[/b][/color]..'.') doPlayerSendTextMessage(cid,16, '[color=DarkGreen][b]Quest 3 = [/b][/color]'..[color=Navy][b]third[/b][/color]..'.') doPlayerSendTextMessage(cid,16, '[color=DarkGreen][b]Quest 4 = [/b][/color]'..[color=Purple][b]fourth[/b][/color]..'.') end 2-Agora vá em data>talkactions>talkactions.xml e adicione isto: <talkaction words="[color=Silver][b]!quests[/b][/color]" script="quests.lua"/> 3- Agora pegue os storages values das quests do seu servidor, para encontrar o storage value basta ir no cript do baú e procurar pela linha: setPlayerStorageValue(cid, [color=DarkOrange][b]XXXX[/b][/color], 1) 4- Pegue o id dos storages e coloque no lugar de cada id escrito em Laranja e pronto, seu script esta quase pronto. Explicando: Em Verde, Azul Claro, Azul Escuro e Roxo é o nome das variaveis, você pode colocar nas variaveis, qualquer nome a sua escolha. Em Vermelho são as mensagens que o jogador receberá quando a quest estiver completa ou incompleta. Em Verde Escuro é a mensagem que aparecerá em cada quest, de preferencia coloque o nome da quest para facilitar o entendimento dos jogadores. Em Cinza é o que o jogador vai precisar digitar (no jogo) para executar o script. Finalizando: --> Nunca se esqueça, as variaves de cada quest tem q ser diferente das outras, pois se for a mesma o script nao vai funcionar. --> Os id's em Laranja tem um grande relacionamento com os storages do baú, se você errar o valor o script não vai funcionar. --> Nunca apague os pontos( . ) nem as apostrofes ( ' ) perto das variaveis, pois eles sao essenciais para o funcionamento do script. --> Para adicionar outra quest é nescessario adicionar otra parte como esta: if getPlayerStorageValue(cid,[color=DarkOrange][b]XXXX[/b][/color]) == 1 then [color=Purple][b]variavel[/b][/color] = '[color=Red][b]Complete[/b][/color]' else [color=Purple][b]variavel[/b][/color] = '[color=Red][b]Incomplete[/b][/color]' end e outra como esta: doPlayerSendTextMessage(cid,16, '[color=DarkGreen][b]Nome da quest = [/b][/color]'..[color=Purple][b]variavel[/b][/color]..'.') ao script. --> Você pode adicionar ao script quantas quests quiser, basta adicionar o conteudo acima e edita-lo corretamente. Este script é exclusivo aki na Ot Net, favor nao postar em outro forum. Peço aos mods que se eu estiver esquecendo de alguma coisa, ou tiver algum erro que me avisem por pm que eu arrumo Espero que gostem do meu script OiaeuMae Obrigado a todos e até a proxima:coolface: Comentem plxxx
  13. 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:
  14. [8.1]InGame Quest Maker

    ------------------------------- Nome: InGame Quest Maker Versão: 8.1 Tipo do script: Talkaction Servidor Testado: Aries XML [0.4.5] Autor: Haxy ------------------------------- Você não sabe fazer os scripts de quest, mais mesmo assim não quer usar um quest maker?? A solução chegou com o InGame Quest Maker! Como usar: /qm "<unique id usado>,<storage value> Ai vai o InGame Quest Maker: quest_maker.lua function onSay(cid,words,param) idi1,idi2,uniq,stor = string.find(param, '(%d*),(%d*)') doPlayerSendTextMessage(cid,22,'Quest criada. \n Unique Id: '..uniq..'\nStorage: '..stor..'') doPlayerSendTextMessage(cid,24,'Arquivo .lua:\n \nfunction onUse(cid, item, frompos, item2, topos)\n if getPlayerStorageValue(cid,'..stor..') == -1 then\ndoPlayerSendTextMessage(cid,22,"MENSAGEM")\ndoPlayerAddItem(cid,ITEM,QUANTIDADE)\nelse\ndoPlayerSendTextMessage(cid,22,"It is empty.")\nend\nend\n \n \n') doPlayerSendTextMessage(cid,24,'Actions.xml\n \n<action uniqueid="'..uniq..'" script="AQUIVO.lua" />') end e no talkactions.xml <talkaction words="/qm" script="quest_maker.lua" /> Após o uso Você receberá uma mensagem enviando o script como segue na SS abaixo: Você recebera o script nessa base: function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid,600) == -1 then doPlayerSendTextMessage(cid,22,"[color="Blue"][b]MENSAGEM[/b][/color]") doPlayerAddItem(cid,[color="Red"][b]ITEM[/b][/color],[color="Lime"][b]QUANTIDADE[/b][/color]) else doPlayerSendTextMessage(cid,22,"It is empty.") end end Ai basta mudar algumas coisinhas: Azul: Mensagem que o player vai receber quando pegar o item Vermelho: Id do item que vai ganhar Verde: Quantidade do item que vai ganhar --------------------------------------------------------- Vale lembrar que não pode ter espaço depois da virgula(no comando): Errado: /qm "unique, storage Correto: /qm "unique,storage --------------------------------------------------------- Agradecimentos especias: Jovial [pelo tutorial de LuaSQL, deu pra aprender o basico de string.find] Cya~ N0 M0r£ Haxy^/Op^
  15. (pedido) porta que passa dps da quest

    queria sbe se tem como fase uma porta que so passa dps de um teleport npc ou quest tipo a Porta da Força(que ele só pode passar depois de ter feito a quest do Fortress) a porta da Sabedoria(que ele só pode passar depois de ter feito a quest do Rivers Dragon) e a porta da Coragem(que ele só pode passar depois de ter feito a quest da Prison) se tive me ajuda por favor! vlw!
  16. 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)
  17. [8.10+][Do concurso] Adv. Teleport Quest

    Teleport Quest Um teleport diferente. Requisitos: Você coloca uma wooden stake em cada coal basin e da use numa alavanca então alguns efeitos aparecerão e você será teleportado perto de um baú que quando aberto te da uma blessed wooden stake e você é teleportado para uma posição definida depois de 5 segundos. Crie um arquivo na pasta "data/actions/scripts" com o nome de "teleport_quest.lua" contendo o script abaixo: local coalpos1 = {x=500, y=442, z=6, stackpos=1} local coalpos2 = {x=502, y=442, z=6, stackpos=1} local otherpos = {x=501, y=501, z=7} local newpos = {x=504, y=440, z=6} function doDelayTeleport(cid, pos, delay, effect) if pos ~= nil then local function teleport(p) doTeleportThing(cid, pos, FALSE) if effect ~= nil then doSendMagicEffect(pos, effect) else doSendMagicEffect(pos, 10) end end if delay ~= nil then addEvent(teleport, delay, p) else addEvent(teleport, 0, p) end return LUA_NO_ERROR else print("Error: doDelayTeleport.") return LUA_ERROR end end function doDelayShoot(frompos, topos, effect, delay) if frompos ~= nil and topos ~= nil and effect ~= nil then local function shoot(p) doSendDistanceShoot(frompos, topos, effect) end if delay ~= nil then addEvent(shoot, delay, p) else addEvent(shoot, 0, p) end return LUA_NO_ERROR else print("Error: doDelayShoot.") return LUA_ERROR end end function onUse(cid, item, frompos, itemEx, topos) playerpos = getCreaturePosition(cid) coal1 = getThingfromPos(coalpos1) coal2 = getThingfromPos(coalpos2) if item.itemid == 1945 then if getPlayerStorageValue(cid, 6000) == -1 then if coal1.itemid == 5941 and coal2.itemid == 5941 then doRemoveItem(coal1.uid, 1) doRemoveItem(coal2.uid, 1) doSendMagicEffect(coalpos1, 10) doSendMagicEffect(coalpos2, 10) doTransformItem(item.uid, item.itemid + 1) for i = 1, 20 do doDelayShoot(coalpos1, newpos, 37, i * 100) doDelayShoot(coalpos2, newpos, 37, i * 100) end doDelayTeleport(cid, newpos, 2000, 39) doSendMagicEffect(playerpos, 2) doSendAnimatedText(playerpos, "Teleport!", TEXTCOLOR_YELLOW) else doSendMagicEffect(topos, 2) doPlayerSendCancel(cid, "Coloque um wooden stake sobre cada coal basin.") end else doPlayerSendCancel(cid, "Você já fez essa quest.") doSendMagicEffect(playerpos, 2) end elseif item.itemid == 1946 then if math.random(1, 5) >= 4 then doTransformItem(item.uid, item.itemid - 1) doSendMagicEffect(topos, 12) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A alavanca voltou ao seu estado normal.") else doSendMagicEffect(topos, 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "A alavanca está emperrada, tente puxá-la novamente.") end elseif item.itemid == 1746 then if getPlayerStorageValue(cid, 6000) == -1 then doDelayTeleport(cid, otherpos, 5000, 12) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Teleportando em 5 segundos...") doPlayerAddItem(cid, 5942, 1) setPlayerStorageValue(cid, 6000, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já pegou um blessed wooden stake.") doDelayTeleport(cid, otherpos, 5000, 12) end end return TRUE end Adicione esta tag no "actions.xml" que se encontra na pasta "data/actions": <action actionid="6000" script="teleport_quest.lua"/> No seu MapEditor coloque actionID 6000 na alavanca e actionID 6000 no baú de ID 1746 que virá a recompensa, mas coloque alguma uniqueID nesse mesmo baú para ninguém sair com ele As configurações necessárias são mudar as posições contidas em: local coalpos1 = {x=500, y=442, z=6, stackpos=1} -- Posição do 1º coal basin. local coalpos2 = {x=502, y=442, z=6, stackpos=1} -- Posição do 2º coal basin. local otherpos = {x=501, y=501, z=7} -- Posição para onde o jogador será teleportado ao dar use no baú. local newpos = {x=504, y=440, z=6} -- Posição para onde o jogador será teleportado ao dar use na alavanca se tiver os determinados itens. É importante que a newpos esteja perto da coalpos1 e coalpos2 para que os efeitos se tornem mais bonitos. O andar de newpos, coalpos1 e coalpos2 tem que ser o mesmo, pois não é possível enviar projétils para andares diferentes. Postem, tirem dúvidas, dêem sugestões para novos script, doem OT$, enfim, façam algo que eu possa saber que você leu meu tópico.
×