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

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
876
Реакции
212
И скинь полный эррор лог
Не хочет компилить
E:\Users\Desktop\�������� ������\source.sp(52) : error 017: undefined symbol "ghDownloader"
E:\Users\Desktop\�������� ������\source.sp(53) : error 017: undefined symbol "ghDownloader"
E:\Users\Desktop\�������� ������\source.sp(58) : error 017: undefined symbol "ghDownloader"
 

Ganter1234

Участник
Сообщения
1,149
Реакции
667
Не хочет компилить
E:\Users\Desktop\�������� ������\source.sp(52) : error 017: undefined symbol "ghDownloader"
E:\Users\Desktop\�������� ������\source.sp(53) : error 017: undefined symbol "ghDownloader"
E:\Users\Desktop\�������� ������\source.sp(58) : error 017: undefined symbol "ghDownloader"
 

Вложения

  • source.sp
    5.6 КБ · Просмотры: 10

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
876
Реакции
212
Походу не судьба мне его запустить)
Не запускает сервер даже.
Ну серавно благодарю что время уделил.
Краш лог не стал скидывать,там нечего такого нет.
Кроме этого
Host_Error: CEngineSoundServer::PrecacheSound: Bad string:
 

Seton

Участник
Сообщения
44
Реакции
41
Как сделать проверку на текущий скин игрока?
 

alexey_gamov

Участник
Сообщения
22
Реакции
6
Привет народ! Есть несколько вопросов по разработке плагина для CS:GO, может кто подскажет как выйти из ситуации?

1) Как избавиться от дрожи экрана у клиента при получении урона по каске? (еще прицел уводит)

2) Как можно убрать искры при такой же ситуации но уже на модельке противника? (создать такое можно через TE_SetupArmorRicochet)

3) В режиме «Бой насмерть» консольная команда клиента «autobuy» устанавливает режим «Случайного оружия» и производит выдачу оружия. Вопрос как из плагина получить текущее состояние: вкл/выкл?

4) Как можно получить слот в которое будет установлено оружия по его имени? (weapon_ak47 -> slot0, weapon_glock -> slot1)

5) Какие значки бывают в таблице счета перед именем игрока (дефьюз киты, бомба, что-то еще?)

6) Существует ли адекватный авто-выбор команды со скрытием окна выбора?
 

Seton

Участник
Сообщения
44
Реакции
41
Как сделать проверку на кол-во цифр у стима STEAM_0:1:цифры? То есть if(iSteamIDClient <= 10000000)
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Как сделать проверку на кол-во цифр у стима STEAM_0:1:цифры? То есть if(iSteamIDClient <= 10000000)
У стима же конкретная длинна, нету меньше/больше. Ну да ладно.

Примерно так можно определить количество цифер:
C-подобный:
// buff - это условный буфер, в котором лежит Steam_id

strlen(buff[sizeof("Steam_0:1:")-1])

Примеры использованния:
if(strlen(buff[sizeof("Steam_0:1:")-1]) < 10)

#define SteamIdLength(%0) strlen(%0[sizeof("Steam_0:1:")-1])
if(SteamIdLength(buff) < 10)
 

Seton

Участник
Сообщения
44
Реакции
41
У стима же конкретная длинна, нету меньше/больше. Ну да ладно.

Примерно так можно определить количество цифер:
C-подобный:
// buff - это условный буфер, в котором лежит Steam_id

strlen(buff[sizeof("Steam_0:1:")-1])
Через софт поменять можно, пасиба
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
Как сделать проверку на кол-во цифр у стима STEAM_0:1:цифры? То есть if(iSteamIDClient <= 10000000)
Проверь:
for(int client = 0;client<=MaxClients;client++)
{
    if(IsClientInGame(client) && !IsFakeClient(client))
    {
        char steam[32];
        int num;
        char dhs;
        GetClientAuthId(client,AuthId_Steam2,steam, sizeof(steam))
        dhs = steam.substr(10,sizeof(steam));
        num = StringToInt(dhs);
        if(num<10000000)
        {
            //
        }
        else if(num>99999999)
        {
            //
        }
        else
        {
            //
        }
    }
}
 
Последнее редактирование:

trekken

Участник
Сообщения
497
Реакции
182
Надо плагин который будет связан с [Telegram] Core
Сделать так что бы от плагина Drops Summoner отправлялись сообщения только о выпадении дропа
 

-=|УЧЕНИК|=-

вся жизнь,сплошной цирк.
Сообщения
876
Реакции
212
Привет всем
Можно ли сделать в данном плагине,чтоб звук перезарядки был один только?
И чтоб не было такого,что когда обойма полная,ты нажимаешь перезарядить и там много раз звук воспроизводит.
Ну если конечно не много заморочек там.
Заранее благодарю.
 

Вложения

  • reload_sound.sp
    1.9 КБ · Просмотры: 10

danil253467

💘Italo-Disco & Neon One Love💘
Сообщения
90
Реакции
52
Привет всем
Можно ли сделать в данном плагине,чтоб звук перезарядки был один только?
И чтоб не было такого,что когда обойма полная,ты нажимаешь перезарядить и там много раз звук воспроизводит.
Ну если конечно не много заморочек там.
Заранее благодарю.
Привет, посмотри этот вариант. Плагин на новом синтаксисе, сразу говорю
 

Вложения

  • reload_sound.sp
    1.1 КБ · Просмотры: 11

Felton

Участник
Сообщения
799
Реакции
59
Нет урона от ножа:
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

public OnPluginStart()
{
    
    for (new client = 1; client <= MaxClients; client++)
    {
        if (IsClientInGame(client))
        {
            SDKHook(client, SDKHook_OnTakeDamage, TakeDamageHook);
        }
    }
}

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, TakeDamageHook);
}

public Action:TakeDamageHook(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
    if ( (client>=1) && (client<=MaxClients) && (attacker>=1) && (attacker<=MaxClients) && (attacker==inflictor) )
    {
        decl String:WeaponName[64];
        GetClientWeapon(attacker, WeaponName, sizeof(WeaponName));
        if (StrContains(WeaponName, "knife", false) != -1)
        {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
    return Plugin_Continue;
}
Подпелите плагин если не сложно.Нет урона от ножа только для ROOT.
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Нет урона от ножа:
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

public OnPluginStart()
{
  
    for (new client = 1; client <= MaxClients; client++)
    {
        if (IsClientInGame(client))
        {
            SDKHook(client, SDKHook_OnTakeDamage, TakeDamageHook);
        }
    }
}

public OnClientPutInServer(client)
{
    SDKHook(client, SDKHook_OnTakeDamage, TakeDamageHook);
}

public Action:TakeDamageHook(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
    if ( (client>=1) && (client<=MaxClients) && (attacker>=1) && (attacker<=MaxClients) && (attacker==inflictor) )
    {
        decl String:WeaponName[64];
        GetClientWeapon(attacker, WeaponName, sizeof(WeaponName));
        if (StrContains(WeaponName, "knife", false) != -1)
        {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
    return Plugin_Continue;
}
Подпелите плагин если не сложно.Нет урона от ножа только для ROOT.
Не уверен в правильности хука, но должно работать
C-подобный:
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

int g_iFlagRestrict;

public OnPluginStart()
{
    g_iFlagRestrict = ReadFlagString("z");

    for(int i = 1; i <= MaxClients; i++) if(IsClientAuthorized(i) && IsClientInGame(i)) {
        OnClientPostAdminCheck(i);
    }
}

public void OnClientPostAdminCheck(int client)
{
    if(!IsFakeClient(client) && GetUserFlagBits(client) & g_iFlagRestrict) {
        SDKHook(client, SDKHook_TraceAttack, Hook_OnTraceAttack);
    }
}

public Action Hook_OnTraceAttack(int victim, int &attacker, int &inflictor, float &damage, int &damagetype, int &ammotype, int hitbox, int hitgroup)
{
    if(victim > 0 && victim < MaxClients && victim != attacker) {
        char classname[32];
        GetClientWeapon(attacker, classname, sizeof(classname));

        if(StrContains(classname, "knife", false) != -1) {
            damage = 0.0;
            return Plugin_Changed;
        }
    }
    return Plugin_Continue;
}
 

Felton

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

iLoco

Не работает.А точнее я не могу убить ножом. как и меня не могут.Как было так и осталось
 
Сверху Снизу