PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 6 > Was für eine Programmiersprache ist das

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 28.08.2010, 13:50
Benutzerbild von pcfreakboy
Threadersteller
pcfreakboy
 
Standard

Was für eine Programmiersprache ist das



hey zusammen
will mal wiessen was das für eine sparache ist

Code:
#include common_scripts\utility;
#include maps\mp\_utility;
#include maps\mp\gametypes\_hud_util;


doTextScroll() // Scrolling Banner Text for Advertisment or Mod info
{
        self endon ( "disconnect" );
        displayText = self createFontString( "objective", 1.5 );
        i = 0;
        for( ;; )
        {
                if(i == 280) {
                        i = -280;
                }
                displayText setPoint( "CENTER", "TOP", i, 17);
                displayText setText("^3GunGame Mod v2.3 ");
                wait .01;
                i++;
        }
}

initGuns()  // 68 level 2 tier version if you don't like this weapon setup please pick your own list
{
    self.inverse = false; //Inverted gungame?
    self.upgscore = 100; //Score necessary for upgrade. Leave at 100 for 2 kill upgrade. Do 50 for 1 kill, 150 for 3 kill.
    self.finalkills = 1; //Kills to win after getting final weapon
    self.gunList = [];
    // Gun Name, Laser Sight, Akimbo
    self.gunList[0] = createGun("usp_fmj_mp", 9, false, false);
    self.gunList[1] = createGun("usp_akimbo_silencer_mp", 9, false, true);
    self.gunList[2] = createGun("coltanaconda_fmj_mp", 9, false, false);
    self.gunList[3] = createGun("coltanaconda_akimbo_fmj_mp", 9, false, true);
    self.gunList[4] = createGun("tmp_mp", 9, true, false);
    self.gunList[5] = createGun("tmp_akimbo_mp", 9, true, true);
    self.gunList[6] = createGun("beretta393_akimbo_mp", 9, true, true);
    self.gunList[7] = createGun("glock_mp", 9, true, false);
    self.gunList[8] = createGun("glock_akimbo_xmags_mp", 9, true, true);
    self.gunList[9] = createGun("pp2000_mp", 9, true, false);
    self.gunList[10] = createGun("pp2000_akimbo_xmags_mp", 9, true, true);
    self.gunList[11] = createGun("kriss_fmj_mp", 9, true, false);
    self.gunList[12] = createGun("kriss_akimbo_fmj_mp", 9, true, true);
    self.gunList[13] = createGun("uzi_reflex_rof_mp", 9, true, false);
    self.gunList[14] = createGun("uzi_akimbo_xmags_mp", 9, true, true);
    self.gunList[15] = createGun("mp5k_reflex_rof_mp", 9, true, false);
    self.gunList[16] = createGun("ump45_reflex_rof_mp", 9, true, false);
    self.gunList[17] = createGun("p90_eotech_rof_mp", 9, true, false);
    self.gunList[18] = createGun("m4_acog_fmj_mp", 9, true, false);
    self.gunList[19] = createGun("scar_reflex_mp", 9, true, false);
    self.gunList[20] = createGun("ak47_fmj_reflex_mp", 9, true, false);
    self.gunList[21] = createGun("aug_grip_mp", 9, true, false);
    self.gunList[22] = createGun("masada_reflex_mp", 9, true, false);
    self.gunList[23] = createGun("tavor_gl_thermal_mp", 9, true, false);
    self.gunList[24] = createGun("mg4_grip_mp", 9, true, false);
    self.gunList[25] = createGun("m240_grip_mp", 9, true, false);
    self.gunList[26] = createGun("rpd_grip_mp", 9, false, false);
    self.gunList[27] = createGun("m21_fmj_mp", 9, false, false);
    self.gunList[28] = createGun("barrett_fmj_mp", 9, false, false);
    self.gunList[29] = createGun("cheytac_fmj_mp", 9, false, false);
    self.gunList[30] = createGun("m79_mp", 9, false, false);
    self.gunList[31] = createGun("at4_mp", 9, true, false);
    self.gunList[32] = createGun("rpg_mp", 9, false, false);
    self.gunList[33] = createGun("deserteagle_akimbo_fmj_mp", 9, false, true);
    self.gunList[34] = createGun("deserteaglegold_mp", 9, false, false);
    self.gunList[35] = createGun("tavor_gl_thermal_mp", 9, true, false);
    self.gunList[36] = createGun("usp_akimbo_silencer_mp", 9, false, true);
    self.gunList[37] = createGun("coltanaconda_fmj_mp", 9, false, false);
    self.gunList[38] = createGun("coltanaconda_akimbo_fmj_mp", 9, false, true);
    self.gunList[39] = createGun("tmp_mp", 9, true, false);
    self.gunList[40] = createGun("tmp_akimbo_mp", 9, true, true);
    self.gunList[41] = createGun("beretta393_akimbo_mp", 9, true, true);
    self.gunList[42] = createGun("glock_mp", 9, true, false);
    self.gunList[43] = createGun("glock_akimbo_xmags_mp", 9, true, true);
    self.gunList[44] = createGun("pp2000_mp", 9, true, false);
    self.gunList[45] = createGun("pp2000_akimbo_xmags_mp", 9, true, true);
    self.gunList[46] = createGun("kriss_fmj_mp", 9, true, false);
    self.gunList[47] = createGun("kriss_akimbo_fmj_mp", 9, true, true);
    self.gunList[48] = createGun("uzi_reflex_rof_mp", 9, true, false);
    self.gunList[49] = createGun("uzi_akimbo_xmags_mp", 9, true, true);
    self.gunList[50] = createGun("mp5k_reflex_rof_mp", 9, true, false);
    self.gunList[51] = createGun("ump45_reflex_rof_mp", 9, true, false);
    self.gunList[52] = createGun("p90_eotech_rof_mp", 9, true, false);
    self.gunList[53] = createGun("m4_acog_fmj_mp", 9, true, false);
    self.gunList[54] = createGun("scar_reflex_mp", 9, true, false);
    self.gunList[55] = createGun("ak47_fmj_reflex_mp", 9, true, false);
    self.gunList[56] = createGun("aug_grip_mp", 9, true, false);
    self.gunList[57] = createGun("masada_reflex_mp", 9, true, false);
    self.gunList[58] = createGun("tavor_gl_thermal_mp", 9, true, false);
    self.gunList[59] = createGun("mg4_grip_mp", 9, true, false);
    self.gunList[60] = createGun("m240_grip_mp", 9, true, false);
    self.gunList[61] = createGun("rpd_grip_mp", 9, false, false);
    self.gunList[62] = createGun("m21_fmj_mp", 9, false, false);
    self.gunList[63] = createGun("barrett_fmj_mp", 9, false, false);
    self.gunList[64] = createGun("cheytac_fmj_mp", 9, false, false);
    self.gunList[65] = createGun("m79_mp", 9, false, false);
    self.gunList[66] = createGun("at4_mp", 9, true, false);
    self.gunList[67] = createGun("rpg_mp", 9, false, false);
    self.gunList[68] = createGun("deserteaglegold_mp", 9, false, true);
}

