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

Тема в разделе "Программирование / Скриптинг", создана пользователем Danyas, 2 авг 2016.

  1. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    Собстна демонстрирую сабжик:

    PHP:
        #if SOURCEMOD_V_MAJOR >= 1 && SOURCEMOD_V_MINOR >= 7
        
    GetClientAuthId(clientAuthId_Steam2authidsizeof(authid));
        
    #else
        
    GetClientAuthString(clientauthidsizeof(authid));
        
    #endif
    В итоге будет подобран правильный вариант в зависимости от версии компилятора.

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

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.588
    Симпатии:
    1.995
    Демонстрирую ещё ранее написанный "высший пилотаж" этого сабжа: Special Team Balancer и ещё куда раньше: Passive Checking Ping. В нём не только автоматом поддерживается любой SM (старый/новый синтаксис), но и доступно вручную выбрать старый синтаксис на новом компиляторе, в случае проблем последнего (баги).
    Премия отменяется, в проверке есть огрех.
     
  3. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    Я тоже на счет || думал, но решил оставить как есть)
    На счет высшего пилотажа - да, мне понравилось :crazy:
     
  4. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    Оффтоп
     
  5. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.588
    Симпатии:
    1.995
    Оффтоп
     
  6. RoadSide Romeo

    RoadSide Romeo HLMod Team Модератор

    Сообщения:
    615
    Симпатии:
    426
  7. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.588
    Симпатии:
    1.995
    Оффтоп
     
  8. RoadSide Romeo

    RoadSide Romeo HLMod Team Модератор

    Сообщения:
    615
    Симпатии:
    426
  9. inklesspen

    inklesspen После "Р" в слове "Лопата"

    Сообщения:
    854
    Симпатии:
    201
    Выпендреж продолжится?
    PHP:
    #if SOURCEMOD_V_MAJOR >= 1 && SOURCEMOD_V_MINOR >= 7
    GetClientAuthId(clientAuthId_Steam2authidsizeof(authid));
    #else
    GetClientAuthString(clientauthidsizeof(authid));
    #endif
    Полезная хрень

    PHP:
    #include <sourcemod>

    public APLRes AskPluginLoad2(Handle pMyselfbool sLatechar[] sErrorint iErrorMax)
    {
        
    CreateNative("GetClientAuthString"GetClientAuthString)
        return 
    APLRes_Success;
    }

    public 
    int GetClientAuthString(Handle pluginint num)
    {
        new 
    client GetNativeCell(1)
        
    decl String:auth[GetNativeCell(3)]
        
    GetClientAuthId(clientAuthId_Steam2authGetNativeCell(3))
        
    SetNativeString(2authsizeof(auth))
    }
     
    Drumanid и Danyas нравится это.