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

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
  • Мне нравится
Реакции: Envy

Envy

Участник
Сообщения
49
Реакции
2

Temlik

Участник
Сообщения
668
Реакции
174
C-подобный:
    if (GetUserAdmin(activator) != INVALID_ADMIN_ID)
        OnRightButtonPressed(activator);

Давно на павне не писал, так что могу ошибаться.
Скажите, пожалуйста, куда это вставить? Вот код:
#pragma semicolon 1

#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
HookEntityOutput("func_button" , "OnPressed", ButtonPressed);
}

public ButtonPressed(const String:output[], caller, activator, Float:delay)
{
OnRightButtonPressed(activator);
}

OnRightButtonPressed(client)
{
PrintToChatAll("%N нажал на кнопку", client);
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Temlik, никуда.
Там больше менять нужно: эта проверка нужна при проверке кому отправить.

Попробуй такое:
C-подобный:
#pragma semicolon 1
#pragma newdecls required

#include <sdktools_entoutput>

public void OnPluginStart()
{
    HookEntityOutput("func_button",        "OnPressed", ButtonPressed);
    HookEntityOutput("func_rot_button",    "OnPressed", ButtonPressed);
    HookEntityOutput("func_button",        "OnDamaged", ButtonPressed);
    HookEntityOutput("func_rot_button",    "OnDamaged", ButtonPressed);
}

public void ButtonPressed(const char[] output, int caller, int activator, float delay)
{
    for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && !IsFakeClient(i) && GetUserFlagBits(i))
        PrintToChat(i, "\x05[Кнопка] \x03%N \x04нажал на кнопку!", activator);
}
Добавлен хук для вывода инфы при стрельбе по кнопке (емнип некоторые кнопки можно так активировать).
 
Последнее редактирование:

Слава156

Участник
Сообщения
44
Реакции
11
Здравствуйте, может кто добавить/изменить в плагине(удаляет все оружие с карты каждые X секунд) так: первое удаление после 3 секунды начала раунда, а остальные последующие каждые 2 минуты (120 секунд). CSS v34.
 

Вложения

  • barrearmas.sp
    4.1 КБ · Просмотры: 3

Туник

Участник
Сообщения
1,281
Реакции
263
Может кто помочь с данным кодом
Нужно сделать так чтобы была возможность добавлять стим ид игрока, которому хочу заблокировать приседание.
Если можно то стим ид, добавлять через запятую.

PHP:
#include <sourcemod>

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

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Туник, тебе лучше при подключении игрока после проверку на админправа получать его SteamID, сверять со списком (хз где ты этот список держать будешь), сохранять результат проверки в булеву переменную из массива и при обработке команд игрока проверять её состояние.
В общем там несколько десятков строк выйдет.

А сама обработка команд станет выглядеть вот так:
C-подобный:
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
    if(!bNoDuck[client]) return Plugin_Continue
    
    buttons &= ~IN_DUCK;
    return Plugin_Changed;
}
 

Jedi qLux

Участник
Сообщения
187
Реакции
42
Ребят, может кто-нибудь сделать что бы этот плагин не работал на первом раунде и в конце раунда ту, пжл :))) :3
 

Вложения

  • svinorez.zip
    31.3 КБ · Просмотры: 7

SIRIUS

♿___DejaVu
Сообщения
509
Реакции
253
Как добавить сообщение в начале раунда "Не достаточно игроков, нужно 3(сколько игроков сейчас)/10(сколько нужно)". Когда игроков хватает или идет разминка, то сообщение не должно выводиться.
 
Последнее редактирование:

Andrey Morozov

Участник
Сообщения
4
Реакции
0
всем привет, ребята, кто может декомпильнуть плагин? просто нужен исходник.
 

Туник

Участник
Сообщения
1,281
Реакции
263
Добрый вечер!
Может кто дописать в данный плагин проверку по флагам админов?
 

Вложения

  • country_filter.sp
    2.4 КБ · Просмотры: 5

Туник

Участник
Сообщения
1,281
Реакции
263
Попробуй. Если я правильно понял, что нужно
Плагин запрещает страны которые я не хочу видеть на сервере своём, но есть пару админов из Латвии допустим, хоть я указываю LV - как запрещенную страну, но админы могли бы входить без проблем!
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Плагин запрещает страны которые я не хочу видеть на сервере своём, но есть пару админов из Латвии допустим, хоть я указываю LV - как запрещенную страну, но админы могли бы входить без проблем!
Попробуй. Квар в исходнике увидишь
 

Туник

Участник
Сообщения
1,281
Реакции
263
С этим должно сработать?
cf_immune_flag", "b", "Ему плевать на ограничения");
проверю отпишусь!
 

Туник

Участник
Сообщения
1,281
Реакции
263
Попробуй. Квар в исходнике увидишь
L 02/10/2021 - 23:47:10: [SM] Exception reported: Client index 0 is invalid
L 02/10/2021 - 23:47:10: [SM] Blaming: country_filter.smx
L 02/10/2021 - 23:47:10: [SM] Call stack trace:
L 02/10/2021 - 23:47:10: [SM] [0] GetUserFlagBits
L 02/10/2021 - 23:47:10: [SM] [1] Line 78, C:\Users\ADMIN\Desktop\country_filter.sp::Reject
L 02/10/2021 - 23:47:10: [SM] [2] Line 40, C:\Users\ADMIN\Desktop\country_filter.sp::OnClientConnect

еррор лог
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
L 02/10/2021 - 23:47:10: [SM] Exception reported: Client index 0 is invalid
L 02/10/2021 - 23:47:10: [SM] Blaming: country_filter.smx
L 02/10/2021 - 23:47:10: [SM] Call stack trace:
L 02/10/2021 - 23:47:10: [SM] [0] GetUserFlagBits
L 02/10/2021 - 23:47:10: [SM] [1] Line 78, C:\Users\ADMIN\Desktop\country_filter.sp::Reject
L 02/10/2021 - 23:47:10: [SM] [2] Line 40, C:\Users\ADMIN\Desktop\country_filter.sp::OnClientConnect

еррор лог
Хотя я уже чёт не уверен, що на этой стадии можно получить флаги игрока
 

Вложения

  • country_filter.sp
    2.7 КБ · Просмотры: 5
Сверху Снизу