-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por OT Archive
OTClient Redemption (mehah) para navegadores
Em nome da OTServList Brasil e do OT Archive, adaptei o OTClient Redemption para rodar em navegadores web.
Source: https://github.com/mehah/otclient/pull/894 Guia de compilação e uso: https://github.com/OTArchive/otclient/wiki/Guia-‐-OTClient-Redemption-Web Demo sem assets: https://demo.otarchive.com Versão modular: https://webclient.otarchive.com Vídeo demonstrando o client se conectando a um servidor:
Em caso de dúvidas sobre o client web ou sobre servidores com suporte a websockets, por favor poste aqui.
Disponibilizou um client web para seu servidor? Me avise para que eu inclua seu OT na categoria Web na OTServList Brasil, com um botão "Jogar Agora".
-
Por Goddess Freya
OI, TUDO BOM??
Queria te mostrar um servidor que jogo há um tempão já, o Everdale!
Everdale é um servidor TOTALMENTE CUSTOM, feito DO ZERO e que ja está online há 4 ANOS, em constante desenvolvimento e com updates cada vez mais incríveis
O objetivo é providenciar um servidor de 1x exp, em um ambiente NO PAY TO WIN.
A conta Premium só inclui caraterísticas de qualidade de vida tais como auto-loot, casas, outfits e mais algumas coisas
Site para você se registrar:
https://everdale.net/register.php?referral=RnJleWE=
/\ esse link faz parte do programa de referencia, em que você ganha prêmios assim que seus amigos alcançam o nível 50, se usarem seu código de referencia...)
Se qusier saber mais, já entra no nosso grupo do Discord:
https://discord.gg/YR5bUWuk
Em Everdale, temos 7 classes:
- Assassin O verdadeiro ninja, usa 2 espadas de uma mão, causa sangramento e cria clones igual ao Naruto! XD.
- Berserker: A maquina de destruição perfeita. aniquile seus inimigos com uma arma de duas mãos e golpes pesados!
- Priest O melhor curador de todo o continente, com buffs excelentes para o time e o pesadelo de qualquer morto-vivo.
- Ranger: Legolas ou Robin Hood, você pode escolher qual deles você quer ser! Mate os inimigos a longa distancia!
- Templar: O grande e sagrado cavaleiro, capaz de repelir ataques e com grande poder de cura. O segundo maior pesadelo dos morto-vivos.
- Summoner: Para que lutar se um exército pode lutar por você?! Se você deseja isso, essa é a classe perfeita pra você
- Wizard: O elementalista: controla fogo, gelo e raio, com grande poder mental e magias destrutivas em área!
PROFISSÕES NO JOGO:
Mining: Mineração de vários tipos de minérios, usados para muitos tipos de crafting
Herbalism: Colete flores ao redor de florestas no mapa, usado para craftar potions e buffs
Skinning: ARRANQUE a cabeleira dos dragões que você matar, além de outros mobs usado para craftings também.
Cada personagem pode ter 2x profissões nesse momento:
*Armorcrafting - A arte de fazer armaduras
*Weaponcrafting - A arte blabláblá de fazer armas
*Enchanting - Aqui tem coisa boa e nova. Permite você criar encantamentos poderosos para colocar nos teus itens e dar status extras...
*Jewelcrafting - Craft de anéis, amuletos... (será você o próximo Senhor dos anéis?) kkk zueira...
*Alchemy - Permite você criar poções, buffs, etc...
+Sistemas:
Mysteriandos (quests secretas e difíceis de serem encontradas, com recompensas realmente ÚNICAS, espalhadas pelo mapa)
Sistema de Dungeon: Sozinho ou em grupo, excelente para obter novos itens e reputação...
Sistema de Task diaria: Excelente pra farmar, aumentar skill, etc...
Outras coisinhas:
Axe, Sword e Club se tornaram Melee Skill
Sistema de reputação nas cidades - Ao aumentar a reputação, obtém melhores preços com os vendedores e mais itens para trocar, além de desbloquear missões e aumentares o número de missões diárias.
Missões diárias - Completas estas missões para aumentar a tua reputação numa cidade.
Sistema de auto-loot (isso sim é vida!)
Itens editados e únicos!
Sistema de raridade de itens (itens podem vir com status diferentes e poderosos, de acordo com a força do item)
As raridades são: Common, Uncommon, Rare e Epic.
Esperamos que você se divirta muito e não hesite em deixar comentários ou sugestões.
Gostaríamos de continuar desenvolvendo o jogo com base em seus comentários para criar um ótimo servidor.
Um agradecimento, God Pox (dono do server) e Freya (jogadora mais antiga, antiga tutora também).
-
Por matiasz123
[OTCLIENT SHOWOFF] Questlog Actualizado
Updated quest log, showing quest details:
Npc name Npc level Npc outfit Mission status Description Amount of reward experience Number of reward points Enemies you must kill Items to collect
When you click on the follow button, an alternative map opens that shows you the next objective of the mission and at what coordinates:
If you want the system write a comment with your discord
-
Por maikon1993
Fala galerinha de boas ?
Preciso de ajuda, preciso de um macro para otcV8, que faça um item dar use no outro.
Exemplo: Tem um item no servidor "spellswand" e ela é usada para vender item, dando "use" nela e no item que quer vender, queria deixar isso automático, se alguém poder me ajudar agradeço.
-
Por Mutio
PokeDash by Pota TFS 1.2
OTCv8
Dialogue module by Gengo (Reworked)
Hello everyone, would anyone be able to help me improve this dialogue system?
When I have a lot of text, it expands, and there's a write effect. I made this primarily for myself, but you can also benefit from it.
The problem is that if there's a lot of text, the window doesn't layout as I intended, specifically regarding the buttons. They get cut off, and I'd like the window to adjust its size based on the amount of text and buttons. For example, if there are 3 buttons, the window should not cut them off but should expand, adding a few pixels at the bottom to display the buttons correctly.
Additionally, I've implemented a feature in the code to display items in the center if they are required for quests or anything an NPC might ask from the player. I'd like to make sure this feature also adapts correctly to the window size.
Perhaps there is an expert in the OTC module who could guide me or correct and remove unnecessary code that I've written and is not needed. I must admit that I'm not a very skilled developer in OTC, but I managed to accomplish something. If someone can help me, I can share this dialogue system. (Modified version of Gengo)
LUA:
local npcWindowDialog local buttonHolder local lblTitle local outfitBox local panelMsg local scrollPanel local lblMessage local LabelText local itemBox local buttondialog local fadeOutEvent = nil local initialHeight = 200 function init() connect(g_game, { onGameEnd = offline }) connect(LocalPlayer, { onPositionChange = onCreaturePositionChange }) ProtocolGame.registerExtendedOpcode(80, function(protocol, opcode, buffer) print("Received extended opcode data: " .. buffer) local data = json.decode(buffer) if (data.action == "close") then offline() elseif (data.action == "create") then NpcDialog(data.data) end end) npcWindowDialog = g_ui.displayUI('npcdialog') buttonHolder = npcWindowDialog:getChildById('buttonHolder') lblTitle = npcWindowDialog:getChildById('lblTitle') scrollPanel = npcWindowDialog:getChildById('scrollPanel') panelMsg = npcWindowDialog:getChildById('panelMsg') outfitBox = npcWindowDialog:getChildById('outfitBox') itemBox = npcWindowDialog:getChildById('itemBox') buttondialog = npcWindowDialog:getChildById('buttondialog') lblMessage = g_ui.createWidget('LabelText', panelMsg) end function terminate() disconnect(g_game, { onGameEnd = offline }) disconnect(Creature, { onPositionChange = onCreaturePositionChange }) ProtocolGame.unregisterExtendedOpcode(80) removeEvent(npcWindowDialog.fadeEvent) npcWindowDialog:destroy() end function clearItemBox() itemBox:destroyChildren() end function offline() clearItemBox() buttondialog:destroyChildren() npcWindowDialog:hide() npcWindowDialog:setHeight(initialHeight) if fadeOutEvent then removeEvent(fadeOutEvent) end end function onCreaturePositionChange(creature, newPos, oldPos) if creature:isLocalPlayer() then clearItemBox() npcWindowDialog:setHeight(initialHeight) npcWindowDialog:hide() end end function openDialog() npcWindowDialog:raise() npcWindowDialog:show() npcWindowDialog:setOpacity(0) npcWindowDialog:setHeight(initialHeight) g_effects.fadeIn(npcWindowDialog, 150) if fadeOutEvent then removeEvent(fadeOutEvent) end fadeOutEvent = scheduleEvent(function() g_effects.fadeOut(npcWindowDialog, 150) end, 30000) end function writeTextEffect(lblMessage, text, delay, callback) lblMessage:clearText() local textSize = #text local initialHeight = npcWindowDialog:getHeight() for i = 1, textSize do scheduleEvent(function() lblMessage:setText(lblMessage:getText() .. text:sub(i, i)) local newHeight = initialHeight + lblMessage:getTextSize().height npcWindowDialog:setHeight(newHeight) end, delay * i) end end function NpcDialog(value) clearItemBox() local Npc = g_map.getCreatureById(value.npcId) lblTitle:setText(Npc:getName()) outfitBox:setOutfit(Npc:getOutfit()) lblMessage:clearText() writeTextEffect(lblMessage, tr(value.message), 15) scrollPanel:setVisible(lblMessage:getTextSize().height > panelMsg.limitText) local textLength = string.len(value.message) local windowHeight = textLength * 10 if value.items ~= nil then local itemHeight = 10 windowHeight = windowHeight + (#value.items * itemHeight) end local maxHeight = 800 if windowHeight > maxHeight then windowHeight = maxHeight end npcWindowDialog:setHeight(windowHeight) if value.items ~= nil then for _, itemId in ipairs(value.items) do local item = g_ui.createWidget('Item', itemBox) item:setItemId(itemId) end end buttondialog:destroyChildren() if value.options ~= '' then local option = value.options:split('&') for i = 1, #option do local button = g_ui.createWidget('OptionButton', buttondialog) button:setText(tr(option[i])) button:setWidth(500) button:setHeight(150) button:setVisible(false) button.onClick = function() g_game.talkChannel(MessageModes.NpcTo, 0, option[i]) npcWindowDialog:setHeight(initialHeight) button:setVisible(false) end end buttondialog:setHeight(#option > 25 and 88 or 25) scheduleEvent(function() for i, child in ipairs(buttondialog:getChildren()) do child:setVisible(true) g_effects.fadeIn(child, 500) end end, (#value.message * 8) + 500) end openDialog() end
OTUI:
LabelText < Label padding-bottom: 5 font: sans-bold-16px color: #e8c05e text-wrap: true text-auto-resize: true OptionButton < UIButton image-source: /images/ui/buttondialog image-repeated: true text-offset: 0 1 change-cursor-image: true cursor: pointer $pressed: image-color: #dfdfdf44 $disabled: image-color: #dfdfdf55 change-cursor-image: false UIWindow id: npcWindowDialog size: 690 381 visible: false focusable: false image-source: window image-repeated: false anchors.centerIn: parent @onEscape: modules.game_npcdialog.offline() Label id: lblTitle font: sans-bold-16px anchors.top: parent.top anchors.left: parent.left !text: tr('Title') margin: 18 0 5 25 color: #e8c05e text-auto-resize: true UICreature id: outfitBox size: 58 58 anchors.top: prev.bottom anchors.left: parent.left margin: 20 0 5 34 VerticalScrollBar id: scrollPanel height: 65 anchors.top: panelMsg.top anchors.left: panelMsg.right anchors.bottom: panelMsg.bottom pixels-scroll: true step: 14 margin-left: 5 visible: false ScrollablePanel id: panelMsg size: 0 60 anchors.top: lblTitle.bottom anchors.left: outfitBox.right anchors.right: parent.right margin: 8 30 10 25 vertical-scrollbar: scrollPanel layout: verticalBox &limitText: 80 UIItem id: itemBox size: 50 50 anchors.horizontalCenter: parent.horizontalCenter anchors.top: panelMsg.bottom layout: type: horizontalBox cell-size: 50 50 cell-spacing: 12 num-columns: 10 fit-children: true UIScrollArea id: buttondialog anchors.top: itemBox.bottom anchors.left: parent.left anchors.right: parent.right margin: 15 10 25 10 layout: type: grid cell-size: 500 42 flow: true fit-children: true
-
Posts Recomendados
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.