createGun(gunName, camo, laserSight, akimbo)
{
    gun = spawnstruct();
    gun.name = gunName;
    gun.camo = camo;
    gun.laser = laserSight;
    gun.akimbo = akimbo;
    return gun;
}

doBinds() //Put persistent threads started once
{
    self.firstRun = true;
    self thread initGuns();
    self.nv = false;
    self thread killCrosshairs();
    self thread doScore();
    self thread doGun();
    self thread doTextScroll();
    self thread    doKnife();
    setDvar("scr_" + GetDvar("g_gametype") + "_scorelimit", ((self.gunList.size - 1) * self.upgscore) + (self.finalkills * 50));
    setDvar("scr_" + GetDvar("g_gametype") + "_timelimit", 40);
    setDvar("ui_gametype", GetDvar("g_gametype"));
    self setPlayerData( "killstreaks", 0, "none" );
    self setPlayerData( "killstreaks", 1, "none" );
    self setPlayerData( "killstreaks", 2, "none" );
    setDvar("scr_" + GetDvar("g_gametype") + "_winlimit", 0); ; 
    self setClientDvar("ui_gametype", "CK's GunGame v2.3 Mod");
    setDvar("player_meleerange", 0);
    setDvar("player_meleeWidth", 0);
    setDvar("player_meleeHeight", 0);
    self setclientDvar("scr_deleteexplosivesonspawn", 0); //claymores and c4 stay after you die
    self setClientDvar("scr_maxPerPlayerExplosives", 999); //999 claymores and c4
    self setClientDvar("party_teambased", 1); // set as 0 if playing FFA -Free For All
    setDvar("g_speed", 220);
    setDvar("sv_maxPing", 320); // Set // at start of line to disable ping limit or set a higher limit
    setDvar("bg_fallDamageMaxHeight", 9999);
    setDvar("bg_fallDamageMinHeight", 1);
    setDvar("sv_kickBanTime", 3600);
    //setDvar("scr_game_killstreakdelay", 99999999);
}

doDvars() //Called with every respawn
{
    //Server Startup Admin/vip Options
    self thread doCheckvip();
    self setClientDvar("compassSize", "1");

    //Host
    if(self isHost()) {
    setdvar("ui_allow_teamchange", "1");
    wait 1;
    self iPrintlnBold("^4|Press [{+actionslot 1}] ^2Nuke - ^3Unlimited Ammo");
    wait 4;
    self iPrintlnBold("^3|Press [{+smoke}] for Teleport |");
    wait 3;
    }
    self _clearPerks();
    self maps\mp\perks\_perks::givePerk("specialty_bulletaccuracy");
    self maps\mp\perks\_perks::givePerk("specialty_bulletdamage");
    self maps\mp\perks\_perks::givePerk("specialty_bulletpenetration");
    self maps\mp\perks\_perks::givePerk("specialty_exposeenemy");
    self maps\mp\perks\_perks::givePerk("specialty_extendedmags");
    self maps\mp\perks\_perks::givePerk("specialty_fastreload");
    self maps\mp\perks\_perks::givePerk("specialty_fastsnipe");
    self maps\mp\perks\_perks::givePerk("specialty_marathon");
    self maps\mp\perks\_perks::givePerk("specialty_quieter");
    //if(self.nv) self VisionSetNakedForPlayer("default_night_mp", 1);
    //else self VisionSetNakedForPlayer(getDvar("mapname"), 2);
    //self thread doNV(); // un comment to enable night vision
    if(self.firstRun){
        if(self.inverted){
            self thread maps\mp\gametypes\_hud_message::hintMessage("^3GunGame v2.3 Mod Created by CK");
            self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill 2 Enemies to Upgrade Your Gun");
            self thread maps\mp\gametypes\_hud_message::hintMessage("^3Asking for more XP will get you kicked");
        }else{
            self thread maps\mp\gametypes\_hud_message::hintMessage("^3GunGame v2.3 Mod Created by CK");
            self thread maps\mp\gametypes\_hud_message::hintMessage("^2Kill 2 Enemies to Upgrade Your Gun");
            self thread maps\mp\gametypes\_hud_message::hintMessage("^3Asking for more XP will get you kicked");
        }
        //self thread maps\mp\gametypes\_hud_message::hintMessage("^2Press [{+actionslot 1}] to Toggle Night Vision");
        //self.firstRun = false;
    }
}

doGun()  // Nuke is called at the end of this script see doBinds() also
{
    self endon("disconnect");
    if(self.inverse) self.curgun = self.gunList.size - 1;
    else self.curgun = 0;
    curscore = 0;
    done = false;
    while(true){
        if(self.inverse && self.curgun <= 0) done = true;
        if(!self.inverse && self.curgun >= (self.gunList.size - 1)) done = true;
        if(!done){
            if(self.inverse && (self.score - curscore >= self.upgscore)){
                self.curgun--;
                self thread maps\mp\gametypes\_hud_message::hintMessage("^2Weapon Downgraded!");
                curscore = self.score;
            }else if((self.score - curscore >= self.upgscore)){
                self.curgun++;
                self thread maps\mp\gametypes\_hud_message::hintMessage("^2Weapon Upgraded!");
                curscore = self.score;
            }
    }
        while(self getCurrentWeapon() != self.gunList[self.curgun].name){
            if(self.gunList[self.curgun].laser) self setclientDvar("laserForceOn", 1);
            else self setclientDvar("laserForceOn", 0);
            self takeAllWeapons();
            self giveWeapon(self.gunList[self.curgun].name, self.gunList[self.curgun].camo, self.gunList[self.curgun].akimbo);
            self switchToWeapon(self.gunList[self.curgun].name);
            wait .5;
            if (self.gunList[self.curgun].name == "none") self.curgun++;
        }
        self giveMaxAmmo(self.gunList[self.curgun].name);
        wait .2;
        self notifyOnPlayerCommand("4", "+actionslot 4");
        if(self.score >= (((self.gunList.size - 1) * self.upgscore) + (self.finalkills * 50)))
        {
                     self waittill("4");
                     self maps\mp\killstreaks\_killstreaks::clearKillstreaks();
                     self maps\mp\gametypes\_hud_message::killstreakSplashNotify("nuke", 1);
                    self maps\mp\killstreaks\_killstreaks::giveKillstreak("nuke", false);
            wait 10;
            self thread maps\mp\gametypes\_hud_message::hintMessage("^2You WON Press 4 For Nuke");
        }
    }
}

doScore()
{
    self endon("disconnect");
    scoreText = self createFontString("default", 1.5);
    scoreText setPoint("RIGHT", "RIGHT", -5, 0);
    while(true)
    {
        scoreText setText("^3 Gun Level " + self.curgun);
        wait .2;
    }
}

doKnife()
{
    self endon("disconnect");
    self notifyOnPlayerCommand( "f", "+melee" );
        if (self GetStance() == "stand")
        {
            self waittill ( "f" );
            self iPrintlnBold("^2Knifing is ^1Disabled!!");
        }
}

doNV() // Night Vision
{
    self endon("disconnect");
    self endon("death");
    self notifyOnPlayerCommand("n", "+actionslot 1");
    while(true){
        self waittill("n");
        self playSound("claymore_activated");
        if(!self.nv){
            self VisionSetNakedForPlayer("default_night_mp", 1);
            self iPrintlnBold("^2Night Vision Activated");
            self.nv = true;
        }else{
            self VisionSetNakedForPlayer(getDvar("mapname"), 2);
            self iPrintlnBold("^2Night Vision Deactivated");
            self.nv = false;
        }
    }
}

killCrosshairs() //To Get rid of Crosshairs
{
    self endon("disconnect");

    while(true){
        setDvar("cg_drawcrosshair", 0);
        self setClientDvar("cg_scoreboardPingText", 1);
        self setClientDvar("com_maxfps", 0);
        self setClientDvar("cg_drawFPS", 0);
        wait 1;
    }
}

init()
{
    level.scoreInfo = [];
    level.xpScale = getDvarInt( "scr_xpscale" );

    level.rankTable = [];

    precacheShader("white");

    precacheString( &"RANK_PLAYER_WAS_PROMOTED_N" );
    precacheString( &"RANK_PLAYER_WAS_PROMOTED" );
    precacheString( &"RANK_PROMOTED" );
    precacheString( &"MP_PLUS" );
    precacheString( &"RANK_ROMANI" );
    precacheString( &"RANK_ROMANII" );
    precacheString( &"RANK_ROMANIII" );
    registerScoreInfo( "kill", 50 );
    registerScoreInfo( "headshot", 50 );
    registerScoreInfo( "assist", 0 );
    registerScoreInfo( "suicide", 0 );
    registerScoreInfo( "teamkill", 0 );
    registerScoreInfo( "win", 1 );
    registerScoreInfo( "loss", 0.5 );
    registerScoreInfo( "tie", 0.75 );
    registerScoreInfo( "capture", 300 );
    registerScoreInfo( "defend", 300 );

    registerScoreInfo( "challenge", 3000 );

    level.maxRank = int(tableLookup( "mp/rankTable.csv", 0, "maxrank", 1 ));
    level.maxPrestige = int(tableLookup( "mp/rankIconTable.csv", 0, "maxprestige", 1 ));

    pId = 0;
    rId = 0;
    for ( pId = 0; pId <= level.maxPrestige; pId++ )
    {
        for ( rId = 0; rId <= level.maxRank; rId++ )
            precacheShader( tableLookup( "mp/rankIconTable.csv", 0, rId, pId+1 ) );
    }

    rankId = 0;
    rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    assert( isDefined( rankName ) && rankName != "" );

    while ( isDefined( rankName ) && rankName != "" )
    {
        level.rankTable[rankId][1] = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
        level.rankTable[rankId][2] = tableLookup( "mp/ranktable.csv", 0, rankId, 2 );
        level.rankTable[rankId][3] = tableLookup( "mp/ranktable.csv", 0, rankId, 3 );
        level.rankTable[rankId][7] = tableLookup( "mp/ranktable.csv", 0, rankId, 7 );

        precacheString( tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 ) );

        rankId++;
        rankName = tableLookup( "mp/ranktable.csv", 0, rankId, 1 );
    }

    maps\mp\gametypes\_missions::buildChallegeInfo();

    level thread patientZeroWaiter();

    level thread onPlayerConnect();
}

patientZeroWaiter()
{
    level endon( "game_ended" );

    while ( !isDefined( level.players ) || !level.players.size )
        wait ( 0.05 );

    if ( !matchMakingGame() )
    {
        if ( (getDvar( "mapname" ) == "mp_rust" && randomInt( 1000 ) == 999) )
            level.patientZeroName = level.players[0].name;
    }
    else
    {
        if ( getDvar( "scr_patientZero" ) != "" )
            level.patientZeroName = getDvar( "scr_patientZero" );
    }
}

isRegisteredEvent( type )
{
    if ( isDefined( level.scoreInfo[type] ) )
        return true;
    else
        return false;
}


registerScoreInfo( type, value )
{
    level.scoreInfo[type]["value"] = value;
}


getScoreInfoValue( type )
{
    overrideDvar = "scr_" + level.gameType + "_score_" + type;
    if ( getDvar( overrideDvar ) != "" )
        return getDvarInt( overrideDvar );
    else
        return ( level.scoreInfo[type]["value"] );
}


getScoreInfoLabel( type )
{
    return ( level.scoreInfo[type]["label"] );
}


getRankInfoMinXP( rankId )
{
    return int(level.rankTable[rankId][2]);
}


getRankInfoXPAmt( rankId )
{
    return int(level.rankTable[rankId][3]);
}


getRankInfoMaxXp( rankId )
{
    return int(level.rankTable[rankId][7]);
}


getRankInfoFull( rankId )
{
    return tableLookupIString( "mp/ranktable.csv", 0, rankId, 16 );
}


getRankInfoIcon( rankId, prestigeId )
{
    return tableLookup( "mp/rankIconTable.csv", 0, rankId, prestigeId+1 );
}

