MOH Central

Medal of Honor Series Forum => MOHAA Series: General => Topic started by: kacperpl1 on December 25, 2007, 02:12:26 PM

Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 25, 2007, 02:12:26 PM
'm now developing real time strategy game based on medal of honor allied assault engine. The aim of this modification is to made a realistic World War II battlefield with thousands of troopers, vehicles and planes, playable by few players, so two of them will enjoy commanding each side of conflict and rest of them will be able to use any of equipment brought by their commanders to the frontlines and enjoy large scale battles from perspective of one man on the battlefield. I'm searching for skilled scripters(programmers) and mappers for this project. I think this can be done completely server side because for now everything including was checked for possibility of making it server side(the gui on the screen is only for demonstration).

   

   

   Things done on the project:

   -topdown camera

   -cursor

   -units healthbars

   -ordering unit to move

   

   

   Things to do:

   -gui completion

   -unit square selector

   -unit production system(probably as para drops)

   -unit and commander experience system

   -vehicle artificial inteligence for auto aim and shoot enemy

   -gameplay optimalization

   -units

   -structures

   -maps

   See screenshots here:

   http://www.moddb.com/mods/10376/mohtotalwar

   

   At the moment I'm stuck at vehicle artificial inteligence. I need to know how to spawn actor using jeep turret, sitting on driver and passanger seat etc. Thanks for any help.
Title: MoH TotalWar Mod developement
Post by: Cobra {sfx} on December 25, 2007, 03:51:03 PM
What your asking - the engine isnt capable of doing without serious lag, spawn 2 tanks and a couple of other things and lag will be evident on a busy server, if things are timed so only a couple of things are happening at a time it will be smoother.

   

   $myvehicle attachdriverslot 0 $myai

   $myai anim "opel_driver"

   

   $myvehicle attachpassengerslot 0 $myai2

   $myai2 anim "opel_driver"

   

   Like that should do for the AI

   

   $myvehicle detachdriverslot 0 $myai

   $myvehicle detachpassengerslot 0 $myai2 to release them :)
Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 25, 2007, 03:54:00 PM
What about the jeep 30cal gunner?

   Btw dunno why this driver attachment method isn't working. the actor isnt even attached to the driver seat also anim isnt working
