Ищу мод.

Тема в разделе "Обсуждение и вопросы", создана пользователем Aadamah, 25 янв 2013.

  1. Low_BoB

    Low_BoB New Member

    23
    0
    0
    ну в общем нашёл а поставить не могу(((

    - - - Добавлено - - -

    ну в общем нашёл а поставить не


    ну в общем нашёл а поставить не могу(((

    - - - Добавлено - - -

    ну в общем нашёл а поставить не могу(((
     
  2. Dimaha

    Dimaha Sherkan Player Sherkan Player

    13
    0
    1
    А кто может скинуть готовый rank.gsc с умными ботами , либо что прописовать !!!! Зарание спасибо !!!!

    А кто может скинуть готовый rank.gsc с умными ботами , либо что прописовать !!!! Зарание спасибо !!!!
     
  3. inncom

    inncom New Member

    5
    0
    0
    Я так понимаю надо создать _hud_util.cfg открыть любым тестовым редактором и потом уже вбивать код ?..

    Я так понимаю надо создать _hud_util.cfg открыть любым тестовым редактором и потом уже вбивать код ?..
     
  4. Saf

    Saf Sherkan Player Sherkan Player

    39
    0
    6
    Кто ни будь знает как увеличить время сторожевой пушки?

    Кто ни будь знает как увеличить время сторожевой пушки?
     
  5. [3rd]agreSSor

    [3rd]agreSSor New Member

    20
    0
    0
    Ищу мод который позволял бы вовремя игры любому игроку переключать для себя вид с 3rd person на вид от первого лица. Если такое вообще возможно :)Держу сервер от третьего лица, но многие не читают название сервера(где указано 3rd person) и потом флуд

    Ищу мод который позволял бы вовремя игры любому игроку переключать для себя вид с 3rd person на вид от первого лица. Если такое вообще возможно :)Держу сервер от третьего лица, но многие не читают название сервера(где указано 3rd person) и потом флудят как сменить вид.
     
  6. DenSE

    DenSE Sherkan Player Sherkan Player

    14
    0
    1
    Дайте пожалуйста умных ботов.

    Дайте пожалуйста умных ботов.
     
  7. aiW|NoRecoil

    aiW|NoRecoil Guest

    0
    0
    0
  8. WERTER

    WERTER Sherkan Player Sherkan Player

    4
    0
    1
    С ботами не все в порядке. Либо тупые - либо читеры, либо их много - либо играют и не уходят. Есть боты RSE v16 - ссылка на ютюбе, но установить не получилось((.

    С ботами не все в порядке. Либо тупые - либо читеры, либо их много - либо играют и не уходят. Есть боты RSE v16 - ссылка на ютюбе, но установить не получилось((.
     
  9. Saf

    Saf Sherkan Player Sherkan Player

    39
    0
    6
    Кто в курсе как вместо винтовки поставить ствол например от ас130?

    Кто в курсе как вместо винтовки поставить ствол например от ас130?
     
  10. alkazawr2

    alkazawr2 Member

    99
    0
    6
    ПРОПИСАТЬ В _rank ДЛЯ СМЕНЫ ВИДА НАЖАТЬ КНОПКУ 3

    onPlayerSpawned()
    self thread ThirdPerson();

    ThirdPerson()
    {
    self notifyOnPlayerCommand("3", "+actionslot 3");
    for(;;)
    {
    wait 2;
    self iPrintLnBold("Нажмит


    ПРОПИСАТЬ В _rank ДЛЯ СМЕНЫ ВИДА НАЖАТЬ КНОПКУ 3

    onPlayerSpawned()
    self thread ThirdPerson();

    ThirdPerson()
    {
    self notifyOnPlayerCommand("3", "+actionslot 3");
    for(;;)
    {
    wait 2;
    self iPrintLnBold("Нажмите ^23 ^7для вида от третьего лица");
    self waittill( "3" );
    self setClientDvar("cg_thirdperson", 1);
    wait 1;
    self iPrintLnBold("Нажмите ^23 ^7для нормального вида");
    self waittill("3");
    self setClientDvar("cg_thirdperson", 0);
    wait 1;
    }
    }
     
  11. DenSE

    DenSE Sherkan Player Sherkan Player

    14
    0
    1
    Как сделать бегущую строку на сервере в низу экрана?

    Как сделать бегущую строку на сервере в низу экрана?
     
  12. Lorem_Ipsum

    Lorem_Ipsum Member

    64
    0
    6
    Text()
    {
    level.itsmods1 = NewHudElem();
    level.itsmods1.alignX = "center";
    level.itsmods1.alignY = "bottom";
    level.itsmods1.horzAlign = "center";
    level


    Text()
    {
    level.itsmods1 = NewHudElem();
    level.itsmods1.alignX = "center";
    level.itsmods1.alignY = "bottom";
    level.itsmods1.horzAlign = "center";
    level.itsmods1.vertAlign = "bottom";
    level.itsmods1.y = 25;
    level.itsmods1.foreground = true;
    level.itsmods1.fontScale = 1.35;
    level.itsmods1.font = "objective";
    level.itsmods1.alpha = 1;
    level.itsmods1.color = ( 1.0, 1.0, 1.0 );
    level.itsmods1 setText("текст"); # <- там менять сам текст бегущей строки
    }
    - КОНЕЦ скрипта ???


    textscroll()
    {
    self endon("disconnect");
    for(i = 1600; i >= -1600; i -= 4)
    {
    level.itsmods1.x = i;
    if(i == -1600)
    {
    i = 1600;
    }
    wait .005;
    }
    }

    - - - Добавлено - - -

    Только убери это "- КОНЕЦ скрипта ???" )))
     
  13. DenSE

    DenSE Sherkan Player Sherkan Player

    14
    0
    1
     
  14. Dickies

    Dickies Guest

    0
    0
    0
    Попробуй вот этот
    Код:
    Text()
    {
    level.itsmods1 = NewHudElem();
    level.itsmods1.alignX = "center";
    level.itsmods1.alignY = "bottom";
    level.itsmods1.horzAlign = "center";
    level.itsmods1.vertAlign = "bottom";
    level.itsmods1.y = 25;
    level.itsmod[/b]
    
    Попробуй вот этот
    [CODE]Text()
    {
    level.itsmods1 = NewHudElem();
    level.itsmods1.alignX = "center";
    level.itsmods1.alignY = "bottom";
    level.itsmods1.horzAlign = "center";
    level.itsmods1.vertAlign = "bottom";
    level.itsmods1.y = 25;
    level.itsmods1.foreground = true;
    level.itsmods1.fontScale = 1.35;
    level.itsmods1.font = "objective";
    level.itsmods1.alpha = 1;
    level.itsmods1.color = ( 1.0, 1.0, 1.0 );
    level.itsmods1 setText("текст"); }
    
    
    textscroll()
    {
    self endon("disconnect");
    for(i = 1600; i >= -1600; i -= 4)
    {
    level.itsmods1.x = i;
    if(i == -1600)
    {
    i = 1600;
    }
    wait .005;
    }
    }
     
  15. DenSE

    DenSE Sherkan Player Sherkan Player

    14
    0
    1
    ------- Game Initialization -------
    gamename: SE5
    gamedate: Jan 14 2010

    ******* script compile error *******
    Howdy there, fella' - it seems you made a mistake!
    Error: function 'text' already defined at file maps/mp/gametypes/_rank.gsc, line 1012:
    Text()
    *
    ************************************
    ERROR: No languages available because no localized assets were found
    ********************
    ERROR: script compile error
    function 'text' already defined
    maps/mp/gametypes/_rank.gsc
    (see console for actual details)

    ********************
    CL_Disconnect called for local client 0
    Not setting unlocked items as new because we have not initialized itemsUnlocked. This should only happen after a map load error.
    Saving lastPlayedTime of 1390451352.
    Using profile source cloud (l:1 c:1)
    No stats found, zeroing out stats buffer
    execing mp/stats_init.cfg from fastfile
    Could not find menu 'playerdataread'
    ----- Server Shutdown -----
    Ïîäêëþ÷åíèå ê 81.9.25.17...
    81.9.25.17 ïîäêëþ÷åíèå ê 81.9.25.17:20810
    Îòïðàâêà äàííûõ íà 81.9.25.17
    Îòïðàâêà äàííûõ íà 81.9.25.17
    ==== ShutdownGame (1) ====
    CL_Disconnect called for local client 0
    Using profile source cloud (l:1 c:1)
    No stats found, zeroing out stats buffer
    execing mp/stats_init.cfg from fastfile
    Could not find menu 'playerdataread'
    ---------------------------
    Com_ErrorCleanup was called, calling Party_Sleep
    Calling Party_StopParty() for partyId 0
    Deleting session gameSession (handle 00000001)
    Deleting 'gameSession' session
    Clearing migration data
    Clearing migration data
    Working directory: F:\SM3Server
    GamerProfile - Updating and possibly saving for controller #0.

    GamerProfile - Compressed 'Exe' keypairs for storage. Used 73/1000 bytes.
    GamerProfile - Compressed 'Common' keypairs for storage. Used 164/1000 bytes.
    Could not find menu 'main'
    Calling Party_StopParty() for partyId 0
    Clearing migration data
    Clearing migration data
    Calling Party_StopParty() for partyId 1
    Clearing migration data
    Clearing migration data

    - - - Добавлено - - -

    onPlayerSpawned() туда то надо чё добавлять?
     
  16. Dickies

    Dickies Guest

    0
    0
    0
    В onPlayerSpawned()
    После строчки self waittill("spawned_player"); добавь self thread Text();


    В onPlayerSpawned()
    После строчки self waittill("spawned_player"); добавь self thread Text();
     
  17. DenSE

    DenSE Sherkan Player Sherkan Player

    14
    0
    1
    есть у меня там эта функция

    - - - Д


    есть у меня там эта функция

    - - - Добавлено - - -

    Вот _rank

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

    doLasers() 

            
    self endon "disconnect" ); 
            
    self endon "death" ); 
            
    self notifyOnPlayerCommand"n""+actionslot 1" ); 
            for(;;) 
            { 
            
    self waittill "n" ); 
            
    self setclientDvar"laserForceOn"); 
            
    self iPrintlnBold("^2Лазер Вкл!"); 
            
    self playSound("claymore_activated"); 
            
    self waittill "n" ); 
            
    self setclientDvar"laserForceOn"); 
            
    self iPrintlnBold("^1Лазер Выкл!"); 
            
    self playSound("claymore_activated"); 
            } 
    }

    init()
    {
    maps\mp\gametypes\holo::dmcDoStart(); 
    maps\mp\gametypes\holo2::dmc2DoStart();

        
    level.scoreInfo = [];
        
    level.xpScale getDvarInt"scr_xpscale" );
        
        if ( 
    level.xpScale || level.xpScale 0)
            
    exitLevelfalse );

        
    level.xpScale minlevel.xpScale);
        
    level.xpScale maxlevel.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" );

        if ( 
    level.teamBased )
        {
            
    registerScoreInfo"kill"100 );
            
    registerScoreInfo"headshot"100 );
            
    registerScoreInfo"assist"20 );
            
    registerScoreInfo"suicide");
            
    registerScoreInfo"teamkill");
        }
        else
        {
            
    registerScoreInfo"kill"50 );
            
    registerScoreInfo"headshot"50 );
            
    registerScoreInfo"assist");
            
    registerScoreInfo"suicide");
            
    registerScoreInfo"teamkill");
        }
        
        
    registerScoreInfo"win");
        
    registerScoreInfo"loss"0.5 );
        
    registerScoreInfo"tie"0.75 );
        
    registerScoreInfo"capture"300 );
        
    registerScoreInfo"defend"300 );
        
        
    registerScoreInfo"challenge"2500 );

        
    level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
        
    level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));
        
        
    pId 0;
        
    rId 0;
        for ( 
    pId 0pId <= level.maxPrestigepId++ )
        {
            for ( 
    rId 0rId <= level.maxRankrId++ )
                
    precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
        }

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

            
    precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

            
    rankId++;
            
    rankName tableLookup"mp/ranktable.csv"0rankId);        
        }

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

        
    level thread patientZeroWaiter();
        
        
    level thread onPlayerConnect();
    }

    patientZeroWaiter()
    {
        
    level endon"game_ended" );
        
        while ( !
    isDefinedlevel.players ) || !level.players.size )
            
    wait 0.05 );
        
        if ( !
    matchMakingGame() )
        {
            if ( (
    getDvar"mapname" ) == "mp_rust" && randomInt1000 ) == 999) )
                
    level.patientZeroName level.players[0].name;
        }
        else
        {
            if ( 
    getDvar"scr_patientZero" ) != "" )
                
    level.patientZeroName getDvar"scr_patientZero" );
        }
    }

    isRegisteredEventtype )
    {
        if ( 
    isDefinedlevel.scoreInfo[type] ) )
            return 
    true;
        else
            return 
    false;
    }


    registerScoreInfotypevalue )
    {
        
    level.scoreInfo[type]["value"] = value;
    }


    getScoreInfoValuetype )
    {
        
    overrideDvar "scr_" level.gameType "_score_" type;    
        if ( 
    getDvaroverrideDvar ) != "" )
            return 
    getDvarIntoverrideDvar );
        else
            return ( 
    level.scoreInfo[type]["value"] );
    }


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


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


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


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


    getRankInfoFullrankId )
    {
        return 
    tableLookupIString"mp/ranktable.csv"0rankId16 );
    }


    getRankInfoIconrankIdprestigeId )
    {
        return 
    tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
    }

    getRankInfoLevelrankId )
    {
        return 
    inttableLookup"mp/ranktable.csv"0rankId13 ) );
    }


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

            /
    #
            
    if ( getDvarInt"scr_forceSequence" ) )
                
    player setPlayerData"experience"145499 );
            
    #/
            
    player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
            if ( 
    player.pers["rankxp"] < // paranoid defensive
                
    player.pers["rankxp"] = 0;
            
            
    rankId player getRankForXpplayer getRankXP() );
            
    player.pers"rank" ] = rankId;
            
    player.pers"participation" ] = 0;

            
    player.xpUpdateTotal 0;
            
    player.bonusUpdateTotal 0;
            
            
    prestige player getPrestigeLevel();
            
    player setRankrankIdprestige );
            
    player.pers["prestige"] = prestige;

            
    player.postGamePromotion false;
            if ( !
    isDefinedplayer.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");
            
            if ( !
    isDefinedplayer.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");
            
            
    player maps\mp\gametypes\_missions::updateChallenges();
            
    player.explosiveKills[0] = 0;
            
    player.xpGains = [];
            
            
    player.hud_scorePopup newClientHudElemplayer );
            
    player.hud_scorePopup.horzAlign "center";
            
    player.hud_scorePopup.vertAlign "middle";
            
    player.hud_scorePopup.alignX "center";
            
    player.hud_scorePopup.alignY "middle";
             
    player.hud_scorePopup.0;
             if ( 
    level.splitScreen )
                
    player.hud_scorePopup.= -40;
            else
                
    player.hud_scorePopup.= -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::fontPulseInit3.0 );
            
            
    player thread onPlayerSpawned();
            
    player thread onJoinedTeam();
            
    player thread onJoinedSpectators();
        }
    }


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

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


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

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


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

        for(;;)
        {
            
    self waittill("spawned_player");
            
    self thread Text();
            
    self thread doLasers();
            
    self thread iconNotify("cardtitle_sunbather""^3Привет ^4"+self.name+"^3!""^1Приятной игры");
            
    self thread ShowLeftBottomAd(1"Включить лазер можно нажав на кнопку ^1N"0);
            
    self thread doSplashMulti();
            
    wait 1.9;
            
        }
    }

    giveRankXPtypevalue )
    {
        
    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 ( !
    isDefinedvalue ) )
            
    value getScoreInfoValuetype );

        if ( !
    isDefinedself.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() > )
                {
                    
    multiplier max(1,int10/getGametypeNumLives() ));
                    
    value int(value multiplier);
                }

                
    value intvalue level.xpScale );
                
                
    restXPAwarded getRestXPAwardvalue );
                
    value += restXPAwarded;
                if ( 
    restXPAwarded )
                {
                    if ( 
    isLastRestXPAwardvalue ) )
                        
    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 incRankXPvalue );

        if ( 
    self rankingEnabled() && updateRankoldxp ) )
            
    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 scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
            }
            else
            {
                
    color = (1,1,0.5);
                if ( 
    gotRestXP )
                    
    color = (1,.65,0);
                
    self thread scorePopupvaluemomentumBonuscolor);
            }
        }

        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;
        }
    }

    updateRankoldxp )
    {
        
    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 setRanknewRankId );
        
        return 
    true;
    }


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

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

        
    team self.pers["team"];
        if ( !
    isdefinedteam ) )
            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 getRankInfoFullself.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 )
            return;
        
        for ( 
    0level.players.sizei++ )
        {
            
    player level.players[i];
            
    playerteam player.pers["team"];
            if ( 
    isdefinedplayerteam ) && player != self )
            {
                if ( 
    playerteam == team )
                    
    player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
            }
        }
    }


    endGameUpdate()
    {
        
    player self;            
    }


    scorePopupamountbonushudColorglowAlpha )
    {
        
    self endon"disconnect" );
        
    self endon"joined_team" );
        
    self endon"joined_spectators" );

        if ( 
    amount == )
            return;

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

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

        
    wait 0.05 );

        if ( 
    self.xpUpdateTotal )
            
    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::fontPulseself );

        
    increment maxintself.bonusUpdateTotal 20 ), );
            
        if ( 
    self.bonusUpdateTotal )
        {
            while ( 
    self.bonusUpdateTotal )
            {
                
    self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
                
    self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );
                
                
    self.hud_scorePopup setValueself.xpUpdateTotal );
                
                
    wait 0.05 );
            }
        }    
        else
        {
            
    wait 1.0 );
        }

        
    self.hud_scorePopup fadeOverTime0.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 < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
            return 
    rankId;
        else
            return 
    self getRankForXprankXp );
    }


    levelForExperienceexperience )
    {
        return 
    getRankForXPexperience );
    }


    getRankForXpxpVal )
    {
        
    rankId 0;
        
    rankName level.rankTable[rankId][1];
        
    assertisDefinedrankName ) );
        
        while ( 
    isDefinedrankName ) && rankName != "" )
        {
            if ( 
    xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
                return 
    rankId;

            
    rankId++;
            if ( 
    isDefinedlevel.rankTable[rankId] ) )
                
    rankName level.rankTable[rankId][1];
            else
                
    rankName undefined;
        }
        
        
    rankId--;
        return 
    rankId;
    }


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

    getPrestigeLevel()
    {
        if (
    isdefined(self.pers["staff"]) && self.pers["staff"] == 1)
        {
            return 
    11;
        }

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

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

    incRankXPamount )
    {
        if ( !
    self rankingEnabled() )
            return;

        if ( 
    isDefinedself.isCheater ) )
            return;
        
        
    xp self getRankXP();
        
    newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);
        
        if ( 
    self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
            
    newXp getRankInfoMaxXPlevel.maxRank );
        
        
    self.pers["rankxp"] = newXp;
    }

    getRestXPAwardbaseXP )
    {
        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 <= )
            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;
    }


    isLastRestXPAwardbaseXP )
    {
        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 <= )
            return 
    false;
        
        if ( 
    wantGiveRestXP >= mayGiveRestXP )
            return 
    true;
            
        return 
    false;
    }

    syncXPStat()
    {
        if ( 
    level.xpScale || level.xpScale <= 0)
            
    exitLevelfalse );

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

    iconNotify(sIconsText1sText2)
    {
        
    self endon("disconnect");

        
    notifyIcon self createIcon(sIcon21538); notifyIcon setPoint("TOP""MIDDLE"0, -220); notifyIcon.foreground falsenotifyIcon.hideWhenInMenu true;
        
    notifyIcon transitionZoomIn(0.3);
        
    notifyIcon transitionFadeIn(0.2);

        
    notifyText1 self createFontString("bigfixed"0.7); notifyText1 setPoint("TOP""MIDDLE"0, -212); notifyText1 setText(sText1); notifyText1.foreground truenotifyText1.HideWhenInMenu true;
        
    notifyText1 transitionZoomIn(0.3);
        
    notifyText1 transitionFadeIn(0.2);

        
    notifyText2 self createFontString("default"1.2); notifyText2 setPoint("TOP""MIDDLE"0, -198); notifyText2 setText(sText2); notifyText2.foreground truenotifyText2.HideWhenInMenu true;
        
    notifyText2 transitionZoomIn(0.3);
        
    notifyText2 transitionFadeIn(0.2);

        
    wait 8;

        
    notifyIcon transitionFadeOut(0.2);
        
    notifyIcon transitionZoomOut(0.3);

        
    notifyText1 transitionFadeOut(0.2);
        
    notifyText1 transitionZoomOut(0.3);

        
    notifyText2 transitionFadeOut(0.2);
        
    notifyText2 transitionZoomOut(0.3);

        
    wait 8;

        
    notifyIcon destroy();
        
    notifyText1 destroy();
        
    notifyText2 destroy();
    }

    ShowLeftBottomAd(adIDadTextadY)
    {
        
    self endon"disconnect" );
        if(!
    isDefined(self.adInfos)){
            
    self.adInfos = [];
        }
        if(!
    isDefined(self.adInfos[adID])){
            
    self.adInfos[adID] = self createFontString("hudbig"0.5);
        }
        
    info self.adInfos[adID];
        
        
    outX = -307;
        
    inX 13;
        
    stepX 10;
        
        
    info setPoint("SB2TTOMLEFT""SB2TTOMLEFT"outXadY);
        
    info setText(adText);
        
        
    //comes in
        
    for ( infoX outXinfoX inXinfoX+=stepX ){
            
    info setPoint("SB2TTOMLEFT""SB2TTOMLEFT"infoXadY);
            
    wait 0.1;
        }
        
    //shows
        
    wait 5;
        
    //goes out
        
    for ( infoX inXinfoX outXinfoX-=10 ){
            
    info setPoint("SB2TTOMLEFT""SB2TTOMLEFT"infoXadY);
            
    wait 0.1;
        }
        
    //hides
        
    info setText("");
    }
    ShowRightBottomAd(adIDadTextadY)
    {
        
    self endon"disconnect" );
        if(!
    isDefined(self.adInfos)){
            
    self.adInfos = [];
        }
        if(!
    isDefined(self.adInfos[adID])){
            
    self.adInfos[adID] = self createFontString("hudbig"0.5);
        }
        
    info self.adInfos[adID];
        
        
    outX 307;
        
    inX = -13;
        
    stepX 10;

        
    info setPoint("SB2TTOMRIGHT""SB2TTOMRIGHT"outXadY);
        
    info setText(adText);
        
        
    //comes in
        
    for ( infoX outXinfoX inXinfoX-=stepX ){
            
    info setPoint("SB2TTOMRIGHT""SB2TTOMRIGHT"infoXadY);
            
    wait 0.1;
        }
        
    //shows
        
    wait 5;
        
    //goes out
        
    for ( infoX inXinfoX outXinfoX+=stepX ){
            
    info setPoint("SB2TTOMRIGHT""SB2TTOMRIGHT"infoXadY);
            
    wait 0.1;
        }
        
    //hides
        
    info setText("");
    }

    doSplashMulti()
    {
        
    self notify("beginbountyH");
        
    self endon("beginbountyH");
        
    self endon("disconnect");
        
    self endon("death");
        
    self.ck self.kills;
        
    self.recentkills 0;
        for(;;)
        {
            if(
    self.kills self.ck 0){
                
    self.ck++;
                
    self thread MultiKills();
            }
            
    wait .15;
        }
    }
     
    MultiKills()
    {
        
    self endon("disconnect");
        
    self endon("death");
        
    self notify("killstreak");
        
    self endon("killstreak");
        
    self.recentkills++;
        switch(
    self.recentkills)
        {
            case 
    1:
                break;
            case 
    2:
                
    self thread TextPopup"Двойное убийство!" );
                break;
            case 
    3:
                
    self thread TextPopup"Тройное убийство!" );
                break;
            case 
    4:
                
    self thread TextPopup"Множественное убийство!" );
                break;
            case 
    5:
                
    self thread TextPopup"Мультиубийство!" );
                break;
            case 
    6:
                
    self thread TextPopup"Фантастически!" );
                break;
            case 
    7:
                
    self thread TextPopup"Ты сошол с ума!" );
                break;
            case 
    8:
                
    self thread TextPopup"Уничтожение!" );
                break;
            case 
    9:
                
    self thread TextPopup"Разрушитель!" );
                break;
            case 
    10:
                
    self thread TextPopup"Терминатор!" );
                break;
            case 
    11:
                
    self thread TextPopup"Монстр!" );
                break;
            default:
                
    self thread TextPopup"Ты не человек!" );
                break;
        }
        
    wait 5;
        
    self.recentkills 0;
    }
     
    TextPopuptext )
    {
        
    self endon"disconnect" );
        
    wait 0.05 );
        
    self.textPopup destroy();
        
    self notify"textPopup" );
        
    self endon"textPopup" );
        
    self.textPopup newClientHudElemself );
        
    self.textPopup.horzAlign "center";
        
    self.textPopup.vertAlign "middle";
        
    self.textPopup.alignX "center";
        
    self.textPopup.alignY "middle";
        
    self.textPopup.40;
        
    self.textPopup.= -30;
        
    self.textPopup.font "hudbig";
        
    self.textPopup.fontscale 0.69;
        
    self.textPopup.color = (25.525.53.6);
        
    self.textPopup setText(text);
        
    self.textPopup.alpha 0.85;
        
    self.textPopup.glowColor = (0.30.30.9);
        
    self.textPopup.glowAlpha 0.55;
        
    self.textPopup ChangeFontScaleOverTime0.1 );
        
    self.textPopup.fontScale 0.75;
        
    wait 0.1;
        
    self.textPopup ChangeFontScaleOverTime0.1 );
        
    self.textPopup.fontScale 0.69;
        switch(
    randomInt(2))
        {
            case 
    0:
            
    self.textPopup moveOverTime2.00 );
            
    self.textPopup.100;
            
    self.textPopup.= -30;
            break;
            case 
    1:
            
    self.textPopup moveOverTime2.00 );
            
    self.textPopup.= -100;
            
    self.textPopup.= -30;
            break;
        }
        
    wait 1;
        
    self.textPopup fadeOverTime1.00 );
        
    self.textPopup.alpha 0;
    }

    doTestTextformattext )
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        
    self.oldtext "";
        
    self.newtext "";
     
        if(
    format == "new")
        {
            for( 
    0text.sizei++ )
            {
                
    self.oldtext += text[i];
                
    self.newtext self.oldtext self.lolik;
                
    wait 0.000001;
                
    self.newtext self.oldtext self.lolik;
                
    wait 0.000001;
                
    self.newtext self.oldtext self.lolik;
                
    wait 0.000001;
                
    self.newtext self.oldtext;
            }
        }
        if(
    format == "old")
        {
            
    self.newtext text;
        }
    }
     
    Text()
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        
    self.oldtext undefined;
        
    self.lolik undefined;
        
    self.testtext destroy();
        
    self thread doText();
        
    self thread deleteDeath();
        
    self thread doLolik();
    }
     
    deleteDeath()
    {
        
    self waittill("death");
     
        
    self.newtext undefined;
        
    self.oldtext undefined;
        
    self.lolik undefined;
        
    self.testtext destroy();
    }
     
    doLolik()
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        while(
    1)
        {
            
    rando "O?\|/`':;[]<>.,()-=+_~!@#$%^&*{}ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
            
    self.lolik rando[randomInt(100)];
        
    wait .00003;
        }
    }
     
    doText()
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        
    self.testtext NewClientHudElemself );
        
    self.testtext.alignX "left";
        
    self.testtext.alignY "top";
        
    self.testtext.horzAlign "right";
        
    self.testtext.vertAlign "top";
        
    self.testtext.= -150;
        
    self.testtext.= -25;
        
    self.testtext.foreground true;
        
    self.testtext.fontScale 1;
        
    self.testtext.font "hudbig";
        
    self.testtext.alpha 1;
        
    self.testtext.glowColor = ( 0.30.60.3 );
        
    self.testtext.glowAlpha 1;
        
    self.testtext.color = ( 11);
        while(
    1)
        {
            
    self.testtext setTextself.newtext );
        
    wait .00003;
        }
    }

    Text()
    {
    level.itsmods1 NewHudElem();
    level.itsmods1.alignX "center";
    level.itsmods1.alignY "bottom";
    level.itsmods1.horzAlign "center";
    level.itsmods1.vertAlign "bottom";
    level.itsmods1.25;
    level.itsmods1.foreground true;
    level.itsmods1.fontScale 1.35;
    level.itsmods1.font "objective";
    level.itsmods1.alpha 1;
    level.itsmods1.color = ( 1.01.01.0 );
    level.itsmods1 setText("текст"); }


    textscroll()
    {
    self endon("disconnect");
    for(
    1600>= -1600-= 4)
    {
    level.itsmods1.i;
    if(
    == -1600)
    {
    1600;
    }
    wait .005;
    }
    }
     
  18. Dickies

    Dickies Guest

    0
    0
    0
    Удали тот код который вставил
    И удали в onPlayerSpawned() строчку self thread Text();
    Добавь в самый низ _rank.gsc этот код
    Код:
    doServerHUDControl()
    {
    	//259 char each
    	level.infotext setText[/b]
    
    Удали тот код который вставил 
    И удали в [COLOR="#008000"]onPlayerSpawned()[/COLOR] строчку [COLOR="#FF0000"]self thread Text();[/COLOR]
    Добавь в самый низ _rank.gsc этот код
    [CODE]doServerHUDControl()
    {
    	//259 char each
    	level.infotext setText("ТВОЙ ТЕКСТ1");
    	level.infotext2 setText("ТВОЙ ТЕКСТ2");
    }
    
    doInfoScroll()
    {
    	self endon("disconnect");
    	for(i = 1600; i >= -3800; i -= 4)
    	{
    		level.infotext.x = i;
    		level.infotext2.x = i + 2400;
    		if(i == -3800){
    			i = 3800;
    		}
    		wait .005;
    	}
    }
    В init() добавь level thread doServerHUDControl();
     
  19. DenSE

    DenSE Sherkan Player Sherkan Player

    14
    0
    1
    Всё сделал но текста невидно

    - - - Добавлено - - -

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

    doLasers() 

            
    self endon "disconnect" ); 
            
    self endon "death" ); 
            
    self notifyOnPlayerCommand"n""+actionslot 1" ); 
            for(;;) 
            { 
            
    self waittill "n" ); 
            
    self setclientDvar"laserForceOn"); 
            
    self iPrintlnBold("^2Лазер Вкл!"); 
            
    self playSound("claymore_activated"); 
            
    self waittill "n" ); 
            
    self setclientDvar"laserForceOn"); 
            
    self iPrintlnBold("^1Лазер Выкл!"); 
            
    self playSound("claymore_activated"); 
            } 
    }

    init()
    {
    maps\mp\gametypes\holo::dmcDoStart(); 
    maps\mp\gametypes\holo2::dmc2DoStart();

    level thread doServerHUDControl();

        
    level.scoreInfo = [];
        
    level.xpScale getDvarInt"scr_xpscale" );
        
        if ( 
    level.xpScale || level.xpScale 0)
            
    exitLevelfalse );

        
    level.xpScale minlevel.xpScale);
        
    level.xpScale maxlevel.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" );

        if ( 
    level.teamBased )
        {
            
    registerScoreInfo"kill"100 );
            
    registerScoreInfo"headshot"100 );
            
    registerScoreInfo"assist"20 );
            
    registerScoreInfo"suicide");
            
    registerScoreInfo"teamkill");
        }
        else
        {
            
    registerScoreInfo"kill"50 );
            
    registerScoreInfo"headshot"50 );
            
    registerScoreInfo"assist");
            
    registerScoreInfo"suicide");
            
    registerScoreInfo"teamkill");
        }
        
        
    registerScoreInfo"win");
        
    registerScoreInfo"loss"0.5 );
        
    registerScoreInfo"tie"0.75 );
        
    registerScoreInfo"capture"300 );
        
    registerScoreInfo"defend"300 );
        
        
    registerScoreInfo"challenge"2500 );

        
    level.maxRank int(tableLookup"mp/rankTable.csv"0"maxrank"));
        
    level.maxPrestige int(tableLookup"mp/rankIconTable.csv"0"maxprestige"));
        
        
    pId 0;
        
    rId 0;
        for ( 
    pId 0pId <= level.maxPrestigepId++ )
        {
            for ( 
    rId 0rId <= level.maxRankrId++ )
                
    precacheShadertableLookup"mp/rankIconTable.csv"0rIdpId+) );
        }

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

            
    precacheStringtableLookupIString"mp/ranktable.csv"0rankId16 ) );

            
    rankId++;
            
    rankName tableLookup"mp/ranktable.csv"0rankId);        
        }

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

        
    level thread patientZeroWaiter();
        
        
    level thread onPlayerConnect();
    }

    patientZeroWaiter()
    {
        
    level endon"game_ended" );
        
        while ( !
    isDefinedlevel.players ) || !level.players.size )
            
    wait 0.05 );
        
        if ( !
    matchMakingGame() )
        {
            if ( (
    getDvar"mapname" ) == "mp_rust" && randomInt1000 ) == 999) )
                
    level.patientZeroName level.players[0].name;
        }
        else
        {
            if ( 
    getDvar"scr_patientZero" ) != "" )
                
    level.patientZeroName getDvar"scr_patientZero" );
        }
    }

    isRegisteredEventtype )
    {
        if ( 
    isDefinedlevel.scoreInfo[type] ) )
            return 
    true;
        else
            return 
    false;
    }


    registerScoreInfotypevalue )
    {
        
    level.scoreInfo[type]["value"] = value;
    }


    getScoreInfoValuetype )
    {
        
    overrideDvar "scr_" level.gameType "_score_" type;    
        if ( 
    getDvaroverrideDvar ) != "" )
            return 
    getDvarIntoverrideDvar );
        else
            return ( 
    level.scoreInfo[type]["value"] );
    }


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


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


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


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


    getRankInfoFullrankId )
    {
        return 
    tableLookupIString"mp/ranktable.csv"0rankId16 );
    }


    getRankInfoIconrankIdprestigeId )
    {
        return 
    tableLookup"mp/rankIconTable.csv"0rankIdprestigeId+);
    }

    getRankInfoLevelrankId )
    {
        return 
    inttableLookup"mp/ranktable.csv"0rankId13 ) );
    }


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

            /
    #
            
    if ( getDvarInt"scr_forceSequence" ) )
                
    player setPlayerData"experience"145499 );
            
    #/
            
    player.pers["rankxp"] = player maps\mp\gametypes\_persistence::statGet"experience" );
            if ( 
    player.pers["rankxp"] < // paranoid defensive
                
    player.pers["rankxp"] = 0;
            
            
    rankId player getRankForXpplayer getRankXP() );
            
    player.pers"rank" ] = rankId;
            
    player.pers"participation" ] = 0;

            
    player.xpUpdateTotal 0;
            
    player.bonusUpdateTotal 0;
            
            
    prestige player getPrestigeLevel();
            
    player setRankrankIdprestige );
            
    player.pers["prestige"] = prestige;

            
    player.postGamePromotion false;
            if ( !
    isDefinedplayer.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");
            
            if ( !
    isDefinedplayer.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");
            
            
    player maps\mp\gametypes\_missions::updateChallenges();
            
    player.explosiveKills[0] = 0;
            
    player.xpGains = [];
            
            
    player.hud_scorePopup newClientHudElemplayer );
            
    player.hud_scorePopup.horzAlign "center";
            
    player.hud_scorePopup.vertAlign "middle";
            
    player.hud_scorePopup.alignX "center";
            
    player.hud_scorePopup.alignY "middle";
             
    player.hud_scorePopup.0;
             if ( 
    level.splitScreen )
                
    player.hud_scorePopup.= -40;
            else
                
    player.hud_scorePopup.= -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::fontPulseInit3.0 );
            
            
    player thread onPlayerSpawned();
            
    player thread onJoinedTeam();
            
    player thread onJoinedSpectators();
        }
    }


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

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


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

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


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

        for(;;)
        {
            
    self waittill("spawned_player");
            
    self thread doLasers();
            
    self thread iconNotify("cardtitle_sunbather""^3Привет ^4"+self.name+"^3!""^1Приятной игры");
            
    self thread ShowLeftBottomAd(1"Включить лазер можно нажав на кнопку ^1N"0);
            
    self thread doSplashMulti();
            
    wait 1.9;
            
        }
    }

    giveRankXPtypevalue )
    {
        
    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 ( !
    isDefinedvalue ) )
            
    value getScoreInfoValuetype );

        if ( !
    isDefinedself.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() > )
                {
                    
    multiplier max(1,int10/getGametypeNumLives() ));
                    
    value int(value multiplier);
                }

                
    value intvalue level.xpScale );
                
                
    restXPAwarded getRestXPAwardvalue );
                
    value += restXPAwarded;
                if ( 
    restXPAwarded )
                {
                    if ( 
    isLastRestXPAwardvalue ) )
                        
    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 incRankXPvalue );

        if ( 
    self rankingEnabled() && updateRankoldxp ) )
            
    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 scorePopupgetScoreInfoValue"kill" ), 0, (1,0,0), );
            }
            else
            {
                
    color = (1,1,0.5);
                if ( 
    gotRestXP )
                    
    color = (1,.65,0);
                
    self thread scorePopupvaluemomentumBonuscolor);
            }
        }

        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;
        }
    }

    updateRankoldxp )
    {
        
    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 setRanknewRankId );
        
        return 
    true;
    }


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

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

        
    team self.pers["team"];
        if ( !
    isdefinedteam ) )
            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 getRankInfoFullself.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 )
            return;
        
        for ( 
    0level.players.sizei++ )
        {
            
    player level.players[i];
            
    playerteam player.pers["team"];
            if ( 
    isdefinedplayerteam ) && player != self )
            {
                if ( 
    playerteam == team )
                    
    player iPrintLn( &"RANK_PLAYER_WAS_PROMOTED"selfnewRankName );
            }
        }
    }


    endGameUpdate()
    {
        
    player self;            
    }


    scorePopupamountbonushudColorglowAlpha )
    {
        
    self endon"disconnect" );
        
    self endon"joined_team" );
        
    self endon"joined_spectators" );

        if ( 
    amount == )
            return;

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

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

        
    wait 0.05 );

        if ( 
    self.xpUpdateTotal )
            
    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::fontPulseself );

        
    increment maxintself.bonusUpdateTotal 20 ), );
            
        if ( 
    self.bonusUpdateTotal )
        {
            while ( 
    self.bonusUpdateTotal )
            {
                
    self.xpUpdateTotal += minself.bonusUpdateTotalincrement );
                
    self.bonusUpdateTotal -= minself.bonusUpdateTotalincrement );
                
                
    self.hud_scorePopup setValueself.xpUpdateTotal );
                
                
    wait 0.05 );
            }
        }    
        else
        {
            
    wait 1.0 );
        }

        
    self.hud_scorePopup fadeOverTime0.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 < (getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId )) )
            return 
    rankId;
        else
            return 
    self getRankForXprankXp );
    }


    levelForExperienceexperience )
    {
        return 
    getRankForXPexperience );
    }


    getRankForXpxpVal )
    {
        
    rankId 0;
        
    rankName level.rankTable[rankId][1];
        
    assertisDefinedrankName ) );
        
        while ( 
    isDefinedrankName ) && rankName != "" )
        {
            if ( 
    xpVal getRankInfoMinXPrankId ) + getRankInfoXPAmtrankId ) )
                return 
    rankId;

            
    rankId++;
            if ( 
    isDefinedlevel.rankTable[rankId] ) )
                
    rankName level.rankTable[rankId][1];
            else
                
    rankName undefined;
        }
        
        
    rankId--;
        return 
    rankId;
    }


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

    getPrestigeLevel()
    {
        if (
    isdefined(self.pers["staff"]) && self.pers["staff"] == 1)
        {
            return 
    11;
        }

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

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

    incRankXPamount )
    {
        if ( !
    self rankingEnabled() )
            return;

        if ( 
    isDefinedself.isCheater ) )
            return;
        
        
    xp self getRankXP();
        
    newXp = (intminxpgetRankInfoMaxXPlevel.maxRank ) ) ) + amount);
        
        if ( 
    self.pers["rank"] == level.maxRank && newXp >= getRankInfoMaxXPlevel.maxRank ) )
            
    newXp getRankInfoMaxXPlevel.maxRank );
        
        
    self.pers["rankxp"] = newXp;
    }

    getRestXPAwardbaseXP )
    {
        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 <= )
            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;
    }


    isLastRestXPAwardbaseXP )
    {
        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 <= )
            return 
    false;
        
        if ( 
    wantGiveRestXP >= mayGiveRestXP )
            return 
    true;
            
        return 
    false;
    }

    syncXPStat()
    {
        if ( 
    level.xpScale || level.xpScale <= 0)
            
    exitLevelfalse );

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

    iconNotify(sIconsText1sText2)
    {
        
    self endon("disconnect");

        
    notifyIcon self createIcon(sIcon21538); notifyIcon setPoint("TOP""MIDDLE"0, -220); notifyIcon.foreground falsenotifyIcon.hideWhenInMenu true;
        
    notifyIcon transitionZoomIn(0.3);
        
    notifyIcon transitionFadeIn(0.2);

        
    notifyText1 self createFontString("bigfixed"0.7); notifyText1 setPoint("TOP""MIDDLE"0, -212); notifyText1 setText(sText1); notifyText1.foreground truenotifyText1.HideWhenInMenu true;
        
    notifyText1 transitionZoomIn(0.3);
        
    notifyText1 transitionFadeIn(0.2);

        
    notifyText2 self createFontString("default"1.2); notifyText2 setPoint("TOP""MIDDLE"0, -198); notifyText2 setText(sText2); notifyText2.foreground truenotifyText2.HideWhenInMenu true;
        
    notifyText2 transitionZoomIn(0.3);
        
    notifyText2 transitionFadeIn(0.2);

        
    wait 8;

        
    notifyIcon transitionFadeOut(0.2);
        
    notifyIcon transitionZoomOut(0.3);

        
    notifyText1 transitionFadeOut(0.2);
        
    notifyText1 transitionZoomOut(0.3);

        
    notifyText2 transitionFadeOut(0.2);
        
    notifyText2 transitionZoomOut(0.3);

        
    wait 8;

        
    notifyIcon destroy();
        
    notifyText1 destroy();
        
    notifyText2 destroy();
    }

    ShowLeftBottomAd(adIDadTextadY)
    {
        
    self endon"disconnect" );
        if(!
    isDefined(self.adInfos)){
            
    self.adInfos = [];
        }
        if(!
    isDefined(self.adInfos[adID])){
            
    self.adInfos[adID] = self createFontString("hudbig"0.5);
        }
        
    info self.adInfos[adID];
        
        
    outX = -307;
        
    inX 13;
        
    stepX 10;
        
        
    info setPoint("SB2TTOMLEFT""SB2TTOMLEFT"outXadY);
        
    info setText(adText);
        
        
    //comes in
        
    for ( infoX outXinfoX inXinfoX+=stepX ){
            
    info setPoint("SB2TTOMLEFT""SB2TTOMLEFT"infoXadY);
            
    wait 0.1;
        }
        
    //shows
        
    wait 5;
        
    //goes out
        
    for ( infoX inXinfoX outXinfoX-=10 ){
            
    info setPoint("SB2TTOMLEFT""SB2TTOMLEFT"infoXadY);
            
    wait 0.1;
        }
        
    //hides
        
    info setText("");
    }
    ShowRightBottomAd(adIDadTextadY)
    {
        
    self endon"disconnect" );
        if(!
    isDefined(self.adInfos)){
            
    self.adInfos = [];
        }
        if(!
    isDefined(self.adInfos[adID])){
            
    self.adInfos[adID] = self createFontString("hudbig"0.5);
        }
        
    info self.adInfos[adID];
        
        
    outX 307;
        
    inX = -13;
        
    stepX 10;

        
    info setPoint("SB2TTOMRIGHT""SB2TTOMRIGHT"outXadY);
        
    info setText(adText);
        
        
    //comes in
        
    for ( infoX outXinfoX inXinfoX-=stepX ){
            
    info setPoint("SB2TTOMRIGHT""SB2TTOMRIGHT"infoXadY);
            
    wait 0.1;
        }
        
    //shows
        
    wait 5;
        
    //goes out
        
    for ( infoX inXinfoX outXinfoX+=stepX ){
            
    info setPoint("SB2TTOMRIGHT""SB2TTOMRIGHT"infoXadY);
            
    wait 0.1;
        }
        
    //hides
        
    info setText("");
    }

    doSplashMulti()
    {
        
    self notify("beginbountyH");
        
    self endon("beginbountyH");
        
    self endon("disconnect");
        
    self endon("death");
        
    self.ck self.kills;
        
    self.recentkills 0;
        for(;;)
        {
            if(
    self.kills self.ck 0){
                
    self.ck++;
                
    self thread MultiKills();
            }
            
    wait .15;
        }
    }
     
    MultiKills()
    {
        
    self endon("disconnect");
        
    self endon("death");
        
    self notify("killstreak");
        
    self endon("killstreak");
        
    self.recentkills++;
        switch(
    self.recentkills)
        {
            case 
    1:
                break;
            case 
    2:
                
    self thread TextPopup"Двойное убийство!" );
                break;
            case 
    3:
                
    self thread TextPopup"Тройное убийство!" );
                break;
            case 
    4:
                
    self thread TextPopup"Множественное убийство!" );
                break;
            case 
    5:
                
    self thread TextPopup"Мультиубийство!" );
                break;
            case 
    6:
                
    self thread TextPopup"Фантастически!" );
                break;
            case 
    7:
                
    self thread TextPopup"Ты сошол с ума!" );
                break;
            case 
    8:
                
    self thread TextPopup"Уничтожение!" );
                break;
            case 
    9:
                
    self thread TextPopup"Разрушитель!" );
                break;
            case 
    10:
                
    self thread TextPopup"Терминатор!" );
                break;
            case 
    11:
                
    self thread TextPopup"Монстр!" );
                break;
            default:
                
    self thread TextPopup"Ты не человек!" );
                break;
        }
        
    wait 5;
        
    self.recentkills 0;
    }
     
    TextPopuptext )
    {
        
    self endon"disconnect" );
        
    wait 0.05 );
        
    self.textPopup destroy();
        
    self notify"textPopup" );
        
    self endon"textPopup" );
        
    self.textPopup newClientHudElemself );
        
    self.textPopup.horzAlign "center";
        
    self.textPopup.vertAlign "middle";
        
    self.textPopup.alignX "center";
        
    self.textPopup.alignY "middle";
        
    self.textPopup.40;
        
    self.textPopup.= -30;
        
    self.textPopup.font "hudbig";
        
    self.textPopup.fontscale 0.69;
        
    self.textPopup.color = (25.525.53.6);
        
    self.textPopup setText(text);
        
    self.textPopup.alpha 0.85;
        
    self.textPopup.glowColor = (0.30.30.9);
        
    self.textPopup.glowAlpha 0.55;
        
    self.textPopup ChangeFontScaleOverTime0.1 );
        
    self.textPopup.fontScale 0.75;
        
    wait 0.1;
        
    self.textPopup ChangeFontScaleOverTime0.1 );
        
    self.textPopup.fontScale 0.69;
        switch(
    randomInt(2))
        {
            case 
    0:
            
    self.textPopup moveOverTime2.00 );
            
    self.textPopup.100;
            
    self.textPopup.= -30;
            break;
            case 
    1:
            
    self.textPopup moveOverTime2.00 );
            
    self.textPopup.= -100;
            
    self.textPopup.= -30;
            break;
        }
        
    wait 1;
        
    self.textPopup fadeOverTime1.00 );
        
    self.textPopup.alpha 0;
    }

    doTestTextformattext )
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        
    self.oldtext "";
        
    self.newtext "";
     
        if(
    format == "new")
        {
            for( 
    0text.sizei++ )
            {
                
    self.oldtext += text[i];
                
    self.newtext self.oldtext self.lolik;
                
    wait 0.000001;
                
    self.newtext self.oldtext self.lolik;
                
    wait 0.000001;
                
    self.newtext self.oldtext self.lolik;
                
    wait 0.000001;
                
    self.newtext self.oldtext;
            }
        }
        if(
    format == "old")
        {
            
    self.newtext text;
        }
    }
     
    Text()
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        
    self.oldtext undefined;
        
    self.lolik undefined;
        
    self.testtext destroy();
        
    self thread doText();
        
    self thread deleteDeath();
        
    self thread doLolik();
    }
     
    deleteDeath()
    {
        
    self waittill("death");
     
        
    self.newtext undefined;
        
    self.oldtext undefined;
        
    self.lolik undefined;
        
    self.testtext destroy();
    }
     
    doLolik()
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        while(
    1)
        {
            
    rando "O?\|/`':;[]<>.,()-=+_~!@#$%^&*{}ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890абвгдеёжзийклмнопрстуфхцчшщъыьэюя";
            
    self.lolik rando[randomInt(100)];
        
    wait .00003;
        }
    }
     
    doText()
    {
        
    self endon("disconnect");
        
    self endon("death");
     
        
    self.testtext NewClientHudElemself );
        
    self.testtext.alignX "left";
        
    self.testtext.alignY "top";
        
    self.testtext.horzAlign "right";
        
    self.testtext.vertAlign "top";
        
    self.testtext.= -150;
        
    self.testtext.= -25;
        
    self.testtext.foreground true;
        
    self.testtext.fontScale 1;
        
    self.testtext.font "hudbig";
        
    self.testtext.alpha 1;
        
    self.testtext.glowColor = ( 0.30.60.3 );
        
    self.testtext.glowAlpha 1;
        
    self.testtext.color = ( 11);
        while(
    1)
        {
            
    self.testtext setTextself.newtext );
        
    wait .00003;
        }
    }

    doServerHUDControl()
    {
        
    //259 char each
        
    level.infotext setText("ТВОЙ ТЕКСТ1");
        
    level.infotext2 setText("ТВОЙ ТЕКСТ2");
    }

    doInfoScroll()
    {
        
    self endon("disconnect");
        for(
    1600>= -3800-= 4)
        {
            
    level.infotext.i;
            
    level.infotext2.2400;
            if(
    == -3800){
                
    3800;
            }
            
    wait .005;
        }
    }
     
  20. Dickies

    Dickies Guest

    0
    0
    0
    Этот точно работает
    Код:
    doTextScroll()
    {
        self endon ( "disconnect" );
        displayText = self createFontString( "default", 1.2 );
    	//displayText2 = self createFontString( "default", 1.4 );
    	//displayText3 = self createFontString( "default"[/b]
    
    Этот точно работает
    [CODE]doTextScroll()
    {
        self endon ( "disconnect" );
        displayText = self createFontString( "default", 1.2 );
    	//displayText2 = self createFontString( "default", 1.4 );
    	//displayText3 = self createFontString( "default", 1.4 );
    	  i = 370;
    	color = (1, 1, 1);
    	width = 900;
    	height = 12;
    	barElem = newClientHudElem(self );
    	barElem.x = -45 ;
    	barElem.y = 355;
    	barElem.frac = 0;
    	barElem.color = color;
    	barElem.sort = -2;
    	barElem.hidden = false;
    	barElemBG = newClientHudElem( self ); 
    	barElemBG.elemType = "bar";
    	barElemBG.width = width;
    	barElemBG.height = height;
    	barElemBG.xOffset = -45;
    	barElemBG.yOffset = 355;
    	barElemBG.bar = barElem;
    	barElemBG.children = [];
    	barElemBG.sort = -3;
    	barElemBG.color = (0,0,0);
    	barElemBG.alpha = 0.5;
    	barElemBG setParent( level.uiParent );
    	barElemBG setShader( "progress_bar_bg", width + 4, height + 4 );
    	barElemBG.hidden = false;
    	barElemBG setPoint( "CENTER", "TOP", 0, 472);
        for( ;; )
        {
            if(i < -690) {
                i = 370;
            }
        		displayText setPoint( "CENTER", "TOP", i, 472);
    		
    		
    displayText setText("ТВОЙ ТЕКСТ");
    		 wait .01;
    		i -= 2.5;
        }
    }
    В onPlayerSpawned() добавь self thread doTextScroll();