Установка и компиляция плагинов

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
Подскажите в чем проблема?
в ДНК
В инклюде используется старый синтаксис и компилятор не знает как его правильно читать.
Нужно либо править инклюд, либо искать уже поправленный, либо компилировать старой версией компилятора SM (с большой вероятностью, что плагин даже не сможет запуститься на сервере).

Вот в 2017-м переписывал версию 1.4.1 на новый синтаксис (в более новых версиях инклюда добавилось несколько новых функций, но не факт, что они тебе потребуются). Для использования достаточно будет удалить в имени всё начиная с пробела и до точки перед расширением файла.
 

Вложения

  • morecolors 1.4.1_NewSyntax.inc
    17 КБ · Просмотры: 13

zloy911

zloygames.com
Сообщения
370
Реакции
50
Добрый день, на сервере ксс режим дм, выдаю всем випам гранату и дым вот таким плагином :

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


#include <sourcemod>
#include <sdktools>

//new g_iHealth;
new g_iArmor;

public Plugin:myinfo =
{
    name = "VIP Spawn",
    author = "KorDen",
    description = "VIP bonuses on spawn",
    version = "1.0",
    url = "http://dev.sky-play.ru"
}
public OnPluginStart()
{
    //g_iHealth = FindSendPropOffs("CCSPlayer", "m_iHealth");
    g_iArmor = FindSendPropOffs("CCSPlayer", "m_ArmorValue");
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(client>0 && IsClientInGame(client))
    {
        if(GetUserFlagBits(client) & ADMFLAG_CUSTOM6)
        {
            //SetEntProp(client, Prop_Send, "m_iAccount", GetEntProp(client, Prop_Send, "m_iAccount")+1000);
            //SetEntData(client, g_iHealth, 110); // Здоровье
            //SetEntData(client, g_iArmor, 100);//Броня
            GivePlayerItem(client, "weapon_hegrenade"); // граната
            GivePlayerItem(client, "weapon_smokegrenade"); // дым
          //GivePlayerItem(client, "weapon_flashbang"); //флешка
            //GivePlayerItem(client, "weapon_flashbang"); //флешка
        }
    }
}

но обнаружился баг, если разрядить оружие, не давая ему перезарядиться и переключиться на гранаты, а именно на дым, то будет постоянно появляться дым в руке если выкинуть предыдущий, кто что посоветует? Самое интересное что с обычной гранатой такое не проходит. Может сделать какую то задержку в 1 сек перед выдачей или еще что то ?
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,519
Реакции
4,979
@zloy911, этот плагин не при чём насколько я понимаю.
Думаю, за баг ответственен другой плагин: этот код выдаёт гранаты всего раз после спавна и на переключение между оружием не реагирует никак.

Ну и код можно упростить до вот этого:
C-подобный:
#pragma semicolon 1

#include <sdktools_functions>

public Plugin:myinfo =
{
    name = "VIP Spawn",
    author = "KorDen",
    description = "VIP bonuses on spawn",
    version = "1.0_redused",
    url = "http://dev.sky-play.ru"
}

public OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(client && IsClientInGame(client) && GetUserFlagBits(client) & ADMFLAG_CUSTOM6)
    {
        GivePlayerItem(client, "weapon_hegrenade");        // граната
        GivePlayerItem(client, "weapon_smokegrenade");    // дым
    }
}
 

zloy911

zloygames.com
Сообщения
370
Реакции
50
@zloy911, этот плагин не при чём насколько я понимаю.
Думаю, за баг ответственен другой плагин: этот код выдаёт гранаты всего раз после спавна и на переключение между оружием не реагирует никак.

Ну и код можно упростить до вот этого:
C-подобный:
#pragma semicolon 1

#include <sdktools_functions>

public Plugin:myinfo =
{
    name = "VIP Spawn",
    author = "KorDen",
    description = "VIP bonuses on spawn",
    version = "1.0_redused",
    url = "http://dev.sky-play.ru"
}

public OnPluginStart()
{
    HookEvent("player_spawn", Event_PlayerSpawn);
}

public Event_PlayerSpawn(Handle:event, const String:name[], bool:dontBroadcast)
{
    new client = GetClientOfUserId(GetEventInt(event, "userid"));
    if(client && IsClientInGame(client) && GetUserFlagBits(client) & ADMFLAG_CUSTOM6)
    {
        GivePlayerItem(client, "weapon_hegrenade");        // граната
        GivePlayerItem(client, "weapon_smokegrenade");    // дым
    }
}
Я не могу отловить засранца, по идее это дм, что то за баг с перезарядкой оружия и пополнением патронов, так как даже выдача гранат через вип плагин от RIKO так же работает, т.е. та же борода, а самое интересное что есть резервный сервер с низким онлайном, так такого нет, хотя все плагины и конфиги 1 в 1, не знаю че делать. .....
 
Сверху Снизу