/// <summary> /// Requests status of character from server. Exits after status has been received or timeout occured. /// </summary> /// <param name="timeout">Timeout period.</param> /// <returns>True when status update received; otherwise false.</returns> public bool RequestStatus(int timeout) { if (Exist) { // TODO: Could receive i.e. HitsUpdate packet before 0x11 using (SpecializedObjectChangedEventWaiter ew = new SpecializedObjectChangedEventWaiter(Serial, ObjectChangeType.CharUpdated, StatusUpdateFilter)) { Core.SendToServer(PacketBuilder.CharacterStatsRequest(Serial, PacketBuilder.StatsRequestType.Stats)); return(ew.Wait(timeout)); } } else { return(false); } }
/// <summary> /// Requests status of character from server. Exits after status has been received or timeout occured. /// </summary> /// <param name="timeout">Timeout period.</param> /// <returns>True when status update received; otherwise false.</returns> public bool RequestStatus(int timeout) { if (Exist) { // TODO: Could receive i.e. HitsUpdate packet before 0x11 using (SpecializedObjectChangedEventWaiter ew = new SpecializedObjectChangedEventWaiter(Serial, ObjectChangeType.CharUpdated, StatusUpdateFilter)) { Core.SendToServer(PacketBuilder.CharacterStatsRequest(Serial, PacketBuilder.StatsRequestType.Stats)); return ew.Wait(timeout); } } else return false; }
/// <summary> /// Requests status of character from server. /// </summary> /// <param name="serial">Character serial.</param> /// <param name="timeout">Timeout period.</param> /// <returns>True when status update received; otherwise false.</returns> public static bool RequestCharacterStatus(Serial serial, int timeout) { if (!serial.IsValid) return ScriptErrorException.Throw("Character serial is invalid."); using (SpecializedObjectChangedEventWaiter ew = new SpecializedObjectChangedEventWaiter(serial, ObjectChangeType.CharUpdated)) { Core.SendToServer(PacketBuilder.CharacterStatsRequest(serial, PacketBuilder.StatsRequestType.Stats)); return ew.Wait(timeout); } }