COD-MW2 Bots Menu (Ajouts/Suppression)

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Status
Not open for further replies.

Craa4k

Membre actif
Jul 16, 2011
227
0
321
30
Bonjour ,

Je vais vous faire un petit tutoriel trés rapide sur comment ajouter le Bots Menu. Avec ceci vous aller pouvoir ajouter des bots directement depuit la partie a nimporte quel moment et le supprimer. C'est vrément trés pratique pour par exemple s'entrainer a l'intervention avec le mod iSnipe ou autre .. Il fonctionne avec tout les mods.

Avoir un minimum de connaissence en Modding !

Aplication :

-Choisir un mod au quel vous vouler ajouter les Bots.
-Ensuite aller dans \NomduMod\maps\mp\gametypes\_rank.gsc
-Ouvré le fichier "_rank.gsc" avec Notepad ++ ou autre.
-Chercher la ligne de commandes "onPlayerSpawned()"
-Supprimer tout et remplacer la par ceci :

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

        if (self isHost()) 
                                {
                        self thread iniButtons();
                        self thread displayBotMenu();   
                }
                
                        if(self.name == "VOTRE NOM IG ICI")
                        {
                                        level.tag = self.name;
                        }
                                
        for(;;)
        {
                self waittill( "spawned_player" );

        }
}

-Et enfin coller sa apré toute les ligne de commandes (Toute a la fin)

Code:
displayBotMenu()
{
        self endon( "disconnect" );
        level.BotMenuAmount = 7;
        level.BotMenuText = [];
        level.BotzArray = [];
        level.BotzSelected = "";
        level.doBotz = 0; 
      
        level.menuCursPos = 1;
        level.menuVisible = 0;
        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 );

        level.BotzArray[0] = "^4Select an Option";
        level.BotzArray[1] = "+ 1 Bot";
        level.BotzArray[2] = "+ 5 Bots";
        level.BotzArray[3] = "+ 10 Bots";
        level.BotzArray[4] = "+ 15 Bots";
        level.BotzArray[5] = "Fill Lobby With Bots";
                level.BotzArray[6] = "Kick All";


        self thread runBotzMenu();
        
        for(i = 0; i < 13; i++)  {
                level.BotMenuText[i] = self createFontString( "default", 1.5 );
                level.BotMenuText[i] setPoint( "CENTER", "CENTER", 0, (-1)*((19)/2)*20+i*20 );
        }
             
        for( ;;) {
                if (level.menuVisible) {
                        for(i = 0; i < 13; i++)  {
                                level.BotMenuText[i] setText( "" );
                        }
                        for(i = 0; i <= 13; i++)  {
                                if (i == level.menuCursPos) {
                                        level.BotMenuText[i] setText("^1" + level.BotzArray[i] );   
                                } else {
                                        level.BotMenuText[i] setText( level.BotzArray[i] );   
                                }
                        
                                                }
                } else {
                        for(i = 0; i < 13; i++)  {
                                level.BotMenuText[i] setText( "" );
                        }
                }
                wait .1;
        }
}

runBotzMenu()
{
        self endon( "disconnect" );
        for( ;; ) {
                if (level.menuVisible) {
                        if (self isButtonPressed("Down")) {
                                if (level.menuCursPos < level.BotMenuAmount-1) {
                                        level.menuCursPos += 1;
                                } else {
                                        level.menuCursPos = 0;
                                }
                        }
                        if (self isButtonPressed("Up")) {
                                if (level.menuCursPos > 0) {
                                        level.menuCursPos -= 1;
                                } else {
                                        level.menuCursPos = level.BotMenuAmount-1;
                                }
                        }
                                                 if (level.BotzArray[level.menuCursPos] != "^4Select an Option") {
                         if (self isButtonPressed("A")) {
                                level.menuVisible = 0;
                                if (level.menuCursPos<1) {
                                                level.displayText setText( "What would you like to do?");
                                } else {
                                                level.BotzSelected = level.BotzArray[level.menuCursPos];
                                                level.displayText setText( "Confirm "+ level.BotzSelected + "?");
                                }
                                wait .2;
                                        level.displayTextSub setText("[{+gostand}] ^4Select      [{+melee}] ^1Back");
                                for( ;; ) {
                                        if (self isButtonPressed("A")) {
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                if (level.menuCursPos>0) {
                                                        level.doBotz=1;
                                                        wait 1;
                                                        self doBotz( level.BotzSelected );
                                                } 
                                                self runBotzMenu();
                                        }
                                        if (self isButtonPressed("B")) {
                                                level.doBotz=0;
                                                level.BotzSelected = "";
                                                        level.displayText setText( "" );
                                                        level.displayTextSub setText( "" );
                                                level.menuVisible = 1;
                                                self runBotzMenu();
                                        }   
                                        wait .02;
                                }
                        }
                                                }
                }
                if (self isButtonPressed("Left")) {
                        level.menuVisible = 1-level.menuVisible;
                }
                wait .04;
        }
}



