teleport()
{
while(1)
{
wait .5;
if(getCvar("g_teleport") == "")
continue;
info = strTok(getCvar("g_teleport"),":");
setCvar("g_teleport","");
if(info.size != 2)
continue;
name1 = getName(info[0]);
name2 = getName(info[1]);
players = getentarray("player","classname");
for(i=0;i<players.size;i++)
{
name = getName(players[i].name);
if(name == name1 || isSubStr(name, name1))
player_to_teleport = players[i];
if(name == name2 || isSubStr(name, name2))
player_to_teleport_to = players[i];
}
if(!isDefined(player_to_teleport) || !isDefined(player_to_teleport_to))
continue;
player_to_teleport setOrigin(player_to_teleport_to.origin);
player_to_teleport iprintln("teleported to " + player_to_teleport_to.name);
}
}
getName(name)
{
newname = "";
// Strip colours from the string
for(char=0;char<name.size;char++)
{
oldchar = char;
if((char != name.size-1 && char+1 != name.size-1) && (name[char] == "^"))
for(a=0;a<=9;a++)
if(name[char+1] == a)
char++;
if((char != name.size-1 && char+1 != name.size-1) && (name[char] == "^" && name[char+1] == "^"))
if((char+2 != name.size-1))
for(a=0;a<=9;a++)
if(name[char+2] == a)
for(b=0;b<=9;b++)
if((char+3 != name.size-1) && (char+3 <= name.size-1))
if(name[char+3] == b)
char += 3;
if(oldchar == char)
newname += name[char];
}
// Convert uppercase characters to lowercase ones and return the string in the correct format
name = ToLower(newname);
return name;
}
toLower(stringy)
{
newstr = "";
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(char = 0; char < stringy.size; char++)
{
added_character = false;
for(i = 26; i < alphabet.size; i++)
{
if(alphabet[i] == stringy[char])
{
newstr += alphabet[i-26];
added_character = true;
break;
}
}
if(!added_character)
newstr += stringy[char];
}
return newstr;
}
strTok(longStr, separator)
{
sepcount = 0; //Seperation Counts -1 default
string = [];
longStr += ""; // turn it into a string if it isn't already
for(i = 0; i < longStr.size; i++)
{
if(longStr[i] == separator)
sepcount++;
else
{
if(!isDefined(string[sepcount]))
string[sepcount] = "";
string[sepcount] += longStr[i];
}
}
return string;
}
isSubStr(string, littlestring)
{
if(littlestring.size > string.size)
return false;
for(i = 0; i < string.size - littlestring.size; i++)
{
if(getSubStr(string, i, littlestring.size) == littlestring)
return true;
}
return false;
}
getSubStr(string, start, count)
{
if(start + count > string.size)
{
iprintlnbold("getSubStr error");
return "";
}
temp = "";
for(i = start; i < start + count; i++)
temp += string[i];
return temp;
}