L4D SMPlugins

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

#76 Сообщение 21.08.2009, 13:46

Плагин для бана умников, которые перезаходят на сервер после того, как объявлено голосование на их кик (в результате их перезахода они само собой не банятся на 5 минут как должны были)
[spoiler=""Прячем это дело в спойлер""]

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

#pragma semicolon 1

#include <sourcemod>

public Plugin:myinfo = 
{
	name = "Ban voted off player",
	author = "D1maxa",
	description = "banning player that been voted off",
	version = "1.2",
	url = "http://hl2.msk.su/"
};

new String:steamid[32]="";
new bool:ok;
new Handle:banDuration;
new yesVotes,noVotes;

public OnPluginStart()
{
	banDuration = CreateConVar("sm_autoban_time","5","autoban time in minutes. Use 0 for permanent");
	HookEvent("vote_started",Event_VoteStarted);	
	HookEvent("vote_cast_yes",Event_VoteYes);
	HookEvent("vote_cast_no",Event_VoteNo);
}

public Event_VoteStarted(Handle:event, const String:name[], bool:dontBroadcast)
{
	new String:issue[64];	
	ok=false;
	GetEventString(event,"issue",issue,sizeof(issue));			
	if(StrEqual(issue,"#L4D_vote_kick_player",false))
	{
		new String:param[64];
		new String:pname[MAX_NAME_LENGTH];
		GetEventString(event,"param1",param,sizeof(param));
		for(new i=1;i<=MaxClients;i++)
		{
			if(IsClientConnected(i) && !IsFakeClient(i) && GetClientName(i,pname,sizeof(pname)))
			{
				if(StrEqual(pname,param,false) && GetClientAuthString(i,steamid,sizeof(steamid)))
				{
					ok=true;	
					yesVotes=0;
					noVotes=0;
					CreateTimer(30.0,checkVote);					
				}
			}			
		}		
	}
}

public Event_VoteYes(Handle:event, const String:name[], bool:dontBroadcast)
{
	if(ok) yesVotes++;
}

public Event_VoteNo(Handle:event, const String:name[], bool:dontBroadcast)
{
	if(ok) noVotes++;
}

public Action:checkVote(Handle:timer)
{
	if(yesVotes>noVotes)
	{
		LogMessage("Server bans voted off player, yes:%i,no:%i",yesVotes,noVotes);
		ServerCommand("banid %d %s kick",GetConVarInt(banDuration),steamid);
	}
}

[/spoiler]
Скомпилировать можно здесь: http://www.sourcemod.net/compiler.php
Бан по steamid, соответственно сервер должен быть на rev-emu
p.s. Хотя само собой можно использовать плагин anti-reconnect для похожих целей
Кооперативное прохождение Half-Life, Half-Life 2
Хотите пройти half-life вместе с другом? Смотрите здесь
Кооп HL2, EP1, EP2, LostCoast, HL:Source, HL1 http://hl2.msk.su
Synergy, Obsidian Conflict, Follow Freeman, SvenCoop, Opforce Coop и т.п.
L4D GameQuery - программа для мониторинга L4D серверов

286
Нович0к
Нович0к
Сообщения: 6
Зарегистрирован: 26.08.2009

#77 Сообщение 26.08.2009, 15:19

Возникла проблема с языком плагинов
поставил плагин http://forums.alliedmods.net/showthread.php?t=100507
закинул английский файл в sourcemod\translations и русский в sourcemod\translations\ru
но т.к.

"Languages"
{
// "en" "English"
"ru" "Russian"
}
SM не читает английский файл, этого плагина(и плагин не стартует), потому что в нем

