Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   WWW (http://mangos.ytdb.ru/forumdisplay.php?f=23)
-   -   CSWOWD (форк) (http://mangos.ytdb.ru/showthread.php?t=30)

KiriX 06.03.2010 14:32

Автор проекта: Chestr (DiSlord)
SVN оригинального проекта: http://svn2.assembla.com/svn/cswowd

Решил поднять форк этого проекта, т.к. автор, к сожалению, уже давненько не занимается сайтом. В первую очередь внёс несколько своих давнишних патчей (читайте чейнджлог).
Главная страница форка: http://code.google.com/p/cswowd-fork
SVN: http://cswowd-fork.googlecode.com/svn/trunk
Внимание! На форке представлена только папка cswowd с оригинального SVN, поэтому скули и картинки качайте с родного репозитория проекта!!!
Теперь иконки можно скачать отсюда: http://code.google.com/p/cswowd-fork/downloads/list

Дополнительные файлы можете найти тут, в этой теме. Постараюсь переносить все полезности в аттач первого поста.
За обновление базы спеллов отдельное спасибо Konctantin и TOM_RUS!
Обновление таблиц от NeatElves: http://ytdb.ru/attachment.php?attach...7&d=1265198304

tempura 06.03.2010 14:32

DiSlord
Ревизии 341-342
Цитата:

+ Добавлен вывод типа скрипта в талице НПС
+ Единая функция вывода всплывающих тултипов
+ Единый метод кэширования полученых данных из SQL
+ Возможность вывода точки на карте по координатам:
+ Вывод данных из spell_taret_position
+ Вывод положения игрока на новых картах
+ Вывод Входа и выходи из инстанса
+ Вывод данных из spell_script_target
+ Вывод heroic имен мобов
+ Переход на версию 3.2.2
+ Большинство данных из кода перенесно в таблицы (что упростит переход на новые ревизии)
+ Калькулятор талантов не зависит теперь от вручную набитых данных
+ Переписан (очередной раз) функционал работы вывода карт
+ Переписаны js скрипты
+ Уменьшен размер
+ Возможность динамически подгружать и выполнять скрипт
+ Единый метод кэширования подгружнных данных
+ Единый способ обработки ссылок
+ Исправлена работа подсказо в IE
+ Переписан скрипт lightbox - позволяет подгрузить не только картинку
+ Карты теперь выводятсячерез lightbox (появляется модальное окошко с картой)
+ В армури сделано разбиение на страницы (подгружаются по мере необходимости)
+ Вывод инстансов днные где находится инстанс берутся по id зоны, добавлено кэширование
+ Добавлено описание инстансов на русском языке
+ При выводе фракции - вывод за убийство каких суеств ее дают и предел
+ Вывод в какую группу входит существо (kredit) при выводе NPC
+ Генерируемый HTML код приведен в соответствии с DTD HTML 4.01 Frameset
+ Добавлены методы лога SQL запросов
+ Локализация
+ Много других мелких фисксов

kinks 07.03.2010 06:46

Исправляем ссылку на список спеллов для скила
Было
Код:

http://localhost/?skill=186&guid=$guid
Должно быть
Код:

http://localhost/?skill=186&guid=1
PHP код:

--- E:/cswowd/module/armory/show_char_skill.php    (revision 342)
+++ 
E:/cswowd/module/armory/show_char_skill.php    (working copy)
@@ -
77,+77,@@
 
//      if ($skill***91;'icon'***93; > 1)
 //          $ico = '<img src='.getSpellIcon($skill***91;'icon'***93;).'>';
 //      echo '<td class=skill_ico>$ico</td>';
-        echo '<td class=skill_name><A href="?skill='.$skill***91;'id'***93;.'&guid=$guid">'.$skill***91;'Name'***93;.'</td>';
+        echo 
'<td class=skill_name><A href="?skill='.$skill***91;'id'***93;.'&guid='.$guid.'">'.$skill***91;'Name'***93;.'</td>';
         echo 
'<td class=skill_bar><div class=skill_bar><b class=s1 style="width: '.$pct.'%;"></b><span>'.$text.'</span></div></td>';
         echo 
'</tr>';
       } 

Корректное отображение списка квестов у персонажа:
PHP код:

--- E:/cswowd/module/armory/show_char_quest.php    (revision 342)
+++ 
E:/cswowd/module/armory/show_char_quest.php    (working copy)
@@ -
12,+12,@@
   echo 
"<TR><TD colspan=3 class=head>".$lang***91;'player_active_quest'***93;."</TD></TR>";
   for (
$i=0;$i<25;$i++)
   {
-   
$questId $char_data***91;PLAYER_QUEST_LOG_1_1 $i*4***93;;
+   
$questId $char_data***91;PLAYER_QUEST_LOG_1_1 $i*5***93;;
    if (
$questId AND $quest=getQuest($questId))
    {
     echo 
'<tr>'


KiriX 13.03.2010 14:03

Кто желает, сохраняйте текущую версию форка, т.к. в ближайшее (ввиду освободившегося времени) удалю его и перезалью переписанную версию движка Chestr'a. И уже на неё потом буду снова накладывать патчи, пытаясь перевести их на новые рельсы.
Работу начну минимум через неделю (след неделя вся - я в командировке).

Перезалил в репозиторий форка 343 ревизию. Форк начинаю собирать с нуля. Со временем добавлю все внесённые в форк до этого изменения.
Если у вас есть патч - прошу выкладывать. Обязательно добавлю, если сочту его действительно полезным.

KiriX 15.03.2010 16:46

Мдям =( Посмотрел я чистый cswowd... Ошибки даже в чистом есть:
Код:

SQL Error: Table 'cswowd.wowd_creature_spells' doesn't exist at D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 1387

Array
(
    [cоde] => 1146
    [message] => Table 'cswowd.wowd_creature_spells' doesn't exist
    [query] => SELECT `spell` FROM `wowd_creature_spells` WHERE `entry` = 10838
    [context] => D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 1387
)

Код:

SQL Error: Unknown column 'heroic_entry' in 'field list' at D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 319

Array
(
    [cоde] => 1054
    [message] => Unknown column 'heroic_entry' in 'field list'
    [query] => -- CACHE: 1h
          SELECT `heroic_entry` AS ARRAY_KEY, `entry` FROM `creature_template` WHERE `heroic_entry` <>  0
    [context] => D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 319
)

Код:

        Подгород: 250
Опыт: 850 xp
Деньги: 85
SQL Error: Table 'udb.quest_mail_loot_template' doesn't exist at D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 214

Array
(
    [cоde] => 1146
    [message] => Table 'udb.quest_mail_loot_template' doesn't exist
    [query] => SELECT SQL_CALC_FOUND_ROWS `quest_template`.`entry`, `QuestLevel`, `Title`, `locales_quest`.`Title_loc8` AS `Title_loc`, `ZoneOrSort`, `SkillOrClass`, `lootcondition`, `condition_value1`, `condition_value2`, `ChanceOrQuestChance`, `mincountOrRef` FROM (`quest_template` join `quest_mail_loot_template` ON `quest_template`.`entry` = `quest_mail_loot_template`.`entry`) LEFT JOIN `locales_quest` ON `quest_template`.`entry` = `locales_quest`.`entry` WHERE (`item` = 12815  AND `mincountOrRef` > 0)  GROUP BY `entry` ORDER BY ABS(`ChanceOrQuestChance`) DESC, `Title_loc`, `Title` LIMIT 0, 30
    [context] => D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 214
)

Код:

SQL Error: Table 'cswowd.wowd_creature_spells' doesn't exist at D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 853

Array
(
    [cоde] => 1146
    [message] => Table 'cswowd.wowd_creature_spells' doesn't exist
    [query] => SELECT `entry` FROM `wowd_creature_spells` WHERE `spell` = 17016
    [context] => D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 853
)

Код:

SQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY `maxlevel` DESC, `name_loc`, `name` LIMIT 0, 30' at line 1 at D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 214

Array
(
    [cоde] => 1064
    [message] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY `maxlevel` DESC, `name_loc`, `name` LIMIT 0, 30' at line 1
    [query] => SELECT SQL_CALC_FOUND_ROWS `creature_template`.`entry`, `maxlevel`, `rank`, `name`, `locales_creature`.`name_loc8` AS `name_loc`, `subname`, `locales_creature`.`subname_loc8` AS `subname_loc`, `faction_A` FROM `creature_template` LEFT JOIN `locales_creature` ON `creature_template`.`entry` = `locales_creature`.`entry` WHERE `creature_template`.`entry` in () ORDER BY `maxlevel` DESC, `name_loc`, `name` LIMIT 0, 30
    [context] => D:\SITE\localhost\www\cswowd\cswowd\include\report_generator.php line 214
)

Желающие помочь - велкам =(

P.S: Нет, я не перешёл на UDB - просто надо было там кое-что посмотреть =)

NeatElves 15.03.2010 19:07

Код:

Index: cswowd/include/report_generator.php
===================================================================
--- cswowd/include/report_generator.php        (revision 343)
+++ cswowd/include/report_generator.php        (working copy)
@@ -1140,7 +1140,7 @@
    case 'go_take':  $this->table = '(`quest_template` join `gameobject_involvedrelation` ON `quest_template`.`entry` = `gameobject_involvedrelation`.`quest`)';break;
    case 'npc_giver': $this->table = '(`quest_template` join `creature_questrelation` ON `quest_template`.`entry` = `creature_questrelation`.`quest`)';break;
    case 'npc_take':  $this->table = '(`quest_template` join `creature_involvedrelation` ON `quest_template`.`entry` = `creature_involvedrelation`.`quest`)';break;
-  case 'mail_loot': $this->table = '(`quest_template` join `quest_mail_loot_template` ON `quest_template`.`entry` = `quest_mail_loot_template`.`entry`)';break;
+  case 'mail_loot': $this->table = '(`quest_template` join `mail_loot_template` ON `quest_template`.`RewMailTemplateId` = `mail_loot_template`.`entry`)';break;
    default:          $this->table = '`quest_template`';break;
  }
  $this->db_fields = '`quest_template`.`entry`';
@@ -1177,7 +1177,7 @@
  // Create quest list require item for comlete
  function requireItem($entry, $giveQuest)
  {
-  $this->doRequirest('(`ReqItemId1`= ?d OR `ReqItemId2`= ?d OR `ReqItemId3`= ?d OR `ReqItemId4`= ?d OR `ReqSourceId1`= ?d OR `ReqSourceId2`= ?d OR `ReqSourceId3`= ?d OR `ReqSourceId4`= ?d) AND `quest_template`.`entry` <> ?d', $entry, $entry, $entry, $entry, $entry, $entry, $entry, $entry, $giveQuest);
+  $this->doRequirest('(`ReqItemId1`= ?d OR `ReqItemId2`= ?d OR `ReqItemId3`= ?d OR `ReqItemId4`= ?d OR `ReqItemId5`= ?d OR `ReqItemId6`= ?d OR `ReqSourceId1`= ?d OR `ReqSourceId2`= ?d OR `ReqSourceId3`= ?d OR `ReqSourceId4`= ?d) AND `quest_template`.`entry` <> ?d', $entry, $entry, $entry, $entry, $entry, $entry, $entry, $entry, $entry, $entry, $giveQuest);
  }
  // Create quest list prowide item at take
  function provideItem($entry, $giveQuest)

Про wowd_creature_spells ответ был...

KiriX 15.03.2010 19:16

Спасибо, quest_mail я уже поправил, за вторую часть спасибо.
Блин, весь мосх себе сломал пытаясь понять, почему и как так, что на heroic_entry ругается, а героик версии мобов отображаются =)))
Долго не мог понять =) Оказывается я боран =) Сам я в своей реализации не догадался до такой простого и элегантного решения, которое выбрал Chestr. Вечером (чуть позже) залью изменения...

