Перейти к содержанию
Авторизация  
0000

Ошибка при компиляции PWsoft

Рекомендуемые сообщения

 

Привет всем! Скачал исходник pw, возникли две проблемы кто поможет ? 

1) Решил добавить .classmaster, взял другое ядро PW где пашет, все вытащил и добавляю себе, вроде все хорошо, но выдает 1 ошибку, в чем проблема может быть ? 

Спойлер

init:
    [mkdir] Created dir: C:\workspace\5\build
    [mkdir] Created dir: C:\workspace\5\build\classes
compile:
    [javac] Compiling 1441 source files to C:\workspace\5\build\classes
    [javac] C:\workspace\5\src\scripts\commands\voicedcommandhandlers\ClassMaster.java:136: error: incompatible types: net.sf.l2j.Config.EventReward cannot be converted to net.sf.l2j.gameserver.model.EventReward
    [javac] /* 136 */     EventReward pay = (EventReward)Config.CLASS_MASTERS_PRICES.get(Integer.valueOf(new_class_level));
    [javac]                                                                             ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error

BUILD FAILED
C:\workspace\5\build.xml:31: Compile failed; see the compiler error output for details.

 

 

Спойлер

/*     */ package scripts.commands.voicedcommandhandlers;
/*     */ 
/*     */ import java.util.List;
/*     */ import net.sf.l2j.Config;
/*     */ import net.sf.l2j.gameserver.cache.HtmCache;
/*     */ import net.sf.l2j.gameserver.cache.Static;
/*     */ import net.sf.l2j.gameserver.datatables.CharTemplateTable;
/*     */ import net.sf.l2j.gameserver.datatables.ClassRewardsData;
/*     */ import net.sf.l2j.gameserver.datatables.ItemTable;
/*     */ import net.sf.l2j.gameserver.model.EventReward;
/*     */ import net.sf.l2j.gameserver.model.L2ItemInstance;
/*     */ import net.sf.l2j.gameserver.model.L2Object;
/*     */ import net.sf.l2j.gameserver.model.PcInventory;
/*     */ import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
/*     */ import net.sf.l2j.gameserver.model.base.ClassId;
/*     */ import net.sf.l2j.gameserver.model.base.ClassLevel;
/*     */ import net.sf.l2j.gameserver.model.base.PlayerClass;
/*     */ import net.sf.l2j.gameserver.model.base.SubClass;
/*     */ import net.sf.l2j.gameserver.network.serverpackets.L2GameServerPacket;
/*     */ import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
/*     */ import scripts.commands.IVoicedCommandHandler;
/*     */ 
/*     */ public class ClassMaster
/*     */   implements IVoicedCommandHandler {
/*  25 */   private static final String[] VOICED_COMMANDS = new String[] { "classmaster" };
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean useVoicedCommand(String command, L2PcInstance player, String target) {
/*  30 */     if (command.equalsIgnoreCase("classmaster")) {
/*     */       
/*  32 */       showWelcome(player);
/*     */     }
/*  34 */     else if (command.startsWith("classmaster_")) {
/*     */       
/*  36 */       String classmaster = command.substring(12).trim();
/*  37 */       if (classmaster.startsWith("changeclass")) {
/*     */         
/*  39 */         int class_id = Integer.parseInt(classmaster.substring(11).trim());
/*  40 */         profList(player, class_id);
/*     */       }
/*  42 */       else if (classmaster.startsWith("reward")) {
/*     */         
/*  44 */         int set_id = Integer.parseInt(classmaster.substring(6).trim());
/*  45 */         giveReward(player, set_id);
/*     */       } 
/*     */     } 
/*     */     
/*  49 */     return true;
/*     */   }
/*     */ 
/*     */   
/*     */   private void giveReward(L2PcInstance player, int set_id) {
/*  54 */     if (!player.getShadeItems()) {
/*     */       return;
/*     */     }
/*  57 */     player.setShadeItems(false);
/*     */     
/*  59 */     PcInventory pcInventory = player.getInventory();
/*     */     
/*  61 */     List<ClassRewardsData.ClassReward> classreward = (List<ClassRewardsData.ClassReward>)ClassRewardsData.getInstance().getClassRewards().get(set_id);
/*     */     
/*  63 */     if (classreward == null) {
/*     */       
/*  65 */       player.sendCritMessage("Ошибка, набора не существует");
/*     */       
/*     */       return;
/*     */     } 
/*  69 */     for (ClassRewardsData.ClassReward value : classreward) {
/*     */       
/*  71 */       L2ItemInstance item = ItemTable.getInstance().createItem("ClassReward", value.id, value.count, player);
/*  72 */       player.addItem("ClassReward", item, null, true);
/*  73 */       if (value.equip && item.isEquipable())
/*  74 */         pcInventory.equipItem(item); 
/*  75 */       if (value.enchant > 0 && item.canBeEnchanted()) {
/*  76 */         item.setEnchantLevel(value.enchant);
/*     */       }
/*     */     } 
/*  79 */     player.sendChanges();
/*  80 */     player.sendItems(true);
/*     */     
/*  82 */     ClassLevel classLevel = PlayerClass.values()[player.getClassId().getId()].getLevel();
/*  83 */     if ((classLevel == ClassLevel.Second && player.getLevel() >= 40) || (classLevel == ClassLevel.Third && player.getLevel() >= 76)) {
/*  84 */       useVoicedCommand("classmaster", player, null);
/*     */     }
/*     */   }
/*     */   
/*     */   private void showWelcome(L2PcInstance player) {
/*  89 */     ClassId class_id = player.getClassId();
/*  90 */     int class_level = class_id.level();
/*  91 */     int new_class_level = class_level + 1;
/*  92 */     int p_level = player.getLevel();
/*     */     
/*  94 */     if (((p_level >= 20 && class_level == 0) || (p_level >= 40 && class_level == 1) || (p_level >= 76 && class_level == 2)) && class_id.getId() < 88) {
/*     */       
/*  96 */       NpcHtmlMessage htm = new NpcHtmlMessage(0);
/*  97 */       htm.setFile("classmaster/ClassList.htm");
/*  98 */       StringBuilder html = new StringBuilder();
/*     */       
/* 100 */       for (ClassId child : ClassId.values()) {
/*     */         
/* 102 */         if (child.childOf(class_id) && child.level() == new_class_level) {
/* 103 */           html.append("<tr><td align=center><a action=\"bypass -h vch_classmaster_changeclass ").append(child.getId()).append("\">").append(CharTemplateTable.getClassNameById(child.getId())).append("</a></td></tr>");
/*     */         }
/*     */       } 
/* 106 */       htm.replace("%classname%", CharTemplateTable.getClassNameById(class_id.getId()));
/* 107 */       htm.replace("%classlist%", html.toString());
/* 108 */       player.sendPacket((L2GameServerPacket)htm);
/*     */     }
/*     */     else {
/*     */       
/* 112 */       switch (class_level) {
/*     */         
/*     */         case 0:
/* 115 */           player.sendCritMessage("Попробуйте, когда получите 20 уровень.");
/*     */           break;
/*     */         case 1:
/* 118 */           player.sendCritMessage("Попробуйте, когда получите 40 уровень.");
/*     */           break;
/*     */         case 2:
/* 121 */           player.sendCritMessage("Попробуйте, когда получите 76 уровень.");
/*     */           break;
/*     */         case 3:
/* 124 */           player.sendCritMessage("Нет доступных профессий.");
/*     */           break;
/*     */       } 
/*     */     } 
/*     */   }
/*     */ 
/*     */   
/*     */   private void profList(L2PcInstance player, int class_id) {
/* 132 */     int class_level = player.getClassId().level();
/* 133 */     int new_class_level = class_level + 1;
/* 134 */     int p_level = player.getLevel();
/*     */     
/* 136 */     EventReward pay = (EventReward)Config.CLASS_MASTERS_PRICES.get(Integer.valueOf(new_class_level));
/* 137 */     if (pay != null) {
/*     */       
/* 139 */       if (player.getItemCount(pay.id) < pay.count) {
/*     */         
/* 141 */         player.sendCritMessage("Cтоимость получения профессии " + pay.count + " " + ItemTable.getInstance().getTemplate(pay.id).getName());
/*     */         return;
/*     */       } 
/* 144 */       player.destroyItemByItemId("clasmaster", pay.id, pay.count, (L2Object)player, true);
/*     */     } 
/*     */     
/* 147 */     changeClass(player, class_id);
/* 148 */     player.checkAllowedSkills();
/*     */     
/* 150 */     if (class_id >= 88) {
/* 151 */       player.sendPacket((L2GameServerPacket)Static.THIRD_CLASS_TRANSFER);
/*     */     } else {
/* 153 */       player.sendPacket((L2GameServerPacket)Static.CLASS_TRANSFER);
/*     */     } 
/* 155 */     if (Config.REWARD_CLASS)
/*     */     {
/* 157 */       if ((Config.REWARD_FIRST_CLASS && class_level == 0) || (Config.REWARD_SECOND_CLASS && class_level == 1) || (Config.REWARD_THIRD_CLASS && class_level == 2)) {
/*     */         
/* 159 */         player.setShadeItems(true);
/* 160 */         NpcHtmlMessage html = NpcHtmlMessage.id(0);
/* 161 */         String htm = HtmCache.getInstance().getHtm("classmaster/Up_" + new_class_level + ".htm");
/* 162 */         html.setHtml(htm);
/* 163 */         html.replace("%ClassName%", CharTemplateTable.getClassNameById(player.getClassId().getId()));
/* 164 */         player.sendPacket((L2GameServerPacket)html);
/*     */       } 
/*     */     }
/*     */     
/* 168 */     if ((!Config.REWARD_CLASS && ((new_class_level == 1 && p_level >= 40) || (new_class_level == 2 && p_level >= 76))) || (!Config.REWARD_FIRST_CLASS && class_level == 0) || (!Config.REWARD_SECOND_CLASS && class_level == 1)) {
/* 169 */       showWelcome(player);
/*     */     }
/*     */   }
/*     */   
/*     */   private void changeClass(L2PcInstance player, int val) {
/* 174 */     player.abortAttack();
/* 175 */     player.abortCast();
/* 176 */     player.setIsParalyzed(true);
/* 177 */     player.setClassId(val);
/*     */     
/* 179 */     if (player.isSubClassActive()) {
/* 180 */       ((SubClass)player.getSubClasses().get(Integer.valueOf(player.getClassIndex()))).setClassId(player.getActiveClass());
/*     */     } else {
/* 182 */       player.setBaseClass(player.getActiveClass());
/*     */     } 
/* 184 */     player.rewardSkills();
/* 185 */     player.store();
/* 186 */     player.broadcastUserInfo();
/* 187 */     player.setIsParalyzed(false);
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public String[] getVoicedCommandList() {
/* 193 */     return VOICED_COMMANDS;
/*     */   }
/*     */ }

 

 

2) В каком именно файле стоит запрет на использование банки НР при смерти ??? хочу ACP доделать(юзается банка НР когда мертв)