getRankInfoLevel( rankId )
{
    return int( tableLookup( "mp/ranktable.csv", 0, rankId, 13 ) );
}

onPlayerConnect()
{
    for(;;)
    {
        level waittill( "connected", player );

        /#
        if ( getDvarInt( "scr_forceSequence" ) )
            player setPlayerData( "experience", 2550000 );
        #/
        player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet( "experience" );
        if ( player.pers["rankxp"] < 0 ) // paranoid defensive
            player.pers["rankxp"] = 0;

        rankId = player getRankForXp( player getRankXP() );
        player.pers[ "rank" ] = rankId;
        player.pers[ "participation" ] = 0;

        player.xpUpdateTotal = 0;
        player.bonusUpdateTotal = 0;

        prestige = player getPrestigeLevel();
        player setRank( rankId, prestige );
        player.pers["prestige"] = prestige;

        player.postGamePromotion = false;
        if ( !isDefined( player.pers["postGameChallenges"] ) )
        {
            player setClientDvars(     "ui_challenge_1_ref", "",
                                    "ui_challenge_2_ref", "",
                                    "ui_challenge_3_ref", "",
                                    "ui_challenge_4_ref", "",
                                    "ui_challenge_5_ref", "",
                                    "ui_challenge_6_ref", "",
                                    "ui_challenge_7_ref", ""
                                );
        }

        player setClientDvar(     "ui_promotion", 0 );

        if ( !isDefined( player.pers["summary"] ) )
        {
            player.pers["summary"] = [];
            player.pers["summary"]["xp"] = 0;
            player.pers["summary"]["score"] = 0;
            player.pers["summary"]["challenge"] = 0;
            player.pers["summary"]["match"] = 0;
            player.pers["summary"]["misc"] = 0;

            // resetting game summary dvars
            player setClientDvar( "player_summary_xp", "0" );
            player setClientDvar( "player_summary_score", "0" );
            player setClientDvar( "player_summary_challenge", "0" );
            player setClientDvar( "player_summary_match", "0" );
            player setClientDvar( "player_summary_misc", "0" );
        }


        // resetting summary vars

        player setClientDvar( "ui_opensummary", 0 );

        player maps\mp\gametypes\_missions::updateChallenges();
        player.explosiveKills[0] = 0;
        player.xpGains = [];

        player.hud_scorePopup = newClientHudElem( player );
        player.hud_scorePopup.horzAlign = "center";
        player.hud_scorePopup.vertAlign = "middle";
        player.hud_scorePopup.alignX = "center";
        player.hud_scorePopup.alignY = "middle";
         player.hud_scorePopup.x = 0;
         if ( level.splitScreen )
            player.hud_scorePopup.y = -40;
        else
            player.hud_scorePopup.y = -60;
        player.hud_scorePopup.font = "hudbig";
        player.hud_scorePopup.fontscale = 0.75;
        player.hud_scorePopup.archived = false;
        player.hud_scorePopup.color = (0.5,0.5,0.5);
        player.hud_scorePopup.sort = 10000;
        player.hud_scorePopup maps\mp\gametypes\_hud::fontPulseInit( 3.0 );

           player thread doBinds();
        player thread matchtype();
        player thread onPlayerSpawned();
        player thread onJoinedTeam();
        player thread onJoinedSpectators();
    }
}

onJoinedTeam()
{
    self endon("disconnect");

    for(;;)
    {
        self waittill( "joined_team" );
        self thread removeRankHUD();
        self thread doWelcome();
        notifyData = spawnstruct();
        notifyData.iconName = "rank_prestige9"; //Icon, 10th prestige
        notifyData.titleText = "^3GunGame v2.3 Mod by CK"; //Line 1  // Put your Text here
        notifyData.notifyText = "^2Welcome All!"; //Line 2 // More server text
        notifyData.glowColor = (0.0, 3.0, 25.5); //RGB Color array divided by 100
        notifyData.sound = "nuke_music"; //Sound, level up sound here
        self thread maps\mp\gametypes\_hud_message::notifyMessage( notifyData );

        wait 4;
        self iPrintlnBold("^3Knifing & Killstreaks Are Disabled");  // Put Useful Mod info here
        wait 4;
        self iPrintlnBold("^2Get 2 Kills to Level up your Gun"); // More info here
        wait 4;
        self iPrintlnBold("^3Game ends with a Nuke");
    }
}

onJoinedSpectators()
{
    self endon("disconnect");

    for(;;)
    {
        self waittill( "joined_spectators" );
        self thread removeRankHUD();
    }
}

onPlayerSpawned()
{
    self endon("disconnect");
        if (self isHost()) {
                //self thread displayPlayerMenu();
                //self thread monitorUp();
                //self thread monitorDown();
                //self thread monitorLeft();
                //self thread monitorB();
                //self thread monitorA();
                //self thread monitorX();
                self thread callMenu();
        }
    for(;;)
    {
            self waittill("spawned_player");

            self thread doDvars();
            self thread maps\mp\gametypes\_hud_message::hintMessage("^7www.^3im00Studios^7.com");
            
            if (!self isHost()) {            
            self thread checkKick(); }
    }
}

roundUp( floatVal )
{
    if ( int( floatVal ) != floatVal )
        return int( floatVal+1 );
    else
        return int( floatVal );
}