Ревизия 20.
Исправлены все ошибки из поста №5. Добавлено патч NeatElves, спасибо.

rufoos 15.03.2010 20:41

Копаясь в модуле армори, заметил закомментированные строки инвенторя и гильдии. Раскоментировал и смотрю, рабочие. Ну, решил добавить возможность включения оных в конфиге модулей. Кому надо, вот патч.
Код:

Index: module/armory/show_character.php
===================================================================
--- module/armory/show_character.php        (revision 343)
+++ module/armory/show_character.php        (working copy)
@@ -22,14 +22,14 @@
  echo '
  <ul class=my_tabs>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'>Персонаж</a></li>
+ <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=inventory>Инвентарь</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=talents>Таланты</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=skill>Умения</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=achievements>Достижения</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=reputation>Репутация</a></li>
+ <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=guild>Гильдия</a></li>
  <li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=quests>Квесты</a></li>';
- //<li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=inventory>Инвентарь</a></li>
- //<li><a onclick="return uploadFromHref(this, \'reportContainer\');" href=?player='.$guid.'&tab=guild>Гильдия</a></li>
- echo '</ul>
+  echo '</ul>
  <div id=reportContainer>';
 
  if ($tab == '')
@@ -38,18 +38,19 @@
  showPlayerEquip($guid, $char, $char_data);
  }
 
- if (//$config['show_player_fields'] &&
+ if ($config['show_player_fields'] &&
  $tab=='data')
  {
  include("show_char_data.php");
  showPlayerData($char_data);
  }
- /*
- if ($tab == 'inventory')
+
+ if ($config['show_char_inventory'] &&
+ $tab == 'inventory')
  {
  include ("show_char_inventory.php");
  showPlayerInventory($guid, $char_data);
- }*/
+ }
 
  if ($tab == 'talents')
  {
@@ -74,13 +75,14 @@
  include("show_char_reputation.php");
  showPlayerReputation($guid, $class, $race);
  }
- /*
- if ($tab == 'guild')
+
+ if ($config['show_char_guild'] &&
+ $tab == 'guild')
  {
  include("show_char_guild.php");
  $guildid = 0;
  showPlayerGuild($guid, $char_data);
- }*/
+ }
 
  if ($tab == 'quests')
  {
Index: module/module_cfg.php
===================================================================
--- module/module_cfg.php        (revision 343)
+++ module/module_cfg.php        (working copy)
@@ -82,6 +82,8 @@
 $modules['player'] = "module/armory/show_character.php";
 $config['show_player_skill']  = 1;        // Вывод скилов при показе игрока (пока что тестовый режим)
 $config['show_player_fields'] = 0;        // Вывод таблицы полей data при показе игрока
+$config['show_char_inventory'] = 1;        // Вывод инвентаря при показе игрока
+$config['show_char_guild'] = 1;            // Вывод гильдии при показе инветоря
 
 //==================================================================
 // Вывод вещей на аукционе


KiriX 15.03.2010 20:51

Хм... Я думаю, это было закомментировано не просто так...
Гильдию отображать ещё можно, а вот инвентарь вроде как личное дело каждого...
Кто что думает по сему поводу?

NeatElves 15.03.2010 21:16

Код:

Index: cswowd/module/show/show_quest.php
===================================================================
--- cswowd/module/show/show_quest.php        (revision 343)
+++ cswowd/module/show/show_quest.php        (working copy)
@@ -111,6 +111,8 @@
  renderReqCollect($quest['ReqItemId2'],$quest['ReqItemCount2'],$q_status?$q_status['itemcount2']:0);
  renderReqCollect($quest['ReqItemId3'],$quest['ReqItemCount3'],$q_status?$q_status['itemcount3']:0);
  renderReqCollect($quest['ReqItemId4'],$quest['ReqItemCount4'],$q_status?$q_status['itemcount4']:0);
+  renderReqCollect($quest['ReqItemId5'],$quest['ReqItemCount5'],$q_status?$q_status['itemcount5']:0);
+  renderReqCollect($quest['ReqItemId6'],$quest['ReqItemCount6'],$q_status?$q_status['itemcount6']:0);
  }
 ###
 ### Рек убить

з.ы. Обращаю внимание на 'mail_loot' - там уже другое поле соответствия. У меня возможно более верно..)

rufoos 15.03.2010 21:25

Цитата:

Сообщение от KiriX (Сообщение 2177)
Хм... Я думаю, это было закомментировано не просто так...
Гильдию отображать ещё можно, а вот инвентарь вроде как личное дело каждого...
Кто что думает по сему поводу?

Понятно, что не просто так. Просто получается труды в никуда... Всё есть, а закомментированно. Вот по этому и в конфиг впихнул возможность включения / отключения.

NeatElves 15.03.2010 21:43

А heroic_entry = difficulty_entry_1, плюс можно подумать про группировку с difficulty_entry_2 и difficulty_entry_3

rufoos 15.03.2010 21:54

Вложений: 1
Дополнительный иконки с вовхеда (239 шт.).

KiriX 15.03.2010 22:01

Цитата:

Сообщение от NeatElves (Сообщение 2187)
Код:

***
з.ы. Обращаю внимание на 'mail_loot' - там уже другое поле соответствия. У меня возможно более верно..)

Спасибо, в 21 ревизии. ;)
Блин, с этим майлом второй раз пролетаю, просто не наталкиваюсь, где это действительно используется. Спасибо, внесу твой вариант. =)
Цитата:

Сообщение от rufoos (Сообщение 2190)
Понятно, что не просто так. Просто получается труды в никуда... Всё есть, а закомментированно. Вот по этому и в конфиг впихнул возможность включения / отключения.

Я пока ещё сомневаюсь в надобности отображения инвентаря... Кому надо это - будут юзать mmfpm.
Цитата:

Сообщение от NeatElves (Сообщение 2192)
А heroic_entry = difficulty_entry_1, плюс можно подумать про группировку с difficulty_entry_2 и difficulty_entry_3

