Ir para conteúdo
  • Cadastre-se

L2 INTERLUDE PROJECT 2021 - Procura-se sócios!


Juudas

Posts recomendados

L2 INTERLUDE PROJECT 2021 - Procura-se sócios!

Estou à procura de alguns sócios para projetarmos em conjunto um servidor de Lineage 2 Interlude. Minha ideia é que seja lançado em dezembro de 2021 (já em evento de Natal), assim teremos bastante tempo até lá para planejar, custear, montar, programar, marketizar, e etc.

Acho justo me apresentar primeiro: meu nome é Felipe, tenho 29 anos e sou membro do fórum há alguns bons anos. Nos anos de 2011-2012 eu mantive um servidor online. Fiz tudo sozinho, com PC e servidor em casa no começo (comprei um PC e internet pra segurar a bronca). Bateu a média ali de 300-400 players online no final de semana. Com o chegar dos lucros preferi transferir o servidor pra nuvem e o projeto ao todo durou pouco mais de um ano. No final juntei dinheiro suficiente pra me ajudar a custear minha viagem para fora do país e fazer minha faculdade. Com os estudos ficou difícil manter a dedicação ao servidor (era eu sozinho!) e eu precisei fechá-lo. Abri outros servidores para jogar com amigos depois. Hoje falo 3 idiomas (pt, eng, esp) e tenho conhecimento de um pouco de tudo sobre informática, marketing e Lineage 2.

 

REQUISITOS PARA SER SÓCIO:

  1. Ser maior de 18 anos
  2. Disponibilidade de 4-8 horas por dia
  3. Discord, Zoom e email
  4. Conhecimentos gerais para montar um servidor e site
  5. Saber falar inglês
  6. $ para investir no projeto, acredito que todos devem investir igualmente
  7. Cumplicidade e honestidade. Busco um grupo pequeno e seleto de amigos que eu possa confiar, aprender, me divertir e -claro- ter lucros passivos mensalmente com divisão igual para todos.

 

PERFIL DO SERVIDOR:
(Apenas minhas ideias. Acredito que tudo pode e deve ser discutido!)

  • Interlude
  • Rate a discutir
  • Itens top para craft e farm globalmente, eventos diariamente para todos, dual box permitida, 2 servidores com mesmo rate (1 com subclass acumulativa e 1 sem subclass acumulativa) e donate vip e roupas vip.
  • Marketing 24h/7d com planejamento no calendário (eventos anuais como pascoa, férias, etc) e investimento custeado pelos lucros do servidor.
  • Ajuda com itens D/C e até B grade até o level 50. A e S grade só craft, quest e eventos.
  • Probabilidade de enchant (até +16) mais facilitada. Um servidor com armas brilhando é muito mais bonito.
  • Patch em inglês e em português! A meta é publicar o servidor em sites gringos.
  • Manutenção mensal do balanceamento das classes. Muito importante! É péssimo jogar com um dagger que não acerta ou um bladedancer que não serve para nada. A meta é proporcionar a experiência de que todas as classes são únicas e jogáveis.
  • Valorizar os buffers! Item ou NPC de auto buff é bem vindo o jogo inteiro. Mas algumas skills devem pertencer somente as classes, para que esses personagens sejam valiosos em uma siege, boss, pvp, etc.

 

Estas são minhas ideias iniciais e proposta para o projeto. Ainda tem muito a ser discutido e projetado, assim como há tempo para fazer um servidor de L2 muito bem feito!

Se lhe interessa, deixa sua mensagem abaixo e eu entro em contato com você. Obrigado galera!  🤙🖖

Editado por Juudas
Link para o comentário
Compartilhar em outros sites


A ideia é boa, mas não ficou claro os cargos que você precisa e também qual a função que você vai exercer. Pergunto isso, pois tem gente que só tem dinheiro e vontade de abrir servidor. Alem de falar outros idiomas e ter experiencia com marketing, você faria alguma coisa? Qual cargo você pretende ter? Qual linguagem de programação você domina?

Faço essas perguntas, pois um projeto serio e de igualdade em tudo de 50/50 tudo precisa ficar muito claro.

Obrigado.

 

 

 

Link para o comentário
Compartilhar em outros sites

Boa tarde.
Gostei da proposta e consigo contribuir de algumas maneiras como hospedagem ilimitada para site tanto quanto ajuda no design do mesmo.

Tenho 33 anos e já fiz parte de alguns projetos no passado.
Trabalho em casa possuo minha própria empresa, ou seja, muito tempo livre.

Meu discord 4Unknow#1163

Aguardo seu contato, obrigado.
Abraço.

Link para o comentário
Compartilhar em outros sites

Resolvi fazer outro post respondendo pq não consegui editar o primeiro. Agradeço demais as respostas, fico feliz que a nostalgia e o prazer em jogar lineage esteja com vocês!!

Não consegui falar com todos individualmente, prefiro que me adicionem no discord e me mandem uma mensagem caso se interessem em conversar: sabka#6262