"SERVER_PLUGIN_ENABLED"
{
"#format" "{1:s}"
"en" "have been ENABLED for {1}!"
}
А если в sourcemod\translations закинуть файл с русским переводом, то плагин запускается, пишет в игру по русски, НО и пишет тупо как в файле активирован для режима {1}!, т.к. в трансляторе с русскими буквами, не прописан формат=(
"SERVER_PLUGIN_ENABLED"
{
"ru" "активирован для режима {1}!"
}

Теперь вопрос :blush: Как заставить плагин работать на русском как нада, и на английском вообще?
Если расскоментировать английский в \addons\sourcemod\configs\languages.cfg, то все плагины переключаются на инглиш, а те, которые этого сделать не могут, пишут кракозяблами=( (но ни того, ни другого мне естественно не нужно=)

Аватара пользователя
БатькаФриман
Нович0к
Нович0к
Сообщения: 23
Зарегистрирован: 30.11.2008
Откуда: City 17

#78 Сообщение 26.08.2009, 16:10

286
хм... я точно не знаю, но вполне может кое-чего сработать...
возьми файл транслятора англ версии и открой рус версии и добавляй строчки начинающиеся на "ru" в англ версию(только втыкай как след. строчку)
вот пример одного плагина...
"DID Menu"
{
"en" "Set Damage Display mode"
}
я открываю транслятор рус версии ищу там "DID Menu" и копирую от туда "ru" и в этоге у меня должно вот что получится...
"DID Menu"
{
"ru" "Панель повреждений"
"en" "Set Damage Display mode"
}
по идеи должно сработать
P.S. прабла с {1} возникает из-за того что в рус трансляторах нету нужных строчек "#format" там где они нужны... по этому лучше юзать тот способ что я выше описывал... в англ трансляторе уже есть свои "#format" с нужными переменными!

Аватара пользователя
0zon
Лейтенант
Лейтенант
Сообщения: 178
Зарегистрирован: 01.04.2009
Благодарил (а): 1 раз

#79 Сообщение 26.08.2009, 19:18

286
Ставь версию сурс мода 1.2.1 и не занимайся извратом, у самого стоит этот плагин и никаких проблем с переводами не возникает.
// "en" "English"
А вот этотого делать ни в коем случае нельзя.

Аватара пользователя
БатькаФриман
Нович0к
Нович0к
Сообщения: 23
Зарегистрирован: 30.11.2008
Откуда: City 17

#80 Сообщение 27.08.2009, 02:56

286
если честн такой баг может быть с любым плагином и не всегда это зависит от сорс мода(у меня подобная фигня была в плагинами и это на норм версии сорс мода было)
Последний раз редактировалось БатькаФриман 27.08.2009, 02:56, всего редактировалось 3 раза.
Причина: полностью цитировать предыдущий пост запрещено.

286
Нович0к
Нович0к
Сообщения: 6
Зарегистрирован: 26.08.2009

#81 Сообщение 27.08.2009, 11:50

Это было не изза бага соурс мода, а изза неправильной его конфигурации :blush: . Я качал готовую сборку, и в ней (видимо пытаясь добиться русского языка) закоментировали // "en" "English", А вот про файл addons\sourcemod\configs\core.cfg и забыли. В нем я как раз и выставил то что нужно:
"ServerLang" "ru"
"AllowClLanguageVar" "off"
Последний параметр переводит все на русский (язык сервера) несмотря на то что мой клиент английский.

Спасибо что наталкнули на верное решение :beer:

Аватара пользователя
Rain_RHCP
Лейтенант
Лейтенант
Сообщения: 175
Зарегистрирован: 29.12.2008

#82 Сообщение 16.09.2009, 17:50

Скажите пожалуста, на сервере стоит 12 человек 4х4 + 4 спектатра, но иногда при заходе людей их перекидывает за зомби или за выживших и становиться 5х5 можно ли както поправить?
плагин этот использую https://forums.alliedmods.net/showthread.php?t=93600
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
ИзображениеИзображениеИзображение

Аватара пользователя
mikhdenis-nm
Сержант
Сержант
Сообщения: 92
Зарегистрирован: 14.04.2009
Откуда: Одесса

#83 Сообщение 17.09.2009, 10:47

Rain_RHCP
Попробуй установить плагин Remember Spectators v1.2.5
Изображение

Аватара пользователя
Rain_RHCP
Лейтенант
Лейтенант
Сообщения: 175
Зарегистрирован: 29.12.2008

#84 Сообщение 18.09.2009, 10:13

mikhdenis-nm писал(а):Rain_RHCP
Попробуй установить плагин Remember Spectators v1.2.5
не помогло, но за плагин спасибо, тоже нужен был)

Добавлено спустя 29 минут 38 секунд:
скажите пожалуста что этот плагин делает http://forums.alliedmods.net/showthread.php?p=928684
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
ИзображениеИзображениеИзображение

Аватара пользователя
dimaxa
Лейтенант
Лейтенант
Сообщения: 210
Зарегистрирован: 16.10.2007

#85 Сообщение 18.09.2009, 13:55

Rain_RHCP писал(а):скажите пожалуста что этот плагин делает http://forums.alliedmods.net/showthread.php?p=928684
Тот плагин кикает подвисших клиентов, то есть например на серве играет 7 человек, а если набрать status в консоли - показывает, что на серве 8, кто-то один подвис при коннекте. Плагин кикает именно таких, чтоб не занимали слоты
Кооперативное прохождение Half-Life, Half-Life 2
Хотите пройти half-life вместе с другом? Смотрите здесь
Кооп HL2, EP1, EP2, LostCoast, HL:Source, HL1 http://hl2.msk.su
Synergy, Obsidian Conflict, Follow Freeman, SvenCoop, Opforce Coop и т.п.
L4D GameQuery - программа для мониторинга L4D серверов

Аватара пользователя
Rain_RHCP
Лейтенант
Лейтенант
Сообщения: 175
Зарегистрирован: 29.12.2008

#86 Сообщение 18.09.2009, 21:50

Rain_RHCP писал(а):Скажите пожалуста, на сервере стоит 12 человек 4х4 + 4 спектатра, но иногда при заходе людей их перекидывает за зомби или за выживших и становиться 5х5 можно ли както поправить?
плагин этот использую https://forums.alliedmods.net/showthread.php?t=93600
всётаки помогите чем можете)
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
ИзображениеИзображениеИзображение

