Modding:Commands: Difference between revisions

From Vintage Story Wiki
no edit summary
m (Smile moved page Commands to Mod:Commands: Commands should be the commands currently in the game not how to add commands to the game.)
No edit summary
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:
The idea is to add a command which makes it easier for your mates to locate you. Therefore we will spawn some particles alongside a playing sound, so others can see and hear where you are at the moment.
The idea is to add a command which makes it easier for your mates to locate you. Therefore we will spawn some particles alongside a playing sound, so others can see and hear where you are at the moment.


You can download the required assets [http://wiki.vintagestory.at/images/1/16/Here_Assets.zip here]. Just extract them in your mods directory and you are good to go.
You can download the required assets [https://wiki.vintagestory.at/images/1/16/Here_Assets.zip here]. Just extract them in your mods directory and you are good to go.


== Implementation ==
== Implementation ==
Line 50: Line 50:
                 (IServerPlayer player, int groupId, CmdArgs args) =>
                 (IServerPlayer player, int groupId, CmdArgs args) =>
                     {
                     {
                         IEntityPlayer byEntity = player.Entity;
                         EntityPlayer byEntity = player.Entity;
                         byEntity.World.PlaySoundAt(sound, byEntity); // Play sound
                         byEntity.World.PlaySoundAt(sound, byEntity); // Play sound


                         Vec3d pos = byEntity.Pos.XYZ.Add(0, byEntity.EyeHeight(), 0); // Setting up position to spawn particles
                         Vec3d pos = byEntity.Pos.XYZ.Add(0, byEntity.EyeHeight, 0); // Setting up position to spawn particles
                         Random rand = new Random();
                         Random rand = new Random();
                         for (int i = 0; i < 100; i++) // Spawn 100 particles
                         for (int i = 0; i < 100; i++) // Spawn 100 particles
Line 59: Line 59:
                             Vec3d realPos = pos.AddCopy(-0.1 + rand.NextDouble() * 0.2, 0, -0.1 + rand.NextDouble() * 0.2);
                             Vec3d realPos = pos.AddCopy(-0.1 + rand.NextDouble() * 0.2, 0, -0.1 + rand.NextDouble() * 0.2);
                             Vec3f velocity = new Vec3f(-0.2F + (float) rand.NextDouble() * 0.4F, 0.4F + (float) rand.NextDouble() * 2F, -0.2F + (float) rand.NextDouble() * 0.4F);
                             Vec3f velocity = new Vec3f(-0.2F + (float) rand.NextDouble() * 0.4F, 0.4F + (float) rand.NextDouble() * 2F, -0.2F + (float) rand.NextDouble() * 0.4F);
                             byEntity.World.SpawnParticles(1, ColorUtil.ColorFromArgb(255, rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255)),
                             byEntity.World.SpawnParticles(1, ColorUtil.ColorFromRgba(255, rand.Next(0, 255), rand.Next(0, 255), rand.Next(0, 255)),
                                 realPos, realPos,
                                 realPos, realPos,
                                 velocity, velocity, (float) rand.NextDouble()*1 + 1, 0.01F,
                                 velocity, velocity, (float) rand.NextDouble()*1 + 1, 0.01F,
Line 80: Line 80:
Feel free to try it out yourself:
Feel free to try it out yourself:


[http://wiki.vintagestory.at/images/4/47/Here_v1.0.zip Here_v1.0.zip]
[https://wiki.vintagestory.at/images/4/47/Here_v1.0.zip Here_v1.0.zip]
219

edits