Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > WWW

Важная информация

WWW Web интерфейс для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.07.2010, 22:24   #1
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

165 пост в 35 ревизии
NeatElves, спасибо!
KiriX вне форума   Ответить с цитированием
Старый 24.07.2010, 02:21   #2
Omg
Пользователь
 
Аватар для Omg
 
Регистрация: 07.03.2010
Сообщений: 31
Сказал(а) спасибо: 17
Поблагодарили 2 раз(а) в 2 сообщениях
Omg На верном пути
Отправить сообщение для Omg с помощью ICQ
По умолчанию

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

Если подскажете - займусь

P.S. спс за sql) Их нехватало)
__________________
Englishspeaker.

Последний раз редактировалось Omg; 24.07.2010 в 02:42.
Omg вне форума   Ответить с цитированием
Старый 27.07.2010, 21:37   #3
VinD
Пользователь
 
Аватар для VinD
 
Регистрация: 08.03.2010
Адрес: Ukraine
Сообщений: 41
Сказал(а) спасибо: 18
Поблагодарили 56 раз(а) в 20 сообщениях
VinD Скоро придёт к известности
По умолчанию

русские карты можно взять здесь
__________________
Mangos 10505 + YTDB 564 + SD2 1826
VinD вне форума   Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
Gen1us2k (31.07.2010), KiriX (27.07.2010), Omg (28.07.2010)
Старый 02.08.2010, 14:24   #4
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Обновил, исправил отображение аукциона + теперь данные о вещах, одетых на персе берутся из item_instance, что позволяет корректно отображать энчант, рандом-бонусы и прочее...

Но есть одна загвоздка
Не могу понять, почему тултип энчанта выводит нулевые значения... Где-это дело собирается я что-то найти так и не смог
KiriX вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Omg (03.08.2010)
Старый 02.08.2010, 21:36   #5
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Исправлено отображение талантов персонажа.
P.S: Omg - омг, что ты правил, но твой фикс отображения талантов из 142 поста совершенно не работает и работать не может...
KiriX вне форума   Ответить с цитированием
Старый 11.08.2010, 16:42   #6
Black_Rose
Гость
 
Сообщений: n/a
По умолчанию Проблема с онлайн списком.

Доброго времени суток.
Собственно сабж., проблема была и на оригинальной версии проекта, присутствует и сейчас. Игроки онлайн не показываются, вообще, показывается, что онлайн никого нет, даже если это не так. Раньше я пользовалась вот этим скриптом online.php:

Код:
<?php
include_once("conf.php");
include_once("include/player_data.php");
include_once("include/functions.php");
include_once("include/map_data.php");
include_once("include/info_table_generator.php");

function onlineMapRenderCallback($data, $x, $y)
{
   $imgX   = 16;
   $imgY   = 16;
   $x = round($x-$imgX/2, 0);
   $y = round($y-$imgY/2, 0);

   $char_data = explode(' ',$data['data']);
   $powerType =($char_data[UNIT_FIELD_BYTES_0]>>24)&255;
   $gender    =($char_data[UNIT_FIELD_BYTES_0]>>16)&255;
   $class     =($char_data[UNIT_FIELD_BYTES_0]>> 8)&255;
   $race      =($char_data[UNIT_FIELD_BYTES_0]>> 0)&255;
   $level     = $char_data[UNIT_FIELD_LEVEL];
   $faction   = getPlayerFaction($race);
   $map_name  = getMapName($data['map']);
   $area_name = getAreaNameFromPoint($data['map'], $data['position_x'], $data['position_y'], $data['position_z']);

   $img  = $faction==0 ? "gps_icon1.png" : "gps_icon.png";

   $text ="<table class=online_map>";
   $text.="<tr><td class=".($faction==0?"aname":"hname").">".$data['name']."</td></<tr>";
   if ($area_name)
       $text.="<tr><td align=center>$area_name<br>";
   $text.="<tr><td align=center>";
   $text.="<img width=20 src=".getRaceImage($race,$gender)."> <img width=20 src=".getClassImage($class)."><br>";
   $text.=getRace($race)."<br>";
   $text.=getClass($class)."<br>";
   $text.="Level - $level<br>";
   $text.="</td></tr>";
   $text.="</table>";
   return '<img src="images/map_points/'.$img.'" class=point style="left: '.$x.'; top: '.$y.';" onmouseover="Tip(\''.$text.'\');">'."\n";
}

$online = @$_REQUEST['online'];

