Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Ушки, как сделать?

Поэтому тебе и нужен эклипс, чтобы сразу показывал ошибки, а не компилировать каждый раз по пять минут, чтобы увидеть их
там нужно еще библиотеки импортировать (это пишется в самом верху после указания package блабла;)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLEncoder;

Ну и замени urlEncode(username) на URLEncoder.encode(username, "UTF-8");
надеюсь ты метод не вставил в конец файла?)
лучше его вставить перед этой строчкой:
protected void renderSpecials(EntityPlayer par1EntityPlayer, float par2)
{

Спасибо, но теперь ошибка в URLEncoder.encode(username, "UTF-8"); из-за ;
 

Поставил еще одну скобку перед ; теперь ошибка в строке:
if (haveEars(entityplayer.username) && this.loadDownloadableImageTexture(par1EntityPlayer.skinUrl, (String)null))

Как вернее?
URL url = new URL("http://shockmine.ru/ears.php?user=") +URLEncoder.encode(username, "UTF-8");
или URL url = new URL("http://shockmine.ru/ears.php?user="+URLEncoder.encode(username, "UTF-8"));
 
Поставил еще одну скобку перед ; теперь ошибка в строке:
if (haveEars(entityplayer.username) && this.loadDownloadableImageTexture(par1EntityPlayer.skinUrl, (String)null))

Как вернее?
URL url = new URL("http://shockmine.ru/ears.php?user=") +URLEncoder.encode(username, "UTF-8");
или URL url = new URL("http://shockmine.ru/ears.php?user="+URLEncoder.encode(username, "UTF-8"));

В моей версии майнкрафта имя переменной игрока было названо entityplayer, а в вашей par1EntityPlayer. Замените entityplayer на par1EntityPlayer.
2. Второй вариант
А, кстати, сразу развею твои надежды об отдельной прогрузке ушей. За накладывание текстуры отвечает совершенно другой класс, насколько я помню, и работы там побольше будет.
 
В моей версии майнкрафта имя переменной игрока было названо entityplayer, а в вашей par1EntityPlayer. Замените entityplayer на par1EntityPlayer.
2. Второй вариант
А, кстати, сразу развею твои надежды об отдельной прогрузке ушей. За накладывание текстуры отвечает совершенно другой класс, насколько я помню, и работы там побольше будет.

В 2 файлах есть упоминания о deadmau5, с первым мы разобрались. вот во втором RenderLiving.java
Есть строки:
if (par2Str.equals("deadmau5"))
{
var16 = -10;
}

GL11.glDisable(GL11.GL_TEXTURE_2D);
var15.startDrawingQuads();
int var17 = var12.getStringWidth(par2Str) / 2;
var15.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F);
var15.addVertex((double)(-var17 - 1), (double)(-1 + var16), 0.0D);
var15.addVertex((double)(-var17 - 1), (double)(8 + var16), 0.0D);
var15.addVertex((double)(var17 + 1), (double)(8 + var16), 0.0D);
var15.addVertex((double)(var17 + 1), (double)(-1 + var16), 0.0D);
var15.draw();
GL11.glEnable(GL11.GL_TEXTURE_2D);
var12.drawString(par2Str, -var12.getStringWidth(par2Str) / 2, var16, 553648127);
GL11.glEnable(GL11.GL_DEPTH_TEST);
GL11.glDepthMask(true);
var12.drawString(par2Str, -var12.getStringWidth(par2Str) / 2, var16, -1);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_BLEND);
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glPopMatrix();
}
}
Что они значат? и для чего используются?
 
Здесь тоже бы вставить желательно метод

Тот-же самый код?
И еще вопрос, тот код он будет брать из бд ник игрока + ссылку я так понял?
И если да, то он ведб будет только максимум 1 игрока ставить, а не двух, трех...?
И еще, я так понял нужно в бд самому сделать столбец для true/false? если столбец будет пуст, то как отреагирует код?
 
