не видно иконок .dressme

jasker

Единомышленник
Участник
Сообщения
66
Розыгрыши
0
Решения
1
Репутация
0
Реакции
19
Баллы
113
Хроники
  1. Interlude
Исходники
Присутствуют
Сборка
RusAcis 3.5
Всем доброго времени суток!

Поставил я на сборку RusAcis 3.5 мод.
команду .dressme
все вроде хорошо, но иконки не отображаются. подскажите пожалуйста где колупать.


 
Всем доброго времени суток!

Поставил я на сборку RusAcis 3.5 мод.
команду .dressme
все вроде хорошо, но иконки не отображаются. подскажите пожалуйста где колупать.
Посмотрите какой html string идет после формирования в скрипте DressMe.
 
Запрещено публиковать исходный код без BB-кода — CODE
Посмотрите какой html string идет после формирования в скрипте DressMe.
  1. + public static void showDressMeMainPage(Player player)
  2. + {
  3. + NpcHtmlMessage htm = new NpcHtmlMessage(1);
  4. + String text = HtmCache.getInstance().getHtm("data/html/dressme/index.htm");
  5. +
  6. + htm.setHtml(text);
  7. +
  8. + {
  9. + htm.replace("%time%", sdf.format(new Date(System.currentTimeMillis())));
  10. + htm.replace("%dat%", (new SimpleDateFormat("dd/MM/yyyy")).format(new Date(System.currentTimeMillis())));
  11. +
  12. + }
  13. +
  14. + player.sendPacket(htm);
  15. + }
  16. +
  17. + static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
  18. +
  19. + private static void showSkinList(Player player, String type, int page)
  20. + {
  21. + NpcHtmlMessage html = new NpcHtmlMessage(1);
  22. +
  23. + html.setFile("data/html/dressme/allskins.htm");
  24. +
  25. + html.replace("%time%", sdf.format(new Date(System.currentTimeMillis())));
  26. + html.replace("%dat%", (new SimpleDateFormat("dd/MM/yyyy")).format(new Date(System.currentTimeMillis())));
  27. +
  28. + final int ITEMS_PER_PAGE = 8;
  29. +
  30. + int myPage = 1;
  31. + int i = 0;
  32. + int shown = 0;
  33. + boolean hasMore = false;
  34. + int itemId = 0;
  35. +
  36. + final StringBuilder sb = new StringBuilder();
  37. +
  38. + List<SkinPackage> tempList = null;
  39. + switch (type.toLowerCase())
  40. + {
  41. + case "armor":
  42. + tempList = DressMeData.getInstance().getArmorSkinOptions().values().stream().filter(s -> !player.hasArmorSkin(s.getId())).collect(Collectors.toList());
  43. + break;
  44. + case "weapon":
  45. + tempList = DressMeData.getInstance().getWeaponSkinOptions().values().stream().filter(s -> !player.hasWeaponSkin(s.getId())).collect(Collectors.toList());
  46. + break;
  47. + case "hair":
  48. + tempList = DressMeData.getInstance().getHairSkinOptions().values().stream().filter(s -> !player.hasHairSkin(s.getId())).collect(Collectors.toList());
  49. + break;
  50. + case "face":
  51. + tempList = DressMeData.getInstance().getFaceSkinOptions().values().stream().filter(s -> !player.hasFaceSkin(s.getId())).collect(Collectors.toList());
  52. + break;
  53. + case "shield":
  54. + tempList = DressMeData.getInstance().getShieldSkinOptions().values().stream().filter(s -> !player.hasShieldSkin(s.getId())).collect(Collectors.toList());
  55. + break;
  56. + }
  57. +
  58. + if (tempList != null && !tempList.isEmpty())
  59. + {
  60. + for (SkinPackage sp : tempList)
  61. + {
  62. + if (sp == null)
  63. + {
  64. + continue;
  65. + }
  66. +
  67. + if (shown == ITEMS_PER_PAGE)
  68. + {
  69. + hasMore = true;
  70. + break;
  71. + }
  72. +
  73. + if (myPage != page)
  74. + {
  75. + i++;
  76. + if (i == ITEMS_PER_PAGE)
  77. + {
  78. + myPage++;
  79. + i = 0;
  80. + }
  81. + continue;
  82. + }
  83. +
  84. + if (shown == ITEMS_PER_PAGE)
  85. + {
  86. + hasMore = true;
  87. + break;
  88. + }
  89. +
  90. + switch (type.toLowerCase())
  91. + {
  92. + case "armor":
  93. + itemId = sp.getChestId();
  94. + break;
  95. + case "weapon":
  96. + itemId = sp.getWeaponId();
  97. + break;
  98. + case "hair":
  99. + itemId = sp.getHairId();
  100. + break;
  101. + case "face":
  102. + itemId = sp.getFaceId();
  103. + break;
  104. + case "shield":
  105. + itemId = sp.getShieldId();
  106. + break;
  107. + }
  108. +
  109. + sb.append("<table border=0 cellspacing=0 cellpadding=2 height=36><tr>");
  110. + sb.append("<td width=32 align=center>" + "<button width=32 height=32 back=" + Item.getItemIcon(itemId) + " fore=" + Item.getItemIcon(itemId) + ">" + "</td>");
  111. + sb.append("<td width=124>" + sp.getName() + "<br1> <font color=999999>Price:</font> <font color=339966>" + Item.getItemNameById(sp.getPriceId()) + "</font> (<font color=LEVEL>" + sp.getPriceCount() + "</font>)</td>");
  112. + sb.append("<td align=center width=65>" + "<button value=\"Buy\" action=\"bypass -h dressme " + page + " buyskin " + sp.getId() + " " + type + " " + itemId + "\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" + "</td>");
  113. + sb.append("<td align=center width=65>" + "<button value=\"Try\" action=\"bypass -h dressme " + page + " tryskin " + sp.getId() + " " + type + "\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" + "</td>");
  114. +
  115. + sb.append("</tr></table>");
  116. + sb.append("<img src=\"L2UI.Squaregray\" width=\"300\" height=\"1\">");
  117. + shown++;
  118. + }
  119. + }
  120. +
  121. + sb.append("<table width=300><tr>");
  122. + sb.append("<td align=center width=70>" + (page > 1 ? "<button value=\"< PREV\" action=\"bypass -h dressme " + (page - 1) + " skinlist " + type + "\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" : "") + "</td>");
  123. + sb.append("<td align=center width=140>Page: " + page + "</td>");
  124. + sb.append("<td align=center width=70>" + (hasMore ? "<button value=\"NEXT >\" action=\"bypass -h dressme " + (page + 1) + " skinlist " + type + "\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" : "") + "</td>");
  125. + sb.append("</tr></table>");
  126. +
  127. + html.replace("%showList%", sb.toString());
  128. + player.sendPacket(html);
  129. + }
  130. +
  131. + private static void showMySkinList(Player player, int page)
  132. + {
  133. + NpcHtmlMessage html = new NpcHtmlMessage(1);
  134. + html.setFile("data/html/dressme/myskins.htm");
  135. +
  136. + html.replace("%time%", sdf.format(new Date(System.currentTimeMillis())));
  137. + html.replace("%dat%", (new SimpleDateFormat("dd/MM/yyyy")).format(new Date(System.currentTimeMillis())));
  138. +
  139. + final int ITEMS_PER_PAGE = 8;
  140. + int itemId = 0;
  141. +
  142. + int myPage = 1;
  143. + int i = 0;
  144. + int shown = 0;
  145. + boolean hasMore = false;
  146. +
  147. + final StringBuilder sb = new StringBuilder();
  148. +
  149. + List<SkinPackage> armors = DressMeData.getInstance().getArmorSkinOptions().values().stream().filter(s -> player.hasArmorSkin(s.getId())).collect(Collectors.toList());
  150. + List<SkinPackage> weapons = DressMeData.getInstance().getWeaponSkinOptions().values().stream().filter(s -> player.hasWeaponSkin(s.getId())).collect(Collectors.toList());
  151. + List<SkinPackage> hairs = DressMeData.getInstance().getHairSkinOptions().values().stream().filter(s -> player.hasHairSkin(s.getId())).collect(Collectors.toList());
  152. + List<SkinPackage> faces = DressMeData.getInstance().getFaceSkinOptions().values().stream().filter(s -> player.hasFaceSkin(s.getId())).collect(Collectors.toList());
  153. + List<SkinPackage> shield = DressMeData.getInstance().getShieldSkinOptions().values().stream().filter(s -> player.hasShieldSkin(s.getId())).collect(Collectors.toList());
  154. +
  155. + List<SkinPackage> list = Stream.concat(armors.stream(), weapons.stream()).collect(Collectors.toList());
  156. + shield.stream().collect(Collectors.toList());
  157. + List<SkinPackage> list2 = Stream.concat(hairs.stream(), shield.stream()).collect(Collectors.toList());
  158. + List<SkinPackage> list3 = faces.stream().collect(Collectors.toList());
  159. +
  160. + List<SkinPackage> allLists = Stream.concat(list.stream(),Stream.concat(list2.stream(), list3.stream())).collect(Collectors.toList());
  161. +
  162. + if (!allLists.isEmpty())
  163. + {
  164. + for (SkinPackage sp : allLists)
  165. + {
  166. + if (sp == null)
  167. + {
  168. + continue;
  169. + }
  170. +
  171. + if (shown == ITEMS_PER_PAGE)
  172. + {
  173. + hasMore = true;
  174. + break;
  175. + }
  176. +
  177. + if (myPage != page)
  178. + {
  179. + i++;
  180. + if (i == ITEMS_PER_PAGE)
  181. + {
  182. + myPage++;
  183. + i = 0;
  184. + }
  185. + continue;
  186. + }
  187. +
  188. + if (shown == ITEMS_PER_PAGE)
  189. + {
  190. + hasMore = true;
  191. + break;
  192. + }
  193. +
  194. + switch (sp.getType().toLowerCase())
  195. + {
  196. + case "armor":
  197. + itemId = sp.getChestId();
  198. + break;
  199. + case "weapon":
  200. + itemId = sp.getWeaponId();
  201. + break;
  202. + case "hair":
  203. + itemId = sp.getHairId();
  204. + break;
  205. + case "face":
  206. + itemId = sp.getFaceId();
  207. + break;
  208. + case "shield":
  209. + itemId = sp.getShieldId();
  210. + break;
  211. + }
  212. +
  213. + sb.append("<table border=0 cellspacing=0 cellpadding=2 height=36><tr>");
  214. + sb.append("<td width=32 align=center>" + "<button width=32 height=32 back=" + Item.getItemIcon(itemId) + " fore=" + Item.getItemIcon(itemId) + ">" + "</td>");
  215. + sb.append("<td width=124>" + sp.getName() + "</td>");
  216. + sb.append("<td align=center width=65>" + "<button value=\"Equip\" action=\"bypass -h dressme " + page + " setskin " + sp.getId() + " " + sp.getType() + " " + itemId + "\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" + "</td>");
  217. + sb.append("<td align=center width=65>" + "<button value=\"Remove\" action=\"bypass -h dressme " + page + " clean " + sp.getType() + "\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" + "</td>");
  218. + sb.append("</tr></table>");
  219. + sb.append("<img src=\"L2UI.Squaregray\" width=\"300\" height=\"1\">");
  220. + shown++;
  221. + }
  222. + }
  223. +
  224. + sb.append("<table width=300><tr>");
  225. + sb.append("<td align=center width=70>" + (page > 1 ? "<button value=\"< PREV\" action=\"bypass -h dressme " + (page - 1) + " myskinlist\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" : "") + "</td>");
  226. + sb.append("<td align=center width=140>Page: " + page + "</td>");
  227. + sb.append("<td align=center width=70>" + (hasMore ? "<button value=\"NEXT >\" action=\"bypass -h dressme " + (page + 1) + " myskinlist\" width=65 height=19 back=L2UI_ch3.smallbutton2_over fore=L2UI_ch3.smallbutton2>" : "") + "</td>");
  228. + sb.append("</tr></table>");
  229. +
  230. + html.replace("%showList%", sb.toString());
  231. + player.sendPacket(html);
  232. + }
  233. +
  234. + public static boolean checkWeapons(Player player, ItemInstance skin, WeaponType weapon1, WeaponType weapon2)
  235. + {
  236. + if (player.getActiveWeaponItem().getItemType() == weapon1 && skin.getItem().getItemType() != weapon2)
  237. + {
  238. + return false;
  239. + }
  240. +
  241. + return true;
  242. + }
  243. +
  244. }
 
