![]() |
|
Help timer/message for flags - Printable Version +- ItsMods (https://www.itsmods.com) +-- Forum: Archive (https://www.itsmods.com/Forum-Archive.html) +--- Forum: Archive (https://www.itsmods.com/Forum-Archive--64.html) +--- Thread: Help timer/message for flags (/Thread-Help-timer-message-for-flags.html) |
timer/message for flags - hillbilly - 01-07-2013 can i add, a delay timers to activate the flag, and a message warning to move? credits @archit Code: using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;
using Addon;
namespace Teleport
{
public class Class1 : CPlugin
{
Dictionary<string, Vector> flagsorigin = new Dictionary<string, Vector>();
Dictionary<string, Vector> flagsdesti = new Dictionary<string, Vector>();
public override void OnServerLoad()
{
ServerPrint("KILLERFLAGS plugin loaded!");
}
public override void OnMapChange()
{
makeflags();
}
public override void OnFastRestart()
{
makeflags();
}
public static double Distance(Vector vec1, Vector vec2)
{
return Math.Sqrt(Math.Pow(vec1.X - vec2.X, 2) + Math.Pow(vec1.Y - vec2.Y, 2) + Math.Pow(vec1.Z - vec2.Z, 2));
}
public override void OnAddonFrame()
{
foreach (string key in flagsorigin.Keys)
{
if (key.Split(',')[0] == GetDvar("mapname"))
{
if (GetClients() != null)
{
foreach (ServerClient Client in GetClients())
{
if (Distance(new Vector(Client.OriginX, Client.OriginY, Client.OriginZ), flagsorigin[key]) <= 300f)
{
Client.OriginX = flagsdesti[key].X;
Client.OriginY = flagsdesti[key].Y;
Client.OriginZ = flagsdesti[key].Z;
}
}
}
}
}
}
void makeflags()
{
try
{
string flag = GetServerCFG("KILLERFLAGS", "die", "0");
if (flag != "0")
{
for (int i = 1; i <= int.Parse(flag); i++)
{
string flaged = GetServerCFG("KILLERFLAGS", string.Format("die{0}", i.ToString()), "null");
if (flaged != null)
{
string map = flaged.Split(',')[0];
string vector = flaged.Split(',')[1];
string vector2 = vector.Split('(')[1];
string vector3 = vector2.Split(')')[0];
string vec1 = vector3.Split('_')[0];
string vec2 = vector3.Split('_')[1];
string vec3 = vector3.Split('_')[2];
Vector vec = new Vector(Convert.ToSingle(vec1), Convert.ToSingle(vec2), Convert.ToSingle(vec3));
if (!flagsorigin.ContainsValue(vec))
flagsorigin.Add(string.Format("{0},{1}", map, i.ToString()), vec);
vector = flaged.Split(',')[2];
vector2 = vector.Split('(')[1];
vector3 = vector2.Split(')')[0];
vec1 = vector3.Split('_')[0];
vec2 = vector3.Split('_')[1];
vec3 = vector3.Split('_')[2];
vec = new Vector(Convert.ToSingle(vec1), Convert.ToSingle(vec2), Convert.ToSingle(vec3));
if (!flagsdesti.ContainsValue(vec))
flagsdesti.Add(string.Format("{0},{1}", map, i.ToString()), vec);
}
}
foreach (string key in flagsdesti.Keys)
{
if (key.Split(',')[0] == GetDvar("mapname"))
{
Entity en = SpawnModel("script_brushmodel", "prop_flag_neutral", flagsdesti[key]);
}
}
foreach (string key in flagsdesti.Keys)
{
if (key.Split(',')[0] == GetDvar("mapname"))
{
Entity en = SpawnModel("script_brushmodel", "prop_flag_neutral", flagsorigin[key]);
}
}
}
}
catch (Exception e)
{
ServerPrint(e.ToString());
}
}
}
}RE: timer/message for flags - Ich1994 - 01-07-2013 (01-07-2013, 22:11)hillbilly Wrote: can i add, a delay timers to activate the flag, and a message warning to move? yes, you can
RE: timer/message for flags - hillbilly - 01-07-2013 ok i will rephrase the question, how can i? RE: timer/message for flags - DidUknowiPwn - 01-08-2013 Is there an AfterDelay in the Server Addon? If so you need to do a delegate after. RE: timer/message for flags - Nekochan - 01-08-2013 Why using script_brushmodel, use script_model RE: timer/message for flags - master131 - 01-08-2013 (01-08-2013, 00:02)DidUknowiPwn Wrote: Is there an AfterDelay in the Server Addon? If so you need to do a delegate after. No, all timing must be handled manually through OnServerFrame (per frame hook) or OnAddonFrame (250ms frame). EDIT - Added timing functions to MW3 Server Addon Extensions: http://www.itsmods.com/forum/Thread-Release-MW3-Server-Addon-Extensions.html RE: timer/message for flags - archit - 01-14-2013 If you still need this I can add it to the plugin RE: timer/message for flags - hillbilly - 01-14-2013 (01-14-2013, 13:06)archit Wrote: If you still need this I can add it to the plugin please do RE: timer/message for flags - archit - 01-15-2013 I couldn't understand what you mean though, if a player stays in a flag area he gets a warning and if he doesn't move he is teleported? RE: timer/message for flags - hillbilly - 01-16-2013 (01-15-2013, 13:24)archit Wrote: I couldn't understand what you mean though, if a player stays in a flag area he gets a warning and if he doesn't move he is teleported? yes, as i use 2 versions of the flag, one for tp and one for death trap for glitches. |