NSXGV
Code
first square
rule("first square")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(V, Vector(8.792, 20, -59.004));
Set Global Variable(A, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Z Component Of(Global Variable(V))));
Set Global Variable(B, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Z Component Of(
Global Variable(V))));
Set Global Variable(C, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Z Component Of(
Global Variable(V))));
Set Global Variable(D, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Z Component Of(
Global Variable(V))));
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(A), Global Variable(B), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(B), Global Variable(C), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(C), Global Variable(D), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(D), Global Variable(A), White,
Visible To Position and Radius);
}
}
second square and other connecting beams
rule("second square and other connecting beams")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(V, Vector(8.792, 22.979, -59.004));
Set Global Variable(E, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Add(Z Component Of(Global Variable(
V)), 4.242)));
Set Global Variable(F, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Add(Z Component Of(
Global Variable(V)), 4.242)));
Set Global Variable(G, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Add(Z Component Of(
Global Variable(V)), 4.242)));
Set Global Variable(H, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Add(Z Component Of(
Global Variable(V)), 4.242)));
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(E), Global Variable(A), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(F), Global Variable(B), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(E), Global Variable(F), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(G), Global Variable(F), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(G), Global Variable(C), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(H), Global Variable(D), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(H), Global Variable(G), White,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Grapple Beam, Global Variable(H), Global Variable(E), White,
Visible To Position and Radius);
}
}
sphere, orbs and diagonal beams
rule("sphere, orbs and diagonal beams")
{
event
{
Ongoing - Global;
}
actions
{
Set Global Variable(X, Add(Global Variable(V), Vector(0, 0, 2.121)));
Create Effect(All Players(All Teams), Sphere, Purple, Global Variable(X), 2.121, Visible To Position and Radius);
Set Global Variable(I, Vector(X Component Of(Global Variable(X)), Add(Y Component Of(Global Variable(X)), Multiply(
Sine From Degrees(Global Variable(Q)), 2)), Add(Z Component Of(Global Variable(X)), Multiply(Cosine From Degrees(
Global Variable(Q)), 2))));
Create Effect(All Players(All Teams), Orb, Red, Global Variable(I), 1, Visible To Position and Radius);
Set Global Variable(J, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)), Add(
Y Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)), 2)), Z Component Of(Global Variable(X))));
Create Effect(All Players(All Teams), Orb, Red, Global Variable(J), 1, Visible To Position and Radius);
Set Global Variable(K, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)),
Y Component Of(Global Variable(X)), Add(Z Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)),
2))));
Create Effect(All Players(All Teams), Orb, Red, Global Variable(K), 1, Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(A), Global Variable(G), Purple,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(B), Global Variable(H), Purple,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(C), Global Variable(E), Purple,
Visible To Position and Radius);
Create Beam Effect(All Players(All Teams), Bad Beam, Global Variable(D), Global Variable(F), Purple,
Visible To Position and Radius);
Set Global Variable(L, Global Variable(A));
Create Effect(All Players(All Teams), Orb, Green, Global Variable(L), 1, Visible To Position and Radius);
}
}
moving
rule("moving")
{
event
{
Ongoing - Global;
}
actions
{
Modify Global Variable(Q, Add, 1.500);
Modify Global Variable(Z, Add, 0.750);
Set Global Variable(A, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Z Component Of(Global Variable(V))));
Set Global Variable(B, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Z Component Of(
Global Variable(V))));
Set Global Variable(C, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Z Component Of(
Global Variable(V))));
Set Global Variable(D, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Z Component Of(
Global Variable(V))));
Set Global Variable(E, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Global Variable(Z)), 3)), Add(
Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Global Variable(Z)), 3)), Add(Z Component Of(Global Variable(
V)), 4.242)));
Set Global Variable(F, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 90)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 90)), 3)), Add(Z Component Of(
Global Variable(V)), 4.242)));
Set Global Variable(G, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 180)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 180)), 3)), Add(Z Component Of(
Global Variable(V)), 4.242)));
Set Global Variable(H, Vector(Add(X Component Of(Global Variable(V)), Multiply(Cosine From Degrees(Add(Global Variable(Z), 270)),
3)), Add(Y Component Of(Global Variable(V)), Multiply(Sine From Degrees(Add(Global Variable(Z), 270)), 3)), Add(Z Component Of(
Global Variable(V)), 4.242)));
Set Global Variable(I, Vector(X Component Of(Global Variable(X)), Add(Y Component Of(Global Variable(X)), Multiply(
Sine From Degrees(Global Variable(Q)), 2)), Add(Z Component Of(Global Variable(X)), Multiply(Cosine From Degrees(
Global Variable(Q)), 2))));
Set Global Variable(J, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)), Add(
Y Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)), 2)), Z Component Of(Global Variable(X))));
Set Global Variable(K, Vector(Add(X Component Of(Global Variable(X)), Multiply(Cosine From Degrees(Global Variable(Q)), 2)),
Y Component Of(Global Variable(X)), Add(Z Component Of(Global Variable(X)), Multiply(Sine From Degrees(Global Variable(Q)),
2))));
Wait(0.070, Ignore Condition);
Loop;
}
}
I=J"
rule("I=J")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(I) == Global Variable(J);
}
actions
{
Play Effect(All Players(All Teams), Good Explosion, Red, Global Variable(I), 0.500);
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(I), 40);
}
}
J=K
rule("J=K")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(J) == Global Variable(K);
}
actions
{
Play Effect(All Players(All Teams), Good Explosion, Red, Global Variable(J), 0.500);
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(J), 40);
}
}
I=K
rule("I=K")
{
event
{
Ongoing - Global;
}
conditions
{
Global Variable(I) == Global Variable(K);
}
actions
{
Play Effect(All Players(All Teams), Good Explosion, Red, Global Variable(I), 0.500);
Play Effect(All Players(All Teams), Buff Explosion Sound, White, Global Variable(I), 40);
}
}
other orbs
rule("other orbs")
{
event
{
Ongoing - Global;
}
actions
{
Chase Global Variable Over Time(L, Global Variable(B), 2, Destination and Duration);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
Wait(2, Ignore Condition);
Chase Global Variable Over Time(L, Global Variable(F), 2, Destination and Duration);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
Wait(2, Ignore Condition);
Chase Global Variable Over Time(L, Global Variable(G), 2, Destination and Duration);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
Wait(2, Ignore Condition);
Chase Global Variable Over Time(L, Global Variable(H), 2, Destination and Duration);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
Wait(2, Ignore Condition);
Chase Global Variable Over Time(L, Global Variable(D), 2, Destination and Duration);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
Wait(2, Ignore Condition);
Chase Global Variable Over Time(L, Global Variable(A), 2, Destination and Duration);
Play Effect(All Players(All Teams), Bad Explosion, Yellow, Global Variable(L), 2);
Wait(2, Ignore Condition);
Loop;
}
}
It is not a game mod. I see not many of you understand how works physics in the game and how to deal with custom objects. So I wanted to introduce a simple code that shows how to create a custom object and how to move it. Also how to connect different custom objects so they can interact with each other.
Thanks to Nutellaman for the idea.