18.10.2011, 01:00
Galera
quero entender esses defines
serб que alguйm pode/consegue me ajudar?
POR FAVOR, NГO QUERO SABER APENAS O QUE ELES FAZEM
E SIM COMO ELES FORAM FEITOS...
bom, coloquei todos que eu conheзo ae... Vamos аs perguntas:
1) pergunta: em:
pq tem a "\" dps do "#define PRESSED(%0)" ?
2) pergunta: em
o que quer dizer o "while(FALSE)" ?
(se for o obvio, qual seria a funзгo desta macro?"
3) pergunta: em
pq o "#" em "if ((strcmp((%3)[1], #%1, true, (%2)) == 0)" ??
quero entender esses defines
serб que alguйm pode/consegue me ajudar?
POR FAVOR, NГO QUERO SABER APENAS O QUE ELES FAZEM
E SIM COMO ELES FORAM FEITOS...
PHP код:
#define YesNo(%0) ((%0) == (1)) ? ("Yes") : ("No")
#define Answer(%0,%1,%2) (%0) == (1) ? (%1) : (%2)
#define IsPlayerInHouse(%0,%1) ((GetPVarInt(%0, "LastHouseCP") == (%1)) && (IsInHouse{%0} == (1))) ? (1) : (0)
#define ShowInfoBox(%0,%1,%2) do{CMDSString = ""; format(CMDSString, 1000, %1, %2); ShowPlayerDialog(%0, HOUSEMENU-1, DIALOG_STYLE_MSGBOX, INFORMATION_HEADER, CMDSString, "Close", "");}while(FALSE)
#define GameTextEx(%0,%1,%2,%3,%4) do{CMDSString = ""; format(CMDSString, 1000, %3, %4); GameTextForPlayer(%0, CMDSString, %1, %2);}while(FALSE)
#define Loop(%0,%1,%2) for(new %0 = %2; %0 < %1; %0++)
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define HOLDING(%0) \
((newkeys & (%0)) == (%0))
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
#define RELEASED(%0) \
(((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
1) pergunta: em:
PHP код:
#define HOLDING(%0) \
((newkeys & (%0)) == (%0))
2) pergunta: em
PHP код:
#define ShowInfoBox(%0,%1,%2) do{CMDSString = ""; format(CMDSString, 1000, %1, %2); ShowPlayerDialog(%0, HOUSEMENU-1, DIALOG_STYLE_MSGBOX, INFORMATION_HEADER, CMDSString, "Close", "");}while(FALSE)
(se for o obvio, qual seria a funзгo desta macro?"
3) pergunta: em
PHP код:
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1