So this is fairly simple. I was able to open a door - just not close a door for some reason.
Code:[ConsoleCommand("CUI_ToggleDoor")] void toggleDoor(ConsoleSystem.Arg arg) { var player = arg.connection.player as BasePlayer; var name = arg.Args[0]; if (player == null) return; if(homeData.homeD[player.userID].dData[name].status) { var newLocation = new Vector3(homeData.homeD[player.userID].dData[name].locx, homeData.homeD[player.userID].dData[name].locy, homeData.homeD[player.userID].dData[name].locz); homeData.homeD[player.userID].dData[name].status = false; List<BaseEntity> doornear = new List<BaseEntity>(); Vis.Entities(newLocation, 0.2f, doornear); foreach(var door in doornear) { door.SetFlag(BaseEntity.Flags.Open, false); door.SendNetworkUpdateImmediate(); } } else { var newLocation = new Vector3(homeData.homeD[player.userID].dData[name].locx, homeData.homeD[player.userID].dData[name].locy, homeData.homeD[player.userID].dData[name].locz); homeData.homeD[player.userID].dData[name].status = true; List<BaseEntity> doornear = new List<BaseEntity>(); Vis.Entities(newLocation, 0.2f, doornear); foreach(var door in doornear) { door.SetFlag(BaseEntity.Flags.Open, true); door.SendNetworkUpdateImmediate(); } } ControlDoor(arg); SaveData(); }
Door not closing
Discussion in 'Rust Development' started by DylanSMR, Aug 3, 2016.
-
Wulf Community Admin
Have you looked at my AutoDoors plugin? It handles it and it works.
-
Yes I have. I've double checked. Maybe its because i'm not casting it as a door? As with this it takes it straight from a list generated from Vis.Entities.
[DOUBLEPOST=1470246363][/DOUBLEPOST]Had to edit it so it confirmed it was a door. Not sure how it was operating it the first time.
Code:List<BaseEntity> doornear = new List<BaseEntity>(); Vis.Entities(newLocation, 1.0f, doornear); foreach(var door in doornear) { if(door.ToString().Contains("hinged")){ door.SetFlag(BaseEntity.Flags.Open, false); door.SendNetworkUpdateImmediate();} else break; }