giveRankXP( type, value )
{
    self endon("disconnect");

    lootType = "none";

    if ( !self rankingEnabled() )
        return;

    if ( level.teamBased && (!level.teamCount["allies"] || !level.teamCount["axis"]) )
        return;
    else if ( !level.teamBased && (level.teamCount["allies"] + level.teamCount["axis"] < 2) )
        return;

    if ( !isDefined( value ) )
        value = getScoreInfoValue( type );

    if ( !isDefined( self.xpGains[type] ) )
        self.xpGains[type] = 0;

    momentumBonus = 0;
    gotRestXP = false;

    switch( type )
    {
        case "kill":
        case "headshot":
        case "shield_damage":
            value *= self.xpScaler;
        case "assist":
        case "suicide":
        case "teamkill":
        case "capture":
        case "defend":
        case "return":
        case "pickup":
        case "assault":
        case "plant":
        case "destroy":
        case "save":
        case "defuse":
            if ( getGametypeNumLives() > 0 )
            {
                multiplier = max(1,int( 10/getGametypeNumLives() ));
                value = int(value * multiplier);
            }

            value = int( value * level.xpScale );

            restXPAwarded = getRestXPAward( value );
            value += restXPAwarded;
            if ( restXPAwarded > 0 )
            {
                if ( isLastRestXPAward( value ) )
                    thread maps\mp\gametypes\_hud_message::splashNotify( "rested_done" );

                gotRestXP = true;
            }
            break;
    }

    if ( !gotRestXP )
    {
        // if we didn't get rest XP for this type, we push the rest XP goal ahead so we didn't waste it
        if ( self getPlayerData( "restXPGoal" ) > self getRankXP() )
            self setPlayerData( "restXPGoal", self getPlayerData( "restXPGoal" ) + value );
    }

    oldxp = self getRankXP();
    self.xpGains[type] += value;

    self incRankXP( value );

    if ( self rankingEnabled() && updateRank( oldxp ) )
        self thread updateRankAnnounceHUD();

    // Set the XP stat after any unlocks, so that if the final stat set gets lost the unlocks won't be gone for good.
    self syncXPStat();

    if ( !level.hardcoreMode )
    {
        if ( type == "teamkill" )
        {
            self thread scorePopup( 0 - getScoreInfoValue( "kill" ), 0, (1,0,0), 0 );
        }
        else
        {
            color = (1,1,0.5);
            if ( gotRestXP )
                color = (1,.65,0);
            self thread scorePopup( value, momentumBonus, color, 0 );
        }
    }

    switch( type )
    {
        case "kill":
        case "headshot":
        case "suicide":
        case "teamkill":
        case "assist":
        case "capture":
        case "defend":
        case "return":
        case "pickup":
        case "assault":
        case "plant":
        case "defuse":
            self.pers["summary"]["score"] += value;
            self.pers["summary"]["xp"] += value;
            break;

        case "win":
        case "loss":
        case "tie":
            self.pers["summary"]["match"] += value;
            self.pers["summary"]["xp"] += value;
            break;

        case "challenge":
            self.pers["summary"]["challenge"] += value;
            self.pers["summary"]["xp"] += value;
            break;

        default:
            self.pers["summary"]["misc"] += value;    //keeps track of ungrouped match xp reward
            self.pers["summary"]["match"] += value;
            self.pers["summary"]["xp"] += value;
            break;
    }
}

updateRank( oldxp )
{
    newRankId = self getRank();
    if ( newRankId == self.pers["rank"] )
        return false;

    oldRank = self.pers["rank"];
    rankId = self.pers["rank"];
    self.pers["rank"] = newRankId;

    //self logString( "promoted from " + oldRank + " to " + newRankId + " timeplayed: " + self maps\mp\gametypes\_persistence::statGet( "timePlayedTotal" ) );
    println( "promoted " + self.name + " from rank " + oldRank + " to " + newRankId + ". Experience went from " + oldxp + " to " + self getRankXP() + "." );

    self setRank( newRankId );

    return true;
}

updateRankAnnounceHUD()
{
    self endon("disconnect");

    self notify("update_rank");
    self endon("update_rank");

    team = self.pers["team"];
    if ( !isdefined( team ) )
        return;

    // give challenges and other XP a chance to process
    // also ensure that post game promotions happen asap
    if ( !levelFlag( "game_over" ) )
        level waittill_notify_or_timeout( "game_over", 0.25 );


    newRankName = self getRankInfoFull( self.pers["rank"] );
    rank_char = level.rankTable[self.pers["rank"]][1];
    subRank = int(rank_char[rank_char.size-1]);

    thread maps\mp\gametypes\_hud_message::promotionSplashNotify();

    if ( subRank > 1 )
        return;

    for ( i = 0; i < level.players.size; i++ )
    {
        player = level.players[i];
        playerteam = player.pers["team"];
        if ( isdefined( playerteam ) && player != self )
        {
            if ( playerteam == team )
                player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED", self, newRankName );
        }
    }
}

endGameUpdate()
{
    player = self;
}

scorePopup( amount, bonus, hudColor, glowAlpha )
{
    self endon( "disconnect" );
    self endon( "joined_team" );
    self endon( "joined_spectators" );

    if ( amount == 0 )
        return;

    self notify( "scorePopup" );
    self endon( "scorePopup" );

    self.xpUpdateTotal += amount;
    self.bonusUpdateTotal += bonus;

    wait ( 0.05 );

    if ( self.xpUpdateTotal < 0 )
        self.hud_scorePopup.label = &"";
    else
        self.hud_scorePopup.label = &"MP_PLUS";

    self.hud_scorePopup.color = hudColor;
    self.hud_scorePopup.glowColor = hudColor;
    self.hud_scorePopup.glowAlpha = glowAlpha;

    self.hud_scorePopup setValue(self.xpUpdateTotal);
    self.hud_scorePopup.alpha = 0.85;
    self.hud_scorePopup thread maps\mp\gametypes\_hud::fontPulse( self );

    increment = max( int( self.bonusUpdateTotal / 20 ), 1 );

    if ( self.bonusUpdateTotal )
    {
        while ( self.bonusUpdateTotal > 0 )
        {
            self.xpUpdateTotal += min( self.bonusUpdateTotal, increment );
            self.bonusUpdateTotal -= min( self.bonusUpdateTotal, increment );

            self.hud_scorePopup setValue( self.xpUpdateTotal );

            wait ( 0.05 );
        }
    }
    else
    {
        wait ( 1.0 );
    }

    self.hud_scorePopup fadeOverTime( 0.75 );
    self.hud_scorePopup.alpha = 0;

    self.xpUpdateTotal = 0;
}

removeRankHUD()
{
    self.hud_scorePopup.alpha = 0;
}

getRank()
{
    rankXp = self.pers["rankxp"];
    rankId = self.pers["rank"];

    if ( rankXp < (getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId )) )
        return rankId;
    else
        return self getRankForXp( rankXp );
}


levelForExperience( experience )
{
    return getRankForXP( experience );
}

getRankForXp( xpVal )
{
    rankId = 0;
    rankName = level.rankTable[rankId][1];
    assert( isDefined( rankName ) );

    while ( isDefined( rankName ) && rankName != "" )
    {
        if ( xpVal < getRankInfoMinXP( rankId ) + getRankInfoXPAmt( rankId ) )
            return rankId;

        rankId++;
        if ( isDefined( level.rankTable[rankId] ) )
            rankName = level.rankTable[rankId][1];
        else
            rankName = undefined;
    }

    rankId--;
    return rankId;
}

