Идея Исчезание ника

  • Автор темы Автор темы Gin_k77
  • Дата начала Дата начала

Gin_k77

Старожил
Пользователь
Баллы
123
Имя в Minecraft
Drakosha
Всем привет! И вот недавно потребовался плагин для удаления ника над головой определенного человека,скачал несколько плагинов и вот результата ноль. Все плагины или под версию 1.2.4 или под версию 1.2.5 Прошу создать на ведро 1.4.6,заранее спасибо.
P.S: Или же посоветуйте такой плагин на 1.4.6
 
Скинь ссылку на этот плагин попробую обновить)
 
Не буду создавать отдельную тему, ибо очень похожая идея.
Суть - скрывать ник над головой игрока тогда, когда он находиться от тебя в отдалении. А при подходе например на 10 кубов появлялся.
 
Достаточно хороший плагин
 
Тоже жду этого плагина!!!:)
 
Эмм... насколько я знаю, прорисовка ника это дело происходит именно на клиенте, но не как не на сервере. Например: я писал DayZ Mod для Paradise Craft и там достаточно интересная система прорисовки ников: виден только тогда, когда игрок смотрит на того игрока, чей ник он хотел-бы увидеть, и это все я делал именно на клиенте. Навряд ли можно такое реализовать без модификации клиента.
 
  • Нравится
Реакции: ufes
Эмм... насколько я знаю, прорисовка ника это дело происходит именно на клиенте, но не как не на сервере. Например: я писал DayZ Mod для Paradise Craft и там достаточно интересная система прорисовки ников: виден только тогда, когда игрок смотрит на того игрока, чей ник он хотел-бы увидеть, и это все я делал именно на клиенте. Навряд ли можно такое реализовать без модификации клиента.
Ну скажи как сделать это на клиенте.
 
Ну скажи как сделать это на клиенте.
Ну если тебе надо что-бы видимость зависела от расстояния, то в файле "RenderPlayer.java" ищи функцию renderName() и пиши туда это:
Java:
protected void renderName(EntityPlayer par1EntityPlayer, double par2, double par4, double par6)
    {
        if (Minecraft.isGuiEnabled() && par1EntityPlayer != renderManager.livingPlayer)
        {
            float f = 1.6F;
            float f1 = 0.01666667F * f;
            double d = par1EntityPlayer.getDistanceSqToEntity(renderManager.livingPlayer);
            float f2 = par1EntityPlayer.isSneaking() ? 5F : 10F;
 
            if (d < (double)(f2 * f2))
            {
                String s = par1EntityPlayer.username;
 
                if (par1EntityPlayer.isSneaking())
                {
                    FontRenderer fontrenderer = getFontRendererFromRenderManager();
                    GL11.glPushMatrix();
                    GL11.glTranslatef((float)par2 + 0.0F, (float)par4 + 2.3F, (float)par6);
                    GL11.glNormal3f(0.0F, 1.0F, 0.0F);
                    GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
                    GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
                    GL11.glScalef(-f1, -f1, f1);
                    GL11.glDisable(GL11.GL_LIGHTING);
                    GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F);
                    GL11.glDepthMask(false);
                    GL11.glEnable(GL11.GL_BLEND);
                    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                    Tessellator tessellator = Tessellator.instance;
                    GL11.glDisable(GL11.GL_TEXTURE_2D);
                    tessellator.startDrawingQuads();
                    int i = fontrenderer.getStringWidth(s) / 2;
                    tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
                    tessellator.addVertex(-i - 1, -1D, 0.0D);
                    tessellator.addVertex(-i - 1, 8D, 0.0D);
                    tessellator.addVertex(i + 1, 8D, 0.0D);
                    tessellator.addVertex(i + 1, -1D, 0.0D);
                    tessellator.draw();
                    GL11.glEnable(GL11.GL_TEXTURE_2D);
                    GL11.glDepthMask(true);
                    fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 0x20ffffff);
                    GL11.glEnable(GL11.GL_LIGHTING);
                    GL11.glDisable(GL11.GL_BLEND);
                    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                    GL11.glPopMatrix();
                }
                else if (par1EntityPlayer.isPlayerSleeping())
                {
                    renderLivingLabel(par1EntityPlayer, s, par2, par4 - 1.5D, par6, 64);
                }
                else
                {
                    renderLivingLabel(par1EntityPlayer, s, par2, par4, par6, 64);
                }
            }
        }
    }