Код:
Item.getItemIcon(itemId)
Проверьте какие оно картинки возвращает.
 
Код:
Item.getItemIcon(itemId)
Проверьте какие оно картинки возвращает.
Извините тут я не понял как это проверить. Знаний очень мало. Возможно это?

public static String getItemIcon(int itemId)
{
if (_Icons != null && !_Icons.isEmpty())
{
return _Icons.get(itemId);
}
return null;
}
 
там что отдельная мапа для хранения всех иконок предметов?
интересно какая религия не позволила хранить данные об иконке в темплейтах самих предметов.
 
Или возможно тут.

сам мод брал:

@SuppressWarnings("resource")
private static void loadIcons()
{
_Icons = new HashMap<>();

Connection con = null;
try
{
con = ConnectionPool.getConnection();
PreparedStatement statement = con.prepareStatement("SELECT * FROM item_icons");
ResultSet rset = statement.executeQuery();

while (rset.next())
{
int itemId = rset.getInt("itemId");
String itemIcon = rset.getString("itemIcon");
_Icons.put(itemId, itemIcon);
}

там что отдельная мапа для хранения всех иконок предметов?
интересно какая религия не позволила хранить данные об иконке в темплейтах самих предметов.
Тут если честно Что вам ответить я не знаю. Знаний в Java ноль.
 
в предмете иконку указали?
там что отдельная мапа для хранения всех иконок предметов?
интересно какая религия не позволила хранить данные об иконке в темплейтах самих предметов.
это же русацисы:LOL:
там хлопец еще не дошел до того уровня "программирования"
 
В базе данных? Ее там вообще нету.


items
items_delayed
items_on_ground

Все что есть. Если я вас правильно понял.
ну тогда иконок не будет.

В items есть ли какое-то поле с названиями по типу icon.
 
В базе данных? Ее там вообще нету.


items
items_delayed
items_on_ground

Все что есть. Если я вас правильно понял.
Думаю в таблице итемс должны быть иконки, как у всех.
Ошибка
У ацисов скорее всего в датапаке в предметах
 
в глаза видимо долбитесь
<item id="100" type="Weapon" name="Voodoo Doll">
<set name="icon" val="icon.weapon_voodoo_doll_i00" />
<set name="is_magical" val="true" />
<set name="default_action" val="equip" />
<set name="weapon_type" val="ETC" />
<set name="bodypart" val="rhand" />
<set name="random_damage" val="10" />
<set name="attack_range" val="40" />
<set name="damage_range" val="0;0;40;120" />
<set name="material" val="WOOD" />
<set name="weight" val="630" />
<set name="price" val="244000" />
<set name="soulshots" val="2" />
<set name="spiritshots" val="2" />
<for>
<set stat="pAtk" val="25" />
<set stat="mAtk" val="28" />
<set stat="rCrit" val="8" />
<set stat="pAtkSpd" val="379" />
</for>
</item>
 
Ну попробуйте что-то типо

item.getItem().getItemIcon();

или item.getTemprate().getItemIcon();
 
в глаза видимо долбитесь
<item id="100" type="Weapon" name="Voodoo Doll">
<set name="icon" val="icon.weapon_voodoo_doll_i00" />
<set name="is_magical" val="true" />
<set name="default_action" val="equip" />
<set name="weapon_type" val="ETC" />
<set name="bodypart" val="rhand" />
<set name="random_damage" val="10" />
<set name="attack_range" val="40" />
<set name="damage_range" val="0;0;40;120" />
<set name="material" val="WOOD" />
<set name="weight" val="630" />
<set name="price" val="244000" />
<set name="soulshots" val="2" />
<set name="spiritshots" val="2" />
<for>
<set stat="pAtk" val="25" />
<set stat="mAtk" val="28" />
<set stat="rCrit" val="8" />
<set stat="pAtkSpd" val="379" />
</for>
</item>
что там долбаться, знаний у человека хватило только чтоб сборку запустить, а я не знаю что такое этот ваш абобус.
 
В мобиусе иконки предметов в бд в отдельной таблице?)
В интерлюде и ниже - да.
Окей, у мобиуса даж в С4 по папочкам в XML.
Да и смысол сравнивать мобиуса с другими сборками? Где-то итемы а базе, а тут руАцис.
 
в глаза видимо долбитесь
<item id="100" type="Weapon" name="Voodoo Doll">
<set name="icon" val="icon.weapon_voodoo_doll_i00" />
<set name="is_magical" val="true" />
<set name="default_action" val="equip" />
<set name="weapon_type" val="ETC" />
<set name="bodypart" val="rhand" />
<set name="random_damage" val="10" />
<set name="attack_range" val="40" />
<set name="damage_range" val="0;0;40;120" />
<set name="material" val="WOOD" />
<set name="weight" val="630" />
<set name="price" val="244000" />
<set name="soulshots" val="2" />
<set name="spiritshots" val="2" />
<for>
<set stat="pAtk" val="25" />
<set stat="mAtk" val="28" />
<set stat="rCrit" val="8" />
<set stat="pAtkSpd" val="379" />
</for>
</item>
Я нашел в XML
У меня в команде .dressme стоит аркана и драк сет. он в xml прописан. но иконка не отображается.
Если смотреть в ГМшоп то да, там иконка арки и драк сета есть.
 
Назад
Сверху Снизу