|
24.07.2010, 02:21 | #2 |
Пользователь
|
-- Клиент у нас давно русский, а карты локаций всё ещё на английском. Плюс некоторых нехватает.
Я нашёл какие-то карты в локализованных mpq, но они разрезаны на части, я не уверен, что именно эти нужно брать. Если подскажете - займусь P.S. спс за sql) Их нехватало)
__________________
Englishspeaker. Последний раз редактировалось Omg; 24.07.2010 в 02:42. |
02.08.2010, 14:24 | #4 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Обновил, исправил отображение аукциона + теперь данные о вещах, одетых на персе берутся из item_instance, что позволяет корректно отображать энчант, рандом-бонусы и прочее...
Но есть одна загвоздка Не могу понять, почему тултип энчанта выводит нулевые значения... Где-это дело собирается я что-то найти так и не смог |
Пользователь сказал cпасибо: | Omg (03.08.2010) |
02.08.2010, 21:36 | #5 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Исправлено отображение талантов персонажа.
P.S: Omg - омг, что ты правил, но твой фикс отображения талантов из 142 поста совершенно не работает и работать не может... |
11.08.2010, 16:42 | #6 |
Гость
Сообщений: 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 = "„".str_replace(' ',' ', $area_name)."“"; } else $map_name = "„".str_replace(' ',' ',$map_name)."“"; 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>"; } ?> |
12.08.2010, 02:48 | #9 |
Гость
Сообщений: 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 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
я дурак? или русский поиск не работает?
Код:
'lang'=>'ru', // Язык интерфейса сайта ru,en 'client_charset'=> 'utf8', // Кодировка клиента (не рекомендую менять - так как родная кодировка сайта utf8) 'use_tab_mode'=>'1', // Tabbed report mode |
12.08.2010, 18:14 | #11 | ||
Модератор
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
|
Цитата:
Цитата:
|
||
2 пользователя(ей) сказали cпасибо: | Gen1us2k (12.08.2010) |
12.08.2010, 17:01 | #12 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
У меня работает...
|
12.08.2010, 18:11 | #13 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Доброго времени суток всем. Скачал последний форк: http://cswowd-fork.googlecode.com/svn/trunk
Все в принципе хорошо, но есть вещи которые не работают, например: * Информация о персонаже (не отображаются вещи, одетые на персонаже, пустуют квадратики, при наводке на них даже именование вещи не пишет. Некорректно отображает количество маны/хп/ярости и т.д. Умения.) - это моя главная проблема, как ее решить? Сам не догадываюсь. * Топ богачей (пустой) * Меню "зоны" отображается так: map_0, map_1 и так далее... В чем может быть проблема? |
12.08.2010, 18:18 | #14 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
|
|
12.08.2010, 21:14 | #15 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Получается, что есть, ибо все делаю правильно... Единственное, на что грешу, - это sql... поставил wowd_322_ru.sql, но думаю, что должна быть где-то поновее. С ytdb брал - та же фигня, только + с кодировкой проблема. Если у Вас есть для 3.3.2 и выше - выложите пожалуйста, спасибо.
|
12.08.2010, 21:22 | #16 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
|
|
12.08.2010, 20:56 | #17 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
BombermaG
Оказываеться я дурак и не туда смотрел %) спасибо. Проблема решена |
12.08.2010, 21:21 | #18 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Перечитайте тему, особенно обратите внимание на сообщения про кеш...
з.ы. Адаптируем показ репутации, для вложенных значений, пока все без коэффициентов из 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. |
Пользователь сказал cпасибо: | KiriX (12.08.2010) |
12.08.2010, 21:33 | #19 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
Проблема с кодировкой тоже была после накатывания приаттаченого файла. Были кракозябры.
Базу создавал вот так Код:
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`; Точно делали все по мануалу? |
12.08.2010, 21:54 | #20 | |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Цитата:
|
|
12.08.2010, 21:57 | #21 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
либо что то с базой/правами к базе
либо что то с веб-серваком |
12.08.2010, 22:00 | #22 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Что может быть с правами к базе?.. Единственные права я давал папке cache
Код:
777 |
12.08.2010, 22:03 | #23 |
Модератор
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
|
Включи вывод ошибок на сайте.
|
12.08.2010, 22:04 | #24 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
Не правильная аутентификация, не правильное название базы в конфиге.
нет доступа именно к базе wowd. Обычно у меня было что то похожее только в случаях проблем с базой |
12.08.2010, 22:34 | #25 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Последний раз редактировалось evilstar; 13.08.2010 в 00:08. |
13.08.2010, 01:01 | #26 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Репутация с учетом бонусной таблицы.) Может и криво - ночь на дворе, но работает.))
Код:
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. |
Пользователь сказал cпасибо: | KiriX (13.08.2010) |
13.08.2010, 12:47 | #28 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Екстендет.))
Код:
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']); |
Пользователь сказал cпасибо: | KiriX (13.08.2010) |
13.08.2010, 14:17 | #29 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Раз флаг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 />"; |
Пользователь сказал cпасибо: | KiriX (13.08.2010) |
13.08.2010, 20:29 | #31 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Залей потеряшку локализации аукциона - 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. |
Пользователь сказал cпасибо: | KiriX (14.08.2010) |
15.08.2010, 15:30 | #32 |
Новичок
Регистрация: 07.03.2010
Сообщений: 29
Сказал(а) спасибо: 135
Поблагодарили 9 раз(а) в 4 сообщениях
|
ув. KiriX у меня та же проблема что и у Al1k в логах ошибок нету, проблемы не все что у него а только не выводит статы игроков, в конфиге все подключено, в базе все данные есть адресс к базе верный, не пойму в чем причина?
версия : wowd r40 Последний раз редактировалось Limpnau; 15.08.2010 в 15:32. Причина: не указал ревизию... |
21.08.2010, 16:30 | #33 | |
Новичок
Регистрация: 07.03.2010
Сообщений: 13
Сказал(а) спасибо: 43
Поблагодарили 0 раз(а) в 0 сообщениях
|
Цитата:
В соседней папке стоит на 8-10 ревизий более ранняя версия этого же форка и все отображается. Кто пишет, что все работает, не потрудившись проверить - поставьте с 0 в соседнюю папку и убедитесь что проблема есть. Последний раз редактировалось rootor; 21.08.2010 в 16:33. |
|
15.08.2010, 15:43 | #34 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Строили ?)
Код:
# 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+) |
Пользователь сказал cпасибо: | Limpnau (16.08.2010) |
19.08.2010, 18:17 | #35 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Для разнообразия.) Так как вещь может быть только одна в письме, усложнять не стал...
Код:
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' => ' + ', 'item_sel_or' => ' or ', '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' => ' + ', 'item_sel_or' => ' или ', '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> ";{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']; Последний раз редактировалось NeatElves; 19.08.2010 в 19:05. |
Пользователь сказал cпасибо: | KiriX (07.09.2010) |
21.08.2010, 18:30 | #36 |
Новичок
Регистрация: 07.03.2010
Сообщений: 29
Сказал(а) спасибо: 135
Поблагодарили 9 раз(а) в 4 сообщениях
|
мне NeatElves уже ответил на эту проблему постом раньше, но у меня почемуто статы стали отображатся но отображатся не совсем верно у воинов появилась мана причем у всех одинаковое число 49000, както странновато и неотображаются все статы в таблице игрока отображается к примеру все что в окошке "атака ближнего боя", а уже в следующей "магический урон" все по нулям у всех. Так же происходит и с "защитой" ("общие" характеристики отображает нормально) вобщем странно
с одной стороны настроил бы не верно так не отображались бы все характеристики, а получается отображаются частично |
21.08.2010, 21:23 | #38 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
На рассмотрение и уточнение.)
Код:
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; Последний раз редактировалось NeatElves; 22.08.2010 в 14:49. |
24.08.2010, 14:46 | #39 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Для дальнейшей работы)
Код:
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') |
Пользователь сказал cпасибо: | PSZ (26.08.2010) |
25.08.2010, 23:21 | #40 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Если ребус разгадан правильно, то подключка таблицы 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']) |
4 пользователя(ей) сказали cпасибо: |
|
|