public MapDataServer() { httpServer = new HttpServer(SERVER_PORT); httpServer.AddWebSocketService <WebSocketHandler>("/"); httpServer.KeepClean = true; webSocketHandler = httpServer.WebSocketServices["/"]; broadcastTimer = new System.Threading.Timer(e => { string dataString = ""; players.ForEach(player => { ZDO zdoData = null; try { zdoData = ZDOMan.instance.GetZDO(player.m_characterID); } catch { } if (zdoData != null) { Vector3 pos = zdoData.GetPosition(); float maxHealth = zdoData.GetFloat("max_health", 25f); float health = zdoData.GetFloat("health", maxHealth); maxHealth = Mathf.Max(maxHealth, health); if (player.m_publicRefPos) { dataString += $"{player.m_uid}\n{player.m_playerName}\n{pos.x:0.##},{pos.y:0.##},{pos.z:0.##}\n{health:0.##}\n{maxHealth:0.##}\n\n"; } else { dataString += $"{player.m_uid}\n{player.m_playerName}\nhidden\n\n"; } } }); if (dataString.Length > 0) { webSocketHandler.Sessions.Broadcast("players\n" + dataString.Trim()); } }, null, TimeSpan.Zero, TimeSpan.FromSeconds(PLAYER_UPDATE_INTERVAL)); publicRoot = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) ?? string.Empty, "web"); fileCache = new Dictionary <string, byte[]>(); httpServer.OnGet += (sender, e) => { HttpListenerRequest req = e.Request; // Debug.Log("~~~ Got GET Request for: " + req.RawUrl); if (ProcessSpecialRoutes(e)) { return; } ServeStaticFiles(e); }; }
// Token: 0x060006DC RID: 1756 RVA: 0x00038A80 File Offset: 0x00036C80 public static void LoadFromZDO(ItemDrop.ItemData itemData, ZDO zdo) { itemData.m_durability = zdo.GetFloat("durability", itemData.m_durability); itemData.m_stack = zdo.GetInt("stack", itemData.m_stack); itemData.m_quality = zdo.GetInt("quality", itemData.m_quality); itemData.m_variant = zdo.GetInt("variant", itemData.m_variant); itemData.m_crafterID = zdo.GetLong("crafterID", itemData.m_crafterID); itemData.m_crafterName = zdo.GetString("crafterName", itemData.m_crafterName); }
public void BroadcastWebsocket() { var dataString = ""; mapDataServer.players.ForEach(player => { ZDO zdoData = null; try { zdoData = ZDOMan.instance.GetZDO(player.m_characterID); } catch { } if (zdoData != null) { var pos = zdoData.GetPosition(); var maxHealth = zdoData.GetFloat("max_health", 25f); var health = zdoData.GetFloat("health", maxHealth); maxHealth = Mathf.Max(maxHealth, health); var maxStamina = zdoData.GetFloat("max_stamina", 100f); var stamina = zdoData.GetFloat("stamina", maxStamina); // maxStamina = Mathf.Max(maxStamina, stamina); if (player.m_publicRefPos) { dataString += $"{player.m_uid}\n{player.m_playerName}\n{str(pos.x)},{str(pos.y)},{str(pos.z)}\n{str(health)}\n{str(maxHealth)}\n{str(stamina)}\n{str(maxStamina)}\n\n"; } else { dataString += $"{player.m_uid}\n{player.m_playerName}\nhidden\n\n"; } } else { } }); if (dataString.Length > 0) { mapDataServer.Broadcast("players\n" + dataString.Trim()); } mapDataServer.Broadcast("time\n" + GetCurrentTimeString()); }
// Token: 0x060009C5 RID: 2501 RVA: 0x00046F2C File Offset: 0x0004512C private void SyncParameters() { ZDO zdo = this.m_nview.GetZDO(); if (!this.m_nview.IsOwner()) { for (int i = 0; i < this.m_boolHashes.Length; i++) { int num = this.m_boolHashes[i]; bool @bool = zdo.GetBool(438569 + num, this.m_boolDefaults[i]); this.m_animator.SetBool(num, @bool); } for (int j = 0; j < this.m_floatHashes.Length; j++) { int num2 = this.m_floatHashes[j]; float @float = zdo.GetFloat(438569 + num2, this.m_floatDefaults[j]); if (this.m_smoothCharacterSpeeds && (num2 == ZSyncAnimation.m_forwardSpeedID || num2 == ZSyncAnimation.m_sidewaySpeedID)) { this.m_animator.SetFloat(num2, @float, 0.2f, Time.fixedDeltaTime); } else { this.m_animator.SetFloat(num2, @float); } } for (int k = 0; k < this.m_intHashes.Length; k++) { int num3 = this.m_intHashes[k]; int @int = zdo.GetInt(438569 + num3, this.m_intDefaults[k]); this.m_animator.SetInteger(num3, @int); } float float2 = zdo.GetFloat(ZSyncAnimation.m_animSpeedID, 1f); this.m_animator.speed = float2; return; } zdo.Set(ZSyncAnimation.m_animSpeedID, this.m_animator.speed); }
public void unequip() { if (isFilled()) { GameObject itemPrefab = ObjectDB.instance.GetItemPrefab(equippedItem); if ((bool)((UnityEngine.Object)itemPrefab)) { GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(itemPrefab, this.armorStand.m_dropSpawnPoint.position, this.armorStand.m_dropSpawnPoint.rotation); var itemData = gameObject.GetComponent <ItemDrop>().m_itemData; itemData.m_durability = zdo.GetFloat($"{zdoVar}durability", itemData.m_durability); itemData.m_stack = zdo.GetInt($"{zdoVar}stack", itemData.m_stack); itemData.m_quality = zdo.GetInt($"{zdoVar}quality", itemData.m_quality); itemData.m_variant = zdo.GetInt($"{zdoVar}variant", itemData.m_variant); itemData.m_crafterID = zdo.GetLong($"{zdoVar}crafterID", itemData.m_crafterID); itemData.m_crafterName = zdo.GetString($"{zdoVar}crafterName", itemData.m_crafterName); this.armorStand.m_effects.Create(this.armorStand.m_dropSpawnPoint.position, Quaternion.identity, null, 1f); zdo.Set(zdoVar, ""); zdo.Set(zdoVariantVar, 0); } } }
public static void Prefix(MonsterAI __instance, ref float dt) { if (Configuration.Current.Tameable.IsEnabled) { MonsterAI monsterAI = __instance; ZDO zdo = monsterAI.m_nview.GetZDO(); if ((TameableMortalityTypes)Configuration.Current.Tameable.mortality != TameableMortalityTypes.Essential || zdo == null || !zdo.GetBool("isRecoveringFromStun")) { return; } if (monsterAI.m_character.m_moveDir != Vector3.zero) { monsterAI.StopMoving(); } if (monsterAI.m_sleepTimer != 0f) { monsterAI.m_sleepTimer = 0f; } float timeSinceStun = zdo.GetFloat("timeSinceStun") + dt; zdo.Set("timeSinceStun", timeSinceStun); if (timeSinceStun >= Configuration.Current.Tameable.stunRecoveryTime) { zdo.Set("timeSinceStun", 0f); monsterAI.m_sleepTimer = 0.5f; monsterAI.m_character.m_animator.SetBool("sleeping", false); zdo.Set("sleeping", false); zdo.Set("isRecoveringFromStun", false); } dt = 0f; } }
public static float GetNoise(this ZDO zdo) { return(zdo.GetFloat(NoiseHash)); }