Звучит как бред. Помнится, вы говорили, что параметры в функцию передавать нельзя. Следующая ситуация, у меня будет огромная туча функций, в которых будет описываться произвольно заданные лагеря монстров. ( 1 вар.- два волка и один волк вожак; 2 вар. - три волка; 3 вар. - 2 кентавра; и так далее) Решил что видов лагеря на локацию будет ровно 5, поэтому на локацию по пять кемпов. Лагеря будут рандомится по формуле: set X = getRandomInt(i*5,i*5+5) - где i - это локация. Так вот, хочу все сделать в 2 строчки по циклу где буду переберать локации и рандомить для них спавны крипов. Как можно записать функции состава и спавна лагеря с использованием переменной X?
Как всегда, сразу в голове есть уже какая-то идея. Глобальная переменная X (integer) будет хранить номер, перед вызовом функции номер X будем рандомить: set X = getRandomInt(i*5,i*5+5). А в самой функции сверять номер. Является ли этот вариант оптимальным? а то мне уже кажется, что нет.
Заранее спасибо!
Принятый ответ
Есть три способа:Можно ли в переменную занести вызов функции?
1.ExecuteFunc
может сломаться после обфускации некоторых оптимайзеров!
2.TriggerExecute
Тригер заносим в переменную, массив или сохраняем в хеш таблицу.
3.Boolexpr (Есть библиотека)
Функция привязываться к фильтру. Фильтр записывать по аналогии с пунктом 2.
Нужные атрибуты можно передавать через глобалки.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Jack-of-shadow
1.ExecuteFunc
может сломаться после обфускации некоторых оптимайзеров!
2.TriggerExecute
Тригер заносим в переменную, массив или сохраняем в хеш таблицу.
3.Boolexpr (Есть библиотека)
Функция привязываться к фильтру. Фильтр записывать по аналогии с пунктом 2.
поправил)
На lua вариантов реализации много, но так как автор не указал ЯП, то предложу классичекский - структуры + хэштаблица.