Тема: CSWOWD (форк)
Показать сообщение отдельно
Старый 24.08.2010, 14:46   #205
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Для дальнейшей работы)
Код:
Index: module/armory/show_char_skill.php
===================================================================
--- module/armory/show_char_skill.php	(revision 41)
+++ module/armory/show_char_skill.php	(working copy)
@@ -3,29 +3,35 @@
 // Скрипт предназначен для вывода скилов игрока
 //==============================================================================
 
-function showPlayerSkills($guid, $char_data)
+function getCharacterSkills($guid_id)
 {
+  global $cDB;
+  return $cDB->select("-- CACHE: 1h
+  SELECT * FROM `character_skills` WHERE `guid` = ?d", $guid_id);
+}
+
+function showPlayerSkills($guid)
+{
   global $wDB, $lang;
   $skill_category = $wDB->select('-- CACHE: 1h
   SELECT `id` AS ARRAY_KEY, `name`, `order` FROM `wowd_skill_line_category`');
   $skill_rev = array();
   // Помещаем данные о скилах в буфер для сотрировки их по классу
   $playerSkill=array();
-  for ($i=0;$i<128;$i++)
-  {
-   $data0 = $char_data[PLAYER_SKILL_INFO_1_1 + $i*3];
-   $data1 = $char_data[PLAYER_SKILL_INFO_1_1 + $i*3 + 1];
-   $data2 = $char_data[PLAYER_SKILL_INFO_1_1 + $i*3 + 2];
-   $skillId   = $data0&0x0000FFFF; // skill id
+
+  $skillcount = getCharacterSkills($guid);
+  if ($skillcount)
+  foreach ($skillcount as $guid)
+ {
+   $skillId   = $guid['skill']; // skill id
    if ($skillId == 0)
        continue;
-   $skillFlag = $data0>>16;        // Unlearn button enabled if & 1
 
-   $skill     = $data1&0x0000FFFF; // skill
-   $maxskill  = $data1>>16;        // max skill
+   $skill     = $guid['value']; // skill
+   $maxskill  = $guid['max'];        // max skill
 
-   $skillPerm  = $data2&0x0000FFFF; // Баф с талантов (добавляется и к skill, и к maxSkill
-   $skillTemp  = $data2>>16;        // Временный баф, влияет только на skill
+   $skillPerm  = 0; // Баф с талантов (добавляется и к skill, и к maxSkill(занулил пока)
+   $skillTemp  = 0;        // Временный баф, влияет только на skill(занулил пока)
 
    if ($skillLine = getSkillLine($skillId))
    {
Index: module/armory/show_character.php
===================================================================
--- module/armory/show_character.php	(revision 41)
+++ module/armory/show_character.php	(working copy)
@@ -72,7 +82,7 @@
  if ($tab == 'skill')
  {
   include("show_char_skill.php");
-  showPlayerSkills($guid, $char_data);
+  showPlayerSkills($guid);
  }
 
  if ($tab == 'achievements')
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
PSZ (26.08.2010)