rendered paste bodyIndex: src/game/Chat.cpp
===================================================================
--- src/game/Chat.cpp (revision 4621)
+++ src/game/Chat.cpp (working copy)
@@ -270,6 +270,7 @@
{ "npcflag", SEC_GAMEMASTER, &ChatHandler::HandleNPCFlagCommand, "", NULL },
{ "distance", SEC_ADMINISTRATOR, &ChatHandler::HandleGetDistanceCommand, "", NULL },
{ "addgo", SEC_GAMEMASTER, &ChatHandler::HandleGameObjectCommand, "", NULL },
+ { "PlaySoundAll",SEC_MODERATOR, &ChatHandler::HandlePlaySoundAllCommand, "", NULL },
{ "recall", SEC_MODERATOR, &ChatHandler::HandleRecallCommand, "", NULL },
{ "save", SEC_PLAYER, &ChatHandler::HandleSaveCommand, "", NULL },
{ "saveall", SEC_MODERATOR, &ChatHandler::HandleSaveAllCommand, "", NULL },
Index: src/game/Chat.h
===================================================================
--- src/game/Chat.h (revision 4621)
+++ src/game/Chat.h (working copy)
@@ -183,6 +183,7 @@
bool HandleGUIDCommand(const char* args);
bool HandleNameCommand(const char* args);
bool HandleSubNameCommand(const char* args);
+ bool HandlePlaySoundAllCommand(const char* args);
bool HandleItemMoveCommand(const char* args);
bool HandleDeleteCommand(const char* args);
bool HandleDeMorphCommand(const char* args);
Index: src/game/Level1.cpp
===================================================================
--- src/game/Level1.cpp (revision 4621)
+++ src/game/Level1.cpp (working copy)
@@ -375,10 +375,10 @@
_player->SetInstanceId(chr->GetInstanceId());
}
- PSendSysMessage(LANG_APPEARING_AT, chr->GetName());
-
if (_player->IsVisibleGloballyFor(chr))
{
+ PSendSysMessage(LANG_APPEARING_AT, chr->GetName());
+
char buf0[256];
sprintf((char*)buf0,LANG_APPEARING_TO, _player->GetName());
@@ -399,7 +399,8 @@
if (uint64 guid = objmgr.GetPlayerGUIDByName(name))
{
- PSendSysMessage(LANG_APPEARING_AT, name.c_str());
+ if (_player->IsVisibleGloballyFor(chr))
+ PSendSysMessage(LANG_APPEARING_AT, name.c_str());
// to point where player stay (if loaded)
float x,y,z,o;
@@ -1675,6 +1676,37 @@
return false;
}
+//Play sound to All
+bool ChatHandler::HandlePlaySoundAllCommand(const char* args)
+{
+ // USAGE: .playsound #soundid
+ // #soundid - ID decimal number from SoundEntries.dbc (1 column)
+ // this file have about 5000 sounds.
+ // In this realisation only caller can hear this sound.
+ Unit *target = getSelectedUnit();
+ if(!target)
+ target = m_session->GetPlayer();
+
+ if( *args )
+ {
+ int dwSoundId = atoi((char*)args);
+ if( dwSoundId >= 0 )
+ {
+
+ WorldPacket data(4);
+ data.SetOpcode(SMSG_PLAY_SOUND);
+ data << uint32(dwSoundId);
+ target->SendMessageToSet(&data,false);
+
+ PSendSysMessage(LANG_YOU_HEAR_SOUND, dwSoundId);
+ return true;
+ }
+ }
+
+ SendSysMessage(LANG_BAD_VALUE);
+ return false;
+}
+
//Save all players in the world
bool ChatHandler::HandleSaveAllCommand(const char* args)
{