Title: MoH TotalWar Mod developement
Post by: Cobra {sfx} on December 25, 2007, 03:55:28 PM
I havent used AI on a turret before so unsure on that one, should be some info on .map in the Bots section tho id say

   

   ( I added one on DVSN - it got to the turret and looked good but didnt fire :/ )
Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 25, 2007, 04:10:09 PM
I cant find even how to spawn actor using mg. Can sbd help me?
Title: MoH TotalWar Mod developement
Post by: Cobra {sfx} on December 25, 2007, 05:19:56 PM
They are obviously multiplayer bots? ...

   

   http://freebrief.planetmedalofhonor.gamespy.com/mohaa/bots/index.html

   

   This explains how to do in Radiant but you could look at whats needed and substitute script, if your wanting it to be serversided then AI dont work in AA serverside, only SH+BT, so i assume its for SH or BT if servrsided, might be worth looking at the single player scripts to see how EA controlled the AI and apply in multiplayer.

   

   Edit ...

   

   For Para-bots just glue them to a script origin, add a chute and have the origin move at a set speed to the destination of your choice :)

   

   spawn script_origin "origin" "X X X" "targetname" "X"

   $X notsolid

   $myai glue $X

   spawn models/static/parachute_actors.tik "targetname" "chute"

   $chute attach $myai "Bip01 Spine2" 0

   $X speed 50

   $X moveto $blah // (blah being your destination where you want him to land)

   $X waitmove

   $chute detach $myai

   $chute remove

   $X remove

   

   kinda :)
Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 25, 2007, 08:58:56 PM
Hmm maybe the other way. The main problem is to make ai for tanks and vehicles so turret will auto fire enemies. Have any ideas?
Title: MoH TotalWar Mod developement
Post by: Cobra {sfx} on December 25, 2007, 09:38:54 PM
Just attach them to the vehicle attach points and have the vehicles drive around and stop in pre-set areas - and thread to some cannon fire/mg42 fire etc, its its just for fx thats all u need.

   

   As long as theyre targetnamed you can control them, i used this recently ...

   

   $surfacemg2 setaimtarget $clouds

   $surfacemg setaimtarget $eng1

   $surfacemg startfiring

   $surfacemg2 startfiring

   wait 3

   $surfacemg stopfiring

   $surfacemg2 stopfiring

   wait 3

   $surfacemg setaimtarget $tb1

   $surfacemg2 setaimtarget $mrus

   $surfacemg startfiring

   $surfacemg2 startfiring

   wait 3

   $surfacemg stopfiring

   $surfacemg2 stopfiring

   wait 2

   

   etc etc, they were 2 targetnamed mg42s i had fire at preset targets, similar applies to the tanks firing, thats all you would need going on for fx, you could use a large trigger around each vehicle ( i mean a trig thats very large lol) and if an enemy triggers it then it targets him - handy for an auto tank driving around.

   

   AI i havent had much to do with yet but im going to be using them more (mp ai)
Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 25, 2007, 10:00:55 PM
You dont understand. I dont need dumb truck driving around and firing at same places. I need a tank and jeep that go where commander points with mouse and attack enemy when they see it. Now i made this by spawning invisible ai attached to the tank and turret is glued to it so it turns around but too fast and it makes some bugs.
Title: MoH TotalWar Mod developement
Post by: JADE on December 25, 2007, 10:21:59 PM
this is a similar script to cobras .

   this is part of sfx ric-hard s mod .

   

   this will when tank stops , look for targets , if no targets are around it will move on .

   for what you want , its the closest i have , if its no good , test drivable tanks mods .

   

   [code][//**************************************

   //*** this will:

   //***    check to see if it should shoot

   //***    if so, count players

   //***    random pick whoever is in range and shoot at them

   

   start:

   

   self.randomshoot = randomint(6)

   if (self.randomshoot == 1)

   {

      println ("looking for target")

      self.count = 1

      if ($player[2])

      {

         self.count = 2

         if ($player[3])

         {

            self.count = 3

            if ($player[4])

            {

               self.count = 4

               if ($player[5])

               {

                  self.count = 5

                  if ($player[6])

                  {

                     self.count = 6

                     if ($player[7])

                     {

                        self.count = 7

                        if ($player[8])

                        {

                           self.count = 8

                           if ($player[9])

                           {

                              self.count = 9

                              if ($player[10])

                              {

                                 self.count = 10

                              }

                           }

                        }

                     }

                  }

               }

            }

         }

      }

      self.selectshoot = 1 + randomint(self.count)

      println ("targeting player #" + self.selectshoot)

      if (vector_length (self.origin - $player[self.selectshoot].origin) > 200)

      {

         if (vector_length (self.origin - $player[self.selectshoot].origin) < 500)

         {

            wait 2

            self.gun setAimTarget $player[self.selectshoot]

            self.gun waittill ontarget

            self.gun anim fire

         }

      }

   }

   else

   {

      println ("not looking for target")

   }

   

   end /code]

   

   to use it , make scr called auto_fire , place auto_fire scr in global folder , exec global/auto_fire.scr::start

   

   have fun
Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 25, 2007, 10:27:13 PM
is there a possibility of searching for actor or a player not only for a player?

   When i think now about it making an actor to turn the turret was the best idea but how to make it to turn slowly and fire when ai attack with its dummy weapon?
Title: MoH TotalWar Mod developement
Post by: Cobra {sfx} on December 25, 2007, 11:47:47 PM
Thats what i meant about a trigger - it needs to determine who the enemy are.

   

   In the TIK file you will find the turrets turning speed, no idea if a bot will react to it tho
Title: MoH TotalWar Mod developement
Post by: kacperpl1 on December 26, 2007, 12:26:17 AM
again u dont understand. Actor is attached to the turretslot and turretmodel is glued to the actor so its turning when actor turns to shoot. This is everything i could manage at the moment because i dunno how to make turret used by ai.
Title: MoH TotalWar Mod developement
Post by: Cobra {sfx} on December 26, 2007, 03:27:02 AM
Phil (retired) made a binocular airstrike that had a plane appear and go to the region of the binocular aim and drop some payload, you could try applying similar for your players control perhaps, it in the mod files section under Phils Work.

   

   

   This script will tell bots who the enemy are ...

   

   

   bot:
   //example bot
   local.ai_dude = spawn human/multiplayer_allied_1st-ranger_captain.tik
   local.ai_dude.origin = ( -1360 -839 544 )
   local.ai_dude.angle = 121
   local.ai_dude.maxdist = 1000
   local.ai_dude.sound_awareness = 100
   local.ai_dude.health = 100
   local.ai_dude.hearing = 5000
   local.ai_dude.accuracy = 75
   local.ai_dude.gren_awareness = 100
   local.ai_dude.sight = 5000
   local.ai_dude.weapon = "thompson"
   local.ai_dude.dmteam = allies
   local.ai_dude.noticescale = 90
   local.ai_dude.aggresiveness = 95
   
   while(1)
   {
   for(local.i=1;local.i<= $player.size;local.i++)
   {
   if($player[local.i].dmteam == "allies")
   {
   $player[local.i] american
   }
   
   if($player[local.i].dmteam == "axis")
   {
   $player[local.i] german
   }
   }
   waitframe
   }
   end
   

   

   So if you have all your AI above in the bot thread like the example they should start looking for human and ai targets.

   

   No idea as yet what to do with yer turret problem