if ($online == "gps")
{
  $rows = $cDB->selectPage($number, "SELECT * FROM `characters` WHERE `online` <> '0'");
  renderGPSMap("$number $lang[online_players]",700, $rows, 'onlineMapRenderCallback');
}
else
{
 $page = intval(@$_REQUEST['page']);
 $sort = @$_REQUEST['sort'];

 $FindRefrence = "?online";

 $sort_str = "";
 if      ($sort == "name")  $sort_str = " order by `name`";
 else if ($sort == "level") $sort_str = " order by SUBSTRING_INDEX( SUBSTRING_INDEX( `data` , ' ' , ".(UNIT_FIELD_LEVEL+1).") , ' ' , -1 ) + 0 DESC";
 else if ($sort == "class") $sort_str = " order by `class`, `race`";
 else if ($sort == "race")  $sort_str = " order by `race`, `class`";
 else                       $sort_str = " order by `name`";

 $page_seek = getLPageOffset($page, $config['online_limit']);
 $rows = $cDB->selectPage($totalRecords,
 "SELECT *
  FROM `characters`
  WHERE `online` <> '0'");

 echo "<TABLE class=report width=500>";
 echo "<TBODY>";
 echo "<tr><td colspan=6 class=head>$totalRecords $lang[online_players]</td></tr>";
 if($rows)
 {
  $SortRefrence = $FindRefrence;
  if ($page>1) $SortRefrence.="&page=$page";
  echo "<tr>";
  echo "<th><a href=\"$SortRefrence&sort=level\">$lang[player_level]</a></th>";
  echo "<th width=1%></TH>";
  echo "<th width=100%><a href=\"$SortRefrence\">$lang[player_name]</a></th>";
  echo "<th><a href=\"$SortRefrence&sort=race\">$lang[player_race]</a></th>";
  echo "<th><a href=\"$SortRefrence&sort=class\">$lang[player_class]</a></th>";
  echo "<th>$lang[player_zone]</TH>";
  echo "</tr>\n";
  foreach ($rows as $player)
  {
   $imgsize=32;
   $char_data = explode(' ',$player['data']);
   $powerType =($char_data[UNIT_FIELD_BYTES_0]>>24)&255;
   $gender    =($char_data[UNIT_FIELD_BYTES_0]>>16)&255;
   $class     =($char_data[UNIT_FIELD_BYTES_0]>> 8)&255;
   $race      =($char_data[UNIT_FIELD_BYTES_0]>> 0)&255;
   $level     = $char_data[UNIT_FIELD_LEVEL];

   $map_name = getMapNameFromPoint($player['map'], $player['position_x'], $player['position_y'], $player['position_z']);
   $area_name = getAreaNameFromPoint($player['map'], $player['position_x'], $player['position_y'], $player['position_z']);
   $extra_name = "";
   if ($area_name)
   {
     $extra_name = "<br><font size=-2>".$map_name."</font>";
     $map_name = "&bdquo;".str_replace(' ','&nbsp;', $area_name)."&ldquo;";
   }
   else
     $map_name = "&bdquo;".str_replace(' ','&nbsp;',$map_name)."&ldquo;";

   if ($config['show_map_ptr'])
      $map_name = "<a href=\"map/map.php?x=$player[position_x]&y=$player[position_y]&map=$player[map]\">".$map_name."</a>";
   $map_name.= $extra_name;

   echo "<TR>";
   echo "<TD align=center>$level</TD>";
   echo "<TD class=pfaction><img width=$imgsize src=\"".getFactionImage($race)."\"></TD>";
   echo "<TD class=player><A href=?player=$player[guid]>$player[name]</a></TD>";
   echo "<TD class=prace><img width=$imgsize src=\"".getRaceImage($race,$gender)."\"></TD>";
   echo "<TD class=pclass><img width=$imgsize src=\"".getClassImage($class)."\"></TD>";
   echo "<TD class=zone>$map_name</TD>";
   echo "</TR>\n";
  }
  $pageRefrence = $FindRefrence;
  if ($sort) $pageRefrence.="&sort=$sort";
  generateLPage($totalRecords, $page, "<a href=\"$pageRefrence&page=%d\">%d </a>", $config['online_limit'], 6);
 }
 else
  echo "<tr><td colSpan=6 align=center>".$lang['online_no_players']."</td></tr>";
 echo "</TBODY></TABLE>";
}

?>
Но теперь этот скрипт не отображает картинку расы, класса, фракции, он отображает только зону, в которой находится игрок, и ник. Полагаю, в последние месяцы произошло много изменений в поле data персонажей, поэтому эти данные там немного сместились, но я не слишком хорошо представляю, где именно они там сейчас, пожалуйста, помогите разобраться и исправить изъяны этого скрипта.
  Ответить с цитированием
Старый 11.08.2010, 18:14   #7
MaS0n
Модератор
 
Регистрация: 09.03.2010
Адрес: dev/null
Сообщений: 126
Сказал(а) спасибо: 44
Поблагодарили 111 раз(а) в 47 сообщениях
MaS0n Скоро придёт к известностиMaS0n Скоро придёт к известности
Отправить сообщение для MaS0n с помощью ICQ
По умолчанию

Поле data больше не существует, лвл, пол, раса, фракция, деньги и т.д вынесены в отдельные колонки

Рассмотри таблицу characters, там теперь все очевидно
MaS0n вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
tempura (11.08.2010)
Старый 11.08.2010, 21:13   #8
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

На последних ревизиях форк cswowd прекрасно работает.
KiriX вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 12.08.2010, 02:48   #9
Space77
Гость
 
Сообщений: n/a
По умолчанию

Небольшая опечатка в именовании поля:
Код:
Index: module/armory/show_character.php
===================================================================
--- module/armory/show_character.php	(revision 37)
+++ module/armory/show_character.php	(working copy)
@@ -66,7 +66,7 @@
  if ($tab == 'talents')
  {
   include("show_char_talents.php");
-  showPlayerTalents($guid, $class, $char['level'], $char['activespec']);
+  showPlayerTalents($guid, $class, $char['level'], $char['activeSpec']);
  }
 
  if ($tab == 'skill')
  Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (12.08.2010)
Старый 12.08.2010, 16:11   #10
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию

я дурак? или русский поиск не работает?
Код:
'lang'=>'ru',                 // Язык интерфейса сайта ru,en
'client_charset'=> 'utf8',    // Кодировка клиента (не рекомендую менять - так как родная кодировка сайта utf8)
'use_tab_mode'=>'1',          // Tabbed report mode
ДАнные в конфиге. Но по русски ищет тогда, когда поменяешь через сайт Язык-Русский
Gen1us2k вне форума   Ответить с цитированием
Старый 12.08.2010, 18:14   #11
BombermaG
Модератор
 
Аватар для BombermaG
 
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
BombermaG На верном пути
По умолчанию

Цитата:
Сообщение от Gen1us2k Посмотреть сообщение
я дурак? или русский поиск не работает?
Код:
'lang'=>'ru',                 // Язык интерфейса сайта ru,en
'client_charset'=> 'utf8',    // Кодировка клиента (не рекомендую менять - так как родная кодировка сайта utf8)
'use_tab_mode'=>'1',          // Tabbed report mode
ДАнные в конфиге. Но по русски ищет тогда, когда поменяешь через сайт Язык-Русский
Цитата:
// Принудительный выбор локализации из таблиц locales_...
'locales_lang'=>'8', // работает только если есть заполнение таблицы locales_xxx
Вот так вот...
BombermaG вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Gen1us2k (12.08.2010)
Старый 12.08.2010, 17:01   #12
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

У меня работает...
NeatElves вне форума   Ответить с цитированием
Старый 12.08.2010, 18:11   #13
Al1k
Новичок
 
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Al1k На верном пути
По умолчанию

Доброго времени суток всем. Скачал последний форк: http://cswowd-fork.googlecode.com/svn/trunk
Все в принципе хорошо, но есть вещи которые не работают, например:
* Информация о персонаже (не отображаются вещи, одетые на персонаже, пустуют квадратики, при наводке на них даже именование вещи не пишет. Некорректно отображает количество маны/хп/ярости и т.д. Умения.) - это моя главная проблема, как ее решить? Сам не догадываюсь.
* Топ богачей (пустой)
* Меню "зоны" отображается так: map_0, map_1 и так далее...
В чем может быть проблема?
Al1k вне форума   Ответить с цитированием
Старый 12.08.2010, 18:18   #14
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от Al1k Посмотреть сообщение
Доброго времени суток всем. Скачал последний форк: http://cswowd-fork.googlecode.com/svn/trunk
Все в принципе хорошо, но есть вещи которые не работают, например:
* Информация о персонаже (не отображаются вещи, одетые на персонаже, пустуют квадратики, при наводке на них даже именование вещи не пишет. Некорректно отображает количество маны/хп/ярости и т.д. Умения.) - это моя главная проблема, как ее решить? Сам не догадываюсь.
* Топ богачей (пустой)
* Меню "зоны" отображается так: map_0, map_1 и так далее...
В чем может быть проблема?
Нет таких проблем на последнем форке...
KiriX вне форума   Ответить с цитированием
Старый 12.08.2010, 21:14   #15
Al1k
Новичок
 
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Al1k На верном пути
По умолчанию

Цитата:
Сообщение от KiriX Посмотреть сообщение
Нет таких проблем на последнем форке...
Получается, что есть, ибо все делаю правильно... Единственное, на что грешу, - это sql... поставил wowd_322_ru.sql, но думаю, что должна быть где-то поновее. С ytdb брал - та же фигня, только + с кодировкой проблема. Если у Вас есть для 3.3.2 и выше - выложите пожалуйста, спасибо.
Al1k вне форума   Ответить с цитированием
Старый 12.08.2010, 21:22   #16
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Цитата:
Сообщение от Al1k Посмотреть сообщение
Получается, что есть, ибо все делаю правильно... Единственное, на что грешу, - это sql... поставил wowd_322_ru.sql, но думаю, что должна быть где-то поновее. С ytdb брал - та же фигня, только + с кодировкой проблема. Если у Вас есть для 3.3.2 и выше - выложите пожалуйста, спасибо.
Эти ошибки совершенно никак не связаны с базой.
KiriX вне форума   Ответить с цитированием
Старый 12.08.2010, 20:56   #17
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию

BombermaG
Оказываеться я дурак и не туда смотрел %) спасибо. Проблема решена
Gen1us2k вне форума   Ответить с цитированием
Старый 12.08.2010, 21:21   #18
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от Al1k Посмотреть сообщение
Получается, что есть, ибо все делаю правильно...
Перечитайте тему, особенно обратите внимание на сообщения про кеш...

