Как сделать выполнение серверной команды по счетчику убийств
|
|
WOW_NAMES
|
Дата: Вторник, 02.09.2014, 22:51:17 | Сообщение # 1 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Хочу попробовать сделать так чтобы всех игроков возродило без рестарта раунда, но не просто так а по счетчику. Если умерло 20 игроков всего в сумме, ты выполниться команда sm_respawn all. Принципиально важно чтобы именно командой от сервера это все сделалось. Если есть какие нибудь примеры или варианты дайте пожалуйста.
Сообщение отредактировал WOW_NAMES - Вторник, 02.09.2014, 22:52:10 |
|
| |
_wS_
|
Дата: Вторник, 02.09.2014, 23:12:32 | Сообщение # 2 |
|
Код public OnPluginStart() { HookEvent("player_death", player_death, EventHookMode_PostNoCopy); HookEvent("round_start", round_start, EventHookMode_PostNoCopy); }
new x;
public round_start(Handle:event, const String:name[], bool:silent) { x = 0; }
public player_death(Handle:event, const String:name[], bool:silent) { if (++x == 20) { x = 0; ServerCommand("sm_respawn all"); } }
|
|
| |
WOW_NAMES
|
Дата: Среда, 03.09.2014, 07:16:23 | Сообщение # 3 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
Этот код с успехом работает на паблике, я забыл сказать что у меня DM сервер. На нем нету начала или конца раунда ((( Скажите можно ли как то сделать отсчет погибших игроков на дедматче? Можно ли добавлять команды в это поле ServerCommand("sm_respawn all,say ИГРА НАЧАЛАСЬ) через запятую или как можно выполнить сразу несколько команд вместо одной ?
|
|
| |
BarD
|
Дата: Среда, 03.09.2014, 10:05:50 | Сообщение # 4 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Несколько команд одной функцией ServerCommand выполнять нельзя. Делай для каждой команды отдельную функцию. А теперь к счетчику: Код #include <sourcemod> new deaths;
public OnPluginStart() { HookEvent("player_death", Death); }
public OnMapStart() { deaths = 0; }
public Action:Death(Handle:event, const String:name[], bool:dontBroadcast) { deaths++;// Добавляем к счетчику смертей единицу new a = deaths % 20; // узнаем остаток от деления количества смертей на 20 if (a == 0)// если остаток равен 0, то число кратно 20 { ServerCommand("sm_respawn all"); // респавним } }
|
|
| |
_wS_
|
Дата: Среда, 03.09.2014, 13:06:07 | Сообщение # 5 |
|
Цитата BarD ( ) Несколько команд одной функцией ServerCommand выполнять нельзя Bard, можно -> ServerCommand("cmd1;cmd2;cmd3;cmd4");
|
|
| |
WOW_NAMES
|
Дата: Среда, 03.09.2014, 15:32:33 | Сообщение # 6 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
хитро, спасибо работает нормик.
|
|
| |
BarD
|
Дата: Среда, 03.09.2014, 15:39:20 | Сообщение # 7 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
_wS_, да, да) Я затупил)
|
|
| |
WOW_NAMES
|
Дата: Среда, 03.09.2014, 15:47:15 | Сообщение # 8 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
BarD, А можно как нибудь прикрутить туда воспроизведение звука???
Сообщение отредактировал WOW_NAMES - Среда, 03.09.2014, 15:47:29 |
|
| |
BarD
|
Дата: Среда, 03.09.2014, 16:20:02 | Сообщение # 9 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
WOW_NAMES, Самая нормальная комманда для воспроизведения звука: Код ClientCommand(client, "play путь к звуку"); Только в OnMapStart надо будет сделать: Код PrecacheSound("путь к звуку", true); AddFileToDownloadsTable("путь к звуку");
Сообщение отредактировал BarD - Среда, 03.09.2014, 17:26:08 |
|
| |
WOW_NAMES
|
Дата: Среда, 03.09.2014, 17:11:53 | Сообщение # 10 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
BarD, Сделал, но почему то звук проигрывается без конца. Как его проиграть и остановить то???
|
|
| |
BarD
|
Дата: Среда, 03.09.2014, 17:25:38 | Сообщение # 11 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Можно перебить звук другим, чтоб остановить. Вот этот подойдёт: Код ClientCommand(client, "play buttons/blip2.wav"); Он довольно неприметный. Только не забудь Precache звука этого сделать. ----------------- Существует ещё один способ проигрывания звука. Он немного сложнее. С ним ознакомиться сможешь тут: http://world-source.ru/forum/100-2357-1
Сообщение отредактировал BarD - Среда, 03.09.2014, 17:30:29 |
|
| |
WOW_NAMES
|
Дата: Четверг, 04.09.2014, 23:33:10 | Сообщение # 12 |
|
Сообщений: 170
Репутация: -1 [ +/- ]
|
|
BarD, Не получается я нубокодер (((( немогу никак прикрутить так чтобы именно когда респавнит всех проигралась музыка и замолчала.Помоги исходником или куском кода на этот звук (любой стандартный чтобы не качать)Добавлено (04.09.2014, 23:33:10) --------------------------------------------- Всем спасибо я разобрался ))))
|
|
| |