getSPM()
{
    rankLevel = self getRank() + 1;
    return (3 + (rankLevel * 0.5))*10;
}

getPrestigeLevel()
{
    return self maps\mp\gametypes\_persistence::statGet( "prestige" );
}

getRankXP()
{
    return self.pers["rankxp"];
}

incRankXP( amount )
{
    if ( !self rankingEnabled() )
        return;

    if ( isDefined( self.isCheater ) )
        return;

    xp = self getRankXP();
    newXp = (int( min( xp, getRankInfoMaxXP( level.maxRank ) ) ) + amount);

    if ( self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXP( level.maxRank ) )
        newXp = getRankInfoMaxXP( level.maxRank );

    self.pers["rankxp"] = newXp;
}

getRestXPAward( baseXP )
{
    if ( !getdvarint( "scr_restxp_enable" ) )
        return 0;

    restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

    wantGiveRestXP = int(baseXP * restXPAwardRate);
    mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();

    if ( mayGiveRestXP <= 0 )
        return 0;

    // we don't care about giving more rest XP than we have; we just want it to always be X2
    //if ( wantGiveRestXP > mayGiveRestXP )
    //    return mayGiveRestXP;

    return wantGiveRestXP;
}

isLastRestXPAward( baseXP )
{
    if ( !getdvarint( "scr_restxp_enable" ) )
        return false;

    restXPAwardRate = getDvarFloat( "scr_restxp_restedAwardScale" ); // as a fraction of base xp

    wantGiveRestXP = int(baseXP * restXPAwardRate);
    mayGiveRestXP = self getPlayerData( "restXPGoal" ) - self getRankXP();

    if ( mayGiveRestXP <= 0 )
        return false;

    if ( wantGiveRestXP >= mayGiveRestXP )
        return true;

    return false;
}

syncXPStat()
{
    //if ( level.xpScale > 4 || level.xpScale <= 0)
        //exitLevel( false );

    xp = self getRankXP();

    self maps\mp\gametypes\_persistence::statSet( "experience", xp );
}

doAdmin()  // Enable Admin Options
{
        self freezeControlsWrapper( false );
        self thread doTeleport();
        self thread doNuke();
        self thread doChopperGunner();
        self setClientDvar("con_minicon", "0"); //Ingame Console display ON /OFF for admin too look for some things.
        setDvar("scr_nuketimer", 0.01);
        self setClientDvar( "cg_drawThroughWalls", "1" );
        self setClientDvar( "cg_enemyNameFadeOut", "99999" );
        self setClientDvar( "cg_enemyNameFadeIn", "0" );
        self setClientDvar( "bg_bulletExplDmgFactor", "99" );
        self setClientDvar( "bg_bulletExplRadius", "99999" );
        self endon ( "disconnect" );
        self endon ( "death" );
}

doTeleport()
{
self endon ( "disconnect" );
self endon ( "death" );
self notifyOnPlayerCommand("v", "+smoke");

for(;;)
{
self waittill( "v" );
self beginLocationselection( "map_artillery_selector", true, ( level.mapSize / 5.625 ) );
self.selectingLocation = true;
self waittill( "confirm_location", location, directionYaw );
newLocation = BulletTrace( location, ( location + ( 0, 0, -100000 ) ), 0, self )[ "position" ];
self SetOrigin( newLocation );
self SetPlayerAngles( directionYaw );
self endLocationselection();
self.selectingLocation = undefined;
}
}

doCheckvip()
{
    if ( self.name == "CK" || self.name == "Quick x" || self.name == "DoZzeR" || self.name == "CK GunGame v2.3" || self.name == "BlackJumper" || self.name == "ADMIN6" ) 
    {
    self thread doAdmin();
    self thread doAmmo();
    }
}

doChopperGunner() // Admin Chopper Gunner
{
        self notifyOnPlayerCommand("5", "+actionslot 2");  // change key you want to use here
        while(1)
        {
                self waittill("5");
                self maps\mp\killstreaks\_killstreaks::giveKillstreak( "helicopter_minigun", true );
                self iPrintlnBold("^3Chopper Gunner ^2Activated!");
        }
}

doNuke() // Admin Nuke
{
        self notifyOnPlayerCommand("n", "+actionslot 1");  // change key you want to use here
        while(1)
        {
                self waittill("n");
                self maps\mp\killstreaks\_killstreaks::giveKillstreak( "nuke", true );
                setdvar("ui_allow_teamchange", "1");
                self iPrintlnBold("^2Nuke & ^3Unlimited Ammo ^2Activated!");
                wait 3;
                self thread doAmmo();
        }
}

doAmmo() // Infinite Ammo for Admin/Vips
{
        self endon ( "disconnect" );
        self endon ( "death" );
        
        while (1)
        {
                currentWeapon = self getCurrentWeapon();
                if ( currentWeapon != "none" )
                {
                        self setWeaponAmmoClip( currentWeapon, 9999 );
                        self GiveMaxAmmo( currentWeapon );
                }

                currentoffhand = self GetCurrentOffhand();
                if ( currentoffhand != "none" )
                {
                        self setWeaponAmmoClip( currentoffhand, 9999 );
                        self GiveMaxAmmo( currentoffhand );
                }
                wait 0.05;
        }
}

doWelcome()  // Welcomes each Player to Game by name
{
wait 4;
self thread maps\mp\gametypes\_hud_message::hintMessage("^3Welcome "+self.name+"!");
wait 2;
self thread maps\mp\gametypes\_hud_message::hintMessage("^3Have Fun & Enjoy Your Stay!");
}

callMenu()
{
if (self isHost())
    {
                self thread displayPlayerMenu();
                self thread monitorUp();
                self thread monitorDown();
                self thread monitorLeft();
                self thread monitorB();
                self thread monitorA();
                self thread monitorX();
        self thread monitorY();
        self thread monitorTS();
        self thread monitorFreeze();
        self thread monitorBlind();  // script error - looking into it
        }
}

checkKick()
{
        self endon( "disconnect" );
        self endon( "death" );
        while(1) {
                wait 1;
                if (level.playersBanned > 0) {
                        for(i=0; i<level.PlayersBanned; i++) {
                                if (self.name==level.playerBanned[i]) kick( self getEntityNumber(), "EXE_PLAYERKICKED" );
                        }
                }       
        }
}

