Написание плагинов

SpeEdE BLR

Участник
Сообщения
42
Реакции
2
Приложите ссылочку
Инклюды
1. Будет работать и так, 99% серверов работают с плагинами других версий. Но конечно лучше компилировать на версии той, что стоит на сервере
2. У меня он и в 34 версии работает прекрасно, где нет стимворкса, да и сам автор написал:
Посмотреть вложение 104060
3. Писали одновременно, вашего комментария ещё не было, а я не смотрел что там
Понял спасибо огромное)
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
ошибки исправились, но плагин не компилится все равно. написал в тему по компиляции плагина. Но все равно огромное спасибо тебе
А ты не пробовал отправлять нам ошибки, а не жаловаться на то, что у тебя ничего не работает и не компилируется? Мб ты сам в них виноват - неправильно библиотеки например закинул или вообще не закинул
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Palonez, вчера уже всё получилось.
Просто сообщения раскиданы по разным темам.
 

Мотыга

сила в силе духа ☠️☠️☠️
Сообщения
84
Реакции
49
@Palonez, ну начнём с того, что звуки должны быть в папке sound, а не sounds.
Кроме того для прекеша в пути эта самая папка не нужна, как и для воспроизведения звука.

Т.е. должно было получиться примерно вот так:
C-подобный:
#include <sdktools_sound>
#include <sdktools_stringtables>

static const char
    SND_CT[]= "sound/zvuk_CT.wav",
    SND_T[]    = "sound/zvuk_T.wav";

public void OnPluginStart()
{
    HookEvent("player_team", Event_Team);
}

public void OnMapStart()
{
    AddFileToDownloadsTable(SND_CT);
    AddFileToDownloadsTable(SND_T);

    PrecacheSound(SND_CT[6], true);
    PrecacheSound(SND_T[6], true);
}

public void Event_Team(Event event, const char[] name, bool bdb)
{
    int team = event.GetInt("team");
    if(team < 1) return;

    int client = GetClientOfUserId(event.GetInt("userid"));
    if(!client || !IsClientInGame(client) || IsFakeClient(client)) return;

    if(team == 2) EmitSoundToClient(client, SND_T[6]);
    else EmitSoundToClient(client, SND_CT[6]);
}
Если несложно можно добавить исключения для наблюдателей, что бы не какой звук не проигрывал,просто когда заходишь в спек тоже проигрывается звук,за ранее спасибо.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Bason, строка 25: if(team < 1) return; ==> if(team < 2) return;
Сейчас там исправлю тоже.
 

Александр33333

Участник
Сообщения
46
Реакции
1
всем привет помогите не могу окрасить
Заранее спасибо
Контр-Террористы
Террористы
 

Вложения

  • SLAYER_Advance_Stats.sp
    11.9 КБ · Просмотры: 15
  • Безымянный.png
    Безымянный.png
    8.7 КБ · Просмотры: 46
Последнее редактирование:

Zeit

Участник
Сообщения
180
Реакции
34
CS:GO. Кто нибудь пожалуйста может пофиксить этот плагин? Идея хорошая, но давно заброшена к сожалению. Код конечно стрёмный и наверное лучше будет переписать, ибо там прописаны практически все игры на source o_0. Есть в нём два бага: двойное затемнение (был частично решён за счёт отключения "fpd_black 0") и исчезновение рук после просмотра повтора через gotv. Можете залить к себе в ресурсы по итогу как fork или что-то типо того, опять же "Идея хорошая, но давно заброшена". И ещё, не забудьте про функцию отключения "эффекта" через команду или clientprefs (!settings)
Оригинал: [CS:GO|CSS|ANY?] First Person Death - AlliedModders
 

Вложения

  • fpd.sp
    11.7 КБ · Просмотры: 7

BossKotoriiNeSmok

Участник
Сообщения
976
Реакции
189
Можно сделать выключение скорости Тшнику командой? Ну или когда его телепортирует на битву в дезране.
Ну и чтобы вначале раунда тшнику возвращалась скорсть.
 

Вложения

  • DeathRun.sp
    20.3 КБ · Просмотры: 10

0-BuTaJIuK-0

Участник
Сообщения
235
Реакции
57
Можно сделать выключение скорости Тшнику командой? Ну или когда его телепортирует на битву в дезране.
Ну и чтобы вначале раунда тшнику возвращалась скорсть.

Квар же уже есть DR_TERRORISTSPEED, можешь полностью отрубить, поставив на 1 на 44 строке или прописать квар и его значение в server.cfg.
C++:
(cv = CreateConVar("DR_TERRORISTSPEED", "2.0", "Скорость террориста (1.0 стандартная)", _, true, 0.0, true, 5.0)).AddChangeHook(CvarTerroristSpeed);
g_fTerroristSpeed = cv.FloatValue;

Выдаётся скорость на 318 строке во время спавна. Правда я не понял, зачем это делать через SDKHook
C++:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient)) SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
}

void SpawnPost(int iClient)
{
    SetEntProp(iClient, Prop_Send, "m_iHideHUD", 1 << 12);
    if(GetClientTeam(iClient) == CS_TEAM_T) SetEntPropFloat(iClient, Prop_Send, "m_flLaggedMovementValue", g_fTerroristSpeed);
}

Можно написать в плагине команду, что бы уменьшать скорость.
Можно костылём, sm_speed @t админам
Правда смысл в ручную это делать.

