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

Palonez

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

Grey83

не пишу плагины с весны 2022
Сообщения
8,805
Реакции
5,254
@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,805
Реакции
5,254
@Bason, строка 25: if(team < 1) return; ==> if(team < 2) return;
Сейчас там исправлю тоже.
 

Александр33333

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

Вложения

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

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 КБ · Просмотры: 22
  • Вау
Реакции: Bef

BossKotoriiNeSmok

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

Вложения

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

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,839
Квар же уже есть 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,805
Реакции
5,254
@0-BuTaJIuK-0, не нужно ничего менять на строке 44. Если плагин создаёт конфиг, то значение квара нужно менять в нём, иначе нужно прописать квар и его значение в server.cfg.
Сообщения автоматически склеены:

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

Grey83

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

Palonez

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

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

Вложения

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

Grey83

не пишу плагины с весны 2022
Сообщения
8,805
Реакции
5,254
@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

Участник
Сообщения
1,005
Реакции
199
Квар же уже есть 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,805
Реакции
5,254
@BossKotoriiNeSmok, можно сделать админскую команду, но всегда ли на сервере будет админ, который её заюзает?
 

BossKotoriiNeSmok

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

Grey83

не пишу плагины с весны 2022
Сообщения
8,805
Реакции
5,254
@BossKotoriiNeSmok, можно сделать чтобы при любой телепортации вырубало (есть такое событие и оно срабатывает при любой телепортации, во всяком случае в CS:S), но проблема в том, что в начале каждого раунда происходит телепортация.
Можно попробовать как-то не учитывать телепортации между концом раунда и окончанием фризтайма, но хз достаточно ли этого будет.
 
Сверху Снизу