Есть ядро с фиксом, но какой именной файл отвечает за запрет на использование банки?? 

Изменено пользователем 0000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
39 минут назад, 0000 сказал:

 

Привет всем! Скачал исходник pw, возникли две проблемы кто поможет ? 

1) Решил добавить .classmaster, взял другое ядро PW где пашет, все вытащил и добавляю себе, вроде все хорошо, но выдает 1 ошибку, в чем проблема может быть ? 

  ОШИБКА (Скрыть контент)


init:
    [mkdir] Created dir: C:\workspace\5\build
    [mkdir] Created dir: C:\workspace\5\build\classes
compile:
    [javac] Compiling 1441 source files to C:\workspace\5\build\classes
    [javac] C:\workspace\5\src\scripts\commands\voicedcommandhandlers\ClassMaster.java:136: error: incompatible types: net.sf.l2j.Config.EventReward cannot be converted to net.sf.l2j.gameserver.model.EventReward
    [javac] /* 136 */     EventReward pay = (EventReward)Config.CLASS_MASTERS_PRICES.get(Integer.valueOf(new_class_level));
    [javac]                                                                             ^
    [javac] Note: Some input files use or override a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error

BUILD FAILED
C:\workspace\5\build.xml:31: Compile failed; see the compiler error output for details.

 

 

  ClassMaster (Показать контент)


