l4d2_nextcampaign.smx

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Ответить
Сообщение
Автор
Аватара пользователя
spider1987
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 26.11.2007

#1 Сообщение 03.05.2010, 03:52

всем привет

сделал сервер на L4D2 DLC
SUSE linux

вот тока сервер после каждои компании викидивает игрокоф
надо чтото вроде l4d2_nextcampaign.smx до упдата роботал тепер непашет некто невидел новенкова

или чтото что саменит его роботу

зарание спосиба
Изображение Изображение

Аватара пользователя
Jonny
Полковник
Полковник
Сообщения: 1371
Зарегистрирован: 30.05.2008
Благодарил (а): 23 раза
Поблагодарили: 54 раза

#2 Сообщение 03.05.2010, 10:34

1987-й год
значит тебе сейчас 22 года
и в 22 года ты абсолютно не знаешь русского языка
Никакого отношения к нацистским группам и направлениям не имею.

Аватара пользователя
serg
Капитан
Капитан
Сообщения: 473
Зарегистрирован: 27.10.2009
Откуда: Серпухов
Благодарил (а): 96 раз
Поблагодарили: 77 раз
Контактная информация:

#3 Сообщение 03.05.2010, 13:28

Jonny писал(а):1987-й год
значит тебе сейчас 22 года
и в 22 года ты абсолютно не знаешь русского языка
И что с этого.А по теме у меня тоже не хочет пахать.Пришлось на форуме alliedmods искать рабочий
Цитатник
Fast Food писал(а):Помогите плиз найти на сервер CSS эмулятор стима который не меняет стим ид у лицензионок а пираткам выдаёт такой стим ид STEAM_666.88.666 очень надо плиз!!!!
orgasm писал(а):STELS3000
у тебя лицензия?
STELS3000 писал(а):ДА! Ломаный стим!!
Loco писал(а):А так, для 4 серверов, тебе бы надо 4-х ядерный процессор.
CrAzY3010 писал(а): Вчера он представился админом, я ему поверил, ибо он умел писать синими и зелёными буквами
Misha-Tuman писал(а):Jobman у тебя голова из жопы и воняет говном
По информативности сайт довольно полезный. Но админы там - бритоголовые неадекваты, склонные к национализму и расизму. На аватарках - одна свастика. А главный там - инсульт666. Делает довольно неплохие no-steam сборки. Короче, без крепкой психики туда лучше не ходить.

Аватара пользователя
E&K
Капитан
Капитан
Сообщения: 259
Зарегистрирован: 07.07.2008
Откуда: РБ. Осиповичи
Контактная информация:

#4 Сообщение 03.05.2010, 13:50

serg561432 писал(а):
Jonny писал(а):1987-й год
значит тебе сейчас 22 года
и в 22 года ты абсолютно не знаешь русского языка
И что с этого.А по теме у меня тоже не хочет пахать.Пришлось на форуме alliedmods искать рабочий
У меня работал и старый, .txt файлики его просто отредактировал под новую компу и все. Вроде работает этот sm_l4d_mapchanger.smx точно не знаю тк версий мапчейнджров в папке много :)
Последний раз редактировалось E&K 03.05.2010, 13:57, всего редактировалось 2 раза.

Аватара пользователя
Jonny
Полковник
Полковник
Сообщения: 1371
Зарегистрирован: 30.05.2008
Благодарил (а): 23 раза
Поблагодарили: 54 раза

#5 Сообщение 03.05.2010, 13:51

Даже не умея программировать можно подправить уже созданный ранее скрипт.
l4d2_nextcampaign.sp

Код: Выделить всё

#include <sourcemod>
new Handle:mp_gamemode;
new String:current_map[24];
new repeats;
new round_end_repeats;

public Plugin:myinfo = 
{
	name = "[L4D2] Next Campaign",
	author = "Jonny",
	description = "",
	version = "1.6",
	url = "http://www.sourcemod.net/"
};

public OnPluginStart()
{
	RegConsoleCmd("say", Command_Say);
	mp_gamemode = FindConVar("mp_gamemode");
	HookEvent("finale_win", Event_FinalWin);
	HookEvent("round_start_post_nav", Event_RoundStart);
	HookEvent("round_end", Event_RoundEnd);
}

//public OnPluginEnd()
//{
//	UnhookEvent("finale_win", Event_FinalWin);
//}