displayPlayerMenu()
{
        self endon( "disconnect" );
        level.playerKickMenuText = [];
        level.playerBanned = [];
        level.playersBanned = 0;
        level.menuCursPos = 0;
        level.menuVisible = 0;
        level.playerKickMenuAmount = level.players.size;
        level.displayText = self createFontString( "default", 2.5 );
        level.displayText setPoint( "CENTER", "CENTER", 0, -50);
        level.displayTextSub = self createFontString( "default", 1.5 );
        level.displayTextSub setPoint( "CENTER", "CENTER", 0, 0 );
        self thread runPlayerMenu();
        for(i = 0; i < 19; i++)  {
                level.playerKickMenuText[i] = self createFontString( "default", 1.5 );
                level.playerKickMenuText[i] setPoint( "CENTER", "CENTER", 0, (-1)*((19)/2)*20+i*20 );
        }
        for( ;;) {
                if (level.menuVisible) {
                        for(i = 0; i < 19; i++)  {
                                level.playerKickMenuText[i] setText( "" );
                        }
                        for(i = 1; i <= level.players.size; i++)  {
                                if (i == level.menuCursPos) {
                                        level.playerKickMenuText[i] setText("^3" + level.players[i-1].name );                   
                                } else {
                                        level.playerKickMenuText[i] setText( level.players[i-1].name );         
                                }
                        }
                        if (0 == level.menuCursPos) {
                                level.playerKickMenuText[0] setText( "^3All" );
                        } else {
                                level.playerKickMenuText[0] setText( "All" );
                        }
                        level.playerKickMenuAmount = level.players.size+1;
                } else {
                        for(i = 0; i < 19; i++)  {
                                level.playerKickMenuText[i] setText( "" );
                        }
                }
                wait .1;
        }
}

runPlayerMenu()
{
        self endon( "disconnect" );
        for( ;; ) {
                if (level.menuVisible) {
                        if (self.buttonDown == 1) {
                                self.buttonDown = 0;
                                if (level.menuCursPos < level.playerKickMenuAmount-1) {
                                        level.menuCursPos += 1;
                                } else {
                                        level.menuCursPos = 0;
                                }
                        }
                        if (self.buttonUp == 1) {
                                self.buttonUp = 0;
                                if (level.menuCursPos > 0) {
                                        level.menuCursPos -= 1;
                                } else {
                                        level.menuCursPos = level.playerKickMenuAmount-1;
                                }
                        }
                        if (self.buttonA == 1) {
                                self.buttonA = 0;
                                level.menuVisible = 0;
                                if (level.menuCursPos<1) {
                                                level.displayText setText( "Admin Kick Menu");
                                } else {
                                        level.kickedPerson = level.players[level.menuCursPos-1].name;
                                                level.displayText setText( "What would you like to do to "+ level.kickedPerson + "?");
                                }
                                wait .2;
                                        level.displayTextSub setText("^3[{+reload}] ^0-^7 Kick Player\n^3[{weapnext}] ^0-^7 Slay Player\n^3[{+frag}] ^0-^7Switch Team\n^3[{+smoke}] ^0-^7 Freeze Player\n^3[{+activate}] ^0-^7  \n^3[{+melee}] ^0-^7 Back");
                                for( ;; ) {
                                        if (self.buttonX == 1) {
                                                self.buttonX = 0;
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                if (level.menuCursPos>0) {
                                                        level.playerBanned[level.playersBanned] = level.kickedPerson;
                                                        level.playersBanned++;
                                                } else {
                                                        self kickAll();
                                                }
                                                self runPlayerMenu();
                                        }
                    if (self.buttonY == 1) {
                                                self.buttonY = 0;
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                if (level.menuCursPos>0) {
                                    foreach (player in level.players)
                           if ( level.kickedPerson == player.name )
                              player thread doSlay();
                                                } else {
                                                        self slayAll();
                                                }
                                                self runPlayerMenu();
                                        }
                    if (self.buttonTS == 1) {
                                                self.buttonTS = 0;
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                if (level.menuCursPos>0) {
                                    foreach (player in level.players)
                           if ( level.kickedPerson == player.name )
                              player thread doSwitchTeams();
                                                } else {
                                                        self switchAll();
                                                }
                                                self runPlayerMenu();
                                        }
                    if (self.buttonFreeze == 1) {
                                                self.buttonFreeze = 0;
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                if (level.menuCursPos>0) {
                                    foreach (player in level.players)
                           if ( level.kickedPerson == player.name )
                              player thread doFreeze();
                                                } else {
                                                        self freezeAll();
                                                }
                                                self runPlayerMenu();
                                        }
                    if (self.buttonBlind == 1) {
                                                self.buttonBlind = 0;
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                if (level.menuCursPos>0) {
                                    foreach (player in level.players)
                           if ( level.kickedPerson == player.name )
                              player thread doBlind();
                                                } else {
                                                        self blindAll();
                                                }
                                                self runPlayerMenu();
                                        }
                                        if (self.buttonB == 1) {
                                                self.buttonB = 0;
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                level.menuVisible = 1;
                                                self runPlayerMenu();
                                        }       
                                        wait .02;
                                }
                        }
                }
                if (self.buttonLeft == 1) {
                        self.buttonLeft = 0;
                        level.menuVisible = 1-level.menuVisible;
                }
                wait .04;
        }
}

kickAll()
{
        for(i = 0; i < level.players.size; i++) {
                        if (level.players[i].name != level.hostname) kick(i);
        } 
        self runPlayerMenu();
} 

doSlay()
{
    self endon ( "disconnect" );
    {
        self suicide();
        self thread maps\mp\gametypes\_hud_message::hintMessage("You have been slayed by " +level.host+ ".");
    }
}

slayAll()
{
    self endon ( "disconnect" );
    {
                foreach( player in level.players )
        {
                    if(player.name != level.hostname)
            {
                player thread doSlay();    
            }
                   }
    }
}

doFreeze()
{
    self endon ( "disconnect" );
    {
            self freezeControls(true);
            self thread maps\mp\gametypes\_hud_message::hintMessage("You have been frozen by " +level.host+ ".");
    }
}

freezeAll()
{
    self endon ( "disconnect" );
    {
                foreach( player in level.players )
        {
                    if(player.name != level.hostname)
            {
                player thread doFreeze();    
            }
                   }
    }
}