Будет рендить ник только если расстояние меньше 10 блоков
 
Ну если тебе надо что-бы видимость зависела от расстояния, то в файле "RenderPlayer.java" ищи функцию renderName() и пиши туда это:
Java:
protected void renderName(EntityPlayer par1EntityPlayer, double par2, double par4, double par6)
    {
        if (Minecraft.isGuiEnabled() && par1EntityPlayer != renderManager.livingPlayer)
        {
            float f = 1.6F;
            float f1 = 0.01666667F * f;
            double d = par1EntityPlayer.getDistanceSqToEntity(renderManager.livingPlayer);
            float f2 = par1EntityPlayer.isSneaking() ? 5F : 10F;
 
            if (d < (double)(f2 * f2))
            {
                String s = par1EntityPlayer.username;
 
                if (par1EntityPlayer.isSneaking())
                {
                    FontRenderer fontrenderer = getFontRendererFromRenderManager();
                    GL11.glPushMatrix();
                    GL11.glTranslatef((float)par2 + 0.0F, (float)par4 + 2.3F, (float)par6);
                    GL11.glNormal3f(0.0F, 1.0F, 0.0F);
                    GL11.glRotatef(-renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
                    GL11.glRotatef(renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
                    GL11.glScalef(-f1, -f1, f1);
                    GL11.glDisable(GL11.GL_LIGHTING);
                    GL11.glTranslatef(0.0F, 0.25F / f1, 0.0F);
                    GL11.glDepthMask(false);
                    GL11.glEnable(GL11.GL_BLEND);
                    GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
                    Tessellator tessellator = Tessellator.instance;
                    GL11.glDisable(GL11.GL_TEXTURE_2D);
                    tessellator.startDrawingQuads();
                    int i = fontrenderer.getStringWidth(s) / 2;
                    tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
                    tessellator.addVertex(-i - 1, -1D, 0.0D);
                    tessellator.addVertex(-i - 1, 8D, 0.0D);
                    tessellator.addVertex(i + 1, 8D, 0.0D);
                    tessellator.addVertex(i + 1, -1D, 0.0D);
                    tessellator.draw();
                    GL11.glEnable(GL11.GL_TEXTURE_2D);
                    GL11.glDepthMask(true);
                    fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, 0, 0x20ffffff);
                    GL11.glEnable(GL11.GL_LIGHTING);
                    GL11.glDisable(GL11.GL_BLEND);
                    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
                    GL11.glPopMatrix();
                }
                else if (par1EntityPlayer.isPlayerSleeping())
                {
                    renderLivingLabel(par1EntityPlayer, s, par2, par4 - 1.5D, par6, 64);
                }
                else
                {
                    renderLivingLabel(par1EntityPlayer, s, par2, par4, par6, 64);
                }
            }
        }
    }
Будет рендить ник только если расстояние меньше 10 блоков
спасибо лови лайк
 
Эмм... насколько я знаю, прорисовка ника это дело происходит именно на клиенте, но не как не на сервере. Например: я писал DayZ Mod для Paradise Craft и там достаточно интересная система прорисовки ников: виден только тогда, когда игрок смотрит на того игрока, чей ник он хотел-бы увидеть, и это все я делал именно на клиенте. Навряд ли можно такое реализовать без модификации клиента.
А разве плагин не может просто не отправлять клиенту ник игрока? Тогда клиенту просто нечего будет рендерить.
На клиенте может логичнее писать + нагрузки на сервер от этого нет, зато все что у клиента по определению не безопасно.
Займусь разработкой на днях.
Есть прогресс?
 
Назад
Верх