DAZZLE'S UPGRADE PACK

If you haven't already done so, upgrade your game by downloading Dazzle's all-in-one upgrade pack. It comes with everything you need for today's servers. Does your blue bar freeze when joining servers? Do you lag in games? Do you get an annoying siren in Phobik's Servers? This is what you need. CLICK HERE TO DOWNLOAD.

New Obs Mode For TS!!

Discuss anything.

Moderators: Admin, Moderator

Post Reply
User avatar
parCAT
Need Major Repair
Need Major Repair
Posts: 993
Joined: Sat Feb 24, 2007 11:30 pm
Location: MA
Contact:

New Obs Mode For TS!!

Post by parCAT »

Thanks to Phobik we have a new observing mode in TS. This obs allows your screen to follow the scrum automatically. Although he hasn't adjusted the zoom in/zoom out capabilities just yet, this obs mode is pretty cool. Below I have recorded a video of some TS action while in the new mode.

http://www.youtube.com/watch?v=6TYI2_CL8LM

Hopefully a PSLer can utilize this to record the finals games (after pho creates zoom in/zoom out options, of course!).

NOTE: After about 6 and a half minutes, I change into the free mode of observing, but then change back to the automatic.
meow !
Reagent X
Need Major Repair
Need Major Repair
Posts: 1479
Joined: Wed Dec 27, 2006 12:44 pm
Location: Bay Area, CA
Contact:

Re: New Obs Mode For TS!!

Post by Reagent X »

yes, I saw this the other day and I think it is awesome! Nice work!
-Rx
Image
User avatar
Dazzle
Evil Site Admin
Evil Site Admin
Posts: 1320
Joined: Fri Dec 29, 2006 6:59 am
Location: London, England
Contact:

Re: New Obs Mode For TS!!

Post by Dazzle »

Not exactly new, Art crazy wrote this code for CTF recreation a few years ago!!

Phobic :whistling:
User avatar
LGM
Site Admin
Site Admin
Posts: 2100
Joined: Fri Dec 29, 2006 12:59 pm
Location: Very Northwest WA
Contact:

Re: New Obs Mode For TS!!

Post by LGM »

^ that was the first thing I thought when I read this...
Mr Phobik
Site Mechanic
Site Mechanic
Posts: 283
Joined: Wed Apr 30, 2008 2:35 pm
Location: Toronto, CANADA

Re: New Obs Mode For TS!!

Post by Mr Phobik »

Art Crazy found the function (which is 1 line) - but I re-wrote it to make it the way I want.
Image
User avatar
Dazzle
Evil Site Admin
Evil Site Admin
Posts: 1320
Joined: Fri Dec 29, 2006 6:59 am
Location: London, England
Contact:

Re: New Obs Mode For TS!!

Post by Dazzle »

How many way can there be to follow a flag...... :?
ArtCrazy
Veteran Member
Veteran Member
Posts: 290
Joined: Fri Dec 29, 2006 10:14 am

Re: New Obs Mode For TS!!

Post by ArtCrazy »

Hey, it's not like it's such a big secret... If anyone else is interested on having it on their server, I'll post the code I used to make the /follow command in ACAS.

Syntax is:
Go back to normal observer mode: /follow fly
Follow the flag: /follow flag DISTANCE
Follow the goal: /follow goal DISTANCE
Follow a player: /follow PLAYER_NAME DISTANCE

Code: Select all

//Follow
$ACAS::CodesFolder::Function[1] = "followobs";
$ACAS::CodesFolder::Shortcut[1] = "/follow";
$ACAS::CodesFolder::Description[1] = "Follow (Observer)";
$ACAS::CodesFolder::GuiArgs[1] = "EnterTermSpace:Enter who/what you want to follow ('fly, 'flag', 'goal' or a name)@EnterTermNumbers:Enter distance to observe the target from (numbers)";

function setcam(%client, %a1, %a2, %a3) {
  %client.camera.setOrbitMode($ACAS::Observer::Flag, $ACAS::Observer::Flag.getTransform(), %a1, %a2, %a3);
}

$ACAS::Observer::Flag = -1;
$ACAS::Observer::Goal = -1;

function followobs(%client,%msg) //%client = %sender
{
  %firstWord = firstWord(%msg);
  %restWords = restWords(%msg);

  if(%firstWord $= "fly") {
    %client.camera.setFlyMode();
    
    if(!%client.Observing)
    {
      observer(%client,"");
    }
    return;
  }
  else if(%firstWord $= "flag") {
    if(!isObject($ACAS::Observer::Flag)) {
      centerprint(%client, "There is no flag to follow.");
      return;
    }

    %obj = $ACAS::Observer::Flag;
  }
  else if(%firstWord $= "goal") {
    if(!isObject($ACAS::Observer::Goal)) {
      centerprint(%client, "There is no goal to follow.");
      return;
    }

    %obj = $ACAS::Observer::Goal;
  }
  else {
    %match = matchClientName(%firstWord);
    %cl = firstword(%match);
    %status_message = restwords(%match);
    if(%cl == -1)
    {
      bottomprint(%cl,%status_message,4,4);
      return;
    }
    
    if(!isObject(%cl.player)) {
      centerprint(%cl, "That player doesn't currently have a tank");
      return;
    }
    
    %obj = %cl.player;
  }
  
  %client.camera.setOrbitMode(%obj, %obj.getTransform(), %restWords/2, %restWords*2, %restWords);
  
  if(!%client.Observing)
  {
    observer(%client,"");
  }
}

//Package
package ObserverPackage
{
  function FlagData::onAdd(%this,%obj)
  {
    Parent::onAdd(%this, %obj);
    $ACAS::Observer::Flag = %obj;
  }
  
  function PowerupData::onAdd(%this,%obj)
  {
    Parent::onAdd(%this, %obj);
    
    if(%obj.dataBlock $= "DefaultGoal") {
      $ACAS::Observer::Goal = %obj;
    }
  }
};
ActivatePackage(ObserverPackage);
Post Reply