Skip to content
  • 0 Unread 0
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse

Plutonium

  1. Home
  2. MW3 Modding Releases & Resources
  3. [Preview][Animated movement(not fully)] AIBots

[Preview][Animated movement(not fully)] AIBots

Scheduled Pinned Locked Moved MW3 Modding Releases & Resources
34 Posts 13 Posters 8.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S3VDITOundefined Offline
    S3VDITOundefined Offline
    S3VDITO
    wrote on last edited by
    #22

    VERsingthegamez
    limitations

    VERsingthegamezundefined 1 Reply Last reply
    0
    • S3VDITOundefined S3VDITO

      VERsingthegamez
      limitations

      VERsingthegamezundefined Offline
      VERsingthegamezundefined Offline
      VERsingthegamez
      wrote on last edited by
      #23

      S3VDITO limitations you think you can overcome?

      S3VDITOundefined 1 Reply Last reply
      0
      • VERsingthegamezundefined VERsingthegamez

        S3VDITO limitations you think you can overcome?

        S3VDITOundefined Offline
        S3VDITOundefined Offline
        S3VDITO
        wrote on last edited by
        #24

        VERsingthegamez I can’t say it in advance, but until my efforts bearing works results

        1 Reply Last reply
        0
        • VERsingthegamezundefined Offline
          VERsingthegamezundefined Offline
          VERsingthegamez
          wrote on last edited by
          #25

          any new updates?

          S3VDITOundefined 1 Reply Last reply
          0
          • VERsingthegamezundefined VERsingthegamez

            any new updates?

            S3VDITOundefined Offline
            S3VDITOundefined Offline
            S3VDITO
            wrote on last edited by
            #26

            VERsingthegamez not yet

            VERsingthegamezundefined 1 Reply Last reply
            0
            • S3VDITOundefined S3VDITO

              VERsingthegamez not yet

              VERsingthegamezundefined Offline
              VERsingthegamezundefined Offline
              VERsingthegamez
              wrote on last edited by
              #27

              S3VDITO the anticipation is killing me. 😧

              1 Reply Last reply
              0
              • INeedGamesundefined Offline
                INeedGamesundefined Offline
                INeedGames
                wrote on last edited by
                #28

                Cool work!

                1 Reply Last reply
                0
                • VERsingthegamezundefined Offline
                  VERsingthegamezundefined Offline
                  VERsingthegamez
                  wrote on last edited by
                  #29

                  any update?

                  1 Reply Last reply
                  0
                  • S3VDITOundefined Offline
                    S3VDITOundefined Offline
                    S3VDITO
                    wrote on last edited by
                    #30

                    Further development is on hold, i am waiting for the PlutoIW5 update to continue what i started.

                    VERsingthegamezundefined 1 Reply Last reply
                    0
                    • S3VDITOundefined S3VDITO

                      Further development is on hold, i am waiting for the PlutoIW5 update to continue what i started.

                      VERsingthegamezundefined Offline
                      VERsingthegamezundefined Offline
                      VERsingthegamez
                      wrote on last edited by
                      #31

                      S3VDITO what update?

                      S3VDITOundefined 1 Reply Last reply
                      0
                      • VERsingthegamezundefined VERsingthegamez

                        S3VDITO what update?

                        S3VDITOundefined Offline
                        S3VDITOundefined Offline
                        S3VDITO
                        wrote on last edited by
                        #32

                        VERsingthegamez updating the script engine, which is unlikely, but possible

                        1 Reply Last reply
                        0
                        • RmRsundefined Offline
                          RmRsundefined Offline
                          RmRs
                          wrote on last edited by
                          #33

                          I'm actually looking forward to the development of this. I really want bots to move, even if its just walking. So I can use them as target practice. Good luck

                          1 Reply Last reply
                          2
                          • S3VDITOundefined S3VDITO

                            Since I try to make Survival Mod, the first thing I started is the bots, or rather their logic of movement and attack.

                            At the moment I only implemented LookLogic (not fully)

                            This is just a preview, I think in the future I can give the bots full logic, but my plans are only related to Survival Mod, I do not consider other modes yet (FFA is currently working)

                            Send me PM, if you have any ideas for realizing

                            Watching logic
                            https://www.youtube.com/watch?v=RDlMABVC9Vw

                            Move logic
                            https://www.youtube.com/watch?v=N81LXQvNl3k

                            Animated move
                            https://www.youtube.com/watch?v=3brC8vSBS1w

                            Implemeted:

                            1. Look logic (default target player with num 0)
                            2. Move logic (default target player with num 0) IF BOT SEE YOU
                            3. Animated movement

                            [this list will be updated]

                            Download only look logic

                            Download move logic added

                            Download movement animation added

                            Source:

                            // This is preview version 
                            // This is only the beginning of creating bots with the logic of movement and attack, 
                            // but first of all I want to create Survival mode, so do not expect bots that can play in TDM, FFA, DZ and other.
                            // I guess I would do it after creating this script
                            
                            // AIBots by S3VDITO
                            // Ver 0.0.0.3
                            // Realized: 
                            // 1 - watching for player function (not works now)
                            // 2 - move logic [not fully] [without check collision] (in progress...)
                            // 3 - animated movement
                            
                            gsc.setDvar("testClients_doAttack", 0);
                            gsc.setDvar("testClients_doCrouch", 0);
                            gsc.setDvar("testClients_doMove", 0);
                            gsc.setDvar("testClients_doReload", 0);
                            gsc.setDvar("testClients_doWatchKillcam", 0);
                            
                            gsc.setDvarIfUninitialized("testClients_doSpeed", 4);
                            
                            global bot_speed = to_float(gsc.getDvar("testClients_doSpeed"));
                            
                            global bots_list = [];
                            
                            global player_target_list = [];
                            
                            level.onNotify("connected", fun(args) {
                            	var player = args[0];
                            	print(player.getGuid().find("bot"));
                            	if(player.getGuid().find("bot") != 0)
                            	{
                            		print("Player connected");
                            		player_target_list.push_back_ref(player);
                            	}
                            });
                            
                            level.onNotify("prematch_done", fun(args) {
                            	if(gsc.getDvar("g_gametype") == "dm") {
                            		for(var entRef = 0; entRef < 18; ++entRef)
                            		{
                            			var tempEntBot = gsc.getEntByNum(entRef);
                            			if(tempEntBot.getGuid().find("bot") == 0)
                            			{
                            				var animBody = gsc.spawn("script_model", tempEntBot.getOrigin());
                            				animBody.setmodel("mp_body_delta_elite_assault_ab");
                            				animBody.notsolid();
                            				
                            				animBody.LinkTo(tempEntBot, "tag_origin", [-4, 0, -1], [-4, 0, -1]);
                            				
                            				bots_list.push_back_ref(tempEntBot);
                            				
                            				setInterval(fun[tempEntBot, animBody]() { 
                            					botMove(tempEntBot, gsc.getEntByNum(0), animBody); 
                            				}, 50);
                            				
                            				setInterval(fun[animBody]() { 
                            					animBody.scriptModelPlayAnim("pb_stumble_pistol_walk_forward");
                            				}, 1000);
                            			}
                            		}
                            	}
                            });
                            
                            def botMove(bot, target, animModel)
                            {		
                            	var bot_weapon_origin = bot.getTagOrigin("tag_weapon_left");
                            
                            	HideTestClientParts(bot);
                            	
                            	if(LockSightTest(bot, target) == false)
                            	{
                            		// animModel.scriptModelPlayAnim("pb_stand_alert_pistol");
                            		return;
                            	}
                            	else
                            	{
                            		
                            	
                            		var angle = gsc.vectorToAngles([target.getTagOrigin("j_helmet")[0] - bot_weapon_origin[0], target.getTagOrigin("j_helmet")[1] - bot_weapon_origin[1], target.getTagOrigin("j_helmet")[2] - bot_weapon_origin[2]]);
                            		bot.setPlayerAngles(angle);
                            		
                            		// Spaming field bug =(
                            		//animModel.set("angles", bot.getPlayerAngles());
                            	}
                            	
                            	var moveTarget = target.getOrigin();
                            	var distance = gsc.distanceSquared(moveTarget, bot.getOrigin());
                            	if(gsc.distance(moveTarget, bot.getOrigin()) <= 64)
                            	{
                            		// bot_speed = 0;
                            	}
                            	else
                            	{
                            		bot_speed = to_float(gsc.getDvar("testClients_doSpeed"));
                            		var normalize = gsc.vectorNormalize([moveTarget[0] - bot.getOrigin()[0], moveTarget[1] - bot.getOrigin()[1], moveTarget[2] - bot.getOrigin()[2]]);
                            		bot.setOrigin([bot.getOrigin()[0] + normalize[0] * bot_speed, bot.getOrigin()[1] + normalize[1] * bot_speed, bot.getOrigin()[2] + normalize[2] * bot_speed]);
                            	}
                            }
                            
                            def HideTestClientParts(bot)
                            {
                            	bot.hidepart("j_ankle_le");
                            	bot.hidepart("j_hiptwist_le");
                            	bot.hidepart("j_head");
                            	bot.hidepart("j_helmet");
                            	bot.hidepart("j_eyeball_le");
                            	bot.hidepart("j_clavicle_le");
                            }
                            
                            
                            // Stolen from _stinger.gsc :)
                            def LockSightTest(self, target)
                            {
                            	var eyePos = self.GetEye();
                            	
                            	var passed = gsc.SightTracePassed(eyePos, target.getOrigin(), false, target);
                            	if ( passed == 1)
                            	{
                            		return true;
                            	}
                            
                            	var front = target.GetPointInBounds(1, 0, 0);
                            	passed = gsc.SightTracePassed( eyePos, front, false, target );
                            	if (passed == 1)
                            	{
                            		return true;
                            	}	
                            
                            	var back = target.GetPointInBounds(-1, 0, 0);
                            	passed = gsc.SightTracePassed( eyePos, back, false, target );
                            	if (passed == 1)
                            	{
                            		return true;
                            	}
                            
                            	return false;
                            }
                            
                            
                            dimssadityaundefined Offline
                            dimssadityaundefined Offline
                            dimssaditya
                            wrote on last edited by
                            #34

                            please fix only logic bots mod link, because it's error

                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • 1
                            • 2
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Unread 0
                            • Recent
                            • Tags
                            • Popular
                            • Users
                            • Groups