Установка и начальная настройка Metamod:Source + SourceMod

Здесь хранится вся документация по созданию выделенных серверов
Сообщение
Автор
Аватара пользователя
Snake 60
Лейтенант
Лейтенант
Сообщения: 125
Зарегистрирован: 28.10.2007
Откуда: Псков
Контактная информация:

#346 Сообщение 13.02.2009, 02:31

Этот плагин портирован с ЭвентСкрипта и пути к файлам там прописаны жёстко... Если хочешь свои звуки, то делаешь следующее:
Открываешь исходник (файл roundsound.sp в папке cstrikeaddonssourcemodscripting) любым текстовым редактором, находишь все названия муз.файлов и меняешь на свои. Вот пример ка это сделано у меня (красным выделено то, что я менял):
[spoiler=""roundsound.sp""]// File: roundsound.sp
// Author: TanaToS
// Copyright (C) by TanaToS
// Modified by Snake 60
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#define PLUGIN_VERSION "4.0 SMX"

public Plugin:myinfo = {
name = "RoundSound SMX",
author = "TanaToS",
description = "RoundSound SMX Plugin",
version = PLUGIN_VERSION,
url = "http://addons.eventscripts.com/addons/v ... 3--TanaToS"
};

public OnPluginStart() {
HookEvent("round_end", EventRoundEnd, EventHookMode_Post);
AddFileToDownloadsTable("sound/misc/ctwinnar2.mp3");
AddFileToDownloadsTable("sound/misc/grom2.mp3");
AddFileToDownloadsTable("sound/misc/informer.mp3");
AddFileToDownloadsTable("sound/misc/da.mp3");
AddFileToDownloadsTable("sound/misc/kiss.mp3");
AddFileToDownloadsTable("sound/misc/ac.mp3");
}

public OnMapStart() {
AddFileToDownloadsTable("sound/misc/ctwinnar2.mp3");
AddFileToDownloadsTable("sound/misc/grom2.mp3");
AddFileToDownloadsTable("sound/misc/informer.mp3");
AddFileToDownloadsTable("sound/misc/da.mp3");
AddFileToDownloadsTable("sound/misc/kiss.mp3");
AddFileToDownloadsTable("sound/misc/ac.mp3");
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new winner = GetEventInt(event, "winner");
new random = GetRandomInt(1, 3);
if(winner == 2) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play misc/da.mp3");
} if(random == 2) {
ClientCommand(userid, "play misc/kiss.mp3");
} if(random == 3) {
ClientCommand(userid, "play misc/ac.mp3"); }
}
}
} else if(winner == 3) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play misc/ctwinnar2.mp3");
} if(random == 2) {
ClientCommand(userid, "play misc/grom2.mp3");
} if(random == 3) {
ClientCommand(userid, "play misc/informer.mp3"); }
}
}
}
}[/spoiler]
Потом сохраняешь файл и запускаешь компилятор (файл compile.exe) если все прошло без ошибок, то готовый плагин ищешь в папке compiled
и копируешь к себе на серв вместе со своими звуками...

P.S. Если указывать название звукового файла без расширения, то плагин будет искать wav файлы, а если хотим юзать mp3, то явно указываем расширение...
Последний раз редактировалось Snake 60 13.02.2009, 18:59, всего редактировалось 1 раз.
Изображение
Изображение
Изображение
Изображение
Изображение

Аватара пользователя
traffiQ
Лейтенант
Лейтенант
Сообщения: 231
Зарегистрирован: 02.11.2008
Откуда: Saratov
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

#347 Сообщение 13.02.2009, 07:43

Snake 60 писал(а):Этот плагин портирован с ЭвентСкрипта и пути к файлам там прописаны жёстко... Если хочешь свои звуки, то делаешь следующее:
Открываешь исходник (файл roundsound.sp в папке cstrikeaddonssourcemodscripting) любым текстовым редактором, находишь все названия муз.файлов и меняешь на свои. Вот пример ка это сделано у меня (красным выделено то, что я менял):
[spoiler=""roundsound.sp""]// File: roundsound.sp
// Author: TanaToS
// Copyright (C) by TanaToS
// Modified by Snake 60
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#define PLUGIN_VERSION "4.0 SMX"

public Plugin:myinfo = {
name = "RoundSound SMX",
author = "TanaToS",
description = "RoundSound SMX Plugin",
version = PLUGIN_VERSION,
url = "http://addons.eventscripts.com/addons/v ... 3--TanaToS"
};

public OnPluginStart() {
HookEvent("round_end", EventRoundEnd, EventHookMode_Post);
AddFileToDownloadsTable("sound/misc/ctwinnar2.mp3");
AddFileToDownloadsTable("sound/misc/grom2.mp3");
AddFileToDownloadsTable("sound/misc/informer.mp3");
AddFileToDownloadsTable("sound/misc/da.mp3");
AddFileToDownloadsTable("sound/misc/kiss.mp3");
AddFileToDownloadsTable("sound/misc/ac.mp3");
}

public OnMapStart() {
AddFileToDownloadsTable("sound/misc/ctwinnar2.mp3");
AddFileToDownloadsTable("sound/misc/grom2.mp3");
AddFileToDownloadsTable("sound/misc/informer.mp3");
AddFileToDownloadsTable("sound/misc/da.mp3");
AddFileToDownloadsTable("sound/misc/kiss.mp3");
AddFileToDownloadsTable("sound/misc/ac.mp3");
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new winner = GetEventInt(event, "winner");
new random = GetRandomInt(1, 3);
if(winner == 2) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play misc/da.mp3");
} if(random == 2) {
ClientCommand(userid, "play misc/kiss.mp3");
} if(random == 3) {
ClientCommand(userid, "play misc/ac.mp3"); }
}
}
} else if(winner == 3) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play misc/ctwinnar2.mp3");
} if(random == 2) {
ClientCommand(userid, "play misc/grom2.mp3");
} if(random == 3) {
ClientCommand(userid, "play misc/informer.mp3"); }
}
}
}
}[/spoiler]
Потом сохраняешь файл и запускаешь компилятор (файл compile.exe) если все прошло без ошибок, то готовый плагин ищешь в папке compiled
и копируешь к себе на серв вместе со своими звуками...
Cпасибо большое,буду пробывать! :beer: :good:

pasha233
Нович0к
Нович0к
Сообщения: 10
Зарегистрирован: 11.02.2009

#348 Сообщение 13.02.2009, 19:16

U#0 писал(а):
pasha233 писал(а):Помогите пожалуста немогу вызват команду sm_admin все испробовал IP вадил нефига :dash:
Куда "вадил" та? )))
В консол

Аватара пользователя
traffiQ
Лейтенант
Лейтенант
Сообщения: 231
Зарегистрирован: 02.11.2008
Откуда: Saratov
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

#349 Сообщение 14.02.2009, 01:37

Snake 60 писал(а):Этот плагин портирован с ЭвентСкрипта и пути к файлам там прописаны жёстко... Если хочешь свои звуки, то делаешь следующее:
Открываешь исходник (файл roundsound.sp в папке cstrikeaddonssourcemodscripting) любым текстовым редактором, находишь все названия муз.файлов и меняешь на свои. Вот пример ка это сделано у меня (красным выделено то, что я менял):
[spoiler=""roundsound.sp""]// File: roundsound.sp
// Author: TanaToS
// Copyright (C) by TanaToS
// Modified by Snake 60
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#define PLUGIN_VERSION "4.0 SMX"

public Plugin:myinfo = {
name = "RoundSound SMX",
author = "TanaToS",
description = "RoundSound SMX Plugin",
version = PLUGIN_VERSION,
url = "http://addons.eventscripts.com/addons/v ... 3--TanaToS"
};

public OnPluginStart() {
HookEvent("round_end", EventRoundEnd, EventHookMode_Post);
AddFileToDownloadsTable("sound/misc/ctwinnar2.mp3");
AddFileToDownloadsTable("sound/misc/grom2.mp3");
AddFileToDownloadsTable("sound/misc/informer.mp3");
AddFileToDownloadsTable("sound/misc/da.mp3");
AddFileToDownloadsTable("sound/misc/kiss.mp3");
AddFileToDownloadsTable("sound/misc/ac.mp3");
}

public OnMapStart() {
AddFileToDownloadsTable("sound/misc/ctwinnar2.mp3");
AddFileToDownloadsTable("sound/misc/grom2.mp3");
AddFileToDownloadsTable("sound/misc/informer.mp3");
AddFileToDownloadsTable("sound/misc/da.mp3");
AddFileToDownloadsTable("sound/misc/kiss.mp3");
AddFileToDownloadsTable("sound/misc/ac.mp3");
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new winner = GetEventInt(event, "winner");
new random = GetRandomInt(1, 3);
if(winner == 2) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play misc/da.mp3");
} if(random == 2) {
ClientCommand(userid, "play misc/kiss.mp3");
} if(random == 3) {
ClientCommand(userid, "play misc/ac.mp3"); }
}
}
} else if(winner == 3) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play misc/ctwinnar2.mp3");
} if(random == 2) {
ClientCommand(userid, "play misc/grom2.mp3");
} if(random == 3) {
ClientCommand(userid, "play misc/informer.mp3"); }
}
}
}
}[/spoiler]
Потом сохраняешь файл и запускаешь компилятор (файл compile.exe) если все прошло без ошибок, то готовый плагин ищешь в папке compiled
и копируешь к себе на серв вместе со своими звуками...

P.S. Если указывать название звукового файла без расширения, то плагин будет искать wav файлы, а если хотим юзать mp3, то явно указываем расширение...
Всё получилось!Только одна беда файлы то качаются,но в игре не воспроизводятся!
Я думаю из за формата музыки не влияет!А что тогда?
Вот мой roundsound.sp
// File: roundsound.sp
// Author: TanaToS
// Copyright (C) by TanaToS
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

#define PLUGIN_VERSION "4.0 SMX"

public Plugin:myinfo = {
name = "RoundSound SMX",
author = "TanaToS",
description = "RoundSound SMX Plugin",
version = PLUGIN_VERSION,
url = "http://addons.eventscripts.com/addons/v ... 3--TanaToS"
};

public OnPluginStart() {
HookEvent("round_end", EventRoundEnd, EventHookMode_Post);
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_1.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_2.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_3.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_4.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_5.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_6.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_7.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_8.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_9.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_1.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_2.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_3.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_4.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_5.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_6.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_7.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_8.mp3");
}

public OnMapStart() {
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_1.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_2.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_3.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_4.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_5.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_6.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_7.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_8.mp3");
AddFileToDownloadsTable("sound/n_s_zone_ct/n_s_ct_9.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_1.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_2.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_3.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_4.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_5.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_6.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_7.mp3");
AddFileToDownloadsTable("sound/n_s_zone_t/n_s_t_8.mp3");
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new winner = GetEventInt(event, "winner");
new random = GetRandomInt(1, 3);
if(winner == 2) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_1");
} if(random == 2) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_2");
} if(random == 3) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_3");
} if(random == 4) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_4");
} if(random == 5) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_5");
} if(random == 6) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_6");
} if(random == 7) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_7");
} if(random == 8) {
ClientCommand(userid, "play n_s_zone_t/n_s_t_8"); }
}
}
} else if(winner == 3) {
for(new userid = 1; userid <= GetMaxClients(); userid++) {
if(IsClientInGame(userid) && !IsFakeClient(userid)) {
if(random == 1) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_1");
} if(random == 2) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_2");
} if(random == 3) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_3");
} if(random == 4) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_4");
} if(random == 5) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_5");
} if(random == 6) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_6");
} if(random == 7) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_7");
} if(random == 8) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_8");
} if(random == 9) {
ClientCommand(userid, "play n_s_zone_ct/n_s_ct_9"); }
}
}
}
}

Аватара пользователя
silent.3w
Нович0к
Нович0к
Сообщения: 3
Зарегистрирован: 14.02.2009

#350 Сообщение 14.02.2009, 15:53

Потом сохраняешь файл и запускаешь компилятор (файл compile.exe) если все прошло без ошибок, то готовый плагин ищешь в папке compiled
и копируешь к себе на серв вместе со своими звуками...
Где компилятор взять, если его нет ?

Аватара пользователя
U#0
Майор
Майор
Сообщения: 529
Зарегистрирован: 25.10.2007
Поблагодарили: 1 раз
Контактная информация:

#351 Сообщение 14.02.2009, 21:31

silent.3w писал(а):Где компилятор взять, если его нет ?
Есть.

Аватара пользователя
silent.3w
Нович0к
Нович0к
Сообщения: 3
Зарегистрирован: 14.02.2009

#352 Сообщение 15.02.2009, 08:33

U#0 писал(а):
silent.3w писал(а):Где компилятор взять, если его нет ?
Есть.
Уважаемый, я же не просто так пишу что нету компилятора. Скиньте файликом если это возможно

Аватара пользователя
U#0
Майор
Майор
Сообщения: 529
Зарегистрирован: 25.10.2007
Поблагодарили: 1 раз
Контактная информация:

#353 Сообщение 15.02.2009, 10:54

silent.3w писал(а):Уважаемый, я же не просто так пишу что нету компилятора. Скиньте файликом если это возможно
Даже хамить расхотелось. )))
Смотри тут: /addons/sourcemod/scripting/, дальше в зависимости от платформы.

Аватара пользователя
Snake 60
Лейтенант
Лейтенант
Сообщения: 125
Зарегистрирован: 28.10.2007
Откуда: Псков
Контактная информация:

#354 Сообщение 16.02.2009, 10:46

NicroMANger
Snake 60 писал(а):
P.S. Если указывать название звукового файла без расширения, то плагин будет искать wav файлы, а если хотим юзать mp3, то явно указываем расширение...

А теперь внимательно посмотри на свой файл :wink:
У тебя
ClientCommand(userid, "play n_s_zone_t/n_s_t_1");
А надо
ClientCommand(userid, "play n_s_zone_t/n_s_t_1.mp3");
silent.3w
Если глазками не видим, то юзаем поиск. :wink: Открываем папку cstrike\addons\sourcemod\scripting жмем Ctrl+F и ищем файл compile.exe (для винды). Для Пингвинов он же - compile.sh
Изображение
Изображение
Изображение
Изображение
Изображение

Аватара пользователя
Syrix
Лейтенант
Лейтенант
Сообщения: 159
Зарегистрирован: 12.08.2006
Откуда: Норильск
Поблагодарили: 3 раза
Контактная информация:

#355 Сообщение 16.02.2009, 13:35

кто может нормально объяснить как настроит правильно ATAC ?
а то у меня только кикает или банит, выскакивает меню наказание но когда выбираешь наказание оно не срабатывает .

Аватара пользователя
Snake 60
Лейтенант
Лейтенант
Сообщения: 125
Зарегистрирован: 28.10.2007
Откуда: Псков
Контактная информация:

#356 Сообщение 16.02.2009, 18:01

Плагин пока недоделан, поэтому и болтается в категории Unapproved, автор похоже немножко подзабил на него... у меня тоже работает только кик и бан... может кто из наших кодеров подправит исходнички ;)
Изображение
Изображение
Изображение
Изображение
Изображение

Аватара пользователя
traffiQ
Лейтенант
Лейтенант
Сообщения: 231
Зарегистрирован: 02.11.2008
Откуда: Saratov
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

#357 Сообщение 16.02.2009, 18:52

Snake 60 писал(а):NicroMANger
Snake 60 писал(а):
P.S. Если указывать название звукового файла без расширения, то плагин будет искать wav файлы, а если хотим юзать mp3, то явно указываем расширение...

А теперь внимательно посмотри на свой файл :wink:
У тебя
ClientCommand(userid, "play n_s_zone_t/n_s_t_1");
А надо
ClientCommand(userid, "play n_s_zone_t/n_s_t_1.mp3");
silent.3w
Если глазками не видим, то юзаем поиск. :wink: Открываем папку cstrike\addons\sourcemod\scripting жмем Ctrl+F и ищем файл compile.exe (для винды). Для Пингвинов он же - compile.sh
Во спасибо большое!Тперь всё работает!

Аватара пользователя
silent.3w
Нович0к
Нович0к
Сообщения: 3
Зарегистрирован: 14.02.2009

#358 Сообщение 17.02.2009, 11:34

Если глазками не видим, то юзаем поиск. Открываем папку cstrike\addons\sourcemod\scripting жмем Ctrl+F и ищем файл compile.exe (для винды). Для Пингвинов он же - compile.sh
Проблема решилась. Скачал занового sourcemod

-=raZer=-
Нович0к
Нович0к
Сообщения: 18
Зарегистрирован: 10.02.2009

#359 Сообщение 19.02.2009, 11:41

я перешел маньки на СМ, прописал себя админом, запускаю голосование - у игроков появляется менюшка НО!!! она висит мало времени , я сам даже не успеваю прочитать названия карт. Так вот как мне увеличить время отображения менюшки голосования? :dash:
[spoiler=]Хочешь мира? Готовься к войне![/spoiler]

Аватара пользователя
Snake 60
Лейтенант
Лейтенант
Сообщения: 125
Зарегистрирован: 28.10.2007
Откуда: Псков
Контактная информация:

#360 Сообщение 21.02.2009, 01:57

Если ты про смену карт, то бишь меню при rtv то открой файл mapchooser.cfg изпапки ..\cstrike\cfg\sourcemod там последняя строчка sm_mapvote_voteduration "20" где 20 - время в секундах
Изображение
Изображение
Изображение
Изображение
Изображение

Ответить Вложения 4