public OnMapStart()
{
	GetCurrentMap(current_map, 24);
	decl String:GameMode[16];
	GetConVarString(mp_gamemode, GameMode, sizeof(GameMode));

	if (StrEqual(GameMode, "coop", false) || StrEqual(GameMode, "realism", false) || StrEqual(GameMode, "mutation3", false))
		repeats = 1;
	if (StrEqual(GameMode, "versus", false) || StrEqual(GameMode, "teamversus", false) || StrEqual(GameMode, "mutation12", false))
		repeats = 2;
	
	round_end_repeats = 0;
}

public Action:Event_FinalWin(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (StrEqual(current_map, "c1m4_atrium", false) || StrEqual(current_map, "c2m5_concert", false) || StrEqual(current_map, "c3m4_plantation", false) || StrEqual(current_map, "c4m5_milltown_escape", false) || StrEqual(current_map, "c5m5_bridge", false) || StrEqual(current_map, "c6m3_port", false))
	{
		repeats--;
		if (repeats < 1)
		{
			PrintNextCampaign();
			CreateTimer(10.0, ChangeCampaign);
		}
	}
}

public Action:TimedVote(Handle:timer, any:client)
{
	if (StrEqual(current_map, "c1m4_atrium", false))
		ServerCommand("sm_votemap c2m1_highway");
	if (StrEqual(current_map, "c2m5_concert", false))
		ServerCommand("sm_votemap c3m1_plankcountry");
	if (StrEqual(current_map, "c3m4_plantation", false))
		ServerCommand("sm_votemap c4m1_milltown_a");
	if (StrEqual(current_map, "c4m5_milltown_escape", false))
		ServerCommand("sm_votemap c5m1_waterfront");
	if (StrEqual(current_map, "c5m5_bridge", false))
		ServerCommand("sm_votemap c6m1_riverbank");
	if (StrEqual(current_map, "c6m3_port", false))
		ServerCommand("sm_votemap c1m1_hotel");
}

public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (StrEqual(current_map, "c1m4_atrium", false) || StrEqual(current_map, "c2m5_concert", false) || StrEqual(current_map, "c3m4_plantation", false) || StrEqual(current_map, "c4m5_milltown_escape", false) || StrEqual(current_map, "c5m5_bridge", false) || StrEqual(current_map, "c6m3_port", false))
	{
		if (round_end_repeats > 0)
			PrintToChatAll("\x05Mission failed \x01%d\x05 time(s)", round_end_repeats);
		if (round_end_repeats > 2)
		{	
			CreateTimer(10.0, TimedVote);
		}
	}
}

public Action:Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (StrEqual(current_map, "c1m4_atrium", false) || StrEqual(current_map, "c2m5_concert", false) || StrEqual(current_map, "c3m4_plantation", false) || StrEqual(current_map, "c4m5_milltown_escape", false) || StrEqual(current_map, "c5m5_bridge", false))
	{
		round_end_repeats++;
	}
}

public Action:ChangeCampaign(Handle:timer, any:client)
{
//	UnhookEvent("finale_win", Event_FinalWin);
	if (StrEqual(current_map, "c1m4_atrium", false))
		ServerCommand("changelevel c2m1_highway");
	if (StrEqual(current_map, "c2m5_concert", false))
		ServerCommand("changelevel c3m1_plankcountry");
	if (StrEqual(current_map, "c3m4_plantation", false))
		ServerCommand("changelevel c4m1_milltown_a");
	if (StrEqual(current_map, "c4m5_milltown_escape", false))
		ServerCommand("changelevel c5m1_waterfront");
	if (StrEqual(current_map, "c5m5_bridge", false))
		ServerCommand("changelevel c6m1_riverbank");
	if (StrEqual(current_map, "c6m3_port", false))
		ServerCommand("changelevel c1m1_hotel");
}

public Action:Command_Say(client, args)
{
	if (!client)
	{
		return Plugin_Continue;
	}
	
	decl String:text[192];
	if (!GetCmdArgString(text, sizeof(text)))
	{
		return Plugin_Continue;
	}
	
	new startidx = 0;
	if(text[strlen(text)-1] == '"')
	{
		text[strlen(text)-1] = '\0';
		startidx = 1;
	}
	
	new ReplySource:old = SetCmdReplySource(SM_REPLY_TO_CHAT);
	if (strcmp(text[startidx], "!next", false) == 0)
	{
		PrintNextCampaign();
	}

	SetCmdReplySource(old);
	
	return Plugin_Continue;	
}

