Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sourcemod>
- char sMap[64];
- Handle TimerFirstTank = null, TimerSecondTank = null;
- ConVar hMaxCountTanks, hMinTimeFirstTank, hMaxTimeFirstTank, hMaxTimeSecondTank, hMinTimeSecondTank;
- int TankCount = 0;
- public Plugin myinfo =
- {
- name = "[L4D2] Spawn Tank",
- author = "dr_lex & BHaType",
- description = "Spawn Tank)",
- version = "0.2",
- url = ""
- }
- public OnPluginStart()
- {
- hMinTimeFirstTank = CreateConVar("FirstTankMinSpawn", "5.0", "Минимальное время спауна 1 танка", FCVAR_NONE);
- hMaxTimeFirstTank = CreateConVar("FirstTankMaxSpawn", "60.0", "Максимальное время спауна 1 танка", FCVAR_NONE);
- hMaxTimeSecondTank = CreateConVar("SecondTankMinSpawn", "5.0", "Минимальное время спауна 2 танка", FCVAR_NONE);
- hMinTimeSecondTank = CreateConVar("SecondTankMaxSpawn", "60.0", "Максимальное время спауна 2 танка", FCVAR_NONE);
- hMaxCountTanks = CreateConVar("hCvarMaxTanks", "2", "Максимальное кол-во танков за карту", FCVAR_NONE);
- AutoExecConfig(true, "tankspawnmaps");
- HookEvent("player_left_start_area", hLeftStart);
- HookEvent("door_open", hLeftStart);
- }
- public hLeftStart(Event event, const char[] name, bool dontBroadcast)
- {
- GetCurrentMap(sMap, sizeof(sMap));
- if (StrContains(sMap, "c1m1_", true) == -1)
- {
- CreateTimer(2.0, MainTimerForTanks, _, TIMER_FLAG_NO_MAPCHANGE);
- }
- }
- public Action:MainTimerForTanks(Handle timer, fuck)
- {
- if(TimerFirstTank == INVALID_HANDLE && TimerSecondTank == INVALID_HANDLE)
- {
- float TimeFirstTank = GetRandomFloat(GetConVarFloat(hMinTimeFirstTank), GetConVarFloat(hMaxTimeFirstTank))
- float TimeSecondTank = GetRandomFloat(GetConVarFloat(hMinTimeSecondTank), GetConVarFloat(hMaxTimeSecondTank))
- CreateTimer(TimeFirstTank, FirstTank, _, TIMER_REPEAT)
- CreateTimer(TimeSecondTank, SecondTank, _, TIMER_REPEAT)
- }
- }
- public Action:FirstTank(Handle timer, fuck)
- {
- if(TankCount <= GetConVarInt(hMaxCountTanks))
- {
- TankCount++;
- new anyclient = GetAnyClient()
- SpawnCommand(anyclient, "z_spawn", "tank auto");
- }
- }
- public Action:SecondTank(Handle timer, any fuck)
- {
- if(TankCount <= GetConVarInt(hMaxCountTanks))
- {
- TankCount++;
- new anyclient = GetAnyClient()
- SpawnCommand(anyclient, "z_spawn", "tank auto");
- }
- }
- stock SpawnCommand(client, String:command[], String:arguments[] = "") // version 1.1
- {
- if (client)
- {
- new flags = GetCommandFlags(command);
- SetCommandFlags(command, flags & ~FCVAR_CHEAT);
- FakeClientCommand(client, "%s %s", command, arguments);
- SetCommandFlags(command, flags);
- }
- }
- stock GetAnyClient()
- {
- new i;
- for (i = 1; i <= GetMaxClients(); i++)
- if (IsClientConnected(i) && IsClientInGame(i) && (!IsFakeClient(i)))
- return i;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement