iw5: more cursed macros #2
| @@ -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 | ||||
|   | ||||
| @@ -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 */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user