PrintNextCampaign()
{
	decl String:NextCampaign[24];

	if (StrEqual(current_map, "c1m1_hotel", false) || StrEqual(current_map, "c1m2_streets", false) || StrEqual(current_map, "c1m3_mall", false) || StrEqual(current_map, "c1m4_atrium", false))
		NextCampaign = "Dark Carnival";
	if (StrEqual(current_map, "c2m1_highway", false) || StrEqual(current_map, "c2m2_fairgrounds", false) || StrEqual(current_map, "c2m3_coaster", false) || StrEqual(current_map, "c2m4_barns", false) || StrEqual(current_map, "c2m5_concert", false))
		NextCampaign = "Swamp Fever";
	if (StrEqual(current_map, "c3m1_plankcountry", false) || StrEqual(current_map, "c3m2_swamp", false) || StrEqual(current_map, "c3m3_shantytown", false) || StrEqual(current_map, "c3m4_plantation", false))
		NextCampaign = "Hard Rain";
	if (StrEqual(current_map, "c4m1_milltown_a", false) || StrEqual(current_map, "c4m2_sugarmill_a", false) || StrEqual(current_map, "c4m3_sugarmill_b", false) || StrEqual(current_map, "c4m4_milltown_b", false) || StrEqual(current_map, "c4m5_milltown_escape", false))
		NextCampaign = "The Paris";
	if (StrEqual(current_map, "c5m1_waterfront", false) || StrEqual(current_map, "c5m2_park", false) || StrEqual(current_map, "c5m3_cemetery", false) || StrEqual(current_map, "c5m4_quarter", false) || StrEqual(current_map, "c5m5_bridge", false))
		NextCampaign = "The Passing";
	if (StrEqual(current_map, "c6m1_riverbank", false) || StrEqual(current_map, "c6m2_bedlam", false) || StrEqual(current_map, "c6m3_port", false))
		NextCampaign = "Dead Center";

//	if (StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false))
//		NextCampaign = "";

	PrintToChatAll("\x05Next campaign: \x04%s", NextCampaign);
}
Никакого отношения к нацистским группам и направлениям не имею.

Аватара пользователя
spider1987
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 26.11.2007

#6 Сообщение 03.05.2010, 17:10

Jonny писал(а):1987-й год
значит тебе сейчас 22 года
и в 22 года ты абсолютно не знаешь русского языка
ну узвени как могу так и пишу

а русски я тока до 4 класса учил

а тепер в германии живу поетому и мои русскии конкретно хромает
Изображение Изображение

Аватара пользователя
spider1987
Сержант
Сержант
Сообщения: 37
Зарегистрирован: 26.11.2007

#7 Сообщение 07.05.2010, 04:43

если кому понадобится http://forums.alliedmods.net/showthread ... hlight=FMC
Изображение Изображение

RU_6uK
Капитан
Капитан
Сообщения: 319
Зарегистрирован: 26.12.2009
Поблагодарили: 15 раз

#8 Сообщение 07.05.2010, 18:27

Jonny, а как себя ведет плагин l4d2_nextcampaign.sp после завершения кампании? Он убирает голосование на возвращение в лобби / повторную игру?
ИзображениеИзображение
/.ZoZo./ Zombie Zone - Серверы Left 4 Dead 2, Team Fortress 2, Killing Floor. Всегда рады хорошим игрокам!

Аватара пользователя
Jonny
Полковник
Полковник
Сообщения: 1371
Зарегистрирован: 30.05.2008
Благодарил (а): 23 раза
Поблагодарили: 54 раза

#9 Сообщение 11.05.2010, 15:12

Должен корректно работать в версусе
l4d2_nextcampaign.sp

Код: Выделить всё

#include <sourcemod>

#define DEBUG false

new Handle:mp_gamemode;
new String:current_map[24];
new IsRoundStarted = false;
new repeats;
new round_end_repeats;

public Plugin:myinfo = 
{
	name = "[L4D2] Next Campaign",
	author = "Jonny",
	description = "",
	version = "1.7",
	url = "http://www.sourcemod.net/"
};