Тот-же самый код?
И еще вопрос, тот код он будет брать из бд ник игрока + ссылку я так понял?
И если да, то он ведб будет только максимум 1 игрока ставить, а не двух, трех...?
И еще, я так понял нужно в бд самому сделать столбец для true/false? если столбец будет пуст, то как отреагирует код?

Заменить par2Str.equals("deadmau5") на haveEars(par2Str)

Он будет брать юзернейм игрока, который должен быть отрисован. Посылает php-запрос (скрипт нужно будет написать), который найдет имя игрока и вернет его поле ears со значением true/false. Если поле будет пустое, то он воспримет это, как false.
 
Заменить par2Str.equals("deadmau5") на haveEars(par2Str)

Он будет брать юзернейм игрока, который должен быть отрисован. Посылает php-запрос (скрипт нужно будет написать), который найдет имя игрока и вернет его поле ears со значением true/false. Если поле будет пустое, то он воспримет это, как false.

Скрипт, вот проблема... я вообще в этом ничего не понимаю :3
Тоесть во второй файл мне написать нужно скрипт:
private boolean haveEars(String username)
{
try
{
URL url = new URL("http://site.ru/ears.php?user=" +URLEncoder.encode(username, "UTF-8"));
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(url.openStream()));
String s = bufferedreader.readLine();
bufferedreader.close();
return Boolean.getBoolean(s);
}
catch (IOException ioexception)
{
return false;
}
}
И заменить то что вы мне написали?
 
В общем вот так выглядит php скрипт:

Код:
<?
$connect = mysql_connect('localhost','bduser','bdpass') or die(mysql_error());
mysql_select_db('base');
$query = "SET NAMES 'cp1251'";
mysql_query ($query);

$user=$_GET['user'];
$res = mysql_query ("SELECT ears FROM dle_users WHERE name='$user'") or die (mysql_error());
$arr = mysql_fetch_assoc ($res);
if (!empty($arr))
{
do
{
  echo $arr['ears'] . '<br />';
} while ($arr = mysql_fetch_assoc ($res));
}else echo 'Ошибочка';
?>

Он работает! При GET отображает true если есть в бд.
Но, клиент при установке файлов с методами крашит:
http://SSMaker.ru/2e6c4c18/
 
Эм, что за файлы с методами?
В общем вот так выглядит php скрипт:

Код:
<?
$connect = mysql_connect('localhost','bduser','bdpass') or die(mysql_error());
mysql_select_db('base');
$query = "SET NAMES 'cp1251'";
mysql_query ($query);

$user=$_GET['user'];
$res = mysql_query ("SELECT ears FROM dle_users WHERE name='$user'") or die (mysql_error());
$arr = mysql_fetch_assoc ($res);
if (!empty($arr))
{
do
{
  echo $arr['ears'] . '<br />';
} while ($arr = mysql_fetch_assoc ($res));
}else echo 'Ошибочка';
?>

Он работает! При GET отображает true если есть в бд.
Но, клиент при установке файлов с методами крашит:
http://SSMaker.ru/2e6c4c18/

Файлы с методами? class'ы чтоли?
 
Эм, что за файлы с методами?


Файлы с методами? class'ы чтоли?
Да, все сделал как вы описали выше. Ошибок при компиляции ошибок не было, но черный экран. Хотя META-INF удалил. По сути да, классы!
 
Да, все сделал как вы описали выше. Ошибок при компиляции ошибок не было, но черный экран. Хотя META-INF удалил. По сути да, классы!
Это на чистом клиенте с установленным forge?
 
судя по исключению, которое вы показали, он не может найти один из классов фордж.
у вас всего один реобфускованный класс получился?
Те что изменял? Два файла я менял (Где было значение дедмаус). Но если даже просто один файл ложу (RenderPlayer), все равно черный экран.
 
Те что изменял? Два файла я менял (Где было значение дедмаус). Но если даже просто один файл ложу (RenderPlayer), все равно черный экран.
Хм, быть не может. А какой майнкрафт?
Можешь кинуть MCP свой с майнкрафтом мне, это ускорит процесс)
 

Поделиться этой страницей

Назад
Верх