/*     */ package scripts.commands.voicedcommandhandlers;
/*     */ 
/*     */ import java.util.List;
/*     */ import net.sf.l2j.Config;
/*     */ import net.sf.l2j.gameserver.cache.HtmCache;
/*     */ import net.sf.l2j.gameserver.cache.Static;
/*     */ import net.sf.l2j.gameserver.datatables.CharTemplateTable;
/*     */ import net.sf.l2j.gameserver.datatables.ClassRewardsData;
/*     */ import net.sf.l2j.gameserver.datatables.ItemTable;
/*     */ import net.sf.l2j.gameserver.model.EventReward;
/*     */ import net.sf.l2j.gameserver.model.L2ItemInstance;
/*     */ import net.sf.l2j.gameserver.model.L2Object;
/*     */ import net.sf.l2j.gameserver.model.PcInventory;
/*     */ import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
/*     */ import net.sf.l2j.gameserver.model.base.ClassId;
/*     */ import net.sf.l2j.gameserver.model.base.ClassLevel;
/*     */ import net.sf.l2j.gameserver.model.base.PlayerClass;
/*     */ import net.sf.l2j.gameserver.model.base.SubClass;
/*     */ import net.sf.l2j.gameserver.network.serverpackets.L2GameServerPacket;
/*     */ import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
/*     */ import scripts.commands.IVoicedCommandHandler;
/*     */ 
/*     */ public class ClassMaster
/*     */   implements IVoicedCommandHandler {
/*  25 */   private static final String[] VOICED_COMMANDS = new String[] { "classmaster" };
/*     */ 
/*     */ 
/*     */   
/*     */   public boolean useVoicedCommand(String command, L2PcInstance player, String target) {
/*  30 */     if (command.equalsIgnoreCase("classmaster")) {
/*     */       
/*  32 */       showWelcome(player);
/*     */     }
/*  34 */     else if (command.startsWith("classmaster_")) {
/*     */       
/*  36 */       String classmaster = command.substring(12).trim();
/*  37 */       if (classmaster.startsWith("changeclass")) {
/*     */         
/*  39 */         int class_id = Integer.parseInt(classmaster.substring(11).trim());
/*  40 */         profList(player, class_id);
/*     */       }
/*  42 */       else if (classmaster.startsWith("reward")) {
/*     */         
/*  44 */         int set_id = Integer.parseInt(classmaster.substring(6).trim());
/*  45 */         giveReward(player, set_id);
/*     */       } 
/*     */     } 
/*     */     
/*  49 */     return true;
/*     */   }
/*     */ 
/*     */   
/*     */   private void giveReward(L2PcInstance player, int set_id) {
/*  54 */     if (!player.getShadeItems()) {
/*     */       return;
/*     */     }
/*  57 */     player.setShadeItems(false);
/*     */     
/*  59 */     PcInventory pcInventory = player.getInventory();
/*     */     
/*  61 */     List<ClassRewardsData.ClassReward> classreward = (List<ClassRewardsData.ClassReward>)ClassRewardsData.getInstance().getClassRewards().get(set_id);
/*     */     
/*  63 */     if (classreward == null) {
/*     */       
/*  65 */       player.sendCritMessage("Ошибка, набора не существует");
/*     */       
/*     */       return;
/*     */     } 
/*  69 */     for (ClassRewardsData.ClassReward value : classreward) {
/*     */       
/*  71 */       L2ItemInstance item = ItemTable.getInstance().createItem("ClassReward", value.id, value.count, player);
/*  72 */       player.addItem("ClassReward", item, null, true);
/*  73 */       if (value.equip && item.isEquipable())
/*  74 */         pcInventory.equipItem(item); 
/*  75 */       if (value.enchant > 0 && item.canBeEnchanted()) {
/*  76 */         item.setEnchantLevel(value.enchant);
/*     */       }
/*     */     } 
/*  79 */     player.sendChanges();
/*  80 */     player.sendItems(true);
/*     */     
/*  82 */     ClassLevel classLevel = PlayerClass.values()[player.getClassId().getId()].getLevel();
/*  83 */     if ((classLevel == ClassLevel.Second && player.getLevel() >= 40) || (classLevel == ClassLevel.Third && player.getLevel() >= 76)) {
/*  84 */       useVoicedCommand("classmaster", player, null);
/*     */     }
/*     */   }
/*     */   
/*     */   private void showWelcome(L2PcInstance player) {
/*  89 */     ClassId class_id = player.getClassId();
/*  90 */     int class_level = class_id.level();
/*  91 */     int new_class_level = class_level + 1;
/*  92 */     int p_level = player.getLevel();
/*     */     
/*  94 */     if (((p_level >= 20 && class_level == 0) || (p_level >= 40 && class_level == 1) || (p_level >= 76 && class_level == 2)) && class_id.getId() < 88) {
/*     */       
/*  96 */       NpcHtmlMessage htm = new NpcHtmlMessage(0);
/*  97 */       htm.setFile("classmaster/ClassList.htm");
/*  98 */       StringBuilder html = new StringBuilder();
/*     */       
/* 100 */       for (ClassId child : ClassId.values()) {
/*     */         
/* 102 */         if (child.childOf(class_id) && child.level() == new_class_level) {
/* 103 */           html.append("<tr><td align=center><a action=\"bypass -h vch_classmaster_changeclass ").append(child.getId()).append("\">").append(CharTemplateTable.getClassNameById(child.getId())).append("</a></td></tr>");
/*     */         }
/*     */       } 
/* 106 */       htm.replace("%classname%", CharTemplateTable.getClassNameById(class_id.getId()));
/* 107 */       htm.replace("%classlist%", html.toString());
/* 108 */       player.sendPacket((L2GameServerPacket)htm);
/*     */     }
/*     */     else {
/*     */       
/* 112 */       switch (class_level) {
/*     */         
/*     */         case 0:
/* 115 */           player.sendCritMessage("Попробуйте, когда получите 20 уровень.");
/*     */           break;
/*     */         case 1:
/* 118 */           player.sendCritMessage("Попробуйте, когда получите 40 уровень.");
/*     */           break;
/*     */         case 2:
/* 121 */           player.sendCritMessage("Попробуйте, когда получите 76 уровень.");
/*     */           break;
/*     */         case 3:
/* 124 */           player.sendCritMessage("Нет доступных профессий.");
/*     */           break;
/*     */       } 
/*     */     } 
/*     */   }
/*     */ 
/*     */   
/*     */   private void profList(L2PcInstance player, int class_id) {
/* 132 */     int class_level = player.getClassId().level();
/* 133 */     int new_class_level = class_level + 1;
/* 134 */     int p_level = player.getLevel();
/*     */     
/* 136 */     EventReward pay = (EventReward)Config.CLASS_MASTERS_PRICES.get(Integer.valueOf(new_class_level));
/* 137 */     if (pay != null) {
/*     */       
/* 139 */       if (player.getItemCount(pay.id) < pay.count) {
/*     */         
/* 141 */         player.sendCritMessage("Cтоимость получения профессии " + pay.count + " " + ItemTable.getInstance().getTemplate(pay.id).getName());
/*     */         return;
/*     */       } 
/* 144 */       player.destroyItemByItemId("clasmaster", pay.id, pay.count, (L2Object)player, true);
/*     */     } 
/*     */     
/* 147 */     changeClass(player, class_id);
/* 148 */     player.checkAllowedSkills();
/*     */     
/* 150 */     if (class_id >= 88) {
/* 151 */       player.sendPacket((L2GameServerPacket)Static.THIRD_CLASS_TRANSFER);
/*     */     } else {
/* 153 */       player.sendPacket((L2GameServerPacket)Static.CLASS_TRANSFER);
/*     */     } 
/* 155 */     if (Config.REWARD_CLASS)
/*     */     {
/* 157 */       if ((Config.REWARD_FIRST_CLASS && class_level == 0) || (Config.REWARD_SECOND_CLASS && class_level == 1) || (Config.REWARD_THIRD_CLASS && class_level == 2)) {
/*     */         
/* 159 */         player.setShadeItems(true);
/* 160 */         NpcHtmlMessage html = NpcHtmlMessage.id(0);
/* 161 */         String htm = HtmCache.getInstance().getHtm("classmaster/Up_" + new_class_level + ".htm");
/* 162 */         html.setHtml(htm);
/* 163 */         html.replace("%ClassName%", CharTemplateTable.getClassNameById(player.getClassId().getId()));
/* 164 */         player.sendPacket((L2GameServerPacket)html);
/*     */       } 
/*     */     }
/*     */     
/* 168 */     if ((!Config.REWARD_CLASS && ((new_class_level == 1 && p_level >= 40) || (new_class_level == 2 && p_level >= 76))) || (!Config.REWARD_FIRST_CLASS && class_level == 0) || (!Config.REWARD_SECOND_CLASS && class_level == 1)) {
/* 169 */       showWelcome(player);
/*     */     }
/*     */   }
/*     */   
/*     */   private void changeClass(L2PcInstance player, int val) {
/* 174 */     player.abortAttack();
/* 175 */     player.abortCast();
/* 176 */     player.setIsParalyzed(true);
/* 177 */     player.setClassId(val);
/*     */     
/* 179 */     if (player.isSubClassActive()) {
/* 180 */       ((SubClass)player.getSubClasses().get(Integer.valueOf(player.getClassIndex()))).setClassId(player.getActiveClass());
/*     */     } else {
/* 182 */       player.setBaseClass(player.getActiveClass());
/*     */     } 
/* 184 */     player.rewardSkills();
/* 185 */     player.store();
/* 186 */     player.broadcastUserInfo();
/* 187 */     player.setIsParalyzed(false);
/*     */   }
/*     */ 
/*     */ 
/*     */   
/*     */   public String[] getVoicedCommandList() {
/* 193 */     return VOICED_COMMANDS;
/*     */   }
/*     */ }

 

 

2) В каком именно файле стоит запрет на использование банки НР при смерти ??? хочу ACP доделать(юзается банка НР когда мертв)

Есть ядро с фиксом, но какой именной файл отвечает за запрет на использование банки?? 

Стырил с другой пв и даже доделать не может, ор :D. Кажется я даже знаю с какой ты пв всё это воруешь, фикс ацп только у одной недавно вышел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кому-то интересно ор, не ор ? Пиши по делу, Legions не может помочь, ор :D 

Изменено пользователем 0000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

добавь импорт (если его нет)
net.sf.l2j.Config.EventReward
а этот удали
net.sf.l2j.gameserver.model.EventReward

 

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CalypsoToolz ПОМОГ  в очередной раз!

Жаль не пашет, накосячил где то, пороюсь отпишусь)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...