11-19-2025, 01:18 AM
This file welcomes the player and roughly indicates their location according to their internet provider. It requires one more file for this to work: Geoip.dat. This file needs to be in the game's root directory. You can modify the script to your liking and use it in both mods and hardcore games.
Code:
init()
{
level endon("disconnect");
level.welcomegeo = false;
for(;;)
{
level waittill("connected",player);
if( !isdefined( player.pers["player_welcomed"] ) )
{
if( !isdefined( player.pers["isbot"] ) )
{
player.pers["player_welcomed"] = true; // player welcomed
player thread geo();
}
}
}
}
geo()
{
level endon("disconnect");
location = self getgeolocation (2);
level welcomegeo("^5Welcome^7 " + self.name + " ^5From " + location);
}
welcomegeo(text)
{
level endon("disconnect");
while(level.welcomegeo)
wait .05;
level.welcomegeo = true;
msg = addTextHud( level, 750, 5, 1, "left", "middle", undefined, undefined, 1.4, 888 );
msg SetText(text);
msg MoveHud(30,-1300);
wait 15;
msg destroy();
level.welcomegeo = false;
}
MoveHud(time,x,y)
{
self moveOverTime(time);
if(isDefined(x))
self.x = x;
if(isDefined(y))
self.y = y;
}
addTextHud( who, x, y, alpha, alignX, alignY, horiz, vert, fontScale, sort )
{
if( isPlayer( who ) )
hud = newClientHudElem( who );
else
hud = newHudElem();
hud.x = x;
hud.y = y;
hud.alpha = alpha;
hud.sort = sort;
hud.alignX = alignX;
hud.alignY = alignY;
if(isdefined(vert))
hud.vertAlign = vert;
if(isdefined(horiz))
hud.horzAlign = horiz;
if(fontScale != 0)
hud.fontScale = fontScale;
hud.foreground = 1;
hud.archived = 0;
return hud;
}