public OnPluginStart()
{
	RegConsoleCmd("say", Command_Say);
	mp_gamemode = FindConVar("mp_gamemode");
	HookEvent("finale_win", Event_FinalWin);
//	HookEvent("round_start_post_nav", Event_RoundStart);
	HookEvent("round_start", Event_RoundStart);
	HookEvent("round_end", Event_RoundEnd);
}

//public OnPluginEnd()
//{
//	UnhookEvent("finale_win", Event_FinalWin);
//}

stock GetGameMode()
{
	new String:GameMode[13];
	new Handle:gamecvar_mp_gamemode = FindConVar("mp_gamemode");
	GetConVarString(gamecvar_mp_gamemode, GameMode, sizeof(GameMode));
	if (StrEqual(GameMode, "coop", false) == true)
	{
		return 1;
	}
	else if (StrEqual(GameMode, "realism", false) == true)
	{
		return 1;
	}
	else if (StrEqual(GameMode, "survival", false) == true)
	{
		return 1;
	}
	else if (StrEqual(GameMode, "versus", false) == true)
	{
		return 2;
	}
	else if (StrEqual(GameMode, "teamversus", false) == true)
	{
		return 2;
	}
	else if (StrEqual(GameMode, "scavenge", false) == true)
	{
		return 2;
	}
	else if (StrEqual(GameMode, "teamscavenge", false) == true)
	{
		return 2;
	}
	else if (StrEqual(GameMode, "mutation3", false) == true)
	{
		return 1;
	}
	else if (StrEqual(GameMode, "mutation12", false) == true)
	{
		return 2;
	}
	return 0;
}

stock IsFinalMap()
{
	if (StrEqual(current_map, "c1m4_atrium", false)
	|| StrEqual(current_map, "c2m5_concert", false)
	|| StrEqual(current_map, "c3m4_plantation", false)
	|| StrEqual(current_map, "c4m5_milltown_escape", false)
	|| StrEqual(current_map, "c5m5_bridge", false))
	{
		return true;
	}
	return false;
}

public OnMapStart()
{
#if DEBUG
	PrintToChatAll("\x05Event: \x04%s", "OnMapStart()");
#endif
	
	GetCurrentMap(current_map, 24);
	decl String:GameMode[16];
	GetConVarString(mp_gamemode, GameMode, sizeof(GameMode));

	if (GetGameMode() == 1)
		repeats = 1;
	if (GetGameMode() == 2)
		repeats = 3;
	
	round_end_repeats = 0;
}

public Action:Event_FinalWin(Handle:event, const String:name[], bool:dontBroadcast)
{
#if DEBUG
	PrintToChatAll("\x05Event: \x04%s", "OnFinalWin()");
#endif
	if (IsFinalMap() && GetGameMode() == 1)
	{
		repeats--;
		if (repeats < 1)
		{
			PrintNextCampaign();
			CreateTimer(10.0, ChangeCampaign);
		}
	}
}

public Action:TimedVote(Handle:timer, any:client)
{
	if (StrEqual(current_map, "c1m4_atrium", false))
		ServerCommand("sm_votemap c2m1_highway");
	if (StrEqual(current_map, "c2m5_concert", false))
		ServerCommand("sm_votemap c3m1_plankcountry");
	if (StrEqual(current_map, "c3m4_plantation", false))
		ServerCommand("sm_votemap c4m1_milltown_a");
	if (StrEqual(current_map, "c4m5_milltown_escape", false))
		ServerCommand("sm_votemap c5m1_waterfront");
	if (StrEqual(current_map, "c5m5_bridge", false))
		ServerCommand("sm_votemap c6m1_riverbank");
	if (StrEqual(current_map, "c6m3_port", false))
		ServerCommand("sm_votemap c1m1_hotel");
}

public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
#if DEBUG
	PrintToChatAll("\x05Event: \x04%s", "RoundStart()");
#endif
	IsRoundStarted = true;
	if (IsFinalMap())
	{
		if (round_end_repeats > 0 && GetGameMode() == 1)
			PrintToChatAll("\x05Mission failed \x01%d\x05 time(s)", round_end_repeats);
		if (round_end_repeats > 2)
		{	
			CreateTimer(10.0, TimedVote);
		}
	}
}

public Action:Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
#if DEBUG
	PrintToChatAll("\x05Event: \x04%s", "RoundEnd()");