з.ы. Адаптируем показ репутации, для вложенных значений, пока все без коэффициентов из reputation_reward_rate
Код:
Index: include/report_generator.php
===================================================================
--- include/report_generator.php	(revision 37)
+++ include/report_generator.php	(working copy)
@@ -1118,6 +1118,9 @@
  if ($quest['RewRepValueId'.$i] < 0) 
   $RepValueId[$i] = -$RepValueId[$i]; 
 
+ if ($quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
+  $quest['RewRepValue'.$i] = $quest['RewRepValue'.$i]/100; 
+
  if (!$quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
   $quest['RewRepValue'.$i] = $RepValueId[$i]; 
   }
Index: module/show/show_quest.php
===================================================================
--- module/show/show_quest.php	(revision 37)
+++ module/show/show_quest.php	(working copy)
@@ -214,6 +214,9 @@
  if ($quest['RewRepValueId'.$i] < 0) 
   $RepValueId[$i] = -$RepValueId[$i]; 
 
+ if ($quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
+  $quest['RewRepValue'.$i] = $quest['RewRepValue'.$i]/100; 
+
  if (!$quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
   $quest['RewRepValue'.$i] = $RepValueId[$i]; 
 }

Последний раз редактировалось NeatElves; 12.08.2010 в 21:37.
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (12.08.2010)
Старый 12.08.2010, 21:33   #19
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию

Проблема с кодировкой тоже была после накатывания приаттаченого файла. Были кракозябры.
Базу создавал вот так
Код:
CREATE DATABASE `db` default character set utf8 collate utf8_general_ci;
Решил так
Код:
DROP TABLE IF EXISTS `wowd_glyphproperties`;
CREATE TABLE `wowd_glyphproperties` (
  `id` int(10) unsigned NOT NULL,
  `SpellId` int(10) unsigned NOT NULL,
  `TypeFlags` int(10) unsigned NOT NULL,
  `Unk1` int(10) unsigned default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Заменил на
Код:
DROP TABLE IF EXISTS `wowd_glyphproperties`;
CREATE TABLE `wowd_glyphproperties` (
  `id` int(10) unsigned NOT NULL,
  `SpellId` int(10) unsigned NOT NULL,
  `TypeFlags` int(10) unsigned NOT NULL,
  `Unk1` int(10) unsigned default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
и в начало файла добавил
Код:
SET NAMES `utf8`;
Al1k
Точно делали все по мануалу?
Gen1us2k вне форума   Ответить с цитированием
Старый 12.08.2010, 21:54   #20
Al1k
Новичок
 
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Al1k На верном пути
По умолчанию

Цитата:
Сообщение от Gen1us2k Посмотреть сообщение
Проблема с кодировкой тоже была после накатывания приаттаченого файла. Были кракозябры.
Базу создавал вот так
Код:
CREATE DATABASE `db` default character set utf8 collate utf8_general_ci;
Решил так
Код:
DROP TABLE IF EXISTS `wowd_glyphproperties`;
CREATE TABLE `wowd_glyphproperties` (
  `id` int(10) unsigned NOT NULL,
  `SpellId` int(10) unsigned NOT NULL,
  `TypeFlags` int(10) unsigned NOT NULL,
  `Unk1` int(10) unsigned default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
Заменил на
Код:
DROP TABLE IF EXISTS `wowd_glyphproperties`;
CREATE TABLE `wowd_glyphproperties` (
  `id` int(10) unsigned NOT NULL,
  `SpellId` int(10) unsigned NOT NULL,
  `TypeFlags` int(10) unsigned NOT NULL,
  `Unk1` int(10) unsigned default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
и в начало файла добавил
Код:
SET NAMES `utf8`;
Al1k
Точно делали все по мануалу?
Разумеется... Вот скрин:
Миниатюры
Нажмите на изображение для увеличения
Название: wowd.JPG
Просмотров: 587
Размер:	25.1 Кб
ID:	591  
Al1k вне форума   Ответить с цитированием
Старый 12.08.2010, 21:57   #21
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию

либо что то с базой/правами к базе
либо что то с веб-серваком
Gen1us2k вне форума   Ответить с цитированием
Старый 12.08.2010, 22:00   #22
Al1k
Новичок
 
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Al1k На верном пути
По умолчанию

Что может быть с правами к базе?.. Единственные права я давал папке cache
Код:
777
и все...
Al1k вне форума   Ответить с цитированием
Старый 12.08.2010, 22:03   #23
BombermaG
Модератор
 
Аватар для BombermaG
 
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
BombermaG На верном пути
По умолчанию

Включи вывод ошибок на сайте.
BombermaG вне форума   Ответить с цитированием
Старый 12.08.2010, 22:04   #24
Gen1us2k
RMDC Donator
 
Аватар для Gen1us2k
 
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
Gen1us2k Скоро придёт к известности
По умолчанию

Не правильная аутентификация, не правильное название базы в конфиге.
нет доступа именно к базе wowd.
Обычно у меня было что то похожее только в случаях проблем с базой
Gen1us2k вне форума   Ответить с цитированием
Старый 12.08.2010, 22:34   #25
Al1k
Новичок
 
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Al1k На верном пути
По умолчанию

Включил вывод ошибок, вот что получилось:

Последний раз редактировалось evilstar; 13.08.2010 в 00:08.
Al1k вне форума   Ответить с цитированием
Старый 13.08.2010, 01:01   #26
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Репутация с учетом бонусной таблицы.) Может и криво - ночь на дворе, но работает.))

Код:
Index: include/functions.php
===================================================================
--- include/functions.php	(revision 38)
+++ include/functions.php	(working copy)
@@ -936,6 +935,16 @@
    return 0;
 }
 
+function getRepRewRate($faction_id)
+{
+  global $dDB, $config;
+  $faction = $dDB->selectCell("-- CACHE: 1h
+  SELECT `quest_rate` FROM `reputation_reward_rate` WHERE `faction` = ?d", $faction_id);
+  if (!$faction)
+    $faction=1;
+  return $faction;
+}
+
 //********************************************************************************
 $Quality = array(
 '0'=>'quality0',
===================================================================
--- include/report_generator.php	(revision 38)
+++ include/report_generator.php	(working copy)
@@ -1115,11 +1115,18 @@
   default: $RepValueId[$i] = 0; 
  endswitch; 
 
+ $quest_rate[$i] = getRepRewRate($quest['RewRepFaction'.$i]);
+
  if ($quest['RewRepValueId'.$i] < 0) 
   $RepValueId[$i] = -$RepValueId[$i]; 
 
+ if ($quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
+  $quest['RewRepValue'.$i] = $quest['RewRepValue'.$i]/100; 
+
  if (!$quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
   $quest['RewRepValue'.$i] = $RepValueId[$i]; 
+
+ $quest['RewRepValue'.$i]=$quest['RewRepValue'.$i]*$quest_rate[$i];
   }
   if ($quest['RewRepFaction1'])echo getFactionName($quest['RewRepFaction1']).': '.$quest['RewRepValue1'].'<br>';
   if ($quest['RewRepFaction2'])echo getFactionName($quest['RewRepFaction2']).': '.$quest['RewRepValue2'].'<br>';
Index: module/show/show_quest.php
===================================================================
--- module/show/show_quest.php	(revision 38)
+++ module/show/show_quest.php	(working copy)
@@ -211,11 +211,18 @@
   default: $RepValueId[$i] = 0; 
  endswitch; 
 
+ $quest_rate[$i] = getRepRewRate($quest['RewRepFaction'.$i]);
+
  if ($quest['RewRepValueId'.$i] < 0) 
   $RepValueId[$i] = -$RepValueId[$i]; 
 
+ if ($quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
+  $quest['RewRepValue'.$i] = $quest['RewRepValue'.$i]/100; 
+
  if (!$quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) 
   $quest['RewRepValue'.$i] = $RepValueId[$i]; 
+
+ $quest['RewRepValue'.$i]=$quest['RewRepValue'.$i]*$quest_rate[$i];
 }
 
 if ($quest['RewRepFaction1'] OR $quest['RewRepFaction2'] OR

Последний раз редактировалось NeatElves; 13.08.2010 в 01:03.
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (13.08.2010)
Старый 13.08.2010, 01:09   #27
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

NeatElves, спасибо, патчи из постов 183 и 192 в 39 ревизии
KiriX вне форума   Ответить с цитированием
Старый 13.08.2010, 12:47   #28
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Екстендет.))
Код:
Index: include/functions.php
===================================================================
--- include/functions.php	(revision 39)
+++ include/functions.php	(working copy)
@@ -976,6 +976,14 @@
   return "Unknown item - $item_id";
 }
 
+function getItemFlags2($item_id)
+{
+  global $dDB, $config;
+  $item = $dDB->selectCell("-- CACHE: 1h
+  SELECT `Flags2` FROM `item_template` WHERE `entry` = ?d", $item_id);
+  return $item;
+}
+
 function getItemBonusText($i, $amount)
 {
     global $iBonus;
Index: include/item_table.php
===================================================================
--- include/item_table.php	(revision 39)
+++ include/item_table.php	(working copy)
@@ -62,7 +62,14 @@
 define('ITEM_FLAGS_BOA',             0x08000000); // bind on account
 define('ITEM_FLAGS_ENCHANTER_SCROLL',0x10000000);
 define('ITEM_FLAGS_MILLABLE',        0x20000000);
+define('ITEM_FLAGS_BOP_TRADEABLE',   0x80000000);
 
+// Флаги поля ITEM_FIELD_FLAGS2
+define('ITEM_FLAGS2_HORDE_ONLY',             0x00000001);
+define('ITEM_FLAGS2_ALLIANCE_ONLY',          0x00000002);
+define('ITEM_FLAGS2_EXT_COST_REQUIRES_GOLD', 0x00000004);
+define('ITEM_FLAGS2_NEED_ROLL_DISABLED',     0x00000100);
+
 // Флаги BAG_FAMILY_MASK
 define('BAG_FAMILY_MASK_ARROWS',     0x00000001);
 define('BAG_FAMILY_MASK_BULLETS',    0x00000002);
Index: include/report_generator.php
===================================================================
--- include/report_generator.php	(revision 39)
+++ include/report_generator.php	(working copy)
@@ -462,7 +462,7 @@
     echo "<TR>";
     if ($loot['mincountOrRef'] > 0)
     {
-     if ($item = GetItem($loot['item'],"`entry`, `Quality`, `name`, `displayid`"))
+     if ($item = getItem($loot['item'],"`entry`, `Quality`, `name`, `displayid`"))
      {
        echo '<TD class=i_ico>';r_itemIcon($item);echo '</TD>';
        echo '<TD class=left>';r_itemName($item);echo '</TD>';
@@ -545,19 +545,14 @@
 // Vendor
 function r_vendorCost($data)
 {
+    $flags2 = getItemFlags2($data['entry']);
   if ($data['ExtendedCost']>0)
   {
-    if ($cost = getExtendCost(abs($data['ExtendedCost'])))
-      r_excostCost($cost);
+       $cost = getExtendCost($data['ExtendedCost']);
+       if ($flags2&ITEM_FLAGS2_EXT_COST_REQUIRES_GOLD)
+            echo money($data['BuyPrice']).''.r_excostCost($cost);
     else
-      echo 'Ex cost '.abs($data['ExtendedCost']);
-  }
-   if ($data['ExtendedCost']<0)
-  {
-    if ($cost = getExtendCost(abs($data['ExtendedCost'])))
       r_excostCost($cost);
-    else
-      echo 'Ex cost '.money($data['BuyPrice']).''.abs($data['ExtendedCost']);
   }
   else
     echo money($data['BuyPrice']);
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (13.08.2010)
Старый 13.08.2010, 14:17   #29
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Раз флаг2 подключен, то почему бы и нет.)
Код:
Index: module/show/show_item.php
===================================================================
--- module/show/show_item.php	(revision 39)
+++ module/show/show_item.php	(working copy)
@@ -53,7 +53,7 @@
 $mark  = @$_REQUEST['mark'];
 // Получаем вещь
 $item = getItem($entry);
-
+$flags2 = getItemFlags2($entry);
 if (!$item)
 {
    RenderError("$lang[item_not_found]");
@@ -72,6 +72,9 @@
    echo "<TD>";generateItemTable($item,$item_data,0);echo "</TD>";
    echo "</TR></TBODY></TABLE>";
 
+   if ($flags2&ITEM_FLAGS2_HORDE_ONLY) echo "<FONT color=#ff0000> $lang[reqirement]: $lang[Horde]</FONT>";
+   if ($flags2&ITEM_FLAGS2_ALLIANCE_ONLY) echo "<FONT color=#0000ff> $lang[reqirement]: $lang[Alliance]</FONT>";
+   echo "<br />";
    if ($item['BuyPrice']) echo "$lang[buy_price]: ".money($item['BuyPrice']);
    echo "<br />";
з.ы. Локали из патча аукциона.)
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 551
Размер:	47.5 Кб
ID:	592  
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (13.08.2010)
Старый 13.08.2010, 19:48   #30
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Спасибо! 194 и 195 пост - ревизия 40.
KiriX вне форума   Ответить с цитированием
Старый 13.08.2010, 20:29   #31
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Залей потеряшку локализации аукциона - http://ru-mangos.ru/showpost.php?p=9893&postcount=138 )
+
Код:
Index: lang/lang.en.php
===================================================================
--- lang/lang.en.php	(revision 40)
+++ lang/lang.en.php	(working copy)
@@ -562,5 +562,7 @@
 'Alliance'=>'Alliance',
 'Horde'=>'Horde',
 'Blackwater'=>'Blackwater',
+'items'=>'items',
+
 );
 ?>
\ No newline at end of file
Index: lang/lang.ru.php
===================================================================
--- lang/lang.ru.php	(revision 40)
+++ lang/lang.ru.php	(working copy)
@@ -566,5 +566,7 @@
 'Alliance'=>'Альянс',
 'Horde'=>'Орда',
 'Blackwater'=>'Нейтральный',
+'items'=>'предмет(-а,-ов)',
+
 );
 ?>
\ No newline at end of file
Index: module/auction/auctionhouse.php
===================================================================
--- module/auction/auctionhouse.php	(revision 40)
+++ module/auction/auctionhouse.php	(working copy)
@@ -51,17 +51,17 @@
 echo "<TBODY>";
 echo "<TR><TD colspan=4 class=head>";
 echo "<img src=\"images/gold.gif\">";
-echo " <a href=\"?auction=Alliance\" style=\"Text-decoration: none; color:gold;\">Alliance</a>";
+echo " <a href=\"?auction=Alliance\" style=\"Text-decoration: none; color:gold;\">$lang[Alliance]</a>";
 echo " <img src=\"images/gold.gif\">";
-echo " <a href=\"?auction=Horde\" style=\"Text-decoration: none; color:gold;\">Horde</a>";
+echo " <a href=\"?auction=Horde\" style=\"Text-decoration: none; color:gold;\">$lang[Horde]</a>";
 echo " <img src=\"images/gold.gif\">";
-echo " <a href=\"?auction=Blackwater\" style=\"Text-decoration: none; color:gold;\">Blackwater</a>";
+echo " <a href=\"?auction=Blackwater\" style=\"Text-decoration: none; color:gold;\">$lang[Blackwater]</a>";
 echo " <img src=\"images/gold.gif\">";
 echo "</TD></TR>";
 
 if ($rows)
 {
- echo "<TR><TD colspan=4 class=head><font color=gold>$type Auction House: </font> $number items</TD></TR>";
+ echo "<TR><TD colspan=4 class=head><font color=gold>$lang[auction] $type: </font> $number $lang[items]</TD></TR>";
  echo "<TR>";
  echo "<TH width=1px></TH>";
  echo "<TH width=50%>".$lang['auction_seller']."</TH>";

Последний раз редактировалось NeatElves; 14.08.2010 в 12:32.
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (14.08.2010)
Старый 15.08.2010, 15:30   #32
Limpnau
Новичок
 
Аватар для Limpnau
 
Регистрация: 07.03.2010
Сообщений: 29
Сказал(а) спасибо: 135
Поблагодарили 9 раз(а) в 4 сообщениях
Limpnau На верном пути
По умолчанию

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


версия : wowd r40

Последний раз редактировалось Limpnau; 15.08.2010 в 15:32. Причина: не указал ревизию...
Limpnau вне форума   Ответить с цитированием
Старый 21.08.2010, 16:30   #33
rootor
Новичок
 
Регистрация: 07.03.2010
Сообщений: 13
Сказал(а) спасибо: 43
Поблагодарили 0 раз(а) в 0 сообщениях
rootor На верном пути
По умолчанию

Цитата:
Сообщение от Limpnau Посмотреть сообщение
ув. KiriX у меня та же проблема что и у Al1k в логах ошибок нету, проблемы не все что у него а только не выводит статы игроков, в конфиге все подключено, в базе все данные есть адресс к базе верный, не пойму в чем причина?


версия : wowd r40
Аналогично. Скачал ласт ревизию сегодня At revision: 40 - такая же картина полное отсутствие жизни в разделе статистики - там где отображается шмот на персонаже. Остальное все работает. Но на Персонаже нет ни 1 вещи ни 1 иконки ни 1 всплывающей ссылки.
В соседней папке стоит на 8-10 ревизий более ранняя версия этого же форка и все отображается.
Кто пишет, что все работает, не потрудившись проверить - поставьте с 0 в соседнюю папку и убедитесь что проблема есть.

Последний раз редактировалось rootor; 21.08.2010 в 16:33.
rootor вне форума   Ответить с цитированием
Старый 15.08.2010, 15:43   #34
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Строили ?)
Код:
#    PlayerSave.Stats.MinLevel
#        Minimum level for saving character stats for external usage in database
#        Default: 0  (do not save character stats)
#                 1+ (save stats for characters with level 1+)
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Limpnau (16.08.2010)
Старый 19.08.2010, 18:17   #35
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Для разнообразия.) Так как вещь может быть только одна в письме, усложнять не стал...
Код:
Index: include/functions.php
===================================================================
--- include/functions.php	(revision 40)
+++ include/functions.php	(working copy)
@@ -984,6 +984,14 @@
   return $item;
 }
 
+function getItemMail($item_id)
+{
+  global $dDB, $config;
+  $item = $dDB->selectCell("-- CACHE: 1h
+  SELECT `item` FROM `mail_loot_template` WHERE `entry` = ?d", $item_id);
+  return $item;
+}
+
 function getItemBonusText($i, $amount)
 {
     global $iBonus;
Index: lang/lang.en.php
===================================================================
--- lang/lang.en.php	(revision 40)
+++ lang/lang.en.php	(working copy)
@@ -250,6 +250,10 @@
 'cast_spell' => 'Cast on you:',
 'learn_spell' => 'Learn spell:',
 'Rew_item'  => 'Items:',
+'Rew_item_mail'  => 'Items in the letter:',
+'Rew_mail'  => 'Will be sent,',
+'Mail_item_time'  => ' time of delivery: ',
+'Mail_time'  => ' hours',
 'item_sel_and' => '&nbsp;+&nbsp;',
 'item_sel_or' => '&nbsp;or&nbsp;',
 'Rew_select_item'  => 'Item select:',
Index: lang/lang.ru.php
===================================================================
--- lang/lang.ru.php	(revision 40)
+++ lang/lang.ru.php	(working copy)
@@ -253,6 +253,10 @@
 'cast_spell' => 'Скастуют:',
 'learn_spell' => 'Обучат спеллу:',
 'Rew_item'  => 'Вещи:',
+'Rew_item_mail'  => 'Вещи в письме:',
+'Rew_mail'  => 'Будет отправлено письмо,',
+'Mail_item_time'  => ' время доставки: ',
+'Mail_time'  => ' час(-а,-ов)',
 'item_sel_and' => '&nbsp;+&nbsp;',
 'item_sel_or' => '&nbsp;или&nbsp;',
 'Rew_select_item'  => 'Вещи на выбор:',
Index: module/show/show_quest.php
===================================================================
--- module/show/show_quest.php	(revision 40)
+++ module/show/show_quest.php	(working copy)
@@ -185,6 +185,23 @@
  if ($quest['RewChoiceItemId6']) {echo $lang['item_sel_or'];show_item($quest['RewChoiceItemId6']);}
  echo "</TD></TR>";
 }
+if ($quest['RewMailTemplateId'])
+{
+ $quest['RewMailDelaySecs']=$quest['RewMailDelaySecs']/60/60;
+ $ItemMail=getItemMail($quest['RewMailTemplateId']);
+ if ($ItemMail)
+  {
+    echo "<TR><TD class=mark>$lang[Rew_mail] $lang[Mail_item_time]".$quest['RewMailDelaySecs']."$lang[Mail_time]";
+    echo "<TR><TD class=mark>$lang[Rew_item_mail]</TD></TR>";
+    echo "<TR><TD class=reward>&nbsp;";{show_item($ItemMail);}
+    echo "</TD></TR>";
+  }
+  else
+  {
+    echo "<TR><TD class=mark>$lang[Rew_mail] $lang[Mail_item_time]".$quest['RewMailDelaySecs']."$lang[Mail_time]";
+    echo "</TD></TR>";
+  }
+}
 if ($quest['RewSpell'] || $quest['RewSpellCast'])
 {
  $learn = $quest['RewSpell'] ? $quest['RewSpell'] : $quest['RewSpellCast'];
з.ы. Хотя наверное лучше для всех таких мелких запросов написать одну универсальную функцию..))
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 526
Размер:	19.7 Кб
ID:	599  

Последний раз редактировалось NeatElves; 19.08.2010 в 19:05.
NeatElves вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (07.09.2010)
Старый 21.08.2010, 18:30   #36
Limpnau
Новичок
 
Аватар для Limpnau
 
Регистрация: 07.03.2010
Сообщений: 29
Сказал(а) спасибо: 135
Поблагодарили 9 раз(а) в 4 сообщениях
Limpnau На верном пути
По умолчанию

мне NeatElves уже ответил на эту проблему постом раньше, но у меня почемуто статы стали отображатся но отображатся не совсем верно у воинов появилась мана причем у всех одинаковое число 49000, както странновато и неотображаются все статы в таблице игрока отображается к примеру все что в окошке "атака ближнего боя", а уже в следующей "магический урон" все по нулям у всех. Так же происходит и с "защитой" ("общие" характеристики отображает нормально) вобщем странно

с одной стороны настроил бы не верно так не отображались бы все характеристики, а получается отображаются частично
Limpnau вне форума   Ответить с цитированием
Старый 21.08.2010, 18:42   #37
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Каким же образом у других работает???
KiriX вне форума   Ответить с цитированием
Старый 21.08.2010, 21:23   #38
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

На рассмотрение и уточнение.)
Код:
Index: player_data.php
===================================================================
--- player_data.php	(revision 40)
+++ player_data.php	(working copy)
@@ -26,6 +26,9 @@
 define('POWER_FOCUS', 2);
 define('POWER_ENERGY', 3);
 define('POWER_HAPPINESS', 4);
+define('POWER_RUNE', 5);
+define('POWER_RUNIC_POWER', 6);
+
 // Тип стата
 define('STAT_STRENGTH', 0);
 define('STAT_AGILITY', 1);
Index: module/armory/show_char_equip.php
===================================================================
--- module/armory/show_char_equip.php	(revision 40)
+++ module/armory/show_char_equip.php	(working copy)
@@ -6,7 +6,7 @@
 
  global $lang;
  $char_name = $char['name'];
- $powerType =($char_data[UNIT_FIELD_BYTES_0]>>24)&255;
+// $powerType =($char_data[UNIT_FIELD_BYTES_0]>>24)&255;
  $genderId  = $char['gender'];
  $class     = $char['class'];
  $race      = $char['race'];
@@ -14,10 +14,28 @@
  $level     = $char['level'];
  $health    = $char['health'];
  $maxhealth = $char_stat['maxhealth'];
- $power     = $char_data[UNIT_FIELD_POWER1+$powerType];
- $maxpower  = $char_data[UNIT_FIELD_MAXPOWER1+$powerType];
- // Ярость надо делить на 10
- if ($powerType == POWER_RAGE)
+ switch ($char['class']): 
+  case 1:  $powerType = 1;   break;
+  case 2:
+  case 3:
+  case 5:
+  case 7: 
+  case 8:
+  case 9:  
+  case 11:  $powerType = 0;   break;  
+  case 4:  $powerType = 3;   break;  
+  case 6:  $powerType = 6;   break;  
+ endswitch;
+ switch ($powerType): 
+  case 0:  $power = $char['power1'];  $maxpower = $char_stat['maxpower1']; break;
+  case 1:  $power = $char['power2'];  $maxpower = $char_stat['maxpower2']; break;
+  case 3:  $power = $char['power4'];  $maxpower = $char_stat['maxpower4']; break;  
+  case 6:  $power = $char['power7'];  $maxpower = $char_stat['maxpower7']; break;
+ endswitch;  
+// $power     = $char_data[UNIT_FIELD_POWER1+$powerType];
+// $maxpower  = $char_data[UNIT_FIELD_MAXPOWER1+$powerType];
+ // Ярость  и силу рун надо делить на 10
+ if ($powerType == POWER_RAGE or $powerType == POWER_RUNIC_POWER)
  {
   $power = intval($power/10);
   $maxpower = intval($maxpower/10);
@@ -62,6 +80,7 @@
  //Цвет полоски
      if ($powerType == 3) $typeSlid="energy"; //Энергия
  elseif ($powerType == 1) $typeSlid="rage";   //Ярость
+ elseif ($powerType == 6) $typeSlid="rune";   //Руны
  else                     $typeSlid="mana";   //Мана
 
  $m_percent  = $maxpower  !=   0 ? round($power/$maxpower*100,0) : 0;
p/s/ Чуть глубже копнул. Ну и гифки баров надо нарисовать..)

Последний раз редактировалось NeatElves; 22.08.2010 в 14:49.
NeatElves вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (22.08.2010), PSZ (26.08.2010)
Старый 24.08.2010, 14:46   #39
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)
Старый 25.08.2010, 23:21   #40
NeatElves
YTDB Dev
 
Аватар для NeatElves
 
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
NeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранитаNeatElves Как самоцвет среди гранита
По умолчанию

Если ребус разгадан правильно, то подключка таблицы reputation_spillover_template) Ну и правочка небольшая...
Код:
Index: include/functions.php
===================================================================
--- include/functions.php	(revision 41)
+++ include/functions.php	(working copy)
@@ -937,7 +937,7 @@
 }
 function getRepRewRate($faction_id)
 {
-  global $dDB, $config;
+  global $dDB;
   $faction = $dDB->selectCell("-- CACHE: 1h
   SELECT `quest_rate` FROM `reputation_reward_rate` WHERE `faction` = ?d", $faction_id);
   if (!$faction)
@@ -945,6 +945,12 @@
   return $faction;
 }
 
+function getRepSpillover($faction_id)
+{
+  global $dDB;
+  return $dDB->select("-- CACHE: 1h
+  SELECT * FROM `reputation_spillover_template` WHERE `faction` = ?d", $faction_id);
+}
 
 //********************************************************************************
 $Quality = array(
Index: include/report_generator.php
===================================================================
--- include/report_generator.php	(revision 41)
+++ include/report_generator.php	(working copy)
@@ -1123,6 +1123,38 @@
 
  $quest['RewRepValue'.$i]=$quest['RewRepValue'.$i]*$quest_rate[$i];
   }
+
+ if ($quest['RewRepFaction1'] AND !$quest['RewRepFaction2'] AND
+    !$quest['RewRepFaction3'] AND !$quest['RewRepFaction4'] AND
+    !$quest['RewRepFaction5'])
+ {
+  $spillover=getRepSpillover($quest['RewRepFaction1']);
+  if ($spillover)
+   foreach ($spillover as $faction)
+   {
+     if ($faction['faction1'])
+     {
+     $quest['RewRepFaction2']=$faction['faction1'];
+     $quest['RewRepValue2']=$quest['RewRepValue1']*$faction['rate_1'];
+     }
+     if ($faction['faction2'])
+     {
+     $quest['RewRepFaction3']=$faction['faction2'];
+     $quest['RewRepValue3']=$quest['RewRepValue1']*$faction['rate_2'];
+     }
+     if ($faction['faction3'])
+     {
+     $quest['RewRepFaction4']=$faction['faction3'];
+     $quest['RewRepValue4']=$quest['RewRepValue1']*$faction['rate_3'];
+     }
+     if ($faction['faction4'])
+     {
+     $quest['RewRepFaction5']=$faction['faction4'];
+     $quest['RewRepValue5']=$quest['RewRepValue1']*$faction['rate_4'];
+     }
+   }
+ }
+
   if ($quest['RewRepFaction1'])echo getFactionName($quest['RewRepFaction1']).': '.$quest['RewRepValue1'].'<br>';
   if ($quest['RewRepFaction2'])echo getFactionName($quest['RewRepFaction2']).': '.$quest['RewRepValue2'].'<br>';
   if ($quest['RewRepFaction3'])echo getFactionName($quest['RewRepFaction3']).': '.$quest['RewRepValue3'].'<br>';
Index: module/show/show_quest.php
===================================================================
--- module/show/show_quest.php	(revision 41)
+++ module/show/show_quest.php	(working copy)
@@ -242,6 +242,37 @@
  $quest['RewRepValue'.$i]=$quest['RewRepValue'.$i]*$quest_rate[$i];
 }
 
+ if ($quest['RewRepFaction1'] AND !$quest['RewRepFaction2'] AND
+    !$quest['RewRepFaction3'] AND !$quest['RewRepFaction4'] AND
+    !$quest['RewRepFaction5'])
+ {
+  $spillover=getRepSpillover($quest['RewRepFaction1']);
+  if ($spillover)
+   foreach ($spillover as $faction)
+   {
+     if ($faction['faction1'])
+     {
+     $quest['RewRepFaction2']=$faction['faction1'];
+     $quest['RewRepValue2']=$quest['RewRepValue1']*$faction['rate_1'];
+     }
+     if ($faction['faction2'])
+     {
+     $quest['RewRepFaction3']=$faction['faction2'];
+     $quest['RewRepValue3']=$quest['RewRepValue1']*$faction['rate_2'];
+     }
+     if ($faction['faction3'])
+     {
+     $quest['RewRepFaction4']=$faction['faction3'];
+     $quest['RewRepValue4']=$quest['RewRepValue1']*$faction['rate_3'];
+     }
+     if ($faction['faction4'])
+     {
+     $quest['RewRepFaction5']=$faction['faction4'];
+     $quest['RewRepValue5']=$quest['RewRepValue1']*$faction['rate_4'];
+     }
+   }
+ }
+
 if ($quest['RewRepFaction1'] OR $quest['RewRepFaction2'] OR
     $quest['RewRepFaction3'] OR $quest['RewRepFaction4'] OR
     $quest['RewRepFaction5'])
NeatElves вне форума   Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
Feel the Power (26.08.2010), KiriX (29.08.2010), PSZ (26.08.2010)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot