Hello,
I am currently trying to create and spawn some helli debris from the prefab, but i can't get it spawning.
I am using
but it said me it's not an entity, so i am trying to use CreatePrefab, but i can't get it spawned in my map.Code:var p = GameManager.server.CreateEntity("assets/prefabs/npc/patrol helicopter/damage_effect_debris.prefab", dropPos); p?.Spawn();
Anyone have a tips?
Edit: i had try to use "servergibs_patrolhelicopter" with CreateEntity but won't spawn too
Solved Helli debris spawn
Discussion in 'Rust Development' started by sami37, Dec 10, 2016.
-
I tried a few different things... I mean, it's definitely servergibs_patrolhelicopter, but I couldn't make them spawn/show up
-
If it helps, here's a list of anything involving a helicopter via prefab/entity.
Code:[Oxide] 11:28 [Info] [Prefab Grabber] Listing prefabs with the name of: heli [Oxide] 11:28 [Info] [Prefab Grabber] assets/bundled/prefabs/world/event_helicopter.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/properties/lootspawn/collections/heliloot.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/properties/protection/helicopter_gib_protection.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/properties/protection/helicopter_protection.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/properties/protection/npcs/heli_protection.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-alarm-loop.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-engine-loop.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-engine-loop-no-tail-rotor.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-explosion.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-m249-single.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-machine-gun-single.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-rocket-explosion.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-rocket-fire-single.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-rotors-loop.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-rotor-wash.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/content/sound/sounddefinitions/entities/helicopter/helicopter-tail-rotor-loop.asset [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/damage_effect_debris.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/gun_fire.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/gun_fire_small.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/heli_explosion.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/rocket_airburst_explosion.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/rocket_airburst_groundeffect.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/rocket_explosion.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/effects/rocket_fire.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/groundeffect.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/heli_crate.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/helibullet.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/patrol_helicopter.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/patrolhelicopter.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/rocket_heli.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/rocket_heli_airburst.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/rocket_heli_napalm.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/servergibs_patrolhelicopter.prefab [Oxide] 11:28 [Info] [Prefab Grabber] assets/prefabs/npc/patrol helicopter/test.prefab
-
@Wulf have you an idea? -
Best example is to have as look into "OnKilled" of the BaseHelicopter, where it uses "CreateGibs" based on the GameObjectRef "servergibs":
Code:// BaseHelicopter public override void OnKilled(HitInfo info) { if (base.isClient) { return; } Effect.server.Run(this.explosionEffect.resourcePath, base.transform.position, Vector3.up, null, true); Vector3 vector = this.myAI.GetLastMoveDir() * this.myAI.GetMoveSpeed() * 0.75f; GameObject gibSource = this.servergibs.Get().GetComponent<ServerGib>()._gibSource; List<ServerGib> list = ServerGib.CreateGibs(this.servergibs.resourcePath, base.gameObject, gibSource, vector, 3f); for (int i = 0; i < 12 - this.maxCratesToSpawn; i++) { BaseEntity baseEntity = GameManager.server.CreateEntity(this.fireBall.resourcePath, base.transform.position, base.transform.rotation, true); if (baseEntity) { float min = 3f; float max = 10f; Vector3 onUnitSphere = UnityEngine.Random.onUnitSphere; baseEntity.transform.position = base.transform.position + new Vector3(0f, 1.5f, 0f) + onUnitSphere * UnityEngine.Random.Range(-4f, 4f); Collider component = baseEntity.GetComponent<Collider>(); baseEntity.Spawn(); baseEntity.SetVelocity(vector + onUnitSphere * UnityEngine.Random.Range(min, max)); foreach (ServerGib current in list) { Physics.IgnoreCollision(component, current.GetCollider(), true); } } } for (int j = 0; j < this.maxCratesToSpawn; j++) { Vector3 onUnitSphere2 = UnityEngine.Random.onUnitSphere; Vector3 pos = base.transform.position + new Vector3(0f, 1.5f, 0f) + onUnitSphere2 * UnityEngine.Random.Range(2f, 3f); BaseEntity baseEntity2 = GameManager.server.CreateEntity(this.crateToDrop.resourcePath, pos, Quaternion.LookRotation(onUnitSphere2), true); baseEntity2.Spawn(); baseEntity2.Invoke("RemoveMe", 1800f); Collider component2 = baseEntity2.GetComponent<Collider>(); Rigidbody rigidbody = baseEntity2.gameObject.AddComponent<Rigidbody>(); rigidbody.useGravity = true; rigidbody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic; rigidbody.mass = 2f; rigidbody.interpolation = RigidbodyInterpolation.Interpolate; rigidbody.velocity = vector + onUnitSphere2 * UnityEngine.Random.Range(1f, 3f); rigidbody.angularVelocity = Vector3Ex.Range(-1.75f, 1.75f); rigidbody.drag = 0.5f * (rigidbody.mass / 5f); rigidbody.angularDrag = 0.2f * (rigidbody.mass / 5f); FireBall fireBall = GameManager.server.CreateEntity(this.fireBall.resourcePath, baseEntity2.transform.position, default(Quaternion), true) as FireBall; if (fireBall) { fireBall.transform.position = baseEntity2.transform.position; fireBall.Spawn(); fireBall.GetComponent<Rigidbody>().isKinematic = true; fireBall.GetComponent<Collider>().enabled = false; fireBall.transform.parent = baseEntity2.transform; } baseEntity2.SendMessage("SetLockingEnt", fireBall.gameObject, SendMessageOptions.DontRequireReceiver); foreach (ServerGib current2 in list) { Physics.IgnoreCollision(component2, current2.GetCollider(), true); } } base.OnKilled(info); }
-