1) Guard die Message
If guard are killed by other realm, the message is sent to the realm players.
gamekeepguard.cs
- Code: Select all
/// <summary> /// When guards Die and it isnt a keep reset (this killer) we call GuardSpam function /// </summary> /// <param name="killer"></param> public override void Die(GameObject killer) { if (killer != this) { GuardSpam(this); // WHRIA START if (killer is GamePlayer) { if (killer.Realm != this.Realm) { int inArea = this.GetEnemyCountInArea(); eChatType messageType; switch ((eRealm)killer.Realm) { case eRealm.Albion: messageType = eChatType.CT_KilledByAlb; break; case eRealm.Midgard: messageType = eChatType.CT_KilledByMid; break; case eRealm.Hibernia: messageType = eChatType.CT_KilledByHib; break; default: messageType = eChatType.CT_PlayerDied; break; // killed by mob } string message = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "GameKeepGuard.GuardSpam.Killed", this.Name, this.Component.AbstractKeep.Name, inArea); foreach (GameClient thisClient in WorldMgr.GetAllPlayingClients()) { if (thisClient.Player.Realm == this.Realm) thisClient.Player.Out.SendMessage(message, messageType, eChatLoc.CL_SystemWindow); } } } // WHRIA END } base.Die(killer); if (RespawnInterval == -1) Delete(); } #region Guard Spam /// <summary> /// Sends message to guild for guard death with enemy count in area /// </summary> /// <param na
ABUSE : Some player creates multiple account , park the character in some location ,and use the character for scouting.(RvR scouting or watching for Boss mob respawn)
SOLUTION : If one logout, the location will be shift to the binding location.
gameserver.cs
- Code: Select all
public void LoadPlayer(int accountindex, string playerClass) { m_activeCharIndex = accountindex; GamePlayer player = null; // refreshing Account to load any changes from the DB GameServer.Database.FillObjectRelations(m_account); DOLCharacters dolChar = m_account.Characters[m_activeCharIndex]; // WHRIA dolChar.Xpos = dolChar.BindXpos; dolChar.Ypos = dolChar.BindYpos; dolChar.Zpos = dolChar.BindZpos; // WHRIA Assembly gasm = Assembly.GetAssembly(typeof(GameServer));