1.5.2 Чтение клиентом информации из .txt файла на сервере.

435
1
Короче появился вопрос - как сделать создание на сервере .txt  файла с ником игрока, если такого файла нет и чтением из каждой строки файла переменной и написания этих переменных через гуи. В общем при входе игрока проверяет есть ли файл с его ником в названии на сервере, и если нет то создавать. Потом мы открываем гуи и через него указываем переменные в клиентском классе, которые пишутся в наш файл на сервере. Каждая переменная пишется в новой строке. И если при заходе на сервер игрока проверка видит файл с ником игрока на сервере, то читать каждую строку и записывать из строки информацию в переменную.
Например: игрок с ником Nike зашел на сервер, и на сервере есть файл Nike.txt который содержит текст
Код:
1
2
3
4
В клиентском файле рендера есть переменные
Код:
public int i1 = 0;
public int i2 = 0;
public int i3 = 0;
public int i4 = 0;

И наш клиентский файл должен прочитать первую строку как i1 вторую как i2 и так далее.​

так вот как такое осуществить?​
 
Пилишь код передачи String'ов пакетами от сервера клиенту используя json. Потом из строки делаешь объект нужного типа и достаешь необходимые данные/используешь их в gui.
 
Тогда так - как можно писать свою иформацию в dat файл игрока а потом читать ее оттуда?
 
Код:
//Читаем
public static void readData(){
    NBTTagCompound data = null;
    File dataFile = new File("путь к твоему файлу");
    try{
        if(dataFile.exists() && dataFile.isFile()){
            data = CompressedStreamTools.readCompressed(new FileInputStream(dataFile));
        }
    }catch(IOException e){
        //throw error
    }
}

//Записываем
public static void writeData(){
    NBTTagCompound data = Minecraft.getMinecraft.thePlayer.getEntityData(); //Запишем, например, нбт игрока клиенского. Это чисто как пример. Ты сюда пихай свой NBTTagCompund.
    File dataFile = new File("путь к твоему файлу");
    try{
        if(!dataFile.exists()){
            dataFile.createNewFile();
        }
        if(dataFile.exists() && dataFile.isFile()){
            CompressedStreamTools.writeCompressed(data, new FileOutputStream(dataFile));
        }
    }catch(IOException e){
        //throw error
    }            
 }
 
Уф. мне бы так легко с ними обращатся. А еще свои слоты в гуи замутить..... эхх жди меня, апи от ic
 
Я знаю. Мне нужно, чтобы был слот типа SlotFurnace. А когда я такой добавляю, он ругается на те же параметры, что указаны в контейнере печи.
 
Majestic написал(а):
Код:
//Читаем
public static void readData(){
    NBTTagCompound data = null;
    File dataFile = new File("путь к твоему файлу");
    try{
        if(dataFile.exists() && dataFile.isFile()){
            data = CompressedStreamTools.readCompressed(new FileInputStream(dataFile));
        }
    }catch(IOException e){
        //throw error
    }
}

//Записываем
public static void writeData(){
    NBTTagCompound data = Minecraft.getMinecraft.thePlayer.getEntityData(); //Запишем, например, нбт игрока клиенского. Это чисто как пример. Ты сюда пихай свой NBTTagCompund.
    File dataFile = new File("путь к твоему файлу");
    try{
        if(!dataFile.exists()){
            dataFile.createNewFile();
        }
        if(dataFile.exists() && dataFile.isFile()){
            CompressedStreamTools.writeCompressed(data, new FileOutputStream(dataFile));
        }
    }catch(IOException e){
        //throw error
    }            
 }
А если нужно писать в файл на сервере?
[merge_posts_bbcode]Добавлено: 10.08.2014 21:07:10[/merge_posts_bbcode]

Короче так. Мне нужно записать дополнительную инфу об игроке на сервер и читать ее. Что подскажете по этому поводу?
 
Короче так. Мне нужно записать дополнительную инфу об игроке на сервер и читать ее. Что подскажете по этому поводу?
 
IExtendedEntityProperties.
[merge_posts_bbcode]Добавлено: 13.08.2014 12:31:24[/merge_posts_bbcode]

IExtendedEntityProperties.
 
Так с написанием на сервер я разобрался, теперь вопрос - как записать определенные интегеры в файл и как их потом оттуда прочитать?
 
В readData верни data и читай что хочешь. Аналогично с writeData.
[merge_posts_bbcode]Добавлено: 14.08.2014 12:50:00[/merge_posts_bbcode]

В readData верни data и читай что хочешь. Аналогично с writeData.
 
Что за идиотизм,  создавать отдельный файл? Делай как тебе сказал маджестик, юзай IExtendedEntityProperites
 
С этим разобрался. Теперь мне нужно все это отправить на сервер через ГУИ. Подскажите, как осуществить?
 
Назад
Сверху