Аватара пользователя
0zon
Лейтенант
Лейтенант
Сообщения: 178
Зарегистрирован: 01.04.2009
Благодарил (а): 1 раз

#87 Сообщение 19.09.2009, 01:50

Rain_RHCP
Ну поставь этот плагин: http://forums.alliedmods.net/showthread.php?p=830069
В конфиге к плагину есть квары: l4d_infected_limit "4" и l4d_survivor_limit "4", ставишь нужное кол-во.

Аватара пользователя
dimaxa
Лейтенант
Лейтенант
Сообщения: 210
Зарегистрирован: 16.10.2007

#88 Сообщение 19.09.2009, 12:16

эти цвары есть и без плагина:
sm_cvar survivor_limit и sm_cvar z_max_player_zombies
только они итак по умолчанию равны 4. На месте Rain_RHCP я б написал плагин для ограничения команд, но не похоже, что это в его силах

Добавлено спустя 3 минуты 49 секунд:
Rain_RHCP писал(а):
mikhdenis-nm писал(а):Rain_RHCP
Попробуй установить плагин Remember Spectators v1.2.5
не помогло, но за плагин спасибо, тоже нужен был)
у тебя пропатченный engine.dll?
Кооперативное прохождение Half-Life, Half-Life 2
Хотите пройти half-life вместе с другом? Смотрите здесь
Кооп HL2, EP1, EP2, LostCoast, HL:Source, HL1 http://hl2.msk.su
Synergy, Obsidian Conflict, Follow Freeman, SvenCoop, Opforce Coop и т.п.
L4D GameQuery - программа для мониторинга L4D серверов

Аватара пользователя
Rain_RHCP
Лейтенант
Лейтенант
Сообщения: 175
Зарегистрирован: 29.12.2008

#89 Сообщение 19.09.2009, 14:52

dimaxa
Канешно, плагины писать не умею, был бы очень благодарен если бы ты помог prankster
Изображение
Изображение
Изображение
Изображение
Изображение
Изображение
ИзображениеИзображениеИзображение

Аватара пользователя
dimaxa
Лейтенант
Лейтенант
Сообщения: 210
Зарегистрирован: 16.10.2007

#90 Сообщение 19.09.2009, 19:03

Rain_RHCP писал(а):dimaxa
Канешно, плагины писать не умею, был бы очень благодарен если бы ты помог prankster
так я задал тебе вопрос
Кооперативное прохождение Half-Life, Half-Life 2
Хотите пройти half-life вместе с другом? Смотрите здесь
Кооп HL2, EP1, EP2, LostCoast, HL:Source, HL1 http://hl2.msk.su
Synergy, Obsidian Conflict, Follow Freeman, SvenCoop, Opforce Coop и т.п.
L4D GameQuery - программа для мониторинга L4D серверов

Ответить