Spec Cams

Made a map or mod? Announce it in this forum!

Moderator: Moderators

Post Reply
Habsey
Lance Corporal
Posts: 14
Joined: Wed Mar 22, 2006 7:05 am
Location: Canada.
Contact:

Spec Cams

Post by Habsey »

Well seeings there are sum people on this forum that maybe arent on TMT or MRU i will post this here... fairly resent mod still looking for ideas for version 2


instructions are all provided in the readme which is posted with the mod here :

http://www.mods-r-us.net/page.php?id=162



Well erm here it is.. basicly if you are spec or you are dead you are sent to cameras instead of following players, these are easy to set up for everymap however if you are cautious on giving teams an advantage i would not suggest using for obj maps altought they will still work, works for all version of moh however u must set up your own map files.. there are 2 ways to do them, from rotating from angle to angle or from keeping them still

Code: Select all


main local.origin local.start_x local.min_angle local.max_angle local.start_z:

 if(local.origin == NIL)

 {

  end

 }



 if(local.start_x ==  NIL)

 {

  local.start_x = 0 

 }



 if(local.min_angle == NIL)

 {

  local.min_angle = 0

 }



 if(local.max_angle == NIL)

 {

  local.max_angle = 90

 }



 if(local.start_z == NIL)

 {

  local.start_z = 0

 }



 if(level.cams == NIL)

 {

  level.cams[1][1] = local.origin

  level.cams[1][2] = local.start_x

  level.cams[1][3] = local.min_angle

  level.cams[1][4] = local.max_angle

  level.cams[1][5] = local.start_z

 }

 else

 {

  local.manycams = level.cams.size

  local.manycams ++



  level.cams[local.manycams][1] = local.origin

  level.cams[local.manycams][2] = local.start_x

  level.cams[local.manycams][3] = local.min_angle

  level.cams[local.manycams][4] = local.max_angle

  level.cams[local.manycams][5] = local.start_z

 }

 local.fwd = 1

 wait 1

 while(1)

 {

  waitframe

  local.player = $player

  if(local.player == NIL || local.player == NULL)

  {

   end

  }



  while(isalive local.player && local.player.dmteam != "spectator")

  {

   waitframe

  }

  if(local.lastcam == NIL)

  {

   local.lastcam = randomint(level.cams.size)

   level.origin = level.cams[local.lastcam][1]

   level.start_x = level.cams[local.lastcam][2]

   level.min_angle = level.cams[local.lastcam][3]

   level.max_angle = level.cams[local.lastcam][4]

   level.start_z = level.cams[local.lastcam][5]

  }

  else

  {

   local.lastcam ++

   if(local.lastcam > level.cams.size)

   {

    local.lastcam = 1

   }

  }

  local.cam = "cam" + randomint 

  local.camera = spawn Camera targetname local.cam origin level.cams[local.lastcam][1]

  local.cam_trigger = spawn TriggerCameraUse target local.cam

  local.cam_trigger doUse local.player

  local.camera targetname "" 

  if((int(level.cams[local.lastcam][3])) < (int(level.cams[local.lastcam][4])))

  {

   local.start_y = level.cams[local.lastcam][3]

  }

  if((int(level.cams[local.lastcam][4])) < (int(level.cams[local.lastcam][3])))

  {

   local.start_y = level.cams[local.lastcam][4]

  }

  if((int(level.cams[local.lastcam][4])) == (int(level.cams[local.lastcam][3])))

  {

   local.start_y = level.cams[local.lastcam][3]

  }

  while((!(isalive local.player)) || local.player.dmteam == spectator)

  {

   if(local.player.useheld)

   {

    while(local.player.useheld)

    {

     waitframe

    }

    break

   }



   if(level.cams[local.lastcam][2] == NIL || local.start_y == NIL || level.cams[local.lastcam][5] == NIL)

   {

    break

   } 



   if(level.cams[local.lastcam][3] != level.cams[local.lastcam][4]) 

   {

    if(local.fwd == 1)

    {

     local.start_y += 2



     if(local.start_y >= (int(level.cams[local.lastcam][4])))

     {

      local.fwd = 0

     }

    }

    else

    {

     local.start_y -= 2



     if(local.start_y <= (int(level.cams[local.lastcam][3])))

     {

      local.fwd = 1

     }

    }



    local.camera.angles = ( level.cams[local.lastcam][2] local.start_y level.cams[local.lastcam][5] )   



    waitframe

   }

   else

   {

    local.camera.angles = ( level.cams[local.lastcam][2] local.start_y level.cams[local.lastcam][5] )   

    waitframe

   }

  }

  local.cam_trigger remove

  local.camera remove

 }

end

Post Reply