Иконка ресурса

Замедление в конце раунда / Slowing down at the end of the round 1.2

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #1
Описание плагина...

Замедляет время в конце раунда, при помощи команды: host_timescale
Чтобы плагин работал корректно, впишите в настройки режима(gamemode_casual) игры следующее... или замените квар:

mp_round_restart_delay 6.0.

Предупреждение: плагин включает sv_cheats 1, хотя, вроде как заблокировал все опасные команды.
Ну а если не все, добавьте сами, ищите public OnPluginStart(), после скобки добавляйте:

AddCommandListener(BC, "noclip") - как пример.
и конечно же перекомпилируйте плагин.

Демонстрация:


Исходный код:
C-подобный:
#include <emitsoundany>

public Plugin:myinfo =
{
    name = "Slowingdown Round End",
    author = "Psychologist21",
    version = "1.2 - Work on the bugs",
    url = "http://hlmod.ru"
};

public OnMapStart()
{
    AddFileToDownloadsTable("sound/slowing/slowingstart.mp3");
    AddFileToDownloadsTable("sound/slowing/slowingfinish.mp3");
    PrecacheSoundAny("slowing/slowingstart.mp3");
    PrecacheSoundAny("slowing/slowingfinish.mp3");
}

public OnPluginStart()
{
    AddCommandListener(BC, "impulse 101");
    AddCommandListener(BC, "impulse 102");
    AddCommandListener(BC, "impulse 203");
    AddCommandListener(BC, "sv_gravity");
    AddCommandListener(BC, "give");
    AddCommandListener(BC, "notarge");
    AddCommandListener(BC, "killserver");

    HookEvent("round_end", round_end, EventHookMode_PostNoCopy);
    HookEvent("server_cvar", Event_Cvar, EventHookMode_Pre);
}

public Action:Event_Cvar(Handle:event, const String:name[], bool:dontBroadcast)
{
    if(!dontBroadcast)
    {
        SetEventBroadcast(event, true);
    }
    return Plugin_Continue;
}

