Jump to content
Close

Search the Community

Showing results for tags 'modalwindow'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Community
    • Rules
    • Portal
    • Resources
    • Commerce
    • Clubs
  • OTServers
    • Discussion
    • Support
    • Tutorial
    • Download
    • Code Development
    • Contests and Events
    • Form Team
    • Advertise your Server
  • Tibia Bots
    • Discussion
  • League of Legends's Geral
  • League of Legends's Suporte
  • Jogos Gerais's Geral
  • Nto New Season's Tópicos
  • Fakes's Fakes
  • Tibia's Geral
  • Tibia's Notícias
  • Tibia's Media
  • Tibia's Life Thread
  • Gráficos's Geral
  • Gráficos's Tutoriais
  • Gráficos's Recursos
  • Gráficos's Aprendizagem & Recursos
  • Gráficos's Galeria
  • Gráficos's Duelos & Batalhas
  • Gráficos's Suporte
  • Desenvolvimento e Programação's Geral
  • Desenvolvimento e Programação's Tutoriais
  • Desenvolvimento e Programação's Trabalhos
  • Desenvolvimento e Programação's Suporte
  • Computação's Geral
  • Computação's Dicas e Tutoriais
  • Computação's Suporte
  • Roleplaying's Roleplaying
  • Playground's (Off-topic)
  • Divulgações's Tópicos

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Product Groups

  • Advertisements in Top
  • Advertisements In Signatures
  • Advertisements in Topics
  • Others Advertisements

Categories

  • Sales Section
    • Scripting Sales
    • Codes Sales
    • Mapping Sales
    • Websites Sales
    • Design/Sprites Sales
    • Bots Sales
  • Look Jobs
  • Looking for Freelancers
  • Team Formation

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 4 results

  1. Introdução Estive procurando no fórum e não encontrei esse sistema de TP para versões com modal, aliás, até achei um semelhante, só que possuía algumas instabilidades e também com uma ideia de waypoints (que estava também fazendo dessa forma, mas não vem ao caso o motivo disso não ser viável no Tibia). O que trago aqui é algo mais simples, porém o necessário. O sistema de TP é muito importante em alguns servidores que fogem um pouco de RPG (não que seja exclusivamente para estes), ele possibilita viagens de um local para outro em instantes, como por exemplo, do Templo para o Depot ou para qualquer outra localização configurada no script (a seu gosto). Uma coisa adicional que coloquei no script, foi de listar também a house do jogador que utilizar o comando, onde você poderá configurar se será necessário pagar ou não para o mesmo ser teleportado, enfim, dê uma olhada no código depois, tá tudo comentado. Informações do sistema - Locais configuráveis - Configurável se é necessário pagar ou não para determinado local - Configurável a quantidade de dinheiro de cada local - Condições ao utilizar o comando (Protect Zone e tempo para utilizar o comando novamente) - É requisitado o jogador está possuindo a quantia necessária para o teleport Instalação 1 - crie um arquivo chamado teleportSystem.lua em data/talkactions/scripts/ e cole o código abaixo: 2 - Em seguida, cole este trecho de código em data/talkactions/talkactions.xml abaixo de algum semelhante: 3 - Agora crie um arquivo chamado modalTpSystem.lua em data/creaturescripts/scripts/ e cole o código abaixo nele: 4 - E para finalizar, cole este código em data/creaturescripts/creaturescripts.xml abaixo de um semelhante: Explicação do script A única coisa que você vai mexer é no teleportSystem, onde terá a opção de configurar os preços, locais, etc. Configurando as houses: houses_modal = Se será habilitado o player teleportar para a house dele house_pago = Se será pago o teleport para a house house_custo = Custo do teleport para a house, caso seja pago Configurando o local: nome = Nome do local a ser mostrado na janela pago = Se ele vai ser pago ou não, coloque false caso queira que não cobre nada do jogador custo = Caso tenha colocado como pago, o custo do teleport para o local pos = Posição do local (X,Y,Z) Quando for adicionar outro, copie esta mesma parte acima e altera o número [3] para [4] e os outros dados também, assim por diante. O restante também tá explicado no script, basta ler. Demonstração UTILIZE O COMANDO !fly Enfim, script simples, tem para outras versões, mas como falei, não tinha encontrado ainda para 1.x com esse funcionamento. Qualquer coisa, só comentar, .
  2. Então , estou começando agora no mundo de script, e eu e um amigo estávamos conversando sobro no Futuro OT que estamos criando e vimos a necessidade de um Tutor Automático para não depender tanto de alguém sempre respondendo a galera. [1] Como funciona: Simplesmente com uma Talk Action , você manda no Global Channel !tutor e ira abrir uma ModalWindow com as duvidas. [2] Como ele responde: Isso vai depender de você colocar para responder, pois o sistema manda uma mensagem no Local Chat em Azul. [3] Como Instalar: É bem simples de instalar mas siga os passos atentamente. Enfim vamos para a melhor parte . 1) Primeiro você tem que ter o ModalWindow instala-do no seu Server: Modal Window 2) Em \data\talkactions\talkactions.xml registre a seguinte linha. <talkaction words="!tutor" script="tutor.lua"/> 3) Em \data\talkactions\scripts crie o seguinte arquivo "tutor.lua" e adicione. function onSay(cid, player, words, param) cid:registerEvent("modalwindowhelper") local titulo = "Tutor Automatico" -- Esse é o titulo do ModalWindow local mensagem = "Oi,eu sou o Tutor Automatico do OTS, posso respoder algumas de suas duvidas" -- Subtitulo do ModalWindow local popup = ModalWindow(1000, titulo, mensagem) popup:addButton(100, "Confirm") popup:addButton(101, "Cancel") popup:addChoice(1, "Pergunta1") -- Aqui é onde voce vai adicionar as perguntas, basta seguir a sequencia popup:addChoice(2, "Pergunta2") popup:setDefaultEnterButton(100) popup:setDefaultEscapeButton(101) popup:sendToPlayer(cid) return true end 4) Em \data\creaturescripts\creaturescripts.xml registre a seguinte linha. <event type="modalwindow" name="modalwindowhelper" script="tutor.lua"/> 5) Em \data\creaturescripts\scripts crie o seguinte arquivo "tutor.lua" e adicione. function onModalWindow(cid, modalWindowId, buttonId, choiceId) cid:unregisterEvent("modalwindowhelper") local mensagem = { [1] = "Tutor Automatico: Resposta1", -- aqui é voce vai adicionar as respostas respeitando a sequencia [2] = "Tutor Automatico: Resposta2", } if modalWindowId == 1000 then if buttonId == 100 then for x = 1,#mensagem do if choiceId == x then cid:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, mensagem[x]) end end end end end Caso Tenha Ajudado +REP Créditos: Yok
  3. Resumo A maneira atual para implementar Modal Window é um pouco complicada. Atualmente precisamos cria-la em algum lugar, registrar o evento, adicionar os botões em uma ordem específica, definir o ID da janela, dos botões e da escolha. Isso não é o ideal, então esta biblioteca foi criada pelo Non Sequitur para ajudar nisso. E eu estou trazendo para a OtServBrasil. Exemplo/ Tutorial Usando Modal Window Instalando Adicionar em data/lib/lib.lua dofile('data/lib/modalwindow.lua') Crie o arquivo modalwindow.lua com o seguinte conteúdo em data/lib if not modalWindows then modalWindows = { modalWindowConstructor = ModalWindow, nextFreeId = 500, windows = {} } end local MT = {} MT.__index = MT function ModalWindow(...) local args = {...} if type(args[1]) == 'table' then local self = setmetatable(args[1], MT) local id = modalWindows.nextFreeId self.id = id self.buttons = {} self.choices = {} self.players = {} self.created = false modalWindows.nextFreeId = id + 1 table.insert(modalWindows.windows, self) return self end return modalWindows.modalWindowConstructor(...) end function MT:setDefaultCallback(callback) self.defaultCallback = callback end function MT:addButton(text, callback) local button = {text = tostring(text), callback = callback} table.insert(self.buttons, button) return button end function MT:addButtons(...) for _, text in ipairs({...}) do table.insert(self.buttons, {text = tostring(text)}) end end function MT:addChoice(text) local choice = {text = tostring(text)} table.insert(self.choices, choice) return choice end function MT:addChoices(...) for _, text in ipairs({...}) do table.insert(self.choices, {text = tostring(text)}) end end function MT:setDefaultEnterButton(text) self.defaultEnterButton = text end function MT:setDefaultEscapeButton(text) self.defaultEscapeButton = text end function MT:setTitle(title) self.title = tostring(title) end function MT:setMessage(message) self.message = tostring(message) end local buttonOrder = { [4] = {3, 4, 2, 1}, [3] = {2, 3, 1}, [2] = {1, 2}, [1] = {1} } function MT:create() local modalWindow = modalWindows.modalWindowConstructor(self.id, self.title, self.message) local order = buttonOrder[math.min(#self.buttons, 4)] if order then for _, i in ipairs(order) do local button = self.buttons[i] modalWindow:addButton(i, button.text) button.id = i if button.text == self.defaultEnterButton then modalWindow:setDefaultEnterButton(i) elseif button.text == self.defaultEscapeButton then modalWindow:setDefaultEscapeButton(i) end end end for _, choice in ipairs(self.choices) do modalWindow:addChoice(_, choice.text) choice.id = _ end self.modalWindow = modalWindow end function MT:sendToPlayer(player) if not self.modalWindow then self:create() end player:registerEvent('ModalWindowHelper') self.players[player:getId()] = true return self.modalWindow:sendToPlayer(player) end Adicionar em data/creaturescripts/craturescripts.xml <event type="modalwindow" name="ModalWindowHelper" script="modalwindowhelper.lua" /> Crie o arquivo modalwindowhelper.lua com o seguinte conteúdo em data/creaturescripts/scripts/ function onModalWindow(player, modalWindowId, buttonId, choiceId) local modalWindow for _, window in ipairs(modalWindows.windows) do if window.id == modalWindowId then modalWindow = window break end end if not modalWindow then return true end local playerId = player:getId() if not modalWindow.players[playerId] then return true end modalWindow.players[playerId] = nil local choice = modalWindow.choices[choiceId] for _, button in ipairs(modalWindow.buttons) do if button.id == buttonId then local callback = button.callback or modalWindow.defaultCallback if callback then callback(button, choice) break end end end return true end Pronto! Espero que gostem. Posteriormente irei postar um tutorial de como usar/ aplicar e alguns scripts utilizando a Biblioteca.
  4. Bem, esse é mais um sistema do RazorBlade, assim como no outro, pedi autorização para estar trazendo para cá. Esse sistema é bem complexo e enorme e, claro, pode ser alterado da maneira que lhe convir. Espero que quem usar e testar de um rep, pois traduzir, ajeitar o conteúdo, testar para ver se tem erros e reportar demora né.. estou trazendo pois sei que muitos brs não sabem o mínimo de inglês e acho que esses deveriam ao menos agradecer pelo trabalho de disponibilizar aqui.. Enfim.. novamente, Vamos começar Esse sistema é composto de 3 ferramentas distintas.: Smith(forja de items), Smelt(derretimento de items), tanning (tratar a pele) Caracteristicas Bem são mais de 2mil linhas de códigos vamos realmente começar?!?! -- ACTIONS Em actions.xml adicione isto Crie um arquivo scripts/crafting/smith.lua e adicione isso Crie um arquivo scripts/crafting/smelt.lua e adicione isso Crie um arquivo scripts/crafting/tan.lua e adicione isso -- CREATURESCRIPTS Em creaturescripts.xml adicione isso Crie um arquivo em creaturescripts/scripts/smith.lua e adicione isso Crie um arquivo em creaturescripts/scripts/smelt.lua e adicione isso Crie um arquivo em creaturescripts/scripts/tan.lua e adicione isso Em creaturescripts/scripts/login.lua adicione isso em qualquer area que seja depois da primera sessão de login e registre os eventos no final -- SESSÃO DATA Em global.lua adicione Crie o arquivo smith.lua e adicione isso Crie o arquivo smelt.lua e adicione isso Crie o arquivo tan.lua e adicione isso Crie o arquivo skills.lua e adicione isso -- SESSÃO DATA 1 Caso pretenda usar achievement para os sets é necessário adicionar mais 2 linhas ao global.lua Crie o arquivo achievements.lua e adicione isso Crie o arquivo sets.lua e adicione isso -- CONSIDERAÇÕES FINAIS O sistema foi testado em TFS 1.1 e 1.2 e esta funcionando sem problemas. Eu fiz testes usando o tfs 1.2 mas não usei o sistema de achievements, o resto todo que testei esta funcionando perfeitamente.. Por favor, antes de qualquer pergunta leia atentamente todas as informações.. Obs.: Curtiu, usou, testou.. da um rep ae.. isso mostra que valeu a pena gastar o tempo procurando algo interessante, pedindo autorização e tudo mais para trazer para cá.. além de não arrancar pedaço..

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia partindo do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer publicidade para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução! A publicação do seu anuncio é instantânea!

×
×
  • Create New...