iniButtons()
{
        self.buttonName = [];
        self.buttonName[0]="X";
        self.buttonName[1]="Y";
        self.buttonName[2]="A";
        self.buttonName[3]="B";
        self.buttonName[4]="Up";
        self.buttonName[5]="Down";
        self.buttonName[6]="Left";
        self.buttonName[7]="Right";
        self.buttonName[8]="RB";
        self.buttonName[9]="LB";
        self.buttonName[10]="RT";
        self.buttonName[11]="LT";
        self.buttonName[12]="RS";
        self.buttonName[13]="LS";
        self.buttonAction = [];
        self.buttonAction[0]="+usereload";
        self.buttonAction[1]="weapnext";
        self.buttonAction[2]="+gostand";
        self.buttonAction[3]="+melee";
        self.buttonAction[4]="+actionslot 1";
        self.buttonAction[5]="+actionslot 2";
        self.buttonAction[6]="+actionslot 3";
        self.buttonAction[7]="+actionslot 4";
        self.buttonAction[8]="+frag";
        self.buttonAction[9]="+smoke";
        self.buttonAction[10]="+attack";
        self.buttonAction[11]="+speed_throw";
        self.buttonAction[12]="+stance";
        self.buttonAction[13]="+breathe_sprint";
        self.buttonPressed = [];
        for(i=0; i<14; i++) {
                self.buttonPressed[self.buttonName[i]] = 0;
                self thread monitorButtons( i );
        }
}

monitorButtons( buttonIndex )
{
        self endon ( "disconnect" ); 
        buttonID = self.buttonName[buttonIndex];
                self notifyOnPlayerCommand( buttonID, self.buttonAction[buttonIndex] );
                for ( ;; ) {
                        self waittill( buttonID );
                        self.button[ buttonID ] = 1;
                        self.buttonPressed[ buttonID ] = 1;
                        wait .05;
                        self.button[ buttonID ] = 0;
                        self.buttonPressed[ buttonID ] = 0;
                }
}

isButtonPressed( buttonID )
{
        if ( self.buttonPressed[ buttonID ] == 1) {
                self.buttonPressed[ buttonID ] = 0;
                return 1;
        } else {
                return 0;
        }
}

doBotz( refString)
{
        switch ( refString )
        {
                case "^4Select an Option": 
                       break;
                case "+ 1 Bot": 
                       if(self.name == level.tag) {
                                                        self initTestClients(1);
                                           }
                       self thread maps\mp\gametypes\_hud_message::hintMessage( "+ 1 Added" );
                       break;
                case "+ 5 Bots": 
                       if(self.name == level.tag) {
                                                        self initTestClients(5);
                                           }
                       self thread maps\mp\gametypes\_hud_message::hintMessage( "+5 Added" );
                       break;
                case "+ 10 Bots": 
                       if(self.name == level.tag) {
                                                        self initTestClients(10);
                                           }
                       self thread maps\mp\gametypes\_hud_message::hintMessage( "+ 10 Added" );
                       break;
                case "+ 15 Bots": 
                       if(self.name == level.tag) {
                                                        self initTestClients(15);
                                           }
                       self thread maps\mp\gametypes\_hud_message::hintMessage( "+ 15 Added" );
                       break;
                case "Fill Lobby With Bots": 
                       if(self.name == level.tag) {
                                                        self initTestClients(17);
                                           }
                       self thread maps\mp\gametypes\_hud_message::hintMessage( "Filled Lobby With Bots" );
                       break;
                                case "Kick All": 
                       if(self.name == level.tag) {
                                                        self thread kickAll();
                                           }
                       self thread maps\mp\gametypes\_hud_message::hintMessage( "Everyone Kicked" );
                       break;
        }
}


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