#endif
	if (!IsRoundStarted)
	{
		return;
	}
	if (IsFinalMap())
	{
		round_end_repeats++;
	}
	if (GetGameMode() == 2)
	{
		if (IsFinalMap())
		{
			repeats--;
			if (repeats < 1)
			{
				PrintNextCampaign();
				CreateTimer(10.0, ChangeCampaign);
			}
		}	
	}
}

public Action:ChangeCampaign(Handle:timer, any:client)
{
//	UnhookEvent("finale_win", Event_FinalWin);
	if (StrEqual(current_map, "c1m4_atrium", false))
		ServerCommand("changelevel c2m1_highway");
	if (StrEqual(current_map, "c2m5_concert", false))
		ServerCommand("changelevel c3m1_plankcountry");
	if (StrEqual(current_map, "c3m4_plantation", false))
		ServerCommand("changelevel c4m1_milltown_a");
	if (StrEqual(current_map, "c4m5_milltown_escape", false))
		ServerCommand("changelevel c5m1_waterfront");
	if (StrEqual(current_map, "c5m5_bridge", false))
		ServerCommand("changelevel c6m1_riverbank");
	if (StrEqual(current_map, "c6m3_port", false))
		ServerCommand("changelevel c1m1_hotel");
}

public Action:Command_Say(client, args)
{
	if (!client)
	{
		return Plugin_Continue;
	}
	
	decl String:text[192];
	if (!GetCmdArgString(text, sizeof(text)))
	{
		return Plugin_Continue;
	}
	
	new startidx = 0;
	if(text[strlen(text)-1] == '"')
	{
		text[strlen(text)-1] = '\0';
		startidx = 1;
	}
	
	new ReplySource:old = SetCmdReplySource(SM_REPLY_TO_CHAT);
	if (strcmp(text[startidx], "!next", false) == 0)
	{
		PrintNextCampaign();
	}

	SetCmdReplySource(old);
	
	return Plugin_Continue;	
}

PrintNextCampaign()
{
	decl String:NextCampaign[24];

	if (StrEqual(current_map, "c1m1_hotel", false) || StrEqual(current_map, "c1m2_streets", false) || StrEqual(current_map, "c1m3_mall", false) || StrEqual(current_map, "c1m4_atrium", false))
		NextCampaign = "Dark Carnival";
	if (StrEqual(current_map, "c2m1_highway", false) || StrEqual(current_map, "c2m2_fairgrounds", false) || StrEqual(current_map, "c2m3_coaster", false) || StrEqual(current_map, "c2m4_barns", false) || StrEqual(current_map, "c2m5_concert", false))
		NextCampaign = "Swamp Fever";
	if (StrEqual(current_map, "c3m1_plankcountry", false) || StrEqual(current_map, "c3m2_swamp", false) || StrEqual(current_map, "c3m3_shantytown", false) || StrEqual(current_map, "c3m4_plantation", false))
		NextCampaign = "Hard Rain";
	if (StrEqual(current_map, "c4m1_milltown_a", false) || StrEqual(current_map, "c4m2_sugarmill_a", false) || StrEqual(current_map, "c4m3_sugarmill_b", false) || StrEqual(current_map, "c4m4_milltown_b", false) || StrEqual(current_map, "c4m5_milltown_escape", false))
		NextCampaign = "The Paris";
	if (StrEqual(current_map, "c5m1_waterfront", false) || StrEqual(current_map, "c5m2_park", false) || StrEqual(current_map, "c5m3_cemetery", false) || StrEqual(current_map, "c5m4_quarter", false) || StrEqual(current_map, "c5m5_bridge", false))
		NextCampaign = "The Passing";
	if (StrEqual(current_map, "c6m1_riverbank", false) || StrEqual(current_map, "c6m2_bedlam", false) || StrEqual(current_map, "c6m3_port", false))
		NextCampaign = "Dead Center";

//	if (StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false))
//		NextCampaign = "";

	PrintToChatAll("\x05Next campaign: \x04%s", NextCampaign);
}
Никакого отношения к нацистским группам и направлениям не имею.

Аватара пользователя
k1nder
Нович0к
Нович0к
Сообщения: 4
Зарегистрирован: 23.05.2010

#10 Сообщение 24.05.2010, 19:47

Код: Выделить всё

