Скрипт Anti-Duck

Тёмик 43rus

Участник
Сообщения
58
Реакции
4
Скажите пожалуйста куда вписывать скрипт и в какое место?::(

(Скрипт для того, чтобы не давать приседать игрокам)

#include <sourcemod>

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
buttons &= ~IN_DUCK;
return Plugin_Changed;
}
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #4
Дождик, создаешь текстовый документ с расширением .sp в него вставляешь:
PHP:
#include <sourcemod> 

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)  
{  
    buttons &= ~IN_DUCK; 
    return Plugin_Changed; 
}

Компилируешь и ставишь на сервер.
 

Тёмик 43rus

Участник
Сообщения
58
Реакции
4
Смотри помогло! Но всё таки приседание 1 можно выполнить( Не знаешь как вообще не приседать?:)
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #6
попробуй return Plugin_Changed; заменить на return Plugin_Handled;
 

Тёмик 43rus

Участник
Сообщения
58
Реакции
4
Ну всё отлично! Последняя проблема: только терам нельзя приседать, а кт можно. Что делать? Чтобы и кт не могли приседать?
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #8
при таком коде
PHP:
#include <sourcemod> 

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)  
{  
    buttons &= ~IN_DUCK; 
    return Plugin_Handled;
}
он должен работать для всех.
 
Последнее редактирование:

EPacker2

3D-моделист
Сообщения
1,040
Реакции
762

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #11
EPacker2, я знаю, что туплю, но я не то имел ввиду, это роли не играет в вопросе, что для одной команды работает, а для другой нет. Исправил.
 

Тёмик 43rus

Участник
Сообщения
58
Реакции
4
Хмм...Нет, всё равно терам приседать нельзя, а кт можно! Что делать подскажите!
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #13
Дождик, в ЛС же говорил. Ты юзаешь именно этот код:
PHP:
#include <sourcemod> 

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)  
{  
    buttons &= ~IN_DUCK; 
    return Plugin_Handled;
}
или тот плагин что кидал в ЛС?
 

Exle

Участник
Сообщения
190
Реакции
216
Смотри:
1. Взял залил smx
2. Сделал скрип с расширением sp
3. В server cfg sm_antiduck_time

2 и 3 пункт вообще зачем?

PHP:
#include <sourcemod> 

public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)  
{  
    buttons &= ~IN_DUCK; 
    return Plugin_Handled;
}

Компилируешь это и закидываешь в ../sourcmod/plugins
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #16
devimd, он походу не выкупает, сам не знает зачем ему этот код, а то в лс кидал уже готовый плагин, который нужно только под команды настроить.
 

R1KO

fuck society
Сообщения
9,460
Реакции
7,799
  • Команда форума
  • #18
Личное сообщение: Привет!
Привет!
Я сделал только это:
1. Закинул плагин antiduck.smx в папку plagins
2. Закинул antiduck.sp в папку scripting
3. В server.cfg добавил sm_antiduck_time 240

Вот смотри что в в antiduck.sp:

PHP:
#pragma semicolon 1
 #include <sourcemod>
 #include <sdktools>

 #define PLUGIN_VERSION "1.1"

 new Handle:g_hCVTeam = INVALID_HANDLE;
 new Handle:g_hCVTime = INVALID_HANDLE;
 new g_iRestrictTeam = 0;
 new Float:g_fRestrictTime = 0.0;

 new Handle:g_hAllowDuckTimer[MAXPLAYERS+2] = {INVALID_HANDLE,...};
 new bool:g_bIsDucking[MAXPLAYERS+2] = {false,...};

 public Plugin:myinfo = 
 {
 name = "Anti Duck",
 author = "Jannik 'Peace-Maker' Hartung",
 description = "Disables players from ducking.",
 version = PLUGIN_VERSION,
 url = "http://www.wcfan.de/"
 }

 public OnPluginStart()
 {
 new Handle:hVersion = CreateConVar("sm_antiduck_version", PLUGIN_VERSION, "Disable Ducking", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_N OTIFY|FCVAR_DONTRECORD);
 if(hVersion != INVALID_HANDLE)
 SetConVarString(hVersion, PLUGIN_VERSION);

 g_hCVTeam = CreateConVar("sm_antiduck_team", "2", "Which team should not be allowed to duck? 0: disabled, 1: both, 2: terror, 3: ct?", FCVAR_PLUGIN, true, 0.0, true, 3.0);
 g_hCVTime = CreateConVar("sm_antiduck_time", "0", "How long in seconds should a player be disallowed to duck after standing up?", FCVAR_PLUGIN, true, 0.0);
 HookConVarChange(g_hCVTeam, ConVar_Team);
 HookConVarChange(g_hCVTime, ConVar_Time);
 }

 public OnConfigsExecuted()
 {
 g_iRestrictTeam = GetConVarInt(g_hCVTeam);
 g_fRestrictTime = GetConVarFloat(g_hCVTime);
 }

 public OnClientDisconnect(client)
 {
 g_bIsDucking[client] = false;
 if(g_hAllowDuckTimer[client] != INVALID_HANDLE)
 {
 KillTimer(g_hAllowDuckTimer[client]);
 g_hAllowDuckTimer[client] = INVALID_HANDLE;
 }
 }

 public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
 {
 if(g_iRestrictTeam == 0)
 return Plugin_Continue;

 // Disallow ducking, if player is in restricted team
 if(buttons & IN_DUCK)
 {
 g_bIsDucking[client] = true;

 // player ducked before and isn't allowed now?
 if((g_fRestrictTime == 0.0 
 || g_hAllowDuckTimer[client] != INVALID_HANDLE)
 // player is in restricted team
 && (g_iRestrictTeam == 1 
 || g_iRestrictTeam == GetClientTeam(client)))
 {
 buttons &= ~IN_DUCK;
 return Plugin_Changed;
 }
 }
 else if(g_bIsDucking[client])
 {
 g_bIsDucking[client] = false;
 g_hAllowDuckTimer[client] = CreateTimer(g_fRestrictTime, Timer_AllowDucking, client, TIMER_FLAG_NO_MAPCHANGE);
 }
 return Plugin_Continue;
 }

 public Action:Timer_AllowDucking(Handle:timer, any:client)
 {
 g_hAllowDuckTimer[client] = INVALID_HANDLE;
 return Plugin_Stop;
 }

 public ConVar_Team(Handle:convar, const String:oldValue[], const String:newValue[])
 {
 // don't execute if it's unchanged
 if(StrEqual(oldValue, newValue))
 return;

 g_iRestrictTeam = StringToInt(newValue);
 }

 public ConVar_Time(Handle:convar, const String:oldValue[], const String:newValue[])
 {
 // don't execute if it's unchanged
 if(StrEqual(oldValue, newValue))
 return;

 g_fRestrictTime = StringToFloat(newValue);
 }
Что тут изменить?
оу.. фак... оно что не отправилось?
Короче ладно.

sm_antiduck_team 1
в сервер.кфг
 
Сверху Снизу