Русское сообщество по скриптингу

get_players vs loop

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: Получить имена всех игроков и вывести их в HUD

Сообщение Fedcomp » 18 фев 2018, 18:52

KOTOKU писал(а):не понимаю, почему все юзают get_players? Это же двойная работа с циклами
Не проще одним циклом это реализовать?

Разницу в скорости между циклом на C и циклом на Pawn знаешь?
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4936
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 813 раз.
Поблагодарили: 1317 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Получить имена всех игроков и вывести их в HUD

Сообщение KOTOKU » 19 фев 2018, 18:33

Fedcomp писал(а):
KOTOKU писал(а):не понимаю, почему все юзают get_players? Это же двойная работа с циклами
Не проще одним циклом это реализовать?

Разницу в скорости между циклом на C и циклом на Pawn знаешь?


Выполнением цикла на С, а потом еще Pawn или один раз на Pawn?
По мне так второй вариант куда лучше
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Получить имена всех игроков и вывести их в HUD

Сообщение Subb98 » 19 фев 2018, 21:01

KOTOKU, ты не учитываешь, что в одном цикле на Pawn как минимум будешь юзать лишние итерации (когда на сервере будет игроков меньше, чем доступно), а также в каждой итерации ты ещё будешь юзать хотя бы одну (а то и больше) доп. нативу (is_user_connected/alive). И зачем это делать, когда можно просто вернуть массив с нужными тебе индексами игроков ч/з get_players и не писать лишнюю логику, которую предоставляет API? Пиши сразу под метамод, там минимум лишнего (только Meta API).
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Получить имена всех игроков и вывести их в HUD

Сообщение KOTOKU » 19 фев 2018, 21:10

get_players уместен только если ты после его использования вновь не прибегаешь к циклу.
Я не использую проверки на alive встроенным нативом, юзаю биты для быстрой обработки.
И про meta вообще неуместно.

Добавлено спустя 1 минуту 25 секунд:
И ты хочешь скзаать, что get_players не прибегает к проверкам на коннект и alive?
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Получить имена всех игроков и вывести их в HUD

Сообщение Subb98 » 19 фев 2018, 21:16

KOTOKU писал(а):get_players уместен только если ты после его использования вновь не прибегаешь к циклу.

Уместен, чтобы не кэшировать в глобальную переменную maxClients (если больше нигде не используется), чтобы не совершать лишних итераций / проверок внутри loop, чтобы не реализовывать заново функцию, которая предоставляется из коробки.

KOTOKU писал(а):Я не использую проверки на alive встроенным нативом, юзаю биты для быстрой обработки.

Ты не используешь, другие используют. Ты можешь, конечно, понаделать битсумм для проверки на команду, если тебе это потребуется в loop, но это всё нужно отслеживать и поддерживать в актуальном состоянии.

KOTOKU писал(а):И про meta вообще неуместно.

Как раз уместно. Тебе не нужен API? Ну пиши всё с нуля, будь хэллбоем. :-)

Добавлено спустя 1 минуту 3 секунды:
KOTOKU писал(а):И ты хочешь скзаать, что get_players не прибегает к проверкам на коннект и alive?

Тебе выше уже сказал Fedcomp про разницу проверок на Pawn (AMXX API) и на C.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Получить имена всех игроков и вывести их в HUD

Сообщение KOTOKU » 19 фев 2018, 21:19

Ты новое слово выучил что-ли? Сколько раз ты уже повторил слово "итерации"
Про грабли с метомодом вообще молчу, сам подкинул, сам подстебал поменяв смысл слов в корне.
Тебе если скучно, зайди в раздел веб-хохм, я там видос прикрепил прикольный
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Получить имена всех игроков и вывести их в HUD

Сообщение Subb98 » 19 фев 2018, 21:22

Что, аргументы закончились? :-)
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Получить имена всех игроков и вывести их в HUD

Сообщение KOTOKU » 19 фев 2018, 21:26

Subb98 писал(а):Что, аргументы закончились? :-)

Да с тобой спорить бесполезно, я тебя уж больно хорошо знаю, ты в соседней теме провайдера чуть не задушил за то, что тот просто добавил команду тестовую для автора темы. Поэтому, ну тебя от греха подальше :-)

Добавлено спустя 53 секунды:
Тот, кстати, до сих пор антипуканол пьет, по 3 таблетки в день
Аватара пользователя
KOTOKU
 
Сообщения: 766
Зарегистрирован: 10 фев 2013, 00:53
Благодарил (а): 10 раз.
Поблагодарили: 117 раз.

Re: Получить имена всех игроков и вывести их в HUD

Сообщение Subb98 » 19 фев 2018, 21:28

KOTOKU, вот это да, какой я кровожадный.. Уж не раскопали ли на заднем дворе могилу Вождя? Уж не заразили ли меня духом тоталитаризма? :crazy:
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: Получить имена всех игроков и вывести их в HUD

Сообщение gamingEx » 19 фев 2018, 21:31

get_players уместен только если ты после его использования вновь не прибегаешь к циклу.
Я не использую проверки на alive встроенным нативом, юзаю биты для быстрой обработки.
И про meta вообще неуместно.

лол
это ты такие стандарты придумал что ли?
И ты хочешь скзаать, что get_players не прибегает к проверкам на коннект и alive?

это все делается не вызывая сраные нативы через amxx
до тебя это с первого раза дойдет или как?
:dance2: :dance2: :dance2:
Аватара пользователя
gamingEx
 
Сообщения: 121
Зарегистрирован: 07 окт 2017, 20:48
Благодарил (а): 0 раз.
Поблагодарили: 19 раз.
Опыт программирования: Больше трех лет
Языки программирования: Swift, C++, PHP, Ruby, JS

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 15