06.03.2010, 14:32 | #1 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Автор проекта: 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 |
27 пользователя(ей) сказали cпасибо: | Den (24.12.2010), dj--alex (28.03.2010), Fedia22 (19.10.2010), Gen1us2k (12.08.2010), Hantet (09.05.2010), Kolorado (02.10.2013), labor (26.04.2010), lina (04.05.2010), lovepsone (22.10.2010), Mayss (26.01.2011), Omg (27.04.2010), PSZ (23.05.2010), rootor (27.05.2010), sven (08.04.2010), Кот ДаWINчи (14.07.2010) |
10.07.2010, 00:57 | #162 | |
Модератор
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
|
Что-то никак не могу разобраться, как подогнать поля для Spell.dbc и Faction.dbc
Цитата:
|
|
14.07.2010, 14:26 | #164 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
ExtendedCost
Код:
Index: include/report_generator.php =================================================================== --- include/report_generator.php (revision 33) +++ include/report_generator.php (working copy) @@ -547,11 +547,18 @@ { if ($data['ExtendedCost']>0) { - if ($cost = getExtendCost($data['ExtendedCost'])) + if ($cost = getExtendCost(abs($data['ExtendedCost']))) r_excostCost($cost); else - echo 'Ex cost '.$data['ExtendedCost']; + 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 (14.07.2010) |
14.07.2010, 15:13 | #165 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
Репа, и в поиске и в выводе, не совершенствовал - юзал конструкцию из п135...
Код:
Index: include/quest_data.php =================================================================== --- include/quest_data.php (revision 33) +++ include/quest_data.php (working copy) @@ -12,6 +12,13 @@ define('QUEST_FLAGS_AUTO_REWARDED', 0x00000400); // These quests are automatically rewarded on quest complete and they will never appear in quest log client side. define('QUEST_FLAGS_TBC_RACES', 0x00000800); // Not used currently: Blood elf/Draenei starting zone quests define('QUEST_FLAGS_DAILY', 0x00001000); // Used to know quest is Daily one +define('QUEST_FLAGS_FLAGS_PVP', 0x00002000); // activates PvP on accept +define('QUEST_FLAGS_UNK4', 0x00004000); // ? Membership Card Renewal +define('QUEST_FLAGS_WEEKLY', 0x00008000); // Weekly quest. Can be done once a week. Quests reset at regular intervals for all players. +define('QUEST_FLAGS_AUTOCOMPLETE', 0x00010000); // auto complete +define('QUEST_FLAGS_UNK5', 0x00020000); // has something to do with ReqItemId and SrcItemId +define('QUEST_FLAGS_UNK6', 0x00040000); // use Objective text as Complete text +define('QUEST_FLAGS_AUTO_ACCEPT', 0x00080000); // quests in starting areas // Mangos flags for set SpecialFlags in DB if required but used only at server define('QUEST_MANGOS_FLAGS_REPEATABLE', 0x010000); // Set by 1 in SpecialFlags from DB Index: include/report_generator.php =================================================================== --- include/report_generator.php (revision 33) +++ include/report_generator.php (working copy) @@ -1093,6 +1100,27 @@ show_spell($quest['RewSpell'], 0, 'quest'); echo '<br>'; } + for ($i = 1; $i <= 5; $i++) + { + switch (ABS($quest['RewRepValueId'.$i])): + case 1: $RepValueId[$i] = 10; break; + case 2: $RepValueId[$i] = 25; break; + case 3: $RepValueId[$i] = 75; break; + case 4: $RepValueId[$i] = 150; break; + case 5: $RepValueId[$i] = 250; break; + case 6: $RepValueId[$i] = 350; break; + case 7: $RepValueId[$i] = 500; break; + case 8: $RepValueId[$i] = 1000; break; + case 9: $RepValueId[$i] = 5; break; + default: $RepValueId[$i] = 0; + endswitch; + + if ($quest['RewRepValueId'.$i] < 0) + $RepValueId[$i] = -$RepValueId[$i]; + + if (!$quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) + $quest['RewRepValue'.$i] = $RepValueId[$i]; + } 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>'; @@ -1110,6 +1138,7 @@ `RewItemId1`, `RewItemId2`, `RewItemId3`, `RewItemId4`, `RewItemCount1`, `RewItemCount2`, `RewItemCount3`, `RewItemCount4`, `RewRepFaction1`, `RewRepFaction2`, `RewRepFaction3`, `RewRepFaction4`, `RewRepFaction5`, `RewRepValue1`, `RewRepValue2`, `RewRepValue3`, `RewRepValue4`, `RewRepValue5`, + `RewRepValueId1`, `RewRepValueId2`, `RewRepValueId3`, `RewRepValueId4`, `RewRepValueId5`, `RewOrReqMoney`, `RewMoneyMaxLevel`, `RewSpell`, `RewSpellCast`, `RewMailTemplateId`, `RewMailDelaySecs`'; $quest_report = array( Index: module/show/show_quest.php =================================================================== --- module/show/show_quest.php (revision 33) +++ module/show/show_quest.php (working copy) @@ -195,6 +195,29 @@ echo "<TR><TD class=reward> ";show_spell($spell['id'], $spell['SpellIconID']); echo " <A href=\"?spell=$spell[id]\">$spell[SpellName]</a></TD></TR>"; } + +for ($i = 1; $i <= 5; $i++) +{ + switch (ABS($quest['RewRepValueId'.$i])): + case 1: $RepValueId[$i] = 10; break; + case 2: $RepValueId[$i] = 25; break; + case 3: $RepValueId[$i] = 75; break; + case 4: $RepValueId[$i] = 150; break; + case 5: $RepValueId[$i] = 250; break; + case 6: $RepValueId[$i] = 350; break; + case 7: $RepValueId[$i] = 500; break; + case 8: $RepValueId[$i] = 1000; break; + case 9: $RepValueId[$i] = 5; break; + default: $RepValueId[$i] = 0; + endswitch; + + if ($quest['RewRepValueId'.$i] < 0) + $RepValueId[$i] = -$RepValueId[$i]; + + if (!$quest['RewRepValue'.$i] && $quest['RewRepValueId'.$i]) + $quest['RewRepValue'.$i] = $RepValueId[$i]; +} + if ($quest['RewRepFaction1'] OR $quest['RewRepFaction2'] OR $quest['RewRepFaction3'] OR $quest['RewRepFaction4'] OR $quest['RewRepFaction5']) |
Пользователь сказал cпасибо: | KiriX (14.07.2010) |
24.07.2010, 02:21 | #168 |
Пользователь
|
-- Клиент у нас давно русский, а карты локаций всё ещё на английском. Плюс некоторых нехватает.
Я нашёл какие-то карты в локализованных mpq, но они разрезаны на части, я не уверен, что именно эти нужно брать. Если подскажете - займусь P.S. спс за sql) Их нехватало)
__________________
Englishspeaker. Последний раз редактировалось Omg; 24.07.2010 в 02:42. |
02.08.2010, 14:24 | #170 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Обновил, исправил отображение аукциона + теперь данные о вещах, одетых на персе берутся из item_instance, что позволяет корректно отображать энчант, рандом-бонусы и прочее...
Но есть одна загвоздка Не могу понять, почему тултип энчанта выводит нулевые значения... Где-это дело собирается я что-то найти так и не смог |
Пользователь сказал cпасибо: | Omg (03.08.2010) |
02.08.2010, 21:36 | #171 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Исправлено отображение талантов персонажа.
P.S: Omg - омг, что ты правил, но твой фикс отображения талантов из 142 поста совершенно не работает и работать не может... |
11.08.2010, 16:42 | #172 |
Гость
Сообщений: 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 | #175 |
Гость
Сообщений: 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 | #176 |
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, 17:01 | #177 |
YTDB Dev
Регистрация: 06.03.2010
Сообщений: 259
Сказал(а) спасибо: 28
Поблагодарили 280 раз(а) в 136 сообщениях
|
У меня работает...
|
12.08.2010, 18:11 | #178 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Доброго времени суток всем. Скачал последний форк: http://cswowd-fork.googlecode.com/svn/trunk
Все в принципе хорошо, но есть вещи которые не работают, например: * Информация о персонаже (не отображаются вещи, одетые на персонаже, пустуют квадратики, при наводке на них даже именование вещи не пишет. Некорректно отображает количество маны/хп/ярости и т.д. Умения.) - это моя главная проблема, как ее решить? Сам не догадываюсь. * Топ богачей (пустой) * Меню "зоны" отображается так: map_0, map_1 и так далее... В чем может быть проблема? |
12.08.2010, 18:14 | #179 | ||
Модератор
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
|
Цитата:
Цитата:
|
||
2 пользователя(ей) сказали cпасибо: | Gen1us2k (12.08.2010) |
12.08.2010, 18:18 | #180 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
|
|
12.08.2010, 20:56 | #181 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
BombermaG
Оказываеться я дурак и не туда смотрел %) спасибо. Проблема решена |
12.08.2010, 21:14 | #182 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Получается, что есть, ибо все делаю правильно... Единственное, на что грешу, - это sql... поставил wowd_322_ru.sql, но думаю, что должна быть где-то поновее. С ytdb брал - та же фигня, только + с кодировкой проблема. Если у Вас есть для 3.3.2 и выше - выложите пожалуйста, спасибо.
|
12.08.2010, 21:21 | #183 |
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:22 | #184 | |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Цитата:
|
|
12.08.2010, 21:33 | #185 |
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 | #186 | |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Цитата:
|
|
12.08.2010, 21:57 | #187 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
либо что то с базой/правами к базе
либо что то с веб-серваком |
12.08.2010, 22:00 | #188 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Что может быть с правами к базе?.. Единственные права я давал папке cache
Код:
777 |
12.08.2010, 22:03 | #189 |
Модератор
Регистрация: 07.03.2010
Сообщений: 57
Сказал(а) спасибо: 5
Поблагодарили 13 раз(а) в 8 сообщениях
|
Включи вывод ошибок на сайте.
|
12.08.2010, 22:04 | #190 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Кыргызстан
Сообщений: 52
Сказал(а) спасибо: 18
Поблагодарили 45 раз(а) в 11 сообщениях
|
Не правильная аутентификация, не правильное название базы в конфиге.
нет доступа именно к базе wowd. Обычно у меня было что то похожее только в случаях проблем с базой |
12.08.2010, 22:34 | #191 |
Новичок
Регистрация: 12.08.2010
Сообщений: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Последний раз редактировалось evilstar; 13.08.2010 в 00:08. |
13.08.2010, 01:01 | #192 |
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 | #194 |
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 | #195 |
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 | #197 |
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 | #198 |
Новичок
Регистрация: 07.03.2010
Сообщений: 29
Сказал(а) спасибо: 135
Поблагодарили 9 раз(а) в 4 сообщениях
|
ув. KiriX у меня та же проблема что и у Al1k в логах ошибок нету, проблемы не все что у него а только не выводит статы игроков, в конфиге все подключено, в базе все данные есть адресс к базе верный, не пойму в чем причина?
версия : wowd r40 Последний раз редактировалось Limpnau; 15.08.2010 в 15:32. Причина: не указал ревизию... |
15.08.2010, 15:43 | #199 |
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 | #200 |
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) |
|
|