godzil 0 Опубликовано 26 января, 2014 Имеются исходы aCis, хотелось бы реализовать стартовую локацию для всех чаров, как это можно сделать, если можно объясните поэтапно) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 26 января, 2014 вам в пакет network/clientpackets/CharacterCreate.java Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 вам в пакет network/clientpackets/CharacterCreate.java мне, как начинающему "чайнику", очень сложно сделать это, если не трудно напишите какой код нужно вставить и как добавлять в конфиги Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yokus 19 Опубликовано 26 января, 2014 мне, как начинающему "чайнику", очень сложно сделать это, если не трудно напишите какой код нужно вставить и как добавлять в конфиги Что мешает чайнику саморазвиваться чтобы, не быть чайником и не тревожить других людей? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 Что мешает чайнику саморазвиваться чтобы, не быть чайником и не тревожить других людей? что мешает других людей помочь разобраться с этим?, так как без поэтапного примера очень сложно разобраться... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AstralDooM 0 Опубликовано 26 января, 2014 что мешает других людей помочь разобраться с этим?, так как без поэтапного примера очень сложно разобраться... Напишите сюда ваш скайп. Будем помогать друг другу) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 Подскажите кто-нибудь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 26 января, 2014 (изменено) newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); модифицируйте так if(Config.SPAWN_POINT) newChar.setXYZInvisible(Config.SPAWN_X, Config.SPAWN_Y,Config.SPAWN_Z); else newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); думаю в конфиг вы сами в состоянии будете вывести Изменено 26 января, 2014 пользователем masone 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
KLEYDOX 29 Опубликовано 26 января, 2014 (изменено) если чайник в ядре, почему бы в базу запрос не кинуть на стартовую локацию? таблица char_templates столбы x,y,z определяют точку создания (сброка интерлюди l2r) Изменено 26 января, 2014 пользователем KLEYDOX 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); модифицируйте так if(Config.SPAWN_POINT) newChar.setXYZInvisible(Config.SPAWN_X, Config.SPAWN_Y,Config.SPAWN_Z); else newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); думаю в конфиг вы сами в состоянии будете вывести неполучается у меня( Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 public static boolean SPAWN_POINT; /** X Coordinate of the SPAWN_CHAR setting. */ public static int SPAWN_X; /** Y Coordinate of the SPAWN_CHAR setting. */ public static int SPAWN_Y; /** Z Coordinate of the SPAWN_CHAR setting. */ public static int SPAWN_Z; SPAWN_POINT = Boolean.parseBoolean(players.getProperty("CustomSpawn", "false")); SPAWN_X = Integer.parseInt(players.getProperty("SpawnX", "")); SPAWN_Y = Integer.parseInt(players.getProperty("SpawnY", "")); SPAWN_Z = Integer.parseInt(players.getProperty("SpawnZ", "")); что не так? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 26 января, 2014 public static boolean SPAWN_POINT; /** X Coordinate of the SPAWN_CHAR setting. */ public static int SPAWN_X; /** Y Coordinate of the SPAWN_CHAR setting. */ public static int SPAWN_Y; /** Z Coordinate of the SPAWN_CHAR setting. */ public static int SPAWN_Z; SPAWN_POINT = Boolean.parseBoolean(players.getProperty("CustomSpawn", "false")); SPAWN_X = Integer.parseInt(players.getProperty("SpawnX", "")); SPAWN_Y = Integer.parseInt(players.getProperty("SpawnY", "")); SPAWN_Z = Integer.parseInt(players.getProperty("SpawnZ", "")); что не так? какая ошибка при компиляции? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 какая ошибка при компиляции? [javac] Compiling 1304 source files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\classes [javac] C:\Users\Админ\Desktop\Source\aCis_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\CharacterCreate.java:196: error: class, interface, or enum expected [javac] if(Config.SPAWN_POINT) [javac] ^ [javac] C:\Users\Админ\Desktop\Source\aCis_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\CharacterCreate.java:198: error: class, interface, or enum expected [javac] else [javac] ^ [javac] C:\Users\Админ\Desktop\Source\aCis_gameserver\java\net\sf\l2j\gameserver\network\clientpackets\CharacterCreate.java:200: error: class, interface, or enum expected [javac] } [javac] ^ [javac] 3 errors Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 помогите кто-нибудь, в чем ошибка у меня? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 26 января, 2014 кинь свой файл под спойлер 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 Файл CharacterCreate.rar Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DROIDstick 18 Опубликовано 26 января, 2014 через базу можно Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ package net.sf.l2j.gameserver.network.clientpackets; import net.sf.l2j.Config; import net.sf.l2j.gameserver.datatables.CharNameTable; import net.sf.l2j.gameserver.datatables.CharTemplateTable; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.datatables.SkillTreeTable; import net.sf.l2j.gameserver.idfactory.IdFactory; import net.sf.l2j.gameserver.instancemanager.QuestManager; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.L2ShortCut; import net.sf.l2j.gameserver.model.L2SkillLearn; import net.sf.l2j.gameserver.model.L2World; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.quest.Quest; import net.sf.l2j.gameserver.network.serverpackets.CharCreateFail; import net.sf.l2j.gameserver.network.serverpackets.CharCreateOk; import net.sf.l2j.gameserver.network.serverpackets.CharSelectInfo; import net.sf.l2j.gameserver.templates.chars.L2PcTemplate; import net.sf.l2j.gameserver.templates.item.L2Item; import net.sf.l2j.gameserver.util.Util; @SuppressWarnings("unused") public final class CharacterCreate extends L2GameClientPacket { // cSdddddddddddd private String _name; private int _race; private byte _sex; private int _classId; private int _int; private int _str; private int _con; private int _men; private int _dex; private int _wit; private byte _hairStyle; private byte _hairColor; private byte _face; @Override protected void readImpl() { _name = readS(); _race = readD(); _sex = (byte) readD(); _classId = readD(); _int = readD(); _str = readD(); _con = readD(); _men = readD(); _dex = readD(); _wit = readD(); _hairStyle = (byte) readD(); _hairColor = (byte) readD(); _face = (byte) readD(); } @Override protected void runImpl() { if (_name.length() > 16) { sendPacket(new CharCreateFail(CharCreateFail.REASON_16_ENG_CHARS)); return; } if (!Util.isValidPlayerName(_name)) { sendPacket(new CharCreateFail(CharCreateFail.REASON_INCORRECT_NAME)); return; } if (_face > 2 || _face < 0) { sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); return; } if (_hairStyle < 0 || (_sex == 0 && _hairStyle > 4) || (_sex != 0 && _hairStyle > 6)) { sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); return; } if (_hairColor > 3 || _hairColor < 0) { sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); return; } L2PcInstance newChar = null; L2PcTemplate template = null; /* * DrHouse: Since checks for duplicate names are done using SQL, lock must be held until data is written to DB as well. */ synchronized (CharNameTable.getInstance()) { if (CharNameTable.accountCharNumber(getClient().getAccountName()) >= 7) { sendPacket(new CharCreateFail(CharCreateFail.REASON_TOO_MANY_CHARACTERS)); return; } if (CharNameTable.doesCharNameExist(_name)) { sendPacket(new CharCreateFail(CharCreateFail.REASON_NAME_ALREADY_EXISTS)); return; } template = CharTemplateTable.getInstance().getTemplate(_classId); if (template == null || template.classBaseLevel > 1) { sendPacket(new CharCreateFail(CharCreateFail.REASON_CREATION_FAILED)); return; } int objectId = IdFactory.getInstance().getNextId(); newChar = L2PcInstance.create(objectId, template, getClient().getAccountName(), _name, _hairStyle, _hairColor, _face, _sex != 0); } newChar.setCurrentCp(0); newChar.setCurrentHp(newChar.getMaxHp()); newChar.setCurrentMp(newChar.getMaxMp()); // send acknowledgement sendPacket(CharCreateOk.STATIC_PACKET); L2World.getInstance().storeObject(newChar); newChar.addAdena("Init", Config.STARTING_ADENA, null, false); newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); newChar.setTitle(""); newChar.registerShortCut(new L2ShortCut(0, 0, 3, 2, -1, 1)); // attack shortcut newChar.registerShortCut(new L2ShortCut(3, 0, 3, 5, -1, 1)); // take shortcut newChar.registerShortCut(new L2ShortCut(10, 0, 3, 0, -1, 1)); // sit shortcut for (L2Item ia : template.getItems()) { L2ItemInstance item = newChar.getInventory().addItem("Init", ia.getItemId(), 1, newChar, null); if (item.getItemId() == 5588) // tutorial book shortcut newChar.registerShortCut(new L2ShortCut(11, 0, 1, item.getObjectId(), -1, 1)); if (item.isEquipable()) { if (newChar.getActiveWeaponItem() == null || !(item.getItem().getType2() != L2Item.TYPE2_WEAPON)) newChar.getInventory().equipItemAndRecord(item); } } for (L2SkillLearn skill : SkillTreeTable.getInstance().getAvailableSkills(newChar, newChar.getClassId())) { newChar.addSkill(SkillTable.getInstance().getInfo(skill.getId(), skill.getLevel()), true); if (skill.getId() == 1001 || skill.getId() == 1177) newChar.registerShortCut(new L2ShortCut(1, 0, 2, skill.getId(), 1, 1)); if (skill.getId() == 1216) newChar.registerShortCut(new L2ShortCut(9, 0, 2, skill.getId(), 1, 1)); } if (!Config.DISABLE_TUTORIAL) { if (newChar.getQuestState("Tutorial") == null) { Quest q = QuestManager.getInstance().getQuest("Tutorial"); if (q != null) q.newQuestState(newChar).setState(Quest.STATE_STARTED); } } newChar.setOnlineStatus(true, false); newChar.deleteMe(); final CharSelectInfo cl = new CharSelectInfo(getClient().getAccountName(), getClient().getSessionId().playOkID1); getClient().getConnection().sendPacket(cl); getClient().setCharSelection(cl.getCharInfo()); } if(Config.SPAWN_POINT) newChar.setXYZInvisible(Config.SPAWN_X, Config.SPAWN_Y,Config.SPAWN_Z); else newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 26 января, 2014 148 строка удалите там 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
masone 298 Опубликовано 26 января, 2014 (изменено) http://pastebin.com/iLtjmfdX пробуйте Изменено 26 января, 2014 пользователем masone 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 (изменено) http://pastebin.com/iLtjmfdX пробуйте ), вы удалили код на стартовую локацию, когда я добиваюсь наоборот реализацию ее... сорри, не заметил, я не внимательный), сейчас попробую Изменено 26 января, 2014 пользователем godzil Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
godzil 0 Опубликовано 26 января, 2014 clean: [delete] Deleting directory C:\Users\Админ\Desktop\Source\aCis_gameserver\build checkRequirements: [echo] Verification of your JDK version. version: [echo] aCis gameserver revision: exported init: [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\classes [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver compile: [javac] Compiling 1304 source files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\classes jar: [jar] Building jar: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\l2jserver.jar [copy] Copying 1 file to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login\libs [copy] Copying 1 file to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver\libs dist: [copy] Copying 4 files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login\libs [copy] Copying 7 files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver\libs [copy] Copying 7 files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login [copy] Copying 3 files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver\log [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login\log [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver\config [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login\config [copy] Copying 9 files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver\config [copy] Copying 4 files to C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\login\config [mkdir] Created dir: C:\Users\Админ\Desktop\Source\aCis_gameserver\build\dist\gameserver\data BUILD SUCCESSFUL Total time: 22 seconds Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты