diff --git a/small_scripts/README.md b/small_scripts/README.md index 819f32d..c3f7567 100644 --- a/small_scripts/README.md +++ b/small_scripts/README.md @@ -36,3 +36,8 @@ This is a temporary solution to inactive bots or bots stuck in corners on custom This checks for bots kills and deaths every 30 seconds. If they didn't do any kill or didn't die in 30 seconds they're considered inactive/stuck and they're killed. Obviously a better way to do this would be checking for their positions or removing bad spawns on the map or creating waypoints for the map. This is just a quick temporary solution that works for me. + +## show_text_on_first_spawn.gsc + +Show a text the first time a player spawns in every match. +This can be used to display a specific rule, a warning or just a message. \ No newline at end of file diff --git a/small_scripts/show_text_on_first_spawn.gsc b/small_scripts/show_text_on_first_spawn.gsc new file mode 100644 index 0000000..67371c6 --- /dev/null +++ b/small_scripts/show_text_on_first_spawn.gsc @@ -0,0 +1,49 @@ +#include maps\mp\gametypes\_hud_util; + +Init() +{ + level thread OnPlayerConnected(); +} + +OnPlayerConnected() +{ + for(;;) + { + level waittill("connected", player); + + player thread OnPlayerSpawned(); + } +} + +OnPlayerSpawned() +{ + self endon("disconnect"); + for(;;) + { + self waittill("spawned_player"); + + // Don't show first spawn text to bots + if (isDefined(self.pers["isBot"])) + { + if (self.pers["isBot"]) + { + continue; // skip + } + } + + if (!IsDefined(self.pers["saw_first_spawn_message"]) || !self.pers["saw_first_spawn_message"]) + { + self.pers["saw_first_spawn_message"] = true; + self ShowFirstSpawnMessage(); + } + } +} + +ShowFirstSpawnMessage() +{ + first_spawn_message = "^1Read the rules by typing !rules in the chat"; + + self IPrintLnBold(first_spawn_message); + wait 3; + self IPrintLnBold(first_spawn_message); +} \ No newline at end of file