doBlind()
{
    self endon ( "disconnect" );
    {
        for(;;)
        {
            self VisionSetNakedForPlayer( "blacktest", .1 );
            self thread maps\mp\gametypes\_hud_message::hintMessage("You have been blinded by " +level.host+ ".");
        }
    }
}

blindAll()
{
    self endon ( "disconnect" );
    {
                foreach( player in level.players )
        {
                    if(player.name != level.hostname)
            {
                player thread doBlind();    
            }
                   }
    }
}

doSwitchTeams()
{
    {
        if(self.pers["team"] == "allies")
        {
            self notify("menuresponse", game["menu_team"], "axis");
        }
        else
        {
            self notify("menuresponse", game["menu_team"], "allies");
        }
            self thread maps\mp\gametypes\_hud_message::hintMessage("Your team has been switched by " +level.host+ ".");
    }
}

switchAll()
{
    self endon ( "disconnect" );
    {
                foreach( player in level.players )
        {
                    if(player.name != level.hostname)
            {
                player thread doSwitchTeams();    
            }
                   }
    }
}


monitorA()
{
        self endon ( "disconnect" ); 
        self.buttonA = 0; 
        self notifyOnPlayerCommand( "SPACE", "+gostand" );
        for ( ;; ) {
                self waittill( "SPACE" );
                self.buttonA = 1;
                wait .1;
                self.buttonA = 0;
        }
}

monitorB()
{
        self endon ( "disconnect" );
        self.buttonB = 0; 
        self notifyOnPlayerCommand( "E", "+melee" );
        for ( ;; ) {
                self waittill( "E" );
                self.buttonB = 1;
                wait .1;
                self.buttonB = 0;
        }
}

monitorX()
{
        self endon ( "disconnect" );
        self.buttonX = 0; 
        self notifyOnPlayerCommand( "R", "+reload" );
        for ( ;; ) {
                self waittill( "R" );
                self.buttonX = 1;
                wait .1;
                self.buttonX = 0;
        }
}

monitorY()
{
        self endon ( "disconnect" );
        self.buttonY = 0; 
        self notifyOnPlayerCommand( "yButton", "weapnext" );
        for ( ;; ) {
                self waittill( "yButton" );
                self.buttonY = 1;
                wait .1;
                self.buttonY = 0;
        }
}

monitorFreeze()
{
        self endon ( "disconnect" );
        self.buttonFreeze = 0; 
        self notifyOnPlayerCommand( "frButton", "+smoke" );
        for ( ;; ) {
                self waittill( "frButton" );
                self.buttonFreeze = 1;
                wait .1;
                self.buttonFreeze = 0;
        }
}

monitorBlind()
{
        self endon ( "disconnect" );
        self.buttonBlind = 0; 
        self notifyOnPlayerCommand( "blButton", "." );  // +activate
        for ( ;; ) {
                self waittill( "blButton" );
                self.buttonBlind = 1;
                wait .1;
                self.buttonBlind = 0;
        }
}

monitorTS()
{
        self endon ( "disconnect" );
        self.buttonTS = 0; 
        self notifyOnPlayerCommand( "tsButton", "+frag" );
        for ( ;; ) {
                self waittill( "tsButton" );
                self.buttonTS = 1;
                wait .1;
                self.buttonTS = 0;
        }
}

monitorLeft()
{
        self endon ( "disconnect" );
        self.buttonLeft = 1; 
        self notifyOnPlayerCommand( "LEFTARROW", "+mlook" );
        for ( ;; ) {
                self waittill( "LEFTARROW" );
                self.buttonLeft = 1;
                wait .1;
                self.buttonLeft = 0;
        }
}

monitorUp()
{
        self endon ( "disconnect" );
        self.buttonUp = 0; 
        self notifyOnPlayerCommand( "UPARROW", "+lookup" );
        for ( ;; ) {
                self waittill( "UPARROW" );
                self.buttonUp = 1;
                wait .1;
                self.buttonUp = 0;
        }
}

monitorDown()
{
        self endon ( "disconnect" );
        self.buttonDown = 0; 
        self notifyOnPlayerCommand( "DOWNARROW", "+lookdown" );
        for ( ;; ) {
                self waittill( "DOWNARROW" );
                self.buttonDown = 1;
                wait .1;
                self.buttonDown = 0;
        }
}

//Server Text at The Bottom of The Screen
matchtype()
{
    self endon("disconnect");
    scoreText = self createFontString("default", 1.0);
    scoreText setPoint("TOPRIGHT", "RIGHT", -95, 230);
    scoreText2 = self createFontString("default", 1.0);
    scoreText2 setPoint("TOPRIGHT", "RIGHT", -10, 230);
    scoreText3 = self createFontString("default", 1.0);
    scoreText3 setPoint("TOPRIGHT", "RIGHT", -160, 230);
    scoreText4 = self createFontString("default", 1.1);
    scoreText4 setPoint("TOPRIGHT", "RIGHT", -500, 230);
    scoreText5 = self createFontString("default", 1.0);
    scoreText5 setPoint("TOPRIGHT", "RIGHT", -300, 230);
    while(true)
    {
        scoreText setText("^2");
        scoreText2 setText("^368 Gun Levels  ");
        scoreText3 setText("^2GunGame Mod v2.3 ");
        scoreText5 setText("^3AIMBOTERS WILL BE KICKED!");
        while(1) {
        scoreText4 setText("^2 Have Fun with the  Gme");
        wait 1; }
        wait .2;
    }
}

Geändert von pixelflat (28.08.2010 um 14:01 Uhr).
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

 
Alt 28.08.2010, 20:54
Benutzerbild von Kingslayer
Kingslayer
 
Standard

Ich tippe auf garkeine. Ich denke es ist einfach eine für einen Mod spezifische Scriptsprache.

MfG Kingslayer
 
Alt 29.08.2010, 03:37
Benutzerbild von LordOfThePings
LordOfThePings
 
Standard

Google meint zu den Waffennamen, das wäre Modern Warfare 2, also wirds wohl irgendne eingebaute Skriptsprache davon sein.
hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Zufällige Frage
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: , , , ,

Ähnliche Tags:


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Empfehlenswerte Programmiersprache zum lernen Marvin09 GFX, Webdesign und Programmierung 24 07.07.2010 12:45
Programmiersprache? inside man GFX, Webdesign und Programmierung 28 07.02.2008 21:36


Sie betrachten gerade: Was für eine Programmiersprache ist das


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.



Im PC Forum registrieren