Но вот как хукнить событие начала рулетки (битвы), я не знаю. Это же просто телепорт на карте и на некоторых этого даже нет? +телепорты могут быть во время уровня, а не в конце.
 
Последнее редактирование:

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Квар же уже есть DR_TERRORISTSPEED, можешь полностью отрубить, поставив на 1 на 44 строке
C++:
(cv = CreateConVar("DR_TERRORISTSPEED", "2.0", "Скорость террориста (1.0 стандартная)", _, true, 0.0, true, 5.0)).AddChangeHook(CvarTerroristSpeed);
g_fTerroristSpeed = cv.FloatValue;

Выдаётся скорость на 318 строке во время спавна. Правда я не понял, зачем это делать через SDKHook
C++:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient)) SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
}

void SpawnPost(int iClient)
{
    SetEntProp(iClient, Prop_Send, "m_iHideHUD", 1 << 12);
    if(GetClientTeam(iClient) == CS_TEAM_T) SetEntPropFloat(iClient, Prop_Send, "m_flLaggedMovementValue", g_fTerroristSpeed);
}

Можно написать в плагине команду, что бы уменьшать скорость.
Можно костылём, sm_speed @t админам
Правда смысл в ручную это делать.

Но вот как хукнить событие начала рулетки (битвы), я не знаю. Это же просто телепорт на карте и на некоторых этого даже нет? +телепорты могут быть во время уровня, а не в конце.
А не проще ему ставить мувтип на none?
1668166218858.png
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@0-BuTaJIuK-0, не нужно ничего менять на строке 44. Если плагин создаёт конфиг, то значение квара нужно менять в нём, иначе нужно прописать квар и его значение в server.cfg.
Сообщения автоматически склеены:

@Palonez, MOVETYPE_NONE - это то же самое, что заморозка.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Palonez, может быть, не помню на счёт вращения, но с места не сойти (и не подпрыгнуть, вроде).
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
@Palonez, может быть, не помню на счёт вращения, но с места не сойти (и не подпрыгнуть, вроде).
Я видимо не так понял, я думал ему вообще выключить нужно скорость. А ему получается просто с его повышенной скорости - нужно поставить дефолтную
Сообщения автоматически склеены:

Можно сделать выключение скорости Тшнику командой? Ну или когда его телепортирует на битву в дезране.
Ну и чтобы вначале раунда тшнику возвращалась скорсть.
!mycommand ставит тшнику стандартную скорость - может поставить только он сам себе
 

Вложения

  • DeathRun (1).sp
    21 КБ · Просмотры: 7
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@Palonez, поменяй каллбэк хотя бы на вот это:
C-подобный:
public Action CommandOfSpeed(int client, int a)
{
    if(client && IsClientInGame(client) && GetClientTeam(client) == 2)
    {
        if((bOffSpeed[client] ^= true))
            SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", 1.0);
        else SetEntPropFloat(client, Prop_Send, "m_flLaggedMovementValue", g_fTerroristSpeed);
    }
    return Plugin_Handled;
}
 

BossKotoriiNeSmok

Участник
Сообщения
976
Реакции
189
Квар же уже есть DR_TERRORISTSPEED, можешь полностью отрубить, поставив на 1 на 44 строке или прописать квар и его значение в server.cfg.
C++:
(cv = CreateConVar("DR_TERRORISTSPEED", "2.0", "Скорость террориста (1.0 стандартная)", _, true, 0.0, true, 5.0)).AddChangeHook(CvarTerroristSpeed);
g_fTerroristSpeed = cv.FloatValue;

Выдаётся скорость на 318 строке во время спавна. Правда я не понял, зачем это делать через SDKHook
C++:
public void OnClientPostAdminCheck(int iClient)
{
    if(!IsFakeClient(iClient)) SDKHook(iClient, SDKHook_SpawnPost, SpawnPost);
}

void SpawnPost(int iClient)
{
    SetEntProp(iClient, Prop_Send, "m_iHideHUD", 1 << 12);
    if(GetClientTeam(iClient) == CS_TEAM_T) SetEntPropFloat(iClient, Prop_Send, "m_flLaggedMovementValue", g_fTerroristSpeed);
}

Можно написать в плагине команду, что бы уменьшать скорость.
Можно костылём, sm_speed @t админам
Правда смысл в ручную это делать.

Но вот как хукнить событие начала рулетки (битвы), я не знаю. Это же просто телепорт на карте и на некоторых этого даже нет? +телепорты могут быть во время уровня, а не в конце.
Так это дезран, мне нужна эта скорость, но когда КТ проходит карту, скорость у Тшника остается и например на АВП в него нереально попасть. Поэтому и говорю можно ли как то сделать, чтобы командой вырубало скорость. Там уже правило добавлю, и они будут вырубать.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@BossKotoriiNeSmok, можно сделать админскую команду, но всегда ли на сервере будет админ, который её заюзает?
 

BossKotoriiNeSmok

Участник
Сообщения
976
Реакции
189
@BossKotoriiNeSmok, можно сделать админскую команду, но всегда ли на сервере будет админ, который её заюзает?
Вот именно :) В идеале кнч вообще сделать, чтобы при тп ему вырубало скорость, только хз как это ловить, так что просто создам правила, чтобы Тшники писали команду для отключения скорости.
 
Сверху Снизу