#include <sourcemod>
new Handle:mp_gamemode;
new String:current_map[24];
new repeats;
new round_end_repeats;

public Plugin:myinfo = 
{
	name = "[L4D2] Next Campaign",
	author = "Jonny",
	description = "",
	version = "1.6",
	url = "http://www.sourcemod.net/"
};

public OnPluginStart()
{
	RegConsoleCmd("say", Command_Say);
	mp_gamemode = FindConVar("mp_gamemode");
	HookEvent("finale_win", Event_FinalWin);
	HookEvent("round_start_post_nav", Event_RoundStart);
	HookEvent("round_end", Event_RoundEnd);
}

//public OnPluginEnd()
//{
//	UnhookEvent("finale_win", Event_FinalWin);
//}

public OnMapStart()
{
	GetCurrentMap(current_map, 24);
	decl String:GameMode[16];
	GetConVarString(mp_gamemode, GameMode, sizeof(GameMode));

	if (StrEqual(GameMode, "coop", false) || StrEqual(GameMode, "realism", false) || StrEqual(GameMode, "mutation3", false))
		repeats = 1;
	if (StrEqual(GameMode, "versus", false) || StrEqual(GameMode, "teamversus", false) || StrEqual(GameMode, "mutation12", false))
		repeats = 2;
	
	round_end_repeats = 0;
}

public Action:Event_FinalWin(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (StrEqual(current_map, "c1m4_atrium", false) || StrEqual(current_map, "c6m3_port", false) || StrEqual(current_map, "c2m5_concert", false) || StrEqual(current_map, "c3m4_plantation", false) || StrEqual(current_map, "c4m5_milltown_escape", false) || StrEqual(current_map, "c5m5_bridge", false))
	{
		repeats--;
		if (repeats < 1)
		{
			PrintNextCampaign();
			CreateTimer(10.0, ChangeCampaign);
		}
	}
}

public Action:TimedVote(Handle:timer, any:client)
{
	if (StrEqual(current_map, "c1m4_atrium", false))
		ServerCommand("sm_votemap c6m1_riverbank");
	if (StrEqual(current_map, "c6m3_port", false))
		ServerCommand("sm_votemap c2m1_highway");
	if (StrEqual(current_map, "c2m5_concert", false))
		ServerCommand("sm_votemap c3m1_plankcountry");
	if (StrEqual(current_map, "c3m4_plantation", false))
		ServerCommand("sm_votemap c4m1_milltown_a");
	if (StrEqual(current_map, "c4m5_milltown_escape", false))
		ServerCommand("sm_votemap c5m1_waterfront");
	if (StrEqual(current_map, "c5m5_bridge", false))
		ServerCommand("sm_votemap c1m1_hotel");
}

public Action:Event_RoundStart(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (StrEqual(current_map, "c1m4_atrium", false) || StrEqual(current_map, "c6m3_port", false) || StrEqual(current_map, "c2m5_concert", false) || StrEqual(current_map, "c3m4_plantation", false) || StrEqual(current_map, "c4m5_milltown_escape", false) || StrEqual(current_map, "c5m5_bridge", false))
	{
		if (round_end_repeats > 0)
			PrintToChatAll("\x05Mission failed \x01%d\x05 time(s)", round_end_repeats);
		if (round_end_repeats > 2)
		{	
			CreateTimer(10.0, TimedVote);
		}
	}
}

public Action:Event_RoundEnd(Handle:event, const String:name[], bool:dontBroadcast)
{
	if (StrEqual(current_map, "c1m4_atrium", false) || StrEqual(current_map, "c6m3_port", false) || StrEqual(current_map, "c2m5_concert", false) || StrEqual(current_map, "c3m4_plantation", false) || StrEqual(current_map, "c4m5_milltown_escape", false) || StrEqual(current_map, "c5m5_bridge", false))
	{
		round_end_repeats++;
	}
}

