Запилите пожалуйста актуальный мануал!

oreh

Свой человек
Участник
Сообщения
48
Розыгрыши
0
Репутация
25
Реакции
9
Баллы
545
Мужики, запилите пожалуйста актуальный гайд по добавлению в клиент хф своих иконок.
По возможности с сылками на софт! Буду очень благодарен!

Чтобы не плодить темы, спрошу сразу еще один момент.
На одном из серверов я видел нпц в виде рас л2 (люди орки эльфы) с хиро свечением - как это можно реализовать ?
 
Последнее редактирование:

 
  • Мне нравится
Реакции: Psycho

    oreh

    Баллов: 1
    За эпический ответ
Создайте «*.utx» файл с вашими иконками в «Unreal Editor» и сохраните его в «SysTextures» папку вашего клиента.
Далее замените ссылки в «*.dat» файлах на соответствующие иконкам уже из нового файла.
 
  • Мне нравится
Реакции: oreh

    oreh

    Баллов: 1
    За ответ
Фантоны, поищи тут на форуме .
 
  • Мне нравится
Реакции: oreh

    oreh

    Баллов: 1
    За ответ
Вроде разобрался, получилось. Спасибо за участие!
Хиро-нпц я так понял на уровне клиента не сделать?
 
Насколько я понимаю, «хиро» анимация идёт как «абнормал эффект», проверьте в админ-панеле «абнормал эффекты», если найдёте его, то подключите к «НПС».
 
Делается так же как и фейк-игроки по сути.
Т.е. рассылаем информацию об таком нпс не при помощи NpcInfo, а при помощи CharInfo.
 
Впервые пытаюсь скомпилировать сборку.
Soft: Eclipse luna
Src: Emurt
Ругается на файл CryptUtil.java
Код:
Description    Resource    Path    Location    Type
The project was not built since its build path is incomplete. Cannot find the class file for javax.crypto.Cipher. Fix the build path then try building this project    Full        Unknown    Java Problem
Description    Resource    Path    Location    Type
The type javax.crypto.Cipher cannot be resolved. It is indirectly referenced from required .class files    CryptUtil.java    /Full/commons/crypt    line 1    Java Problem
Вроде какие-то пути не правильные, а вот какие я не понимаю.
Код CryptUtil.java
Код:
package l2p.commons.crypt;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStream;
import java.security.spec.AlgorithmParameterSpec;
import java.security.spec.KeySpec;

import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.PBEKeySpec;
import javax.crypto.spec.PBEParameterSpec;

import l2p.commons.util.Base64;

import org.apache.log4j.Logger;

public class CryptUtil {

    private final static Logger _log = Logger.getLogger(CryptUtil.class);
    private static Cipher _encCipher;
    private static Cipher _decCipher;
    private final static String _pass = "ALNF__etJIEHFVI#@$234JjJ&R(#*&?45?[:F{EWKF3DFGSDJ343HDFP345MVCSND85445VNSKJ";
    private static SecretKey _key = null;
    private final static byte _salt[] = new byte[]{(byte) 0x8C, (byte) 0x1E, (byte) 0xA1, (byte) 0x9B, (byte) 0x02, (byte) 0x70, (byte) 0x02, (byte) 0x5D};
    private static boolean _initiated = false;

    private static void init() {
        if (_initiated) {
            return;
        }

        try {
            KeySpec keySpec = new PBEKeySpec(_pass.toCharArray(), _salt, 19);
            AlgorithmParameterSpec paramSpec = new PBEParameterSpec(_salt, 19);
            _key = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec);

            _encCipher = Cipher.getInstance(_key.getAlgorithm());
            _decCipher = Cipher.getInstance(_key.getAlgorithm());

            _encCipher.init(Cipher.ENCRYPT_MODE, _key, paramSpec);
            _decCipher.init(Cipher.DECRYPT_MODE, _key, paramSpec);
        } catch (Exception e) {
            _log.error("Cannot init crypto engine.", e);
        }

