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

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@shantik2012, скомпиль это и проверь как работает.
Если всё норм, то кинь файл .../logs/blocked_messages.log и я перепишу код, чтобы он нормально работал без лишних хуков (я не помню какой тип сообщения нужно отлавливать).
 

Вложения

  • block_messages_log.sp
    975 байт · Просмотры: 9

Yurka_Bear

Участник
Сообщения
61
Реакции
4
@shantik2012, скомпиль это и проверь как работает.
Если всё норм, то кинь файл .../logs/blocked_messages.log и я перепишу код, чтобы он нормально работал без лишних хуков (я не помню какой тип сообщения нужно отлавливать).
Все равно промелькивает сообщение в центре
 

Вложения

  • blocked_messages.log
    8.4 КБ · Просмотры: 8

trekken

Участник
Сообщения
497
Реакции
182
Здравствуйте, есть плагин который написал, я знаю что есть ammomanager, но я решил попробовать написать сам, меньше воды - больше дела, после выстрела плагин забирает дигл с рук после одного выстрела, то есть я написал плагин что бы в дигле был 1 патрон, после одного выстрела оно забирает дигл, но снизу там где показывает патроны пишет 7/35, кто поможет сделать 1/0?

C-подобный:
#include <sdkhooks>
#include <sdktools>

public void OnClientConnected(int client)
{
    HookEvent("weapon_fire", Fire, EventHookMode_Post);
}

public void Fire(Event hEvent, const char[] sEvent, bool bdb)
{
    char name[64];
    int client = GetClientOfUserId(hEvent.GetInt("userid"));
    int weapon = GetEntDataEnt2(client, FindSendPropInfo("CCSPlayer", "m_hActiveWeapon"));
    GetEntityClassname(weapon, name, sizeof(name))
    if(StrEqual(name, "weapon_deagle", true)) RemovePlayerItem(client, GetEntDataEnt2(client, FindSendPropInfo("CCSPlayer", "m_hActiveWeapon")));
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
Все равно промелькивает сообщение в центре
Пробуй так:
C-подобный:
new String:sBuffer[52];

public OnPluginStart()
{
    HookUserMessage(GetUserMessageId("HintText"), Hook_HintText, true);
    HookUserMessage(GetUserMessageId("TextMsg"), Hook_TextMsg, true);
}

public Action:Hook_HintText(UserMsg:msg_id, Handle:msg, const players[], playersNum, bool:reliable, bool:init)
{
    BfReadString(msg, sBuffer, sizeof(sBuffer));
    return sBuffer[0] == '#' && strlen(sBuffer) == 30 && !strcmp(sBuffer[1], "Hint_careful_around_teammates", false) ? Plugin_Handled : Plugin_Continue;
}

public Action:Hook_TextMsg(UserMsg:msg_id, Handle:msg, const players[], playersNum, bool:reliable, bool:init)
{
    if(BfReadByte(msg) != 4)
        return Plugin_Continue;

    BfReadString(msg, sBuffer, sizeof(sBuffer));
    return StrContains(sBuffer, "Killed_Teammate", false) != -1 ? Plugin_Handled : Plugin_Continue;
}
Файл логов и block_messages_log.smx можешь Удалять.
Сообщения автоматически склеены:

@trekken, а почему не if(StrEqual(name, "weapon_deagle", true)) RemovePlayerItem(client, weapon);, раз уж
меньше воды - больше дела
?
 

Zeit

Участник
Сообщения
180
Реакции
34
Видел на одном сервере интересную механику из half-life, а именно wallride. Может кто пожалуйста реализовать это в csgo?
Если идти вдоль стены, параллельно ей, при этом зажав вперед и в сторону стены, то вы получите ускорение. Этим можно воспользоваться чтобы допрыгнуть до гаусса, с платформы, на которой лежат ручные гранаты на карте crossfire. Этим можно пользоваться на любой ровной поверхнсти, будь то перила, стена или рельса.
 

RAIN182

Участник
Сообщения
411
Реакции
55
Здравствуйте , помогите плагин поправить под Material Admin , заранее благодарен за любую помощь .
 

Вложения

  • shop_bkm.sp
    8 КБ · Просмотры: 11

Yurka_Bear

Участник
Сообщения
61
Реакции
4
Можно ли сделать, чтоб плагин "nextmap" показывал карту, которую поставит randomcycle?
Сообщения автоматически склеены:

Можно ли сделать, чтоб плагин "nextmap" показывал карту, которую поставит randomcycle?
Вопрос решил.
 
Последнее редактирование:

sviridov_artem

Добрая душа
Сообщения
134
Реакции
30
CSS v34, SM 1.11 Арена
При установке плагина, дым густой, но купить smoke нельзя. Необходима покупка по стандарту, для всех игроков.
 

Вложения

  • g_smoke.sp
    4.8 КБ · Просмотры: 19

sviridov_artem

Добрая душа
Сообщения
134
Реакции
30
22 строку закомментируйте
1672064330294.png


все так же
 

Yurka_Bear

Участник
Сообщения
61
Реакции
4
Поправьте код, пожалуйста. Пытаюсь добавит цвет {teamcolor}
Ошибка при коммпиле:
C:\Users\¤щўяш\Desktop\rockthevote.sp(224) : error 035: argument type mismatch (argument 1)
// C:\Users\¤щўяш\Desktop\rockthevote.sp(250) : error 035: argument type mismatch (argument 1)
 

Вложения

  • rockthevote.sp
    7.5 КБ · Просмотры: 6

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Поправьте код, пожалуйста. Пытаюсь добавит цвет {teamcolor}
Ошибка при коммпиле:
C:\Users\¤щўяш\Desktop\rockthevote.sp(224) : error 035: argument type mismatch (argument 1)
// C:\Users\¤щўяш\Desktop\rockthevote.sp(250) : error 035: argument type mismatch (argument 1)
в обеих строчках добавь первым аргументом client
 

Yurka_Bear

Участник
Сообщения
61
Реакции
4
На проблемной строке(250) замени client на 0
L 12/28/2022 - 12:27:12: [SM] [0] Line 157, C:\Users\\Desktop\addons\sourcemod\scripting\include\colors.inc::CPrintToChatAllEx()
L 12/28/2022 - 12:27:12: [SM] [1] Line 224, C:\Users\\Desktop\rockthevote.sp::AttemptRTV()
L 12/28/2022 - 12:27:12: [SM] [2] Line 170, C:\Users\\Desktop\rockthevote.sp::OnClientSayCommand_Post()
 
Сверху Снизу