public Action:ChangeCampaign(Handle:timer, any:client)
{
//	UnhookEvent("finale_win", Event_FinalWin);
	if (StrEqual(current_map, "c1m4_atrium", false))
		ServerCommand("sm_votemap c6m1_riverbank");
	if (StrEqual(current_map, "c6m3_port", false))
		ServerCommand("sm_votemap c2m1_highway");
	if (StrEqual(current_map, "c2m5_concert", false))
		ServerCommand("sm_votemap c3m1_plankcountry");
	if (StrEqual(current_map, "c3m4_plantation", false))
		ServerCommand("sm_votemap c4m1_milltown_a");
	if (StrEqual(current_map, "c4m5_milltown_escape", false))
		ServerCommand("sm_votemap c5m1_waterfront");
	if (StrEqual(current_map, "c5m5_bridge", false))
		ServerCommand("sm_votemap c1m1_hotel");
}

public Action:Command_Say(client, args)
{
	if (!client)
	{
		return Plugin_Continue;
	}
	
	decl String:text[192];
	if (!GetCmdArgString(text, sizeof(text)))
	{
		return Plugin_Continue;
	}
	
	new startidx = 0;
	if(text[strlen(text)-1] == '"')
	{
		text[strlen(text)-1] = '\0';
		startidx = 1;
	}
	
	new ReplySource:old = SetCmdReplySource(SM_REPLY_TO_CHAT);
	if (strcmp(text[startidx], "!next", false) == 0)
	{
		PrintNextCampaign();
	}

	SetCmdReplySource(old);
	
	return Plugin_Continue;	
}

PrintNextCampaign()
{
	decl String:NextCampaign[24];

	if (StrEqual(current_map, "c1m1_hotel", false) || StrEqual(current_map, "c1m2_streets", false) || StrEqual(current_map, "c1m3_mall", false) || StrEqual(current_map, "c1m4_atrium", false))
                NextCampaign = "The Passing";
	if (StrEqual(current_map, "c6m1_riverbank", false) || StrEqual(current_map, "c6m2_bedlam", false) || StrEqual(current_map, "c6m3_port", false))
		NextCampaign = "Dark Carnival"
	if (StrEqual(current_map, "c2m1_highway", false) || StrEqual(current_map, "c2m2_fairgrounds", false) || StrEqual(current_map, "c2m3_coaster", false) || StrEqual(current_map, "c2m4_barns", false) || StrEqual(current_map, "c2m5_concert", false))
		NextCampaign = "Swamp Fever";
	if (StrEqual(current_map, "c3m1_plankcountry", false) || StrEqual(current_map, "c3m2_swamp", false) || StrEqual(current_map, "c3m3_shantytown", false) || StrEqual(current_map, "c3m4_plantation", false))
		NextCampaign = "Hard Rain";
	if (StrEqual(current_map, "c4m1_milltown_a", false) || StrEqual(current_map, "c4m2_sugarmill_a", false) || StrEqual(current_map, "c4m3_sugarmill_b", false) || StrEqual(current_map, "c4m4_milltown_b", false) || StrEqual(current_map, "c4m5_milltown_escape", false))
		NextCampaign = "The Paris";
	if (StrEqual(current_map, "c5m1_waterfront", false) || StrEqual(current_map, "c5m2_park", false) || StrEqual(current_map, "c5m3_cemetery", false) || StrEqual(current_map, "c5m4_quarter", false) || StrEqual(current_map, "c5m5_bridge", false))
		NextCampaign = "Dead Center";

//	if (StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false) || StrEqual(current_map, "", false))
//		NextCampaign = "";

	PrintToChatAll("\x05Next campaign: \x04%s", NextCampaign);
}
что не так делаю? я переставил местами компании

Dark Carnival добавил перед ним The Passing..

Все меняет но после Passing зависает и выбивает в меню.

Что делать как пофиксить мою кривоту
Изображение

Изображение

Аватара пользователя
Jonny
Полковник
Полковник
Сообщения: 1371
Зарегистрирован: 30.05.2008
Благодарил (а): 23 раза
Поблагодарили: 54 раза

#11 Сообщение 25.05.2010, 02:48

Все меняет но после Passing зависает и выбивает в меню.
долго пытался, но так и не смог понять каким местом "всё меняет", если в функции ChangeCampaign() ты зачем то поменял все changelevel на sm_votemap
Никакого отношения к нацистским группам и направлениям не имею.

Аватара пользователя
k1nder
Нович0к
Нович0к
Сообщения: 4
Зарегистрирован: 23.05.2010

#12 Сообщение 25.05.2010, 08:34

А вот эти значения я не менял
Но все равно спасибо,видимо я скрипт для версуса кидал,тк у меня Coop
Изображение

Изображение

Ответить