Недавнее содержимое от MAGNAT2645

  1. MAGNAT2645

    [SourcePawn] Урок 1 - Основы языка (Часть 1)

    Если переменная типа Function инициализируется нулём (как и все другие "типы"), то тогда она никак не может быть равна INVALID_FUNCTION по умолчанию. (Выяснил, что INVALID_FUNCTION = -1)
  2. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Я уже исправил это, создав единый глобальный дескриптор таймера и добавив массив из bool. Постоянно пишу всё на новом синтаксисе, просто использую некоторые части из инков типа sourcemod-misc (а не весь инклюд), чтобы уменьшить содержимое кода. --- Добавлено позже --- У меня ещё вопрос. А...
  3. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Как раз таки TF2. Просто в SM есть форвард OnClientDisconnect_Post, в котором клиент уже точно не в игре.
  4. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Я попробую, это должно помочь. Кстати, IsClientInGame возвращает true в OnClientDisconnect, потому что после него у меня через PrintToChatAll выводится сообщение об отключённом игроке. Если бы IsClientInGame возвращал false, в чат бы ничего не выводилось.
  5. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Вот именно, что Сурсмоду всё равно на методмапы, но мне как-то приятнее читать код с ними. (Ну не пригляделся мне синтакс SM 1.6) Я выше уже упоминал, что можно использовать переменную и когда она = true, не отображать HUD. Я просто не уверен, как лучше отслеживать данный способ. Попробую...
  6. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Я уже писал выше, что мне нужен персональный таймер для каждого игрока, чтобы можно было в определённый момент отрубить его на пару секунд. Пока у всех таймеры работают и отображают HUD, у определённых игроков он отключён. Я сам стал использовать один таймер под всех игроков, но в данном случае...
  7. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Правда? Я думал, что IsClientInGame() возвращает false уже в OnClientDisconnect_Post, но никак не в OnClientDisconnect. --- Добавлено позже --- Просто OnClientDisconnect также вызывается когда игрок только зашёл на сервер (ещё не в игре) и потом отключился. И мне нужно проверять, а был ли игрок...
  8. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    public Action TMR_ShowAimHUD(Handle timer, any data) { if ( Math_IsBitSet( GetClientButtons( data ), IN_SCORE ) ) // ошибка вызывается здесь return Plugin_Continue; int iTarget = GetClientAimTarget( data ); if ( iTarget == -1 ) return Plugin_Continue; // дальше уже...
  9. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Я не могу показать весь код, приватный плагин. Повторяющийся таймер создаётся через 0.5 сек после OnClientPutInServer (при этом используется userid для проверки уже в каллбэке). Так как таймер повторяющийся, глобальный и удаляется при выходе игрока, то в данные каллбэка передаётся индекс клиента...
  10. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Я тоже стал так делать, потому что (как мне кажется) это немного быстрее и проще для хранения. Но, в моём случае, иногда нужно отключать таймер и не отображать HUD на 5 секунд. И пока эти 5 секунд не прошли, отображать другой текст, а потом снова создать таймер и отображать прошлый HUD. Можно...
  11. MAGNAT2645

    [SourcePawn] Урок 6 - Таймеры

    Как лучше следует работать с таймерами, которые хранятся глобально, они повторяющиеся и должны обновлять HUD игроков (именно каждый таймер отдельно, в виде массива) ? Проблема в том, что перед отображением HUD-текста, я проверяю на наличие нажатой IN_SCORE. Логи ошибок постоянно спамят что-то...
  12. MAGNAT2645

    [SourcePawn] Урок 8 - Структуры Key Values

    Я этот способ уже давно использую (только если нужно часто читать конфиг, иначе SMCParser работает лучше), но спасибо за ответ.
  13. MAGNAT2645

    [SourcePawn] Пара слов о типе переменных Handle

    Т.е. по сути, с версии 1.9 можно считать, что приравнивает? Если да, то нужно будет воспользоваться этим, чтобы чуточку оптимизировать код (просто delete везде использую, и только сейчас понял, что я 2 раза приравниваю к null)
  14. MAGNAT2645

    [SourcePawn] Пара слов о типе переменных Handle

    На этом форуме сказано, что delete приравнивает дескриптор к null. Здесь же об этом не упоминается. Так это правда или ложь? Просто мне лень самому проверить это :ab: P.S. С НГ вас
  15. MAGNAT2645

    [SourcePawn] Урок 0 - Самые, самые основы

    По-моему, добавляется отдельный. У меня стоит 32 слота и однажды я включил SourceTV для тестирований. В итоге слотов у меня стало 33. Даже в консоли где-то пишет, что добавляется 1 слот под бота SourceTV.
Сверху