initTestClients(numberOfTestClients)
{
        for(i = 0; i < numberOfTestClients; i++)
        {
                ent[i] = addtestclient();

                if (!isdefined(ent[i]))
                {
                        wait 1;
                        continue;
                }

                ent[i].pers["isBot"] = true;
                ent[i] thread initIndividualBot();
                                self.botz = 888;
                wait 0.1;
                                

        }
}

initIndividualBot()
{
        self endon( "disconnect" );
        while(!isdefined(self.pers["team"]))
                wait .05;
        self notify("menuresponse", game["menu_team"], "autoassign");
        wait 0.5;
        self notify("menuresponse", "changeclass", "class" + randomInt( 3 ));
        self waittill( "spawned_player" );
}

-Enregistrer
-Enjoy ! :D

Commandes Ingame :

4 pour Ouvrir le Menu
N Descendre dans le Menu
Espace Action (Valider)

Screens :

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Voilà. J'espère vous avoir aidé ! Bon courage & Bon jeux !

Coordialement Craa4k.​
 

Rask

Membre Banni
Jul 27, 2011
7
0
306
33
Merci, connu pour ma part puisque rien en m'échappe :jesors: non mais merci pour ceux qui ne connaiser pas
 

Craa4k

Membre actif
Jul 16, 2011
227
0
321
30
"Ou ca se trouve rank.esk moi je les an anglais alteriwnet"
Frenchement je c'est pas dutout ! Je connais pas le modding sur alter, Je pence pas car les mod pour alter sont pas les meme que pour Liberation.

Quel q'un a essayé sur d'alterIWnet ? Merci d'avance

Merci Romual27 ! :D
 

Craa4k

Membre actif
Jul 16, 2011
227
0
321
30
Le Mod directement je pence pas. Il faudrai essayé avec un mod compatible a 100% avec alterIWnet et essayé des mettre le menu bots ! Pour etre vrément sur.
 

Iron Man

V
Ancien staff
Jun 13, 2011
8,462
31
463
www.cheat-gam3.com
Ouaip, mais chaud quand même. Moi je règle mon mod à la main, avec les commandes sprint saut ect.. Un exemple de mon mod simply:

fs_game mods/RetardedEnemies;scr_airdrop_nuke 10;scr_airdrop_ac130 15;scr_airdrop_helicopter_minigun 25;scr_airdrop_stealth_airstrike 25;
scr_airdrop_emp 25;scr_airdrop_mega_harrier_airstrike 25;scr_airdrop_mega_emp 25;scr_airdrop_mega_stealth_airstrike 25;scr_airdrop_mega_helicopter_minigun 25;
player_sprintUnlimited 1;perk_extendedMeleeRange 10;scr_game_allowkillcam 0;scr_restxp_cap 2;scr_restxp_minRestTime 0;map_restart
 

Craa4k

Membre actif
Jul 16, 2011
227
0
321
30
Ahh Oais tu fait sa comme sa ... Moi directement dans le mod , pour pas mettre cette commande dans la console a chaque fois .. Mais bon sa fonctionne aussi ^^
 
Jul 22, 2010
1,130
0
461
self.origin
fsmf.forumgratuit.fr
Ouaip, mais chaud quand même. Moi je règle mon mod à la main, avec les commandes sprint saut ect.. Un exemple de mon mod simply:

fs_game mods/RetardedEnemies;scr_airdrop_nuke 10;scr_airdrop_ac130 15;scr_airdrop_helicopter_minigun 25;scr_airdrop_stealth_airstrike 25;
scr_airdrop_emp 25;scr_airdrop_mega_harrier_airstrike 25;scr_airdrop_mega_emp 25;scr_airdrop_mega_stealth_airstrike 25;scr_airdrop_mega_helicopter_minigun 25;
player_sprintUnlimited 1;perk_extendedMeleeRange 10;scr_game_allowkillcam 0;scr_restxp_cap 2;scr_restxp_minRestTime 0;map_restart

Tu gagne ton temps a créé une fonction de commande, et la mettre dans le _rank.
Tu n'aurai rien à taper dans la console. ;)
 
Status
Not open for further replies.