[Preview][Animated movement(not fully)] AIBots
-
VERsingthegamez
not yet.
I can’t implement some functions for bots due to problems in Chai. -
VERsingthegamez
not yet.
I can’t implement some functions for bots due to problems in Chai.S3VDITO limitations or just problems that you have not learned?
-
VERsingthegamez
limitations -
VERsingthegamez
limitationsS3VDITO limitations you think you can overcome?
-
S3VDITO limitations you think you can overcome?
VERsingthegamez I can’t say it in advance, but until my efforts bearing works results
-
any new updates?
-
any new updates?
VERsingthegamez not yet
-
VERsingthegamez not yet
S3VDITO the anticipation is killing me.

-
Cool work!
-
any update?
-
Further development is on hold, i am waiting for the PlutoIW5 update to continue what i started.
-
Further development is on hold, i am waiting for the PlutoIW5 update to continue what i started.
S3VDITO what update?
-
S3VDITO what update?
VERsingthegamez updating the script engine, which is unlikely, but possible
-
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
-
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=RDlMABVC9VwMove logic
https://www.youtube.com/watch?v=N81LXQvNl3kAnimated move
https://www.youtube.com/watch?v=3brC8vSBS1wImplemeted:
- Look logic (default target player with num 0)
- Move logic (default target player with num 0) IF BOT SEE YOU
- Animated movement
[this list will be updated]
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; }please fix only logic bots mod link, because it's error
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