25.03.2011, 22:02 | #1 |
Новичок
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
|
Yii-framework WoW модуль
На днях решил написать личный кабинет + админку для Mangos Zero. За основу взят yii-framework, и данный проект реализован как модуль к нему.
Что реализовано: 1) Простенький редактор таблицы characters, таких полей как name, account, level, money, class, gender, race, playerBytes, playerBytes2. Поля gender, race, playerBytes, playerBytes2 напрямую редактировать нельзя, данные берутся путем копирования с существующих персонажей, поиск которых производится с помощью таблицы на странице. Нужна авторизация. 2) Статистика игроков онлайн. Вывод ника, уровня, класса и локации. Так же сортировка и фильтрация всего, кроме локации. Примененные фильтры сохраняются в сессии, нужно реализовать кнопку сброса сессии. 3) Статистика пвп. Для корректной работы нужно создать таблицу, вот скуль и серверная часть (думаю, сами догадаетесь куда присобачить эту функцию): Код:
CREATE TABLE `character_honor_static` ( `guid` int(10) unsigned NOT NULL, `hk` int(8) unsigned NOT NULL DEFAULT '0', `dk` int(8) unsigned NOT NULL DEFAULT '0', `today_hk` int(8) unsigned NOT NULL DEFAULT '0', `today_dk` int(8) unsigned NOT NULL DEFAULT '0', `yesterday_kills` int(8) unsigned NOT NULL DEFAULT '0', `yesterday_cp` int(8) unsigned NOT NULL DEFAULT '0', `thisWeek_kills` int(8) unsigned NOT NULL DEFAULT '0', `thisWeek_cp` int(8) unsigned NOT NULL DEFAULT '0', `lastWeek_kills` int(8) unsigned NOT NULL DEFAULT '0', `lastWeek_cp` int(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`guid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; Код:
void Player::_SaveHonorStatic() { CharacterDatabase.PExecute("DELETE FROM character_honor_static WHERE guid = '%u'", GetGUIDLow()); std::ostringstream ss; ss << "INSERT INTO character_honor_static (guid, hk, dk, today_hk, today_dk, " "yesterday_kills, yesterday_cp, thisWeek_kills, thisWeek_cp, lastWeek_kills, lastWeek_cp) VALUES (" << GetGUIDLow() << ", " << GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS) << ", " << GetUInt32Value(PLAYER_FIELD_LIFETIME_DISHONORABLE_KILLS) << ", " << GetUInt16Value(PLAYER_FIELD_SESSION_KILLS, 0) << ", " << GetUInt16Value(PLAYER_FIELD_SESSION_KILLS, 1) << ", " << GetUInt32Value(PLAYER_FIELD_YESTERDAY_KILLS) << ", " << GetUInt32Value(PLAYER_FIELD_YESTERDAY_CONTRIBUTION) << ", " << GetUInt32Value(PLAYER_FIELD_THIS_WEEK_KILLS) << ", " << GetUInt32Value(PLAYER_FIELD_THIS_WEEK_CONTRIBUTION) << ", " << GetUInt32Value(PLAYER_FIELD_LAST_WEEK_KILLS) << ", " << GetUInt32Value(PLAYER_FIELD_LAST_WEEK_CONTRIBUTION) << ")"; CharacterDatabase.Execute( ss.str().c_str() ); } https://bitbucket.org/hyperionzero/cms/src С радостью отвечу на любые Ваши вопросы и выслушаю пожелания. P.S. Буду очень благодарен за тестирование, так как у самого нет возможности все это протестировать. Последний раз редактировалось hyperion; 12.03.2012 в 23:24. |
01.04.2011, 23:17 | #2 |
Новичок
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
|
Кто-то тестировал? Отпишитесь, очень интересно)
|
02.04.2011, 00:33 | #3 |
Супер-модератор
|
Протестить не могу, но задумка не плохая
__________________
Теперь и в Бете Warlords of Draenor & HotS ! |
12.03.2012, 23:28 | #4 |
Новичок
Регистрация: 02.05.2010
Сообщений: 28
Сказал(а) спасибо: 5
Поблагодарили 8 раз(а) в 2 сообщениях
|
Небольшой ап. Переехал на битбакет, ссылку в первом посте обновил. Многое переписал, но никак не доведу до ума, особенно внешний вид. В процессе работы получилась мини кмс, прикрутил 2 модуля, один для пользователей, второй - реализующий RBAC. Позже может полностью опишу структуру, установку и т.д.
Последний раз редактировалось hyperion; 12.03.2012 в 23:32. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[9775] Cleanups in framework library. | newsbot | CMaNGOS Commits | 0 | 22.04.2010 12:50 |