Нет, heroic_entry != difficulty_entry_1. С последними изменениями от Chestr часть кода про heroic_entry вообще не нужна. Я час убил на то, чтобы понять что там и к чему. Всё и так реализовано (я про группировку с difficulty_entry_1 по difficulty_entry_3). Код с heroic_entry - мёртвый код, который нужно убрать.

NeatElves 15.03.2010 22:53

Чуток побаловался с кондициями...) Битность для расы и класса пока как сделать незнаю, в англ. не силен(текст подправьте)...
Код:

Index: cswowd/include/report_generator.php
===================================================================
--- cswowd/include/report_generator.php        (revision 343)
+++ cswowd/include/report_generator.php        (working copy)
@@ -391,6 +391,25 @@
    case 12: // CONDITION_ACTIVE_EVENT  event_id
      echo 'Event '.$data['condition_value1'];
      break;
+  case 13: // CONDITION_AREA_FLAG  area_flag    area_flag_not
+    if ($data['condition_value1'] > 0) echo 'In '.getAreaName($data['condition_value1']);
+    if ($data['condition_value2'] > 0) echo 'Not in '.getAreaName($data['condition_value2']);
+    break;
+  case 14: // CONDITION_RACE_CLASS  race_mask    class_mask
+    if ($data['condition_value1'] > 0) echo 'Race '.$data['condition_value1'];
+    if ($data['condition_value2'] > 0) echo 'Class '.$data['condition_value2'];
+    break;
+  case 15: // CONDITION_LEVEL  player_level    0, 1 or 2
+    if ($data['condition_value1'] > 0) echo 'Player level '.$data['condition_value1'];       
+    if (($data['condition_value1'] > 0) && ($data['condition_value2'] == 0)) echo ' equal to';
+    if (($data['condition_value1'] > 0) && ($data['condition_value2'] == 1)) echo ' equal or higher than';
+    if (($data['condition_value1'] > 0) && ($data['condition_value2'] == 2)) echo ' equal or less than';
+    break;
+  case 16: // CONDITION_NOITEM  item_id      count
+    $item = getItem($data['condition_value1'], '`entry`, `displayid`');
+    echo 'Not have '.text_show_item($item['entry'], $item['displayid'], 'quest');
+    if ($data['condition_value1'] > 0) echo 'x'.$data['condition_value2'];
+    break;
  }
 }

з.ы. Зачем иконки брать с вовхеда )):
Цитата:

Сообщение от Konctantin (Сообщение 13571)
Total Commander + mpq plugin + XnView

з.ы.2 Можно еще сделать по аналогии:
Цитата:

if ('www_faction' != '')
echo "<a href=\"".sprintf($config[www_faction], $entry)."\" target=\"_blank\"\">".sprintf($config[www_faction], $entry)."</a><br>";

Gerald 16.03.2010 00:33

Отпишите пожалуйста кто из ведающих в каком направлении искать:
цель добавить карты на не достающие данжи типа Шоло, УБРС и БВЛ,
единственное что понял, что надо раскомментировать и подправить строки в файлах \map\zone_tables.php и \include\map_data.php
в каком из *.dbc брать данные и как подгонять под разрешение карты не пойму?

salarik 16.03.2010 05:15

Помоему було бы удобно видеть так же как на вовхеде(да и не только) Уровень вещи, носимой или ту которую просто смотрим.

KiriX 16.03.2010 16:53

salarik, NeatElves
Ваши правки приняты... К сожалению, я уезжаю из родного города, а значит и обновлять не смогу. Приму как вернусь (минимум 20.03.10).
NeatElves, если желаешь - дам права на обновления репозитория. В личку до 23:00 15.03.10...

NeatElves 16.03.2010 17:40

Я дождусь..))
Еще можно добавить:
Цитата:

if ('www_zone' != '')
echo "<a href=\"".sprintf($config['www_zone'], $entry)."\" target=\"_blank\"\">".sprintf($config['www_zone'], $entry)."</a><br>";
И для правильности, все
Цитата:

sprintf($config[www_...], $entry)."
взять в кавычки
Цитата:

sprintf($config['www_...'], $entry)."
иначе видно Use of undefined constant ))

rufoos 16.03.2010 17:42

Цитата:

Сообщение от NeatElves (Сообщение 2199)
з.ы. Зачем иконки брать с вовхеда )):

А где ты предлагаешь брать недостающие иконки? Проясни, пожалуйста, может я чего-то не знаю.

NeatElves 16.03.2010 17:47

Цитата:

Сообщение от rufoos (Сообщение 2275)
А где ты предлагаешь брать недостающие иконки? Проясни, пожалуйста, может я чего-то не знаю.

Из клиента:
Цитата:

Total Commander + mpq plugin + XnView

rufoos 16.03.2010 17:53

Копался в MPQ с помощью одной проги и просто не нашёл их. Благодарю за информацию.

KiriX 16.03.2010 20:23

Цитата:

Сообщение от NeatElves (Сообщение 2274)
1) Я дождусь..))
Еще можно добавить: ***
2) И для правильности, все взять в кавычки иначе видно Use of undefined constant ))

1) А оно точно надо? По личному опыту - мине никогда не требовалось, но если вы настаиваете, что это надо... Добавлю...
2) ;) Обрати внимание - ещё во вчерашнем коммите поправил это =) (21 ревизия)
Цитата:

Сообщение от rufoos (Сообщение 2279)
Копался в MPQ с помощью одной проги и просто не нашёл их. Благодарю за информацию.

Недавно лично вытаскивал оттуда и иконки, и карты =)

P.S: NeatElves, при комментариях к коду использую тэг кода, а то в цитатах вложенная цитата пропадает =)

NeatElves 16.03.2010 20:48

Кстати, с кодом на героики, в группе моба, для героик версии выводилось в названии - Heroic)) Усовершенствовать бы к текущему состоянию сложностей...

KiriX 16.03.2010 22:42

Цитата:

Сообщение от NeatElves (Сообщение 2306)
Кстати, с кодом на героики, в группе моба, для героик версии выводилось в названии - Heroic)) Усовершенствовать бы к текущему состоянию сложностей...

А вот это ещё нужно хорошо подумать, как грамотнее и оптимальнее сделать это...

BombermaG 21.03.2010 15:24

Код:

Index: index.php
===================================================================
--- index.php        (revision 21)
+++ index.php        (working copy)
@@ -5,7 +5,7 @@
 include("lang/game_text.".$config['lang'].".php");
 ?>
 <HTML>
-<?
+<?php
 //<script type="text/javascript" src="js/blackbird.js"></script>
 //<LINK rel="stylesheet" href="js/blackbird.css" type="text/css">
 ?>


Chestr 24.03.2010 20:50

344 ревизия
Цитата:

Исправлена ошибка фракции в достижениях
Исправлены ошибки связаные с изменениями в базе данных
Списки глифов и талантов (при показе спеллов) сделаны через класс создания отчетов
Списки игроков сделаны через класс создания отчетов и добавлен в:
+ Список членов гильдии
+ Список онлайн сделан
+ Список владельцев вещи
При поиске взрывчатки выводетится также спелл вещи
Убран из меню вывод аукциона
Понемногу беру отсюда фиксы :) ну и добавляю своего чуток

BombermaG 24.03.2010 21:16

Цитата:

Сообщение от Chestr (Сообщение 3065)
344 ревизия


Понемногу беру отсюда фиксы :) ну и добавляю своего чуток

В папке лежат два конфига, которые немного отличаются:
conf.php.in
conf.php
Исправьте, пожалуйста.

Madmunus 24.03.2010 21:36

Фикс Honor and Money:
PHP код:

Indextop_100.php
===================================================================
--- 
top_100.php    (revision 344)
+++ 
top_100.php    (working copy)
@@ -
22,11 +22,11 @@
    
data,
    
name,
    
account,
-   (
SUBSTRING_INDEXSUBSTRING_INDEX( `data` , ' ' , ?d) , ' ' , -)+0) AS `money`
+   
money
   FROM 
