No announcement yet.

Link Me, Dammit!

  • Filter
  • Time
  • Show
Clear All
new posts

    Link Me, Dammit!

    Name: Link Me, Dammit!

    Version: V1

    Compatibility: UT2004

    Description: Link Me, Dammit is a mutator/server actor for Onslaught botplay that improves bot AI. The primary feature is, as the name suggests, the ability of bots to recognize when human players are using their Link Guns, and linking with them.

    If a human pulls out and fires a Link Gun (primary or secondary), nearby bots will try to join in the link chain (if possible). For best results, order a couple of bots to cover you, then ferry them around in a Hellbender or something. As you build nodes they will link up with you instantly -- without the mutator they MIGHT link you if they feel like it.

    Bots are also more likely to heal a vehicle driven by you. Use the "Cover me" command to make them link you for sure.

    Additionally they will report the location of big enemy vehicles if they spot them.

    Changelog Beta 2:
    * Bots are a bit more random now about linking (unless you order them to cover you)
    * Bots will try to link each other when healing
    * Bots will try to heal damaged nodes
    * Bots won't link if they're dealing with an enemy. If they get shot during linking they should stop linking and deal with the threat.
    * When calling out the Mino/Levi/etc, bots will report the closest power node only if within 5000 UUs of that power node. If not, they'll report it by cardinal direction. If there's a big powerup (UDamage, Target Painter, Redeemer) nearby, they will mention that powerup as well.
    * ServerActor included (LinkMe.LinkMeServerActor), using the Server Actor will keep your server from becoming non-standard (which is a must if I want this to have any hope of winding up on Omni ONS)

    Changelog Beta 3:
    * Fixed bot reporting based on locationname/near power node, so it shouldn't do something like "Enemy Mino Near Blue PowerCore Near Blue PowerCore" if the word "core" or "node" is in the location name
    * Bots won't try to link vehicles in non-Onslaught games
    * Fixed something else that I don't exactly remember and probably wasn't very important

    Changelog V1:
    * Unknown changes, only that "most issues have been worked out now"
    * Feature to have bots wait for humans before they speed off in vehicles had to be disabled because it could not be implemented so that it works correctly.



    Fortunately you have your own personal healbots…

    Bots will also call out big enemy vehicles via TeamSay. Normally this is the Mino, but depending on the level it could be another vehicle, such as the Kraken, the Ion Plasma Tank, or maybe just a plain old Goliath.

    Credits: All stuff done by Kamek, I just publish it here.


    Download: Link (Source included)

    Great! Downloading...
    Now they behave more like UT3 bots (they tell you where enemy vehicles are). Does it work in combination with the UT3 style mutator? If not, maybe Emerald could use parts of his code for it?


      If the link gun linked by it self, like in UT3 it would be even better because both of them would be able to fire, and with increased fire power xD


        Well, it should work, I guess. It works with any custom vehicle since it just writes it's name into the TeamChat and the Text-to-Speech can then properly pronounce it.

        He just said that he didn't test it with ONSPlus yet, but it should work.


          That's great! I hope we will see more useful mutators like this
          BTW this is OT but I don't like the way you link to someone in UT3. I always shoot at them with the beam. Then I realize that it's different from what we have here in 2k4 LOL


            Thank God you made this!!!


              That's nice, I could even integrate the voices like "enemy Leviathan - midfield high" and "enemy Goliath - midfield low" if you want. Also, I wonder if you can integrate the reports to human players - it would be very useful online.
              Oh, and how are changes applied here? Are all bots replaced in some way?

              Originally posted by 100GPing100 View Post
              If the link gun linked by it self, like in UT3 it would be even better because both of them would be able to fire, and with increased fire power xD
              That's not correct. Only one can fire with increased power, if the other one starts firing, the link grid is broken.


                @Sly. I also do that xD

                @GreatEmerald broken, I was playing in an AS map, and we were both able to fire, we were like three or four ealing a Goliath, we were all firing, and the linked link was still there, I alt-fired into the air, and it was a yellow beam, maye one of them wasn't firing


                  Don't know if the bots are replaced, but you can check the source code included in the downloadable package.


                    Originally posted by Sly. View Post
                    That's great! I hope we will see more useful mutators like this
                    100% agreed!

                    If only this is made available for UT3 too...


                      Looked into it, and huh, it doesn't make sense for me. It's just taking every xPawn and changing their controllers to the bot class. Last time I checked, players are also xPawns, so why doesn't it affect them? Else it would be like in Red Alert 2 when you let players control computer-controlled troops - they have AI, but you can order them around manually, too


                        His answer:
                        Yeah, it works by overwriting the bot class, which is by default set to UnrealGame.Bot. The mutator/server actor replaces it with LinkMe.xLinkMeBot, which is the "new" bot class with the linking features.

                        Player pawns aren't affected, because when they're spawned, the player controller automatically possesses it. The bot for that pawn is never spawned.


                          nice heres a mirror on my site


                            Oh, now I see. By default, it says:
                            So the game code itself takes care of this issue. That's good to know. But I wonder how to change the player's controller...


                              This is an excellent idea, could have used this years ago