OK, vou responder em maioria as perguntas do IVAN (inclusive me manda um direct e vamos trocar uma ideia). Pensei um pouco e organizei as minhas ideias do que espero de um servidor, então vou compartilhar com todos aqui. Se quiserem opinar, sintam-se à vontade 😉😁

Servidor em geral

  1. 15-50x
  2. Rev paga!
  3. D/C/B grade facilitado em conseguir. A/S só craft e quest
  4. Valorizar o Spoiler e o Crafter
  5. Valorizar os Buffers
  6. Dual box sim
  7. Bot? Estou indeciso. Até no oficial já está incorporado dentro do jogo
  8. Sub +1 com quest especial para completar
  9. Facilitar o player a conseguir o strider até o level 60+. Pra conseguir o wyvern vai ser beeem difícil.

Cargos dos sócios

Acredito que 2 sócios para cuidar e manter um servidor é o suficiente. Mas se houver uma equipe de 3 pessoas muito boas e cada um e uma área, a chance de sucesso é maior. Vou listar aqui as 8 funções que eu acredito essenciais para que um servidor prospere. Eu tenho conhecimento de tudo um pouco de tudo aqui, mas vou ressaltar meus fortes e as coisas que eu gostaria de fazer:

  1. Programador da system e launcher - updates, texturas e itens (💥!)
  2. Programador do servidor e dos dados - acesso remoto, todo o loginserver e gameserver
  3. Programador do site e do fórum - criação de contas, downloads, comunidade, etc  (💥!)
  4. Mestre de eventos com calendário anual - 1 evento novo a cada 10 ou 15 dias.
  5. Mestre de updates - para balancear todo o necessário ao menos mensalmente
  6. Editor de Imagens e Vídeo - para criar todas as artes
  7. Tesoureiro - controle das entradas e saidas (💥!)
  8. Marketeiro - divulgação em tops, facebook e etc  (💥!)

Funções de todos: GM, moderador do fórum e moderador do facebook.

Transparência

Quero deixar claro: transparência pra mim é essencial. Montar um servidor não é brincadeira de "vou testar para ver se vai dar certo". Pode soar ofensivo para alguns e me desculpe, mas com minha experiência eu entendi que a missão aqui é proporcionar entretenimento! Diversão, nostalgia, investimento do tempo do jogador. Tudo isso é sério e merece ser respeitado. Dinheiro é consequência de um trabalho bem feito e manutenção do projeto.

Tudo que for feito. TUDO! Deverá ser passado num grupo de whatsapp dos sócios num futuro. Novos updates, novos eventos, novos donates, novas divugações, quantidade de jogadores ativos, etc. Quero criar um boletim diário como se fosse um protocolo mesmo (a ser criado e discutido) para que toda a equipe tenha conhecimento de em que pé está o servidor. Falando em equipe...

GM's

Aqui a equipe aumenta. Além dos sócios precisaremos de pelo menos mais 2 ou 3 Gm's para estar online no servidor e moderando.

E finalizando: eu tenho conhecimento em um pouco de tudo. Java, HTML, PHP, Photoshop, Joomla, MySQL, acesso remoto, etc. Acho que sou meio multiuso, meu fraco é ainda não saber compilar uma rev.

Ficou tudo mais claro agora?? Vlww amigos 😁🤙🤙

 

12 horas atrás, Gryphon disse:

Poxa, muito legal. Fiquei interessado. Dá um toque no PM , vamos amadurecer a ideia.

 

9 horas atrás, Lucky disse:

Vamos marcar uma call, me manda uma mensagem com seu contato, acredito que eu possa agregar em algumas coisas.

 

18 horas atrás, 4Unknow disse:

Boa tarde.
Gostei da proposta e consigo contribuir de algumas maneiras como hospedagem ilimitada para site tanto quanto ajuda no design do mesmo.

Tenho 33 anos e já fiz parte de alguns projetos no passado.
Trabalho em casa possuo minha própria empresa, ou seja, muito tempo livre.

Meu discord 4Unknow#1163

Aguardo seu contato, obrigado.
Abraço.

 

Em 02/04/2021 at 17:38, Ivan Pires disse:

A ideia é boa, mas não ficou claro os cargos que você precisa e também qual a função que você vai exercer. Pergunto isso, pois tem gente que só tem dinheiro e vontade de abrir servidor. Alem de falar outros idiomas e ter experiencia com marketing, você faria alguma coisa? Qual cargo você pretende ter? Qual linguagem de programação você domina?

Faço essas perguntas, pois um projeto serio e de igualdade em tudo de 50/50 tudo precisa ficar muito claro.

Obrigado.

 

Em 02/04/2021 at 17:21, Mami disse:

Boa tarde

gostei da iniciativa. Mami#2595

 

Em 02/04/2021 at 14:22, digobile disse:

Boa tarde, Felipe.

Add discord, por favor.

digobile#7607

Abraços.

 

Em 31/03/2021 at 14:30, MundvayneHELLBOY disse:

Fiquei interessado em participar..

Lucas Vieira#2488 <<discord

 

Editado por Juudas
Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.