Here's an example of another use for dot. You can use it in functions to specify a parameter in a function call.
pawn Код:
public OnFilterScriptExit()
{
foo( .arg3 = 1, .arg2 = 2, .arg1 = 3, .arg0 = 4 );//not called in order of function definition
return 1;
}
foo(arg0=0, arg1=0, arg2=0, arg3=0)
{
printf( "%d %d %d %d", arg0, arg1, arg2, arg3);//should print 4 3 2 1
}
Though i don't know if that's your problem, because i don't know what your trying to do with the code you posted.
EDIT: It looks like a strange macro (syntax at least) this would work with it now. (no errors i mean)
pawn Код:
#define X:%0.%1(%2) 1
new i = X:a.a(5);
//or even
new i = X:^.^(666);
The problem is probably in the code that follows the macro header.