Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Как сделать выполнение серверной команды по счетчику убийств
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)
---------------------------------------------
Всем спасибо я разобрался ))))

 
  • Страница 1 из 1
  • 1
Поиск: