Hey everyone
I created a pretty simple class to count the players in a team.
It's a class that makes it easier for plugin developers to count the players in a team, it's not a plugin so don't ask why it doesn't work.
Functions:
Count(teamname); - returns the number of players in the team
GetLastAlive(); - if there's only one player in team allies it returns the client, if not it returns null.
Allies(); - a list of all survivors/team allies
Axis(); - a list of all zombies/team axis
_Team.TeamName - used for Count()
here's an example of how you can use the class, add TeamCounter.dll as a reference and inherit: TeamCounter.Counter
it's adding a waypoint on the radar to mark the last player alive
I created a pretty simple class to count the players in a team.
It's a class that makes it easier for plugin developers to count the players in a team, it's not a plugin so don't ask why it doesn't work.
Functions:
Count(teamname); - returns the number of players in the team
GetLastAlive(); - if there's only one player in team allies it returns the client, if not it returns null.
Allies(); - a list of all survivors/team allies
Axis(); - a list of all zombies/team axis
_Team.TeamName - used for Count()
here's an example of how you can use the class, add TeamCounter.dll as a reference and inherit: TeamCounter.Counter
it's adding a waypoint on the radar to mark the last player alive
CSHARP Code
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Addon;
- using System.Timers;
-
- namespace Point
- {
- #region VecClass
- public class VecXY
- {
- public float xVec;
- public float yVec;
- public int Icon;
-
- public VecXY(float x, float y, int icon)
- {
- xVec = x;
- yVec = y;
- Icon = icon;
- }
- }
- #endregion
-
- public class main :TeamCounter.Counter
- {
-
- public void checking(object s, ElapsedEventArgs e)
- {
-
- if (Count(_Team.Allies) == 1)
- {
- timer2.Enabled = true;
- }
- }
-
- public void updateLocation(object s, ElapsedEventArgs e)
- {
- if (GetLastAlive() != null)
- {
- Activate();
- x = GetLastAlive().OriginX;
- y = GetLastAlive().OriginY;
- ChangeIcon();
- SetPosition();
- }
- else
- {
- Deactivate();
- timer2.Enabled = false;
- }
- }
-
- public override void OnAddonFrame()
- {
- foreach (ServerClient c in Allies())
- {
-
- }
- foreach (ServerClient c in Axis())
- {
-
- }
- }
-
- #region PointStuff
- IntPtr activate, icon, X, Y;
-
- public static int iconNum;
- public static float x;
- public static float y;
-
- public override void OnServerLoad()
- {
- activate = (IntPtr)Convert.ToInt32(0x01B1EE9C);
- icon = (IntPtr)Convert.ToInt32(0x01B1EEBC);
- X = (IntPtr)Convert.ToInt32(0x01B1EEA0);
- Y = (IntPtr)Convert.ToInt32(0x01B1EEA4);
-
- timer.Interval = 2000;
- timer.Enabled = true;
-
- timer2.Interval = 100;
- timer2.Enabled = false;
-
- iconNum = 204;
- }
-
- unsafe public void Activate()
- {
- *(int*)activate = 1;
- }
- unsafe public void ChangeIcon()
- {
-
- *(int*)icon = iconNum;
- }
- unsafe public void Deactivate()
- {
-
- *(int*)activate = 0;
- }
- unsafe public void SetPosition()
- {
-
- *(float*)X = x;
- *(float*)Y = y;
-
- }
- #endregion
- }
- }