SA-MP Forums Archive
Macro. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Macro. (/showthread.php?tid=571752)



Macro. - JuanStone - 21.04.2015

Hola, intento hacer un macro y no entiendo porque me da advertencias, me parece que estб bien:

PHP код:
#define Bit_Set(%1,%2,%3) ((%3)?(((%1)|=(%2))):(((%1)&= ~(%2)))) 
Intento hacer un macro para un flag que haga esto:

PHP код:
Bit_Set(variableflagtrue/false); 
Mi cуdigo:

PHP код:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT
#include <a_samp>
#define Bit_Set(%1,%2,%3) ((%3)?(((%1)|=(%2))):(((%1)&= ~(%2))))
    
enum (<<= 1)
{
    
PLAYER_ADMIN 1
};
new
    
pInfo[MAX_PLAYERS];
main()
{
    
Bit_Set(pInfo[0], PLAYER_ADMINtrue);

Код:
warning 205: redundant code: constant expression is zero
warning 215: expression has no effect



Re: Macro. - SickAttack - 21.04.2015

Seria mejor utilizar: https://sampforum.blast.hk/showthread.php?tid=275142


Respuesta: Macro. - DesingMyCry - 22.04.2015

Si lo que quieres es utilizar solo zonas de 1 bit, una opciуn serнa algo como...

pawn Код:
#define Bit_Set(%0,%1,%2) %0 |= ((%2 & 0x01) << %1)

enum
{
    PLAYER_ADMIN
};