vadim346 27 Опубликовано 11 октября, 2013 Добрый день всем. Мне нужна помощь по сборке acis. Подскажите пожалуйста как сделать переключение между языками чтобы нпсы могли выдавать текст на русском или на английском хотелось бы чтобы они могли читать файлы из папки html-ru. с меня ++++++ 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Castiel 302 Опубликовано 11 октября, 2013 Добрый день всем. Мне нужна помощь по сборке acis. Подскажите пожалуйста как сделать переключение между языками чтобы нпсы могли выдавать текст на русском или на английском хотелось бы чтобы они могли читать файлы из папки html-ru. с меня ++++++ Ищи в конфигах, точно не помню де. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KotBegemot 268 Опубликовано 11 октября, 2013 Добрый день всем. Мне нужна помощь по сборке acis. Подскажите пожалуйста как сделать переключение между языками чтобы нпсы могли выдавать текст на русском или на английском хотелось бы чтобы они могли читать файлы из папки html-ru. с меня ++++++ Ну попробуй так удали html а html-ru переменуй в html ну или просто по отдельности файлы перетаскивай из штмл. или бери перевордчки и переводи текст с английского на русский html будет читать их. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Fruks 244 Опубликовано 11 октября, 2013 (изменено) Я так понял тебе помощь по ядру нужна? Обычно делается 2 папочки в gameserver\data, это: html-ru и html-en И в конфиги выносится. А если тебе нужно чтобы люди могли переключатся в игре с анг на русс и обратно, то в конфигах ищи строчку DefaultLanguage = ru P.S Это значит что по умолчанию язык диалогов русский, но можно изменить в игре командой .lang Изменено 11 октября, 2013 пользователем Fruks Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 В конфигах не выведена эта функция я хочу добавить в ядро эту функцию чтобы могли люди переключаться между en или ru 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 public String getLang() { return Config.MULTILANG_ENABLE && (getVar("lang@") != null) ? getVar("lang@") : "en"; } public void setLang(String lang) { setVar("lang@", lang); } как то так но почему то у меня он не хочет переключаться вывел переключение в handler чтобы могли переключаться с помощью команды .lang а толку 0 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KotBegemot 268 Опубликовано 11 октября, 2013 а исходы есть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 может у кого diff файл есть чтобы это реализовать? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 исходы чего acis ? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 кто ни будь знает как это сделать? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
slyDEV 56 Опубликовано 11 октября, 2013 Сделай по по простому,выведи доп кнопку сверху html ru/en Ru путь до русской html En до англ html Это если нету исходного кода. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 исходный код есть у меня. я хочу реализовать команду lang для переключения диалогов на сервере 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
slyDEV 56 Опубликовано 11 октября, 2013 Без знаний вы далеко не уйдёте. Выше предложил самый простой способ. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 package ru.acis.gameserver.handler.voicedcommandhandlers; import ru.acis.Config; import ru.acis.gameserver.customs.LocalizationStorage; import ru.acis.gameserver.handler.IVoicedCommandHandler; import ru.acis.gameserver.model.actor.instance.L2PcInstance; public class Lang implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "lang" }; @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) { if ((target == null) || !Config.MULTILANG_ALLOWED.contains(target)) { String answer = "" + LocalizationStorage.getInstance().getString(activeChar.getLang(), "Lang.WRONG_LANG") + ""; for (String lang : Config.MULTILANG_ALLOWED) { answer += " " + lang; } activeChar.sendMessage(answer); } else { activeChar.setLang(target); if (target.equalsIgnoreCase("en")) { activeChar.sendMessage("" + LocalizationStorage.getInstance().getString(activeChar.getLang(), "Lang.EN_LANG") + ""); } else if (target.equalsIgnoreCase("ru")) { activeChar.sendMessage("" + LocalizationStorage.getInstance().getString(activeChar.getLang(), "Lang.RU_LANG") + ""); } } return true; } @Override public String[] getVoicedCommandList() { return _voicedCommands; } } хочу чтобы вот это заработало Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
slyDEV 56 Опубликовано 11 октября, 2013 Можно проще сделать,. В L2pcInstance делай метод setLang , getLang.+наверно надо сделать сохранение языка в sql Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
slyDEV 56 Опубликовано 11 октября, 2013 + LocalizationStorage тебе нужен будет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 (изменено) Можно проще сделать,. В L2pcInstance делай метод setLang , getLang.+наверно надо сделать сохранение языка в sql я добавил в private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,[color=#00ff00]language=?[/color] WHERE obj_id=?"; private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, face, hairStyle, hairColor, sex, heading, x, y, z, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,[color=#00ff00]language[/color] FROM characters WHERE obj_id=?"; Изменено 11 октября, 2013 пользователем vadim346 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
slyDEV 56 Опубликовано 11 октября, 2013 в L2pc надо прописать это сохранение. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vadim346 27 Опубликовано 11 октября, 2013 Народ дайте плиз diff файл на реализацию команды .lang Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты