pivas | Дата: Понеділок, 01.10.2012, 17:57 | Сообщение # 1 |
Капрал
Группа: Пользователи
|
Данный патч предназначен для бг, а точнее убийств на бг Игрок делает серию убийств и в системном сообщении пишеться: "[PvP System]: Админ killed Гм and is on a 5 Killing Streak!" тобишь надо набрать (5)(можете изменить значения) килов при этом не умереть Выдирал лично сам из комитов Вот патч Code diff -r e05af7ed0943 -r d61ce89ce008 src/server/game/Scripting/ScriptLoader.cpp --- a/src/server/game/Scripting/ScriptLoader.cpp Mon Oct 04 15:11:01 2010 +0200 +++ b/src/server/game/Scripting/ScriptLoader.cpp Sun Oct 03 12:23:50 2010 -0400 @@ -17,6 +17,7 @@ #include "ScriptPCH.h" #include "ScriptLoader.h" +void AddSC_PVP_System(); //examples void AddSC_example_creature(); @@ -1148,6 +1149,6 @@ { #ifdef SCRIPTS /* This is where custom scripts should be added. */ - + AddSC_PVP_System(); #endif } diff -r e05af7ed0943 -r d61ce89ce008 src/server/scripts/Custom/CMakeLists.txt --- a/src/server/scripts/Custom/CMakeLists.txt Mon Oct 04 15:11:01 2010 +0200 +++ b/src/server/scripts/Custom/CMakeLists.txt Sun Oct 03 12:23:50 2010 -0400 @@ -1,5 +1,6 @@ set(scripts_STAT_SRCS ${scripts_STAT_SRCS} + Custom/PVP_System_Streaks.cpp ) message(" -> Prepared: Custom") diff -r e05af7ed0943 -r d61ce89ce008 src/server/scripts/Custom/PVP_System_Streaks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/server/scripts/Custom/PVP_System_Streaks.cpp Sun Oct 03 12:23:50 2010 -0400 @@ -0,0 +1,167 @@ + +// Posted by kjanko @ http://forum.trinitycore.org/topic/28829-killstreak-pvp-system/ +// Updated By {VAS} KalCorp to 1.01 + + +#include "ScriptPCH.h" +#include "Configuration/Config.h" +#include "ScriptMgr.h" +#include "string.h" + +float version = 1.01f; +std::string PVP_System_Streaks = ""; +uint32 PVP_System_Last_Streak = 50; +int PVP_System_LoseToken = 0; +int PVP_System_AnyPlace = 0; +int PVP_System_BattleGounds = 1; +int PVP_System_SamePlayer = 1; +int PVP_System_AddToken = 0; +std::string PVP_System_Color = "cffFF8000"; + + +struct SystemInfo +{ + uint32 KillStreak; + uint32 LastGUIDKill; +}; + +static std::map<uint32, SystemInfo> KillingStreak; + +class PVP_System_Streaks_WorldScript : public WorldScript +{ + public: + PVP_System_Streaks_WorldScript() : WorldScript("PVP_System_Streaks_WorldScript") {} + + + void SetInitialWorldSettings() + { + //Needs VAS-Hooks v1.01+ to work + + sLog.outString("----------------------------------------------------"); + sLog.outString(" Powered by PVP System Streaks v%4.2f ",version); + sLog.outString("----------------------------------------------------"); + + PVP_System_Streaks = sConfig.GetStringDefault("PVP.System.Streaks", "5,10,20,30,40,50"); + PVP_System_Last_Streak = sConfig.GetIntDefault("PVP_System.Last.Streak", 50); + PVP_System_LoseToken = sConfig.GetIntDefault("PVP.System.LoseToken", 0); + PVP_System_AnyPlace = sConfig.GetIntDefault("PVP.System.AnyPlace", 0); + PVP_System_BattleGounds = sConfig.GetIntDefault("PVP.System.BattleGounds", 1); + PVP_System_Color = sConfig.GetStringDefault("PVP.System.Color", "cffFF8000"); + PVP_System_SamePlayer = sConfig.GetIntDefault("PVP.System.SamePlayer", 1); + PVP_System_AddToken = sConfig.GetIntDefault("PVP.System.AddToken", 1); + + sLog.outString(" PVP.System.Streaks = %s", PVP_System_Streaks); + sLog.outString(" PVP.System.Last.Streak = %u", PVP_System_Last_Streak); + sLog.outString(" PVP.System.AnyPlace = %u", PVP_System_AnyPlace); + sLog.outString(" PVP.System.BattleGounds = %u", PVP_System_BattleGounds); + sLog.outString(" PVP.System.SamePlayer = %u", PVP_System_SamePlayer); + sLog.outString(" PVP.System.AddToken = %u", PVP_System_AddToken); + sLog.outString(" PVP.System.LoseToken = %u", PVP_System_LoseToken); + sLog.outString(" PVP.System.Color = %s", PVP_System_Color.c_str()); + + sLog.outString(" Contributors: kjanko, Rusfighter, KalCorp"); + + sLog.outString("----------------------------------------------------\n"); + } +}; + +class PVP_System_Streaks_PlayerScript : public PlayerScript +{ + public: + PVP_System_Streaks_PlayerScript() : PlayerScript("PVP_System_Streaks_PlayerScript") {} + + void OnPVPKill(Player *pKiller, Player *pVictim) + { + uint32 kGUID; + uint32 vGUID; + kGUID = pKiller->GetGUID(); + vGUID = pVictim->GetGUID(); + char msg[500]; + + sLog.outString("PVP_System_Streaks_PlayerScript started"); + + if (PVP_System_AnyPlace != 0) + if ((!pKiller->GetMap()->IsBattleground()) && PVP_System_BattleGounds != 1) + return; + + if(kGUID == vGUID) + return; + + if(KillingStreak[kGUID].LastGUIDKill == vGUID) + if (PVP_System_SamePlayer !=1 ) + return; + + + KillingStreak[kGUID].KillStreak++; + KillingStreak[vGUID].KillStreak = 0; + KillingStreak[kGUID].LastGUIDKill = vGUID; + KillingStreak[vGUID].LastGUIDKill = 0; + + if (PVP_System_AddToken == 1) + pKiller->AddItem(29434, 1); + + if (PVP_System_LoseToken == 1) + pVictim->DestroyItemCount(29434,1,true,false); + + + + if ( CheckString(PVP_System_Streaks,KillingStreak[kGUID].KillStreak) ) + { + sprintf(msg, "|%s[PvP System]: %s killed %s and is on a %u Killing Streak! |r",PVP_System_Color.c_str(), pKiller->GetName(), pVictim->GetName(),KillingStreak[kGUID].KillStreak); + sWorld.SendWorldText(LANG_SYSTEMMESSAGE, msg); + pKiller->AddItem(29434, int(KillingStreak[kGUID].KillStreak/2)); + if (KillingStreak[kGUID].KillStreak >= PVP_System_Last_Streak) + KillingStreak[kGUID].KillStreak = 0; + } + } + + bool CheckString(std::string IDString,int CurrentID) + { + std::string temp_str; + std::stringstream map_ss; + map_ss.str(IDString); + while (std::getline(map_ss, temp_str, ',')) + { + std::stringstream ss2(temp_str); + int temp_num = -1; + ss2 >> temp_num; + if (temp_num >= 0) + { + if (temp_num == CurrentID) + return true; + } + } + return false; + } + + void OnLogin(Player *Player) + { + + PVP_System_Streaks = sConfig.GetStringDefault("PVP.System.Streaks", "5,10,20,30,40,50"); + PVP_System_Last_Streak = sConfig.GetIntDefault("PVP_System.Last.Streak", 50); + PVP_System_LoseToken = sConfig.GetIntDefault("PVP.System.LoseToken", 0); + PVP_System_AnyPlace = sConfig.GetIntDefault("PVP.System.AnyPlace", 0); + PVP_System_BattleGounds = sConfig.GetIntDefault("PVP.System.BattleGounds", 1); + PVP_System_Color = sConfig.GetStringDefault("PVP.System.Color", "cffFF8000"); + PVP_System_SamePlayer = sConfig.GetIntDefault("PVP.System.SamePlayer", 1); + PVP_System_AddToken = sConfig.GetIntDefault("PVP.System.AddToken", 1); + + ChatHandler chH = ChatHandler(Player); + chH.PSendSysMessage("\n|%s----------------------------------------------------|r",PVP_System_Color.c_str()); + chH.PSendSysMessage("|%s Powered by {VAS} PVP System Streaks v%4.2f |r",PVP_System_Color.c_str(),version); + chH.PSendSysMessage("|%s----------------------------------------------------|r \n",PVP_System_Color.c_str()); + chH.PSendSysMessage("|%s PVP.System.Streaks = %s|r",PVP_System_Color.c_str(), PVP_System_Streaks); + chH.PSendSysMessage("|%s PVP.System.Last.Streak = %u|r",PVP_System_Color.c_str(), PVP_System_Last_Streak); + chH.PSendSysMessage("|%s PVP.System.AnyPlace = %u|r",PVP_System_Color.c_str(), PVP_System_AnyPlace); + chH.PSendSysMessage("|%s PVP.System.BattleGounds = %u|r",PVP_System_Color.c_str(), PVP_System_BattleGounds); + chH.PSendSysMessage("|%s----------------------------------------------------|r \n",PVP_System_Color.c_str()); + } + +}; + + +void AddSC_PVP_System() +{ + new PVP_System_Streaks_PlayerScript; + new PVP_System_Streaks_WorldScript; +} \ No newline at end of file diff -r e05af7ed0943 -r d61ce89ce008 src/server/worldserver/worldserver.conf.dist --- a/src/server/worldserver/worldserver.conf.dist Mon Oct 04 15:11:01 2010 +0200 +++ b/src/server/worldserver/worldserver.conf.dist Sun Oct 03 12:23:50 2010 -0400 @@ -2091,3 +2091,22 @@ LevelReq.Auction = 1 LevelReq.Mail = 1 DungeonFinder.Enable = 0 + + +############################################################################### +# +# PVP System +# +# 0=Off, 1=On +# +############################################################################### +PVP.System.Streaks = 2,5,10,20,30,40,50 +PVP.System.Last.Streak = 50 +PVP.System.LoseToken = 0 +PVP.System.AnyPlace = 0 +PVP.System.BattleGounds = 1 +PVP.System.SamePlayer = 0 +PVP_System_AddToken = 0 +PVP.System.Color = cffC400C4 + + Патч ставится как отдельный настроечный кастомный скрипт
Рипаю сайты качественно. Цена рипа в зависимости от сложности сайта. Skype: slavicbu ICQ: 646600913 Cлава.
Сообщение отредактировал pivas - Понеділок, 01.10.2012, 18:06 |
|
|
|
INFЕRNO | Дата: Понеділок, 01.10.2012, 18:09 | Сообщение # 2 |
Linux ~ root User
Чемпион
Группа: Best of the Best user Wow-info
|
pivas, спасибо. 
|
|
|
|
pivas | Дата: Понеділок, 01.10.2012, 18:17 | Сообщение # 3 |
Капрал
Группа: Пользователи
|
INFЕRNO, да нзч ща сам ставить буду его)Добавлено (01.10.2012, 18:17) --------------------------------------------- INFЕRNO, найду время переделаю патч, хочу голосовые сообщения сделать)
Рипаю сайты качественно. Цена рипа в зависимости от сложности сайта. Skype: slavicbu ICQ: 646600913 Cлава.
|
|
|
|
INFЕRNO | Дата: Понеділок, 01.10.2012, 18:21 | Сообщение # 4 |
Linux ~ root User
Чемпион
Группа: Best of the Best user Wow-info
|
pivas, удачи чо 
|
|
|
|
pivas | Дата: Понеділок, 01.10.2012, 18:30 | Сообщение # 5 |
Капрал
Группа: Пользователи
|
INFЕRNO, щас сижу накатываю 2 патча одновременно Пассивнй античит и пвп систем
Рипаю сайты качественно. Цена рипа в зависимости от сложности сайта. Skype: slavicbu ICQ: 646600913 Cлава.
|
|
|
|
INFЕRNO | Дата: Понеділок, 01.10.2012, 19:07 | Сообщение # 6 |
Linux ~ root User
Чемпион
Группа: Best of the Best user Wow-info
|
Quote (pivas) INFЕRNO, щас сижу накатываю 2 патча одновременно Пассивнй античит и пвп систем Поздравить?
|
|
|
|
pivas | Дата: Понеділок, 01.10.2012, 20:01 | Сообщение # 7 |
Капрал
Группа: Пользователи
|
INFЕRNO, можешь прям сейчас поздравлять) Проэкт удался!
Рипаю сайты качественно. Цена рипа в зависимости от сложности сайта. Skype: slavicbu ICQ: 646600913 Cлава.
|
|
|
|
Airus | Дата: Понеділок, 01.10.2012, 20:34 | Сообщение # 8 |
Капрал
Группа: V.I.P
|
pivas, да ладно выдирал копипаст с жп я вижу
|
|
|
|
pivas | Дата: Понеділок, 01.10.2012, 20:51 | Сообщение # 9 |
Капрал
Группа: Пользователи
|
Airus, нет, на жп совершенно поправлен патч вы сравните комиты
Рипаю сайты качественно. Цена рипа в зависимости от сложности сайта. Skype: slavicbu ICQ: 646600913 Cлава.
|
|
|
|
INFЕRNO | Дата: Понеділок, 01.10.2012, 21:03 | Сообщение # 10 |
Linux ~ root User
Чемпион
Группа: Best of the Best user Wow-info
|
Quote (pivas) Airus, нет, на жп совершенно поправлен патч 
|
|
|
|
pivas | Дата: Понеділок, 01.10.2012, 21:37 | Сообщение # 11 |
Капрал
Группа: Пользователи
|
INFЕRNO, вы пичальны вот кусок кода с вовжп Code # HG changeset patch # User BananaVodka # Date 1324380795 -10800 # Node ID 01d99af35e4c870873390ae89b35da6224d20667 # Parent f5915e2a4da5d12cf8884005c085646d053ba5c0 Pvpkillstreak
diff -r f5915e2a4da5d12cf8884005c085646d053ba5c0 -r 01d99af35e4c870873390ae89b35da6224d20667 src/server/game/Scripting/ScriptLoader.cpp --- a/src/server/game/Scripting/ScriptLoader.cpp Tue Dec 20 14:27:58 2011 +0300 +++ b/src/server/game/Scripting/ScriptLoader.cpp Tue Dec 20 14:33:15 2011 +0300 @@ -25,6 +25,8 @@ void AddSC_example_misc(); void AddSC_example_commandscript(); +void AddSC_PVP_System(); + //TeleNPC2 void AddSC_npc_teleport(); //Hunter Pet Vendor @@ -1268,6 +1270,7 @@ { #ifdef SCRIPTS /* This is where custom scripts should be added. */ + AddSC_PVP_System(); //TeleNPC2 AddSC_npc_teleport(); //Hunter Pet Vendor diff -r f5915e2a4da5d12cf8884005c085646d053ba5c0 -r 01d99af35e4c870873390ae89b35da6224d20667 src/server/scripts/Custom/CMakeLists.txt --- a/src/server/scripts/Custom/CMakeLists.txt Tue Dec 20 14:27:58 2011 +0300 +++ b/src/server/scripts/Custom/CMakeLists.txt Tue Dec 20 14:33:15 2011 +0300 @@ -10,8 +10,9 @@ set(scripts_STAT_SRCS ${scripts_STAT_SRCS} + Custom/PVP_System_Streaks.cpp Custom/hunterpet_vendor.cpp - Custom/npc_mount.cpp + Custom/npc_mount.cpp Custom/argent_tournament.cpp Custom/npc_customize_master.cpp Custom/npc_buffer.cpp diff -r f5915e2a4da5d12cf8884005c085646d053ba5c0 -r 01d99af35e4c870873390ae89b35da6224d20667 src/server/scripts/Custom/PVP_System_Streaks.cpp и теперь сравните с моим 
Рипаю сайты качественно. Цена рипа в зависимости от сложности сайта. Skype: slavicbu ICQ: 646600913 Cлава.
|
|
|
|
INFЕRNO | Дата: Понеділок, 01.10.2012, 22:22 | Сообщение # 12 |
Linux ~ root User
Чемпион
Группа: Best of the Best user Wow-info
|
Quote (pivas) INFЕRNO, вы пичальны Да-да. У кэпа спросил?
|
|
|
|