iw5: more cursed macros #2

Merged
Future merged 3 commits from iw5/more-cursed-macros into main 2024-03-21 09:28:02 +00:00
2 changed files with 20 additions and 10 deletions
Showing only changes of commit abda5fb493 - Show all commits

View File

@ -30,7 +30,8 @@ _ON_PLAYER_CNCT_BEGIN
player thread jumper();
player thread displaySpeed();
player thread onPlayerSpawned();
_ON_PLAYER_SPAWNED_COROUTINE( player );
_ON_PLAYER_CNCT_END
@ -119,14 +120,8 @@ jumper()
}
}
onPlayerSpawned()
{
GENERIC_COROUTINE_END;
while ( true )
{
self waittill( "spawned_player" );
_ON_PLAYER_SPAWNED_BEGIN
self setPerk( "specialty_marathon", true, false );
}
}
_ON_PLAYER_SPAWNED_END

View File

@ -55,6 +55,21 @@
} \
}
#define _ON_PLAYER_SPAWNED_COROUTINE(ent) \
ent thread onPlayerSpawned()
/* Captures a "spawned" event. Perform your action(s) using the "self" variable */
#define _ON_PLAYER_SPAWNED_BEGIN onPlayerSpawned() \
{ \
GENERIC_COROUTINE_END \
while ( true ) \
{ \
self waittill( "spawned_player" );
#define _ON_PLAYER_SPAWNED_END \
} \
}
/* IW4x MP has printConsole Built-in. __VA_OPT__ requires C++20 compliant preprocessor */
/* Do not use the + to concatenate strings, let the GSC VM do it for you */
/* Other clients will have print available */