PDA

Просмотр полной версии : [Вопрос] #define



vovandolg
03.01.2016, 17:43
Допустим в моде у меня как и у всех:


#undef MAX_PLAYERS
#define MAX_PLAYERS 100

А вот если клепать что-то на FS там тоже надо раздефайнивать и заново ставить 100 или можно просто указать дефайн в 100 макс?

VVWVV
03.01.2016, 18:12
Вы все равно будете использовать инклюд a_samp/a_npc, а именно в нем и хранится данная константа. В FS тоже нужно будет: «раздефайнивать и заново ставить 100».

vovandolg
03.01.2016, 18:19
Суть в чём, что в моде по своему будет, инклуда а_самп дефайн не юзается так как мы свои дейфайны установили, а тут ещё и прицеп FS, вот и спросил как прицепу быть:blum3:

Desulaid
03.01.2016, 19:18
Только вот так ставят новое значение :blush2:


#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#endif

Daniel_Cortez
03.01.2016, 19:23
Только вот так ставят новое значение :blush2:


#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#endif
Т.е. если константа MAX_PLAYERS не была объявлена, её нельзя будет использовать даже после переобъявления? Fail.

Не знаю, как остальные, лично я обычно делаю так:


#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#undef
#define MAX_PLAYERS 100

Впрочем, можно обойтись и в 2 строки с #undef\#define. Главное, чтобы сначала был подключен инклуд a_samp.

Desulaid
03.01.2016, 22:12
Т.е. если константа MAX_PLAYERS не была объявлена, её нельзя будет использовать даже после переобъявления? Fail.

Чтобы она не была объявленной, надо было либо убирать эту константу в a_samp, либо передефайнивать выше a_samp, либо вообще, чтобы a_samp не было. :shock:


//
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#else
#define MAX_PLAYERS 100
#endif
//
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#elseif !defined MAX_PLAYERS
#define MAX_PLAYERS 100
#endif

Daniel_Cortez
03.01.2016, 23:01
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#else
#define MAX_PLAYERS 100
#endif

#define MAX_PLAYERS 100 в обоих ветках #if? Зачем же так всё усложнять?





#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
#elseif !defined MAX_PLAYERS
#define MAX_PLAYERS 100
#endif
Я чего-то не знаю, или у (defined MAX_PLAYERS) кроме 1/0 может быть ещё какая-то суперпозиция?