`characters`
  {
WHERE `accountNOT IN (?a)}
   
ORDER BY `moneyDESC
-  LIMIT ?d", PLAYER_FIELD_COINAGE+1, empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs$config***91;'top_money_limit'***93;);
+  LIMIT ?d"
, empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs$config***91;'top_money_limit'***93;);
  if (
$rows)
  {
   echo 
"<TABLE class=report width=500>";
@@ -
71,20 +71,20 @@
 else if (
$output_mode == "TOP_HONOR")
 {
  
$sort = @$_REQUEST***91;'sort'***93;;
- if (
$sort == 'kills'$sort_str 'kills';
- else                  
$sort_str 'honor';
+ if (
$sort == 'kills'$sort_str 'totalKills';
+ else                  
$sort_str 'totalHonorPoints';
  
$gm_accs $rDB->selectCol("SELECT `id` FROM `account` WHERE `gmlevel`<>'0'");
  
$rows $cDB->select(
  
"SELECT
    guid,
    data,
    name,
-   (SUBSTRING_INDEX( SUBSTRING_INDEX( `data` , ' ' , ?d) , ' ' , -1 )+0) AS `honor`,
-   (SUBSTRING_INDEX( SUBSTRING_INDEX( `data` , ' ' , ?d) , ' ' , -1 )+0) AS `kills`
+   totalHonorPoints,
+   totalKills
   FROM `characters`
  {WHERE `account` NOT IN (?a)}
   ORDER BY `
$sort_str`
-  DESC LIMIT ?d"
PLAYER_FIELD_HONOR_CURRENCY+1PLAYER_FIELD_LIFETIME_HONORBALE_KILLS+1, empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs$config***91;'top_honor_limit'***93;);
+  
DESC LIMIT ?d", empty($gm_accs)?DBSIMPLE_SKIP:$gm_accs$config***91;'top_honor_limit'***93;);
  if (
$rows)
  {
   echo "
<TABLE class=report width=500>"; 


Chestr 24.03.2010 22:25

Цитата:

В папке лежат два конфига, которые немного отличаются:
conf.php.in
conf.php
Исправьте, пожалуйста.
Спс, случайно добавил свой конфиг :)
Удалил

Цитата:

Фикс Honor and Money:
Эмм а разве мой вариант не работает?
Хотя ваш должен работать быстрее.

KiriX 25.03.2010 01:01

Цитата:

Сообщение от Chestr (Сообщение 3075)
Спс, случайно добавил свой конфиг :)
Удалил


Эмм а разве мой вариант не работает?
Хотя ваш должен работать быстрее.

Я думаю, вам имеет смысл создать оригинальную тему ;)
Тогда я удалю эту тему, но форк будет обсуждаться в вашей теме (если вы не против). =)

BombermaG 25.03.2010 01:11

Цитата:

Сообщение от KiriX (Сообщение 3080)
Я думаю, вам имеет смысл создать оригинальную тему ;)
Тогда я удалю эту тему, но форк будет обсуждаться в вашей теме (если вы не против). =)

Вот хоть и не полный, но текст из оригинальной темы:

Позволяет искать:
* Вещи
* Существ
* Обьекты
* Квесты
* Спеллы

Просматривать информацию по:
* Вещам
* Существам
* Обьектам
* Квестам
* Спеллам
* Энчантам
* Рандом энчантам
* Наборам вещей
* Скилам, проффесиям
* Достижениям
* Инстансам
Выводится максимально возможная информация обо всём, добавлена поддержка локализаций.

Имеется подобие армури:
* Поиск игроков
* Просмотр характеристик персонажа (всё, что выводится в игре, то выводится и тут), его вещей и баффов
* Просмотр умений персонажа (какие спелы, скиллы или профессии знает, какие нет)
* Просмотр достижений персонажа (что завершено, последние 5 достижений, насколько продвинулся)
* Просмотр талантов персонажа (при включённой опции в конфиге)
* Просмотр активных квестов игрока (при включённой опции в конфиге)
* Возможно просмотреть все поля Data игрока (при включённой опции в конфиге)

Дополнительно:
* Просмотр онлайн
* Просмотр гильдий
* Просмотр арена тим
* Просмотр аукциона
* Просматривать топ 100 богачей, топ 100 по хонор киллам, топ Арена тимы
* Скрипт регистрации
* FAQ по игре (описания мира вов, классов, рас, история, и т.д.)
* Картография - просмотр местоположения игроков, мобов, го на картах (включая большинство инстансов)
* Калькулятор талантов

Сайт имеет поддержку скинов.

Репозитарий тут: https://svn2.assembla.com/svn/cswowd
Список изменений: https://trac2.assembla.com/cswowd/timeline

Как устанавливать...
Читайте install.ru.txt!

VinD 25.03.2010 02:00

этот фикс на правильное отображение квестов уже был выложен здесь, но только что обновил вовд до 345-й ревизии, и квесты опять криво отображает.
PHP код:

Indexshow_char_quest.php
===================================================================
--- 
show_char_quest.php    (revision 345)
+++ 
show_char_quest.php    (working copy)
@@ -
12,+12,@@
   echo 