public Action:BC(client, const String:command[], argc)
{
    if(client != 0)
    {
        PrintToChat(client, " \x07Молодой человек, а вы ничего не попутали?");
        ClientCommand(client,"play buttons/weapon_cant_buy.wav");
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

public round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
    CreateTimer(0.5, SlowingStart, _, TIMER_FLAG_NO_MAPCHANGE);
}

public Action: SlowingStart(Handle:timer)
{
    EmitSoundToAllAny("slowing/slowingstart.mp3");
    ServerCommand("sv_cheats 1; host_timescale 0.5");
    CreateTimer(4.0, SlowingEnd, _, TIMER_FLAG_NO_MAPCHANGE);
    return Plugin_Stop;
}

public Action: SlowingEnd(Handle:timer)
{
    EmitSoundToAllAny("slowing/slowingfinish.mp3");
    ServerCommand("sv_cheats 0; host_timescale 1");
    return Plugin_Stop;
}

Версия от AlmazON
 
Последнее редактирование модератором:

TolikCorp

Участник
Сообщения
874
Реакции
334
Еще заглушить показ сообщения о смене переменной, да бы народ вообще не знал, что идет манипуляция с sv_cheats
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #3
Еще заглушить показ сообщения о смене переменной, да бы народ вообще не знал, что идет манипуляция с sv_cheats
PHP:
#include <sdkhooks>

public OnPluginStart()
{
    HookEvent("server_cvar", Event_Cvar, EventHookMode_Pre);
}

public Action:Event_Cvar(Handle:event, const String:name[], bool:dontBroadcast)
{
    if(!dontBroadcast)
    {
        SetEventBroadcast(event, true);
    }
}

Попробуй.
 

Вложения

  • blocksv.sp
    263 байт · Просмотры: 27
  • blocksv.smx
    3.6 КБ · Просмотры: 40

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
public OnPluginStart()
{
AddFileToDownloadsTable("sound/slowing/slowingstart.mp3");
AddFileToDownloadsTable("sound/slowing/slowingfinish.mp3");
PrecacheSoundAny("slowing/slowingstart.mp3");
PrecacheSoundAny("slowing/slowingfinish.mp3");
Такого в OnPluginStart() не должно быть никогда.
public round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
new
client = GetClientOfUserId(GetEventInt(event, "userid"));
Бред. В этом событии нет индекса игрока.
 

TolikCorp

Участник
Сообщения
874
Реакции
334
public OnPluginStart()
{
AddCommandListener(BC, "impulse 101");
AddCommandListener(BC, "impulse 102");
AddCommandListener(BC, "impulse 203");
AddCommandListener(BC, "sv_gravity");
AddCommandListener(BC, "give");
AddCommandListener(BC, "notarge");
AddCommandListener(BC, "killserver");

HookEvent("round_end", round_end);

new flags, Handle:cvar = FindConVar("sv_cheats");
flags = GetConVarFlags(cvar);
flags &= ~FCVAR_NOTIFY;
SetConVarFlags(cvar, flags);
CloseHandle(cvar);
}
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #8
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755

TolikCorp

Участник
Сообщения
874
Реакции
334
@Psychologist21,
Второй таймер перенес на момент, когда уже первый сработал (о чем и говорил Алмаз)
А по поводу отключения показа изменения sv_cheats - твой вариант не пробовал, но если что тот, который нашел на АМ - работает адекватно, и БЕЗхуков. Проверил.
Оффтоп
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
  • Автор ресурса
  • #11
Обновил.
Чутка оптимизировали плагин.
Спасибо AlmazON'y за поддержку.

А по поводу отключения показа изменения sv_cheats - твой вариант не пробовал
Только что затестил, работает, оставлю старый вариант.
 

-->KENT<--

На квартале
Сообщения
246
Реакции
50
Кому нужно вот еще добавил:
PHP:
AddComanndListener(BC, "noclip");
AddCommandListener(BC, "mat_wireframe 1");
AddCommandListener(BC, "r_drawothermodels 2");
AddCommandListener(BC, "give weapon_awp");
AddCommandListener(BC, "give weapon_aug");
AddCommandListener(BC, "give weapon_ak47");
AddCommandListener(BC, "give weapon_m4a1_silencer");
AddCommandListener(BC, "give weapon_m4a1");
AddCommandListener(BC, "give weapon_galilar");
AddCommandListener(BC, "give weapon_famas");
AddCommandListener(BC, "give weapon_p90");
AddCommandListener(BC, "give weapon_ump45");
AddCommandListener(BC, "give weapon_mac10");
AddCommandListener(BC, "give weapon_xm1014");
AddCommandListener(BC, "give weapon_elite");
AddCommandListener(BC, "give weapon_fiveseven");
AddCommandListener(BC, "give weapon_deagle");
AddCommandListener(BC, "give weapon_usp_silencer");
AddCommandListener(BC, "give weapon_glock18");
AddCommandListener(BC, "give weapon_knife");
AddCommandListener(BC, "give weapon_knifegg");
AddCommandListener(BC, "give weapon_m249");
AddCommandListener(BC, "give weapon_tec9");
AddCommandListener(BC, "give weapon_negev");
AddCommandListener(BC, "give weapon_scar20");
AddCommandListener(BC, "give weapon_sawedoff");
AddCommandListener(BC, "give weapon_nova");
AddCommandListener(BC, "give weapon_ssg08");
AddCommandListener(BC, "give weapon_sg553");
AddCommandListener(BC, "give weapon_cz75a");
AddCommandListener(BC, "give weapon_hkp2000");
AddCommandListener(BC, "give weapon_hegrenade");
AddCommandListener(BC, "give weapon_flashbang");
AddCommandListener(BC, "give weapon_smokegrenade");
AddCommandListener(BC, "give weapon_molotov");
AddCommandListener(BC, "give weapon_decoy");
AddCommandListener(BC, "give weapon_c4");
AddCommandListener(BC, "give weapon_taser");
AddCommandListener(BC, "give item_cutters");
AddCommandListener(BC, "give item_kevlar");
AddCommandListener(BC, "give item_assaultsuit");
AddCommandListener(BC, "sv_infinite_ammo 1");
AddCommandListener(BC, "sv_showimpacts 1");
AddCommandListener(BC, "sv_infinite_ammo 2");
AddCommandListener(BC, "sv_showimpacts 1");
AddCommandListener(BC, "sv_showbullethits 1");
AddCommandListener(BC, "cl_disable_ragdolls 1");
AddCommandListener(BC, "mat_disable_bloom 1");
AddCommandListener(BC, "r_drawparticles 0");
AddCommandListener(BC, "mp_warmuptime");
AddCommandListener(BC, "host_writeconfig");
AddCommandListener(BC, "god");
AddCommandListener(BC, "mp_limitteams 0");
AddCommandListener(BC, "mp_limitteams 1");
AddCommandListener(BC, "sv_ignoregrenaderadio 1");
AddCommandListener(BC, "mp_maxrounds");
AddCommandListener(BC, "mp_roundtime");
P.S. Автор исправь надпись, у тебя написано AddComanndListener а нужно AddCommandListener
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Замедление по длительности конца раунда:
[HIDE="1"]
PHP:
#include <emitsoundany>

public Plugin:myinfo =
{
    name = "Slowingdown Round End",
    author = "Psychologist21 & AlmazON",
    version = "1.3 - Real Delay",
    url = "http://hlmod.ru"
};

new Float:g_fDelayRound = 4.0;
new Handle:g_hTimerDelay;
new Handle:g_hCvarCheats,
	Handle:g_hCvarTimescale;

public OnMapStart()
{
	g_hTimerDelay = INVALID_HANDLE;
	AddFileToDownloadsTable("sound/slowing/slowingstart.mp3");
	AddFileToDownloadsTable("sound/slowing/slowingfinish.mp3");
	PrecacheSoundAny("slowing/slowingstart.mp3");
	PrecacheSoundAny("slowing/slowingfinish.mp3");
	PrecacheSound("buttons/weapon_cant_buy.wav");
}

public OnPluginStart()
{
	if((g_hCvarCheats = FindConVar("sv_cheats")) == INVALID_HANDLE || (g_hCvarTimescale = FindConVar("host_timescale")) == INVALID_HANDLE)
		SetFailState("Not supported!");

	AddCommandListener(BC, "impulse 101");
	AddCommandListener(BC, "impulse 102");
	AddCommandListener(BC, "impulse 203");
	AddCommandListener(BC, "sv_gravity");
	AddCommandListener(BC, "give");
	AddCommandListener(BC, "notarge");
	AddCommandListener(BC, "killserver");
	AddCommandListener(BC, "noclip");
	/*AddCommandListener(BC, "mat_wireframe 1");
	AddCommandListener(BC, "r_drawothermodels 2");
	AddCommandListener(BC, "sv_infinite_ammo 1");
	AddCommandListener(BC, "sv_showimpacts 1");
	AddCommandListener(BC, "sv_infinite_ammo 2");
	AddCommandListener(BC, "sv_showimpacts 1");
	AddCommandListener(BC, "sv_showbullethits 1");
	AddCommandListener(BC, "cl_disable_ragdolls 1");
	AddCommandListener(BC, "mat_disable_bloom 1");
	AddCommandListener(BC, "r_drawparticles 0");
	AddCommandListener(BC, "mp_warmuptime");
	AddCommandListener(BC, "host_writeconfig");
	AddCommandListener(BC, "god");
	AddCommandListener(BC, "mp_limitteams 0");
	AddCommandListener(BC, "mp_limitteams 1");
	AddCommandListener(BC, "sv_ignoregrenaderadio 1");
	AddCommandListener(BC, "mp_maxrounds");
	AddCommandListener(BC, "mp_roundtime");*/

	HookEvent("round_end", round_end);

	SetConVarFlags(g_hCvarCheats, GetConVarFlags(g_hCvarCheats) &~ FCVAR_NOTIFY);

	decl Handle:cvar;
	if((cvar = FindConVar("mp_round_restart_delay")))
	{
		g_fDelayRound = GetConVarFloat(cvar)-0.5;
		HookConVarChange(cvar, ChangeCvar_Delay);
	}
}

public ChangeCvar_Delay(Handle:cvar, String:oldValue[], String:newValue[]) g_fDelayRound = GetConVarFloat(cvar)-0.5;

public Action:BC(client, const String:command[], argc)
{
    if(client != 0)
    {
        PrintToChat(client, " \x07Молодой человек, а вы ничего не попутали?");
        ClientCommand(client,"play buttons/weapon_cant_buy.wav");
        return Plugin_Handled;
    }
    return Plugin_Continue;
}

public round_end(Handle:event, const String:name[], bool:dontBroadcast)
{
	if(g_hTimerDelay) KillTimer(g_hTimerDelay);
	g_hTimerDelay = CreateTimer(0.5, SlowingStart, GetEventInt(event, "reason") != 15, TIMER_FLAG_NO_MAPCHANGE);
}

public Action: SlowingStart(Handle:timer, any:oldround)
{
	EmitSoundToAllAny("slowing/slowingstart.mp3");
	SetConVarBool(g_hCvarCheats, true);
	SetConVarFloat(g_hCvarTimescale, 0.5);
	g_hTimerDelay = CreateTimer(oldround ? g_fDelayRound:2.4, SlowingEnd, _, TIMER_FLAG_NO_MAPCHANGE);
	return Plugin_Stop;
}

public Action: SlowingEnd(Handle:timer)
{
	g_hTimerDelay = INVALID_HANDLE;
	EmitSoundToAllAny("slowing/slowingfinish.mp3");
	SetConVarFloat(g_hCvarTimescale, 1.0);
	SetConVarBool(g_hCvarCheats, false);
	return Plugin_Stop;
}
[/HIDE]
 

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
Достаточно захухать просто give
--- Добавлено позже ---
Кому нужно вот еще добавил:
PHP:
AddComanndListener(BC, "noclip");
AddCommandListener(BC, "mat_wireframe 1");
AddCommandListener(BC, "r_drawothermodels 2");
AddCommandListener(BC, "give weapon_awp");
AddCommandListener(BC, "give weapon_aug");
AddCommandListener(BC, "give weapon_ak47");
AddCommandListener(BC, "give weapon_m4a1_silencer");
AddCommandListener(BC, "give weapon_m4a1");
AddCommandListener(BC, "give weapon_galilar");
AddCommandListener(BC, "give weapon_famas");
AddCommandListener(BC, "give weapon_p90");
AddCommandListener(BC, "give weapon_ump45");
AddCommandListener(BC, "give weapon_mac10");
AddCommandListener(BC, "give weapon_xm1014");
AddCommandListener(BC, "give weapon_elite");
AddCommandListener(BC, "give weapon_fiveseven");
AddCommandListener(BC, "give weapon_deagle");
AddCommandListener(BC, "give weapon_usp_silencer");
AddCommandListener(BC, "give weapon_glock18");
AddCommandListener(BC, "give weapon_knife");
AddCommandListener(BC, "give weapon_knifegg");
AddCommandListener(BC, "give weapon_m249");
AddCommandListener(BC, "give weapon_tec9");
AddCommandListener(BC, "give weapon_negev");
AddCommandListener(BC, "give weapon_scar20");
AddCommandListener(BC, "give weapon_sawedoff");
AddCommandListener(BC, "give weapon_nova");
AddCommandListener(BC, "give weapon_ssg08");
AddCommandListener(BC, "give weapon_sg553");
AddCommandListener(BC, "give weapon_cz75a");
AddCommandListener(BC, "give weapon_hkp2000");
AddCommandListener(BC, "give weapon_hegrenade");
AddCommandListener(BC, "give weapon_flashbang");
AddCommandListener(BC, "give weapon_smokegrenade");
AddCommandListener(BC, "give weapon_molotov");
AddCommandListener(BC, "give weapon_decoy");
AddCommandListener(BC, "give weapon_c4");
AddCommandListener(BC, "give weapon_taser");
AddCommandListener(BC, "give item_cutters");
AddCommandListener(BC, "give item_kevlar");
AddCommandListener(BC, "give item_assaultsuit");
AddCommandListener(BC, "sv_infinite_ammo 1");
AddCommandListener(BC, "sv_showimpacts 1");
AddCommandListener(BC, "sv_infinite_ammo 2");
AddCommandListener(BC, "sv_showimpacts 1");
AddCommandListener(BC, "sv_showbullethits 1");
AddCommandListener(BC, "cl_disable_ragdolls 1");
AddCommandListener(BC, "mat_disable_bloom 1");
AddCommandListener(BC, "r_drawparticles 0");
AddCommandListener(BC, "mp_warmuptime");
AddCommandListener(BC, "host_writeconfig");
AddCommandListener(BC, "god");
AddCommandListener(BC, "mp_limitteams 0");
AddCommandListener(BC, "mp_limitteams 1");
AddCommandListener(BC, "sv_ignoregrenaderadio 1");
AddCommandListener(BC, "mp_maxrounds");
AddCommandListener(BC, "mp_roundtime");
P.S. Автор исправь надпись, у тебя написано AddComanndListener а нужно AddCommandListener
 

Karmushka

Karma
Сообщения
199
Реакции
30
Выдает ошибку при комплиляции!
Помогите!!!
 

Вложения

  • Slowingdown.sp
    2.5 КБ · Просмотры: 4

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
966
Выдает ошибку при комплиляции!
Помогите!!!
upload_2016-10-2_14-4-50.png
Опечатался
AddComanndListener меняй на AddCommandListener
 

Karmushka

Karma
Сообщения
199
Реакции
30

Вложения

  • Скриншот_02_10_2016_14_36_48.jpg
    Скриншот_02_10_2016_14_36_48.jpg
    28.6 КБ · Просмотры: 27
Сверху Снизу