Гениальность для совместимости SM 1.5 - SM 1.7

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Собстна демонстрирую сабжик:

PHP:
    #if SOURCEMOD_V_MAJOR >= 1 && SOURCEMOD_V_MINOR >= 7
    GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid));
    #else
    GetClientAuthString(client, authid, sizeof(authid));
    #endif

В итоге будет подобран правильный вариант в зависимости от версии компилятора.

Премию дадите? :D
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
демонстрирую сабжик
Демонстрирую ещё ранее написанный "высший пилотаж" этого сабжа: Special Team Balancer и ещё куда раньше: Passive Checking Ping. В нём не только автоматом поддерживается любой SM (старый/новый синтаксис), но и доступно вручную выбрать старый синтаксис на новом компиляторе, в случае проблем последнего (баги).
#if SOURCEMOD_V_MAJOR >= 1 && SOURCEMOD_V_MINOR >= 7
Премия отменяется, в проверке есть огрех.
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072
Демонстрирую ещё ранее написанный "высший пилотаж" этого сабжа: Special Team Balancer и ещё куда раньше: Passive Checking Ping. В нём не только автоматом поддерживается любой SM (старый/новый синтаксис), но и доступно вручную выбрать старый синтаксис на новом компиляторе, в случае проблем последнего (баги).Премия отменяется, в проверке есть огрех.
Я тоже на счет || думал, но решил оставить как есть)
На счет высшего пилотажа - да, мне понравилось :crazy:
 

Danyas

Участник
Сообщения
2,173
Реакции
1,072

inklesspen

Не пишу модули под LSD :с
Сообщения
1,775
Реакции
967
Выпендреж продолжится?
PHP:
#if SOURCEMOD_V_MAJOR >= 1 && SOURCEMOD_V_MINOR >= 7
GetClientAuthId(client, AuthId_Steam2, authid, sizeof(authid));
#else
GetClientAuthString(client, authid, sizeof(authid));
#endif
Полезная хрень

PHP:
#include <sourcemod>

public APLRes AskPluginLoad2(Handle pMyself, bool sLate, char[] sError, int iErrorMax)
{
    CreateNative("GetClientAuthString", GetClientAuthString)
    return APLRes_Success;
}

public int GetClientAuthString(Handle plugin, int num)
{
    new client = GetNativeCell(1)
    decl String:auth[GetNativeCell(3)]
    GetClientAuthId(client, AuthId_Steam2, auth, GetNativeCell(3))
    SetNativeString(2, auth, sizeof(auth))
}
 

Похожие темы

Ответы
2
Просмотры
Сверху Снизу