"<TR><TD colspan=3 class=head>".$lang***91;'player_active_quest'***93;."</TD></TR>";
   for (
$i=0;$i<25;$i++)
   {
-   
$questId $char_data***91;PLAYER_QUEST_LOG_1_1 $i*4***93;;
+   
$questId $char_data***91;PLAYER_QUEST_LOG_1_1 $i*5***93;;
    if (
$questId AND $quest=getQuest($questId))
    {
     echo 
'<tr>'

и ещё есть вопрос... когда открыть страницу любого игрока, то показывается его экипировка, но когда вверху перейти на вкладку таланты, умения, достижения и т.д. то назад на закладку Персонаж вернуться нельзя. это только у меня так? и ещё хотел бы спросить можно ли как-то сделать чтоб страница персонажа отображалась так как раньше? чтоб отображалось всё сразу, а не по вкладкам переключать.

и ещё сила атаки ближнего и дальнего боя отображается с 8 знаками после запятой.. лучше выглядит когда это значение округлить.
PHP код:

Indexplayer_info_generator.php
===================================================================
--- 
player_info_generator.php    (revision 345)
+++ 
player_info_generator.php    (working copy)
@@ -
517,+517,@@
  
$valueClass "normStat";
       if (
$Buff>0) {$posBuff=$Buff;$valueClass "posStat";}
  else if (
$Buff<0) {$negBuff=$Buff;$valueClass "negStat";}
$stat $effectiveStat+$Buff;
$stat round($effectiveStat+$Buff,0);
  
createHeader("Attack Power",$stat,$posBuff,$negBuff,"normStat");
  
printf ("<TR><TD>Increases damage with melee weapons by %.1f damage per second.</TD></TR>",max($stat0)/ATTACK_POWER_MAGIC_NUMBER);
  
createEndTable($valueClass$stat);
@@ -
632,+632,@@
  
$valueClass "normStat";
       if (
$Buff>0) {$posBuff=$Buff;$valueClass "posStat";}
  else if (
$Buff<0) {$negBuff=$Buff;$valueClass "negStat";}
$stat $effectiveStat+$Buff;
$stat round($effectiveStat+$Buff,0);
  
createHeader("Attack Power",$stat,$posBuff,$negBuff,"normStat");
  
printf ("<TR><TD>Increases damage with ranged weapons by %.1f damage per second.</TD></TR>",max($stat0)/ATTACK_POWER_MAGIC_NUMBER); 


KiriX 25.03.2010 20:09


Osa 02.04.2010 10:08

Цитата:

Сообщение от KiriX (Сообщение 2177)
Хм... Я думаю, это было закомментировано не просто так...
Гильдию отображать ещё можно, а вот инвентарь вроде как личное дело каждого...
Кто что думает по сему поводу?

А может быть, только для Гма организовать? Видимость инвентаря.

VinD 02.04.2010 14:17

Цитата:

Сообщение от Osa (Сообщение 3612)
А может быть, только для Гма организовать? Видимость инвентаря.

А как сайт поймет кто на него зашёл - гм или не гм? для этого надо будет ещё и личный кабинет прикручивать к вовд, или какую-нибудь авторизацию придумать. Или Вы имели ввиду, чтоб был виден только инвентарь гма? чтоб все могли посмотреть что там у него =)))

qazarius 02.04.2010 15:46

Как вариант можно показывать только определённому ip адресу

kBaTT 03.04.2010 06:32

Цитата:

Сообщение от qazarius (Сообщение 3638)
Как вариант можно показывать только определённому ip адресу

это муторно, думаю вообще про видимость инвентаря можно забыть =)

Или же, написать отдельный модуль и поставить пароль к каталогу через .htaccess + .htpasswd =)

Osa 03.04.2010 07:42

Цитата:

Сообщение от VinD (Сообщение 3631)
А как сайт поймет кто на него зашёл - гм или не гм? для этого надо будет ещё и личный кабинет прикручивать к вовд, или какую-нибудь авторизацию придумать. Или Вы имели ввиду, чтоб был виден только инвентарь гма? чтоб все могли посмотреть что там у него =)))

Нет,не инвентарь Гма. Ну ЛК и так частично прикручен к wowd. Просили мнения, я написала.

VinD 03.04.2010 17:44

Цитата:

Сообщение от Osa (Сообщение 3698)
Ну ЛК и так частично прикручен к wowd.

что-то я его не видел там... подскажите где именно он есть? мне кажется что там с нуля надо его делать...

Цитата:

Сообщение от Osa (Сообщение 3698)
Просили мнения, я написала.

Ваша идея не плохая, но сейчас у вовд есть другие проблемы которые надо исправить в первую очередь... например вовд не совместим с ревизиями мангоса выше 9630, в связи с тем, что убрали поле data из таблицы characters. Но всё равно, спасибо :)


Текущее время: 08:47. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS