F.A.Q. по скриптингу by Nordic Warrior

Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
Ayk, w0w, спасибо.

Обновил информацию в шапке.
 
Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
Всем доброго утра (хотя может у кого-то уже обед :derisive: ).
Возникло пару новых вопросов:

- Чем отличаются ewrite_byte (и другие функции для работы с мессагами) от обычных, без е?
- В чем различие между записями new const SOME_CONSTANT и const SOME_CONSTATNT?
 

Ayk

Сообщения
763
Реакции
476
Помог
19 раз(а)
- Чем отличаются ewrite_byte (и другие функции для работы с мессагами) от обычных, без е?
Отправка месаг с "е" вызывает хуки этих месаг.
- В чем различие между записями new const SOME_CONSTANT и const SOME_CONSTATNT?
Возможно, для const подразумевается new, в то время как new может быть и не const.
 
Последнее редактирование:
Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
Отправка месаг с "е" вызывает хуки этих месаг.
Понятно, спасибо.)


Возможно, для const подразумевается new, в то время как new может быть и не const.
Ну я к тому, что недавно я объявил константу new const SOME_CONSTATN, и попытался объявить массив с размером равным этой константе (new SOME_MASSIVE[SOME_CONSTANT]) - я получил при этом ошибку 88: must be a constant expression; assumed zero. Исправив на просто const, проблема решилась. Вот я и задался вопросом, в чём разница между этими двумя записями.
 
Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
я объявил константу new const SOME_CONSTATN, и попытался объявить массив с размером равным этой константе (new SOME_MASSIVE[SOME_CONSTANT]) - я получил при этом ошибку 88: must be a constant expression; assumed zero. Исправив на просто const, проблема решилась. Вот я и задался вопросом, в чём разница между этими двумя записями.
up. интересно данное явление
 
Сообщения
143
Реакции
29
Is ShowSyncHudMsg totally the same as set_hudmessage( .channels = -1 ) ?
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
jocasrb, no, channel -1 finds a free channel. ShowSyncHudMsg uses the specific channel.
 
Сообщения
143
Реакции
29
jocasrb, no, channel -1 finds a free channel. ShowSyncHudMsg uses the specific channel.
Im alittle confused by specific chanel..
So -1 is searching for free channnel of max 4 hud messages, okay..ShowSyncHudMsg is using 'specific' channel..by thay logic, in practice, then its possible to have more than 4 huds? (+8 dhuds)
 
Сообщения
1,668
Реакции
1,495
Помог
24 раз(а)
jocasrb, no, specific is one of 4 created by CreateHudSyncObj
 
Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
Если мне нужно проверять цикличным таском всех игроков, как лучше: вешать таск на каждого игрока при входе, или использовать единый таск на всех?
 
Сообщения
1,177
Реакции
2,144
Помог
57 раз(а)
sbelov020, зависит от задачи, условий, допустимости погрешности. Например task-based afk-кикер будет срабатывать чётко в назначенное игроку время, если таск персональный, в то время как у глобального таска, где то же самое считается для всех циклом, будет погрешность. Ток заспавнился и бац, попал в просчёт. А оно, например, должно по логике тикать каждые 10 секунд и при 2-ух варнах (3 тика с теми же координатами) переводить в спектры. И соответственно у этого игрока это дело отработает раньше. Если таск непостоянный или недолгий, лучше использовать персональный. Посмотри БГ, там задержка на проверку в putinserver()
 
Сообщения
162
Реакции
445
Помог
2 раз(а)
Как сказал BlackSignature зависит от того что, что конкретно требуется. Я бы сделал один таск, если это позволяют условия задачи. Потому как в каждом отдельном таске, мне нужно будет вызывать например функцию is_user_alive. А если на сервере 20 игроков - функция будет вызываться 20 раз. В одном же такске, мне будет достаточно вызвать один раз функцию get_players.

P.s: 20 раз вызвать функцию is_user_alive не критично, просто привожу пример.
 
Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
BlackSignature, the_hunter, а вот например в моём ресурсе, fantom выдвинул такое утверждение:
7. Таск afkcheck наверно лучше сделать отдельным для разных игроков. Тогда есть шанс что в одном кадре не будет просчитиватся дистанция для всех игроков одновременно. Спорный момент как лучше, но я бы все же сделал раздельные таски
Что насчёт этого?
 
Сообщения
162
Реакции
445
Помог
2 раз(а)
Сообщения
162
Реакции
445
Помог
2 раз(а)
const SOME_CONSTATN - значение SOME_CONSTATN будет известно компилятору (compile-time).
new const SOME_CONSTATN - это переменная, которая будет создана во время работы плагина (run-time) и заранее компилятору не известно ее значение.
Ключевое слово const в данном случае, говорит что этой переменной можно присвоить значение только 1 раз.
 
Сообщения
3,347
Реакции
1,472
Помог
124 раз(а)
Ключевое слово const в данном случае, говорит что этой переменной можно присвоить значение только 1 раз.
Вот, теперь мне стало всё понятно. Благодарю за подробный ответ.
 
Сообщения
1,177
Реакции
2,144
Помог
57 раз(а)
sbelov020, не ясно, что имеется ввиду. Нагрузка? Мол, каждый тикает в своё время, или же все тикают в одно и то же время при общем таске?
Таск сам по себе тоже потребляет, тут надо замеры делать. Лично я, как уже говорил, выбираю 1 таск на всех и погрешность. Кому погрешность не нужна, те выбирают таск/игрок.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу