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

Faya™

Жуестер
Сообщения
867
Реакции
457

Вложения

  • playerscount_in_hostname.smx
    4.2 КБ · Просмотры: 3
  • playerscount_in_hostname.sp
    1.3 КБ · Просмотры: 14

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Может кто написать или найти плагин с функцией "выдачи" скина по команде с рандомным TextureGroup что есть в модели?

По команде sm_setpstg @t "путь к модели"
и устанавливает модель с указанной заддежкой и случайной текстурой из списка что есть в qc файле модели или указанными самостоятельно.
upload_2018-11-16_23-21-39.png
 

Faya™

Жуестер
Сообщения
867
Реакции
457
Может кто написать или найти плагин с функцией "выдачи" скина по команде с рандомным TextureGroup что есть в модели?

По команде sm_setpstg @t "путь к модели"
и устанавливает модель с указанной заддежкой и случайной текстурой из списка что есть в qc файле модели или указанными самостоятельно.
Посмотреть вложение 35704
В паблике скорее всего нету, а писать просто так наврятли кто будет, можешь попробовать оставишь заявку на Dev-Source - Главная
 

s777

Участник
Сообщения
449
Реакции
74
Можно убрать сообщения !rs !кы !кi в чате, которые пишут люди?
#include <cstrike>

#pragma newdecls required

public Plugin myinfo =
{
name = "ResetScore Lite",
author = "AlmazON",
version = "1.2",
url = "Сообщество администраторов игровых серверов HLmod.ru"
};

public void OnMapStart()
{
ServerCommand("mp_backup_round_file \"\"");
ServerCommand("mp_backup_round_file_last \"\"");
ServerCommand("mp_backup_round_file_pattern \"\"");
ServerCommand("mp_backup_round_auto 0");
}

public void OnClientSayCommand_Post(int client, const char[] command, const char[] sArgs)
{
if (client && (strcmp(sArgs[1], "resetscore", false) == 0 || strcmp(sArgs[1], "rs", false) == 0 || strcmp(sArgs[1], "кы") == 0 || strcmp(sArgs[1], "кі") == 0))
{
if (GetClientDeaths(client) || CS_GetClientContributionScore(client))
{
SetEntProp(client, Prop_Data, "m_iDeaths", 0);
SetEntProp(client, Prop_Data, "m_iFrags", 0);
CS_SetClientAssists(client, 0);
CS_SetMVPCount(client, 0);
CS_SetClientContributionScore(client, 0);
PrintToChat(client, " Ваш счёт сброшен!");
}
else PrintToChat(client, " У вас итак счет равен 0!");
}
}
 

x330122

Участник
Сообщения
357
Реакции
152
Можно убрать сообщения !rs !кы !кi в чате, которые пишут люди?
#include <cstrike>

#pragma newdecls required

public Plugin myinfo =
{
name = "ResetScore Lite",
author = "AlmazON",
version = "1.2",
url = "Сообщество администраторов игровых серверов HLmod.ru"
};

public void OnMapStart()
{
ServerCommand("mp_backup_round_file \"\"");
ServerCommand("mp_backup_round_file_last \"\"");
ServerCommand("mp_backup_round_file_pattern \"\"");
ServerCommand("mp_backup_round_auto 0");
}

public void OnClientSayCommand_Post(int client, const char[] command, const char[] sArgs)
{
if (client && (strcmp(sArgs[1], "resetscore", false) == 0 || strcmp(sArgs[1], "rs", false) == 0 || strcmp(sArgs[1], "кы") == 0 || strcmp(sArgs[1], "кі") == 0))
{
if (GetClientDeaths(client) || CS_GetClientContributionScore(client))
{
SetEntProp(client, Prop_Data, "m_iDeaths", 0);
SetEntProp(client, Prop_Data, "m_iFrags", 0);
CS_SetClientAssists(client, 0);
CS_SetMVPCount(client, 0);
CS_SetClientContributionScore(client, 0);
PrintToChat(client, " Ваш счёт сброшен!");
}
else PrintToChat(client, " У вас итак счет равен 0!");
}
}
C-подобный:
public Action:OnClientSayCommand(author, const String:command[], const String:message[])
{
if(StrContains(message, "!rs", false) != -1 || StrContains(message, "!кы", false) != -1 || StrContains(message, "!кi", false) != -1)
{
return Plugin_Handled;
}
}
Бтв, пост это уже когда сообщение отправлено в чат
 
Последнее редактирование:
  • Мне нравится
Реакции: s777

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Последнее редактирование:

Ампутаге

Участник
Сообщения
84
Реакции
8
Кто может написать плагин, который выводит какой-либо квар в чат и его значение, если написать команду?
Пример:
!sv_gravity - Значение переменной sv_gravity равно 800
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Кто может написать плагин, который выводит какой-либо квар в чат и его значение, если написать команду?
Пример:
!sv_gravity - Значение переменной sv_gravity равно 800
Можете просто ввести в консоль команду с пустым значением, и вам будет показан его текущий статус. Вот пару примеров с кваром и без:
Screenshot_1.png
Screenshot_2.png
 

Ампутаге

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

koan123

Участник
Сообщения
18
Реакции
18
здравствуйте, может ли кто-то сделать чтобы при при выборе одного из отказов проигрывалась мелодия, заранее спасибо
Otkaz
 

Mensi1337

Участник
Сообщения
242
Реакции
16
Кто может исправить ошибку в плагине?
L 11/22/2018 - 22:03:46: [SM] Native "SDKHook" reported: Hook type not supported on this game
L 11/22/2018 - 22:03:46: [SM] Displaying call stack trace for plugin "fr.smx":
L 11/22/2018 - 22:03:46: [SM] [0] Line 5, D:\Compiled\fr.sp::OnEntityCreated()
PHP:
#include <sdkhooks>

public OnEntityCreated(iEntity, const String:sClassname[])
{
    if(StrContains(sClassname, "weapon_", false) != -1) SDKHook(iEntity, SDKHook_Reload, Reload);
}

/*public OnEntityDestroyed(iEntity)
{
    SDKUnhook(iEntity, SDKHook_Reload, Reload);
}*/

public Action:Reload(iWeapon)
{
    CreateTimer(0.0, TimerFastReload, iWeapon);
}

public Action:TimerFastReload(Handle:hTimer, any:iWeapon)
{
    if(IsValidEntity(iWeapon))
    {
        new iClient = GetEntPropEnt(iWeapon, Prop_Send, "m_hOwnerEntity");
 
        if(IsClientInGame(iClient) && IsPlayerAlive(iClient))
        {
            SetEntPropFloat(iWeapon, Prop_Send, "m_flTimeWeaponIdle", 0.0);
            SetEntPropFloat(iWeapon, Prop_Send, "m_flNextPrimaryAttack", 0.0);
            SetEntPropFloat(iClient, Prop_Send, "m_flNextAttack", 0.0);
        }
    }
 
    return Plugin_Stop;
}
 

Faya™

Жуестер
Сообщения
867
Реакции
457
Кто может исправить ошибку в плагине?
L 11/22/2018 - 22:03:46: [SM] Native "SDKHook" reported: Hook type not supported on this game
L 11/22/2018 - 22:03:46: [SM] Displaying call stack trace for plugin "fr.smx":
L 11/22/2018 - 22:03:46: [SM] [0] Line 5, D:\Compiled\fr.sp::OnEntityCreated()
PHP:
#include <sdkhooks>

public OnEntityCreated(iEntity, const String:sClassname[])
{
    if(StrContains(sClassname, "weapon_", false) != -1) SDKHook(iEntity, SDKHook_Reload, Reload);
}

/*public OnEntityDestroyed(iEntity)
{
    SDKUnhook(iEntity, SDKHook_Reload, Reload);
}*/

public Action:Reload(iWeapon)
{
    CreateTimer(0.0, TimerFastReload, iWeapon);
}

public Action:TimerFastReload(Handle:hTimer, any:iWeapon)
{
    if(IsValidEntity(iWeapon))
    {
        new iClient = GetEntPropEnt(iWeapon, Prop_Send, "m_hOwnerEntity");
 
        if(IsClientInGame(iClient) && IsPlayerAlive(iClient))
        {
            SetEntPropFloat(iWeapon, Prop_Send, "m_flTimeWeaponIdle", 0.0);
            SetEntPropFloat(iWeapon, Prop_Send, "m_flNextPrimaryAttack", 0.0);
            SetEntPropFloat(iClient, Prop_Send, "m_flNextAttack", 0.0);
        }
    }
 
    return Plugin_Stop;
}
Ну вроде как написано что данный тип хука не поддерживаеться твоей версией движка, что за игра?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Mensi1337, для начала укажи игру (если КСС, то ещё и версию) и версию SM на сервере
 

x330122

Участник
Сообщения
357
Реакции
152
Кто может написать плагин, который выводит какой-либо квар в чат и его значение, если написать команду?
Пример:
!sv_gravity - Значение переменной sv_gravity равно 800
C-подобный:
#include <sourcemod>
#include <sdktools>

public void OnPluginStart()
{
    
}

public Action OnClientSayCommand(int client, const char[] command, const char[] sArgs)
{

    if(!StrEqual(sArgs, ""))
    {
    new String:text[255];
    strcopy(text, sizeof(text), sArgs);
    ReplaceString(text, sizeof(text), "!", "");
    new Handle:tt = FindConVar(text);
    if(tt != INVALID_HANDLE)
    {
        new String:value[32];
        GetConVarString(tt, value, sizeof(value));
        PrintToChat(client, "Значение переменной %s равно %s", text, value);
    }
    }
}
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@Tetragromaton, тогда уж лучше так:
PHP:
public void OnClientSayCommand_Post(int client, const char[] command, const char[] sArgs)
{
    if(!client || (sArgs[0] != '!' && sArgs[0] != '?' && sArgs[0] != '/' && !sArgs[1]) || StrContains(sArgs, "rcon_", false) != -1)
        return;

    static ConVar cvar;
    if((cvar = FindConVar(sArgs[1])))
    {
        static char value[MAX_NAME_LENGTH];
        GetConVarString(cvar, value, sizeof(value));
        PrintToChat(client, "\x01Значение переменной \x04%s \x01равно \x04%s", sArgs[1], value);
    }
    else PrintToChat(client, "\x01Переменная \x04%s \x01не обнаружена", sArgs[1]);
}
 

Вложения

  • cvar_value2chat.smx
    3.8 КБ · Просмотры: 3
  • cvar_value2chat.sp
    596 байт · Просмотры: 3
Последнее редактирование:

wightjeck

Костыли заказывали?
Сообщения
472
Реакции
154
Ребят, может кто отредактировать данный плагин, чтобы оружие удалялось в конце раунда
 

Вложения

  • cleanwpn.sp
    2 КБ · Просмотры: 6
Сверху Снизу