Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Модификации ядра > Запросы

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

Запросы Запросы

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.11.2011, 10:05   #1
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
Печаль Статистика рейдов

Нужен патч который бы записывал в таблицу статистику рейдов .
То_есть игрок прошел к примеру ЧХ(чёрный храм), а в таблицу
character_raids
записались данные

guid(игрока)raid(энтри рейда)boss_1,boss_2,boss_3,boss_4,boss_5,boss_6,boss_7,boss_8,boss_9,boss_10,boss_11,boss_12,boss_13,boss_14,boss_15,boss_16,boss_17,boss_18,boss_19,boss_20(боссы идут по порядку как в рейде)data(время последнего обновления)

получаем что-то типа
1 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1235556
где 1 2 1 - это первые 3 босса число показывает, сколько раз данный босс был убит.
Если что-то не так разъяснил или не поняли - переспросите.
Буду очень благодарен.

//Прости не удержался и поправил ошибки //Evilstar

Последний раз редактировалось evilstar; 12.11.2011 в 16:35. Причина: Ну и грамотеи нынче пошли :(
wroud вне форума   Ответить с цитированием
Старый 12.11.2011, 17:02   #2
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Разве эта инфа не записывается в таблицу с ачивками? Хотя бы частично....
TOM_RUS вне форума   Ответить с цитированием
Старый 12.11.2011, 17:37   #3
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

записывается но нужно более точнее

пожалуйста сделайте кто может я не очень в c++ шарю

Последний раз редактировалось NeatElves; 13.11.2011 в 00:01.
wroud вне форума   Ответить с цитированием
Старый 12.11.2011, 19:06   #4
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию

сейчас темпура придет и сделает... а если догонит, то вообще хана.
ну а если серьезно, вряд ли вы найдете хоть кого-нибудь, кому это надо (задача глупая и неинтересная). людей с подобными идеями в сети - вагон, а вот людей способных их реализовать - единицы. так что придется все же учить C++.
rsa вне форума   Ответить с цитированием
Старый 12.11.2011, 19:32   #5
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

я бы рад, вот только один с кучами книг из инета не справлюсь(
если бы кто мог обьяснить, хотя есть один знакомый...

почитал дату которую создаёт патч для вов армори_(шадес)
был в ужасе - 1327 строк_(если пробел считать как разделительный знак)
где во многих местах по 10 раз и больше повторяется одно и то же число , причём это такие числа, как 1065353216, 4294967295 >_<

Последний раз редактировалось NeatElves; 13.11.2011 в 00:01.
wroud вне форума   Ответить с цитированием
Старый 12.11.2011, 21:49   #6
Sid
Ученый
 
Аватар для Sid
 
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
Sid Скоро придёт к известностиSid Скоро придёт к известности
По умолчанию

Число строк в патче не является показателем его сложности.
Эти числа проще воспринимать в шестнадцатеричной системе счисления)
Первое число какой-то флаг.
А второе число это -1 в unsigned int.
__________________
SpellWork Qt4
Sid вне форума   Ответить с цитированием
Старый 12.11.2011, 22:00   #7
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

Цитата:
Сообщение от Sid Посмотреть сообщение
Число строк в патче не является показателем его сложности.
Эти числа проще воспринимать в шестнадцатеричной системе счисления)
Первое число какой-то флаг.
А второе число это -1 в unsigned int.
Речь идёт не о патче а о структуре заносимой в бд минут 10 точно по строкам числа разносил
wroud вне форума   Ответить с цитированием
Старый 13.11.2011, 00:08   #8
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от wroud Посмотреть сообщение
записывается но нужно более точнее
Куда же еще точнее?

Последний раз редактировалось TOM_RUS; 13.11.2011 в 00:29.
TOM_RUS вне форума   Ответить с цитированием
Старый 13.11.2011, 00:20   #9
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

с точностью до босса
wroud вне форума   Ответить с цитированием
Старый 13.11.2011, 00:34   #10
TOM_RUS
MaNGOS Dev
 
Регистрация: 11.03.2010
Сообщений: 468
Сказал(а) спасибо: 0
Поблагодарили 514 раз(а) в 163 сообщениях
TOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небесTOM_RUS Как свет с небес
По умолчанию

Цитата:
Сообщение от wroud Посмотреть сообщение
с точностью до боса
Ну так в таблице с ачивками тоже записывается сколько раз каждый босс был убит игроком, вот только даты последнего обновления там нет вроде, ну и привязки босса к конкретному рейду тоже, но это не сложно сделать самому зная что это за босс...
TOM_RUS вне форума   Ответить с цитированием
Старый 13.11.2011, 10:28   #11
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

понятное дело, но ведь некоторые ачивки не отслеживают боссов, да и вообще не работают
wroud вне форума   Ответить с цитированием
Старый 15.11.2011, 17:52   #12
Lurker
Новичок
 
Регистрация: 08.03.2010
Сообщений: 13
Сказал(а) спасибо: 32
Поблагодарили 7 раз(а) в 6 сообщениях
Lurker На верном пути
По умолчанию

Могу дать старый патчик на логирование убийств элитников, записывает кто был в группе.
Lurker вне форума   Ответить с цитированием
Старый 15.11.2011, 18:16   #13
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

буду благодарен
wroud вне форума   Ответить с цитированием
Старый 15.11.2011, 18:30   #14
Lurker
Новичок
 
Регистрация: 08.03.2010
Сообщений: 13
Сказал(а) спасибо: 32
Поблагодарили 7 раз(а) в 6 сообщениях
Lurker На верном пути
По умолчанию

В виде патча не нашол

где-то в файле Unut.cpp


Код:
        if (pVictim->GetTypeId() == TYPEID_UNIT)
        {
            group_tap = ((Creature*)pVictim)->GetGroupLootRecipient();

// Вставка начинается Отседова :)
	if(((Creature*)victim)->GetCreatureInfo()->rank == CREATURE_ELITE_WORLDBOSS) {
	    std::ostringstream TmpTextMassage;
		TmpTextMassage << "Death \"" << victim->GetName() << "[" << victim->getLevel() << "]\"";

		if (Player *player_tap = killer->GetCharmerOrOwnerPlayerOrPlayerItself()) {
			if (player_tap->GetTypeId() == TYPEID_PLAYER && player_tap != victim) {
				TmpTextMassage  << " looting by \"" << player_tap->GetName() << "[" << player_tap->getLevel() << "]\" " << player_tap->GetSession()->GetAccountId();
				if( Group *pGroup = player_tap->GetGroup() )
				{
					TmpTextMassage << " Asistent: ";
					for(GroupReference *itr = pGroup->GetFirstMember(); itr != NULL; itr = itr->next())
					{
						Player *pGroupGuy = itr->getSource();
						if( pGroupGuy && player_tap->GetName() != pGroupGuy->GetName()) {
							TmpTextMassage << pGroupGuy->GetName() << "[" << pGroupGuy->getLevel() << "] " << pGroupGuy->GetSession()->GetAccountId() << " ";
						}
					}
				}
			}
			TmpTextMassage << " ! Location : X: " << player_tap->GetPositionX() << ", Y: " << player_tap->GetPositionY() << ", Z: " << player_tap->GetPositionZ() << ", MapId: " << player_tap->GetMap()->GetMapName() << " (" << player_tap->GetMapId() << ")";

// Тут была самописная функция записи в мускул (она за собой тянет много строк, поэтому не выкладываю ее тут), можете вписать вывод в файл лог или в саму игру как сообщение

		}
	}

// Вставка заканчивается тут !

			if (Player* recipient = ((Creature*)pVictim)->GetOriginalLootRecipient())
                player_tap = recipient;
        }

Последний раз редактировалось Lurker; 15.11.2011 в 18:35.
Lurker вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
wroud (15.11.2011)
Старый 15.11.2011, 18:35   #15
wroud
Новичок
 
Регистрация: 19.10.2010
Сообщений: 21
Сказал(а) спасибо: 4
Поблагодарили 0 раз(а) в 0 сообщениях
wroud На верном пути
По умолчанию

а sql?
wroud вне форума   Ответить с цитированием
Старый 15.11.2011, 18:42   #16
Lurker
Новичок
 
Регистрация: 08.03.2010
Сообщений: 13
Сказал(а) спасибо: 32
Поблагодарили 7 раз(а) в 6 сообщениях
Lurker На верном пути
По умолчанию

Вот сама пропущенная строка из предыдущего поста :
Код:
	sWorld.SendGlobalMessageOnlyGM(3,player_tap,TmpTextMassage.str());
где-то в файле World.cpp

Код:
// Вставка начинается Отседова :)
void World::SendGlobalMessageOnlyGM(uint32 type, Player *cheater, std::string msg)
{
	CharacterDatabase.PExecute("INSERT INTO log_cheaters_alert (typeaction,account,player,timeact,message) VALUES ('%u','%u','%s',UNIX_TIMESTAMP(),'%s')", type, cheater->GetSession()->GetAccountId(), cheater->GetName(), msg.c_str()); 
	WorldPacket data;
	ChatHandler::FillMessageData(&data, NULL, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, NULL, 0, msg.c_str(), NULL);
	SessionMap::const_iterator itr;
	for (itr = m_sessions.begin(); itr != m_sessions.end(); ++itr)
	{
		if (itr->second && itr->second->GetPlayer() && itr->second->GetPlayer()->IsInWorld() && itr->second->GetPlayer()->isGameMaster()) {itr->second->SendPacket(&data);}
	}
}
// Вставка заканчивается тут !

namespace MaNGOS
{


где-то в файле World.h

Код:
        void LoadConfigSettings(bool reload = false);
// Вставка начинается Отседова :)
		void SendGlobalMessageOnlyGM(uint32 type, Player *cheater, std::string msg); // Anticheat
// Вставка заканчивается тут !

        void SendWorldText(int32 string_id, ...);

Вот структура базы:

Код:
DROP TABLE IF EXISTS `log_cheaters_alert`;
CREATE TABLE IF NOT EXISTS `log_cheaters_alert` (
  `entry` bigint(20) NOT NULL AUTO_INCREMENT,
  `typeaction` int(3) NOT NULL default 0,
  `account` int NOT NULL default 0,
  `player` varchar(60) NOT NULL default '',
  `timeact` int NOT NULL DEFAULT '0',
  `message` text NOT NULL,
  PRIMARY KEY (`entry`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=33 ;
typeaction = 3 = 'bosskill'

ну вот както так .... вроде ничего не пропустил, должно работать...
Кроме занесения записи в таблицу, анонсируется в чат игры ГМ'ам

Последний раз редактировалось Lurker; 15.11.2011 в 18:45.
Lurker вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
wroud (15.11.2011)
Старый 15.11.2011, 20:14   #17
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию OFFTOPIC

__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Lurker (15.11.2011)
Старый 15.11.2011, 21:48   #18
Lurker
Новичок
 
Регистрация: 08.03.2010
Сообщений: 13
Сказал(а) спасибо: 32
Поблагодарили 7 раз(а) в 6 сообщениях
Lurker На верном пути
По умолчанию

Цитата:
Сообщение от tempura Посмотреть сообщение

Последний раз редактировалось Lurker; 15.11.2011 в 21:50.
Lurker вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[fix] статистика на бг WS Chipleo Отвергнутые патчи 4 19.12.2010 14:51


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


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