        _initiated = true;
    }

    public static String encrypt(String data) {
        init();
        try {
            return Base64.encodeBytes(_encCipher.doFinal(data.getBytes("UTF8")));
        } catch (Exception e) {
            _log.error("Cannot encrypt data.", e);
        }
        return null;
    }

    public static String decrypt(String data) {
        init();
        try {
            String decoded = new String(_decCipher.doFinal(Base64.decode(data)), "UTF8");

            return decoded;
        } catch (Exception e) {
            _log.error("Cannot decrypt data.", e);
        }

        return null;
    }

    public static void encrypt(InputStream in, OutputStream out) {
        init();
        out = new CipherOutputStream(out, _encCipher);

        try {
            int num;
            byte[] buffer = new byte[1024];
            while ((num = in.read(buffer)) >= 0) {
                out.write(buffer, 0, num);
            }
            out.flush();
            out.close();
        } catch (IOException e) {
            _log.error("Cannot write encrypted file.", e);
        }
    }

    public static InputStream decrypt(InputStream input, InputStream readable) {
        ByteArrayOutputStream output = new ByteArrayOutputStream();
        decrypt(input, output);
        return new ByteArrayInputStream(output.toByteArray());
    }

    /**
     * Decrypts file.
     *
     * @param file Input file to decrypt.
     * @return Input stream with decrypted data
     * @throws IOException
     */
    public static InputStream decryptOnDemand(File file) throws IOException {
        InputStream input = new FileInputStream(file);
        InputStream output;
        if ((byte) input.read() == 0x00) {
            byte[] bytes = new byte[0];
            output = new ByteArrayInputStream(bytes);
            output = decrypt(input, output);
            output.reset();
        } else {
            output = new FileInputStream(file);
        }

        return output;
    }

    /**
     * Makes decrypting of file if it is needed.
     *
     * @param input Input stream to decrypt.
     * @return Input stream with decrypted data.
     */
    public static InputStream decryptOnDemand(InputStream input) throws IOException {
        InputStream output;
        if ((byte) input.read() == 0x00) {
            byte[] bytes = new byte[0];
            output = new ByteArrayInputStream(bytes);
            output = decrypt(input, output);
        } else {
            output = input;
        }

        output.reset();
        return output;
    }

    public static void decrypt(InputStream in, OutputStream out) {
        init();
        in = new CipherInputStream(in, _decCipher);

        try {
            InputStreamReader reader = new InputStreamReader(in, "UTF8");

            int num = 0;
            byte[] buffer = new byte[1024];
            while ((num = in.read(buffer)) >= 0) {
                out.write(buffer, 0, num);
            }
            out.flush();
            out.close();
        } catch (IOException e) {
            _log.error("Cannot decrypt file.", e);
        }
    }

    public static String encrypt(InputStream stream) throws IOException {
        init();
        StringBuilder buffer = new StringBuilder();
        int chr;
        while ((chr = stream.read()) >= 0) {
            buffer.append(String.valueOf(chr));
        }

        return encrypt(buffer.toString());
    }

    public static String decrypt(InputStream stream) throws IOException {
        init();
        StringBuilder buffer = new StringBuilder();
        int chr;
        while ((chr = stream.read()) >= 0) {
            buffer.append(Character.toChars(chr));
        }

        return decrypt(buffer.toString());
    }

    public static int getKeyHash() {
        init();
        return _key.hashCode();
    }
}
Помогите разобраться!
 
либу c javax.crypto.Cipher к проекту подключи. так с лету не скажу что это за jar'ка, но что-то вроде из стандартных явовских.
 
  • Мне нравится
Реакции: oreh

    oreh

    Баллов: 1
    За ответ
либу c javax.crypto.Cipher к проекту подключи. так с лету не скажу что это за jar'ка, но что-то вроде из стандартных явовских.
Так, боюсь даже спрашивать...
Скачал я эту либу с гугла, а куда её добавлять ? Я по своей логике кинул её к остальным либам в сорсах, в итоге у меня 94 ошибки вида
Код:
Description    Resource    Path    Location    Type
The declared package "l2p.commons.collections" does not match the expected package "collections"    JoinedIterator.java    /Full/commons/collections    line 25    Java Problem
 
Назад
Сверху Снизу