home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 58 / pcpp58b_TRIBES.iso / Tribes / base / scripts.vol / comchat.cs < prev    next >
Encoding:
Text File  |  1998-12-16  |  3.2 KB  |  101 lines

  1. $MsgTypeSystem = 0;
  2. $MsgTypeGame = 1;
  3. $MsgTypeChat = 2;
  4. $MsgTypeTeamChat = 3;
  5. $MsgTypeCommand = 4;
  6.  
  7. function remoteSay(%clientId, %team, %message)
  8. {
  9.    %msg = %clientId @ " \"" @ escapeString(%message) @ "\"";
  10.  
  11.    if(%team)
  12.    {
  13.       if($dedicated)
  14.          echo("SAYTEAM: " @ %msg);
  15.       %team = Client::getTeam(%clientId);
  16.       for(%cl = Client::getFirst(); %cl != -1; %cl = Client::getNext(%cl))
  17.       {
  18.          if(Client::getTeam(%cl) == %team && !%cl.muted[%clientId])
  19.             Client::sendMessage(%cl, $MsgTypeTeamChat, %message, %clientId);
  20.       }
  21.    }
  22.    else
  23.    {
  24.       if($dedicated)
  25.          echo("SAY: " @ %msg);
  26.       for(%cl = Client::getFirst(); %cl != -1; %cl = Client::getNext(%cl))
  27.          if(!%cl.muted[%clientId])
  28.             Client::sendMessage(%cl, $MsgTypeChat, %message, %clientId);
  29.    }
  30. }
  31.  
  32. function remoteIssueCommand(%commander, %cmdIcon, %command, %wayX, %wayY,
  33.       %dest1, %dest2, %dest3, %dest4, %dest5, %dest6, %dest7, %dest8, %dest9, %dest10, %dest11, %dest12, %dest13, %dest14)
  34. {
  35.    if($dedicated)
  36.       echo("COMMANDISSUE: " @ %commander @ " \"" @ escapeString(%command) @ "\"");
  37.    // issueCommandI takes waypoint 0-1023 in x,y scaled mission area
  38.    // issueCommand takes float mission coords.
  39.    for(%i = 1; %dest[%i] != ""; %i = %i + 1)
  40.       if(!%dest[%i].muted[%commander])
  41.          issueCommandI(%commander, %dest[%i], %cmdIcon, %command, %wayX, %wayY);
  42. }
  43.  
  44. function remoteIssueTargCommand(%commander, %cmdIcon, %command, %targIdx, 
  45.       %dest1, %dest2, %dest3, %dest4, %dest5, %dest6, %dest7, %dest8, %dest9, %dest10, %dest11, %dest12, %dest13, %dest14)
  46. {
  47.    if($dedicated)
  48.       echo("COMMANDISSUE: " @ %commander @ " \"" @ escapeString(%command) @ "\"");
  49.    for(%i = 1; %dest[%i] != ""; %i = %i + 1)
  50.       if(!%dest[%i].muted[%commander])
  51.          issueTargCommand(%commander, %dest[%i], %cmdIcon, %command, %targIdx);
  52. }
  53.  
  54. function remoteCStatus(%clientId, %status, %message)
  55. {
  56.    // setCommandStatus returns false if no status was changed.
  57.    // in this case these should just be team says.
  58.    if(setCommandStatus(%clientId, %status, %message))
  59.    {
  60.       if($dedicated)
  61.          echo("COMMANDSTATUS: " @ %clientId @ " \"" @ escapeString(%message) @ "\"");
  62.    }
  63.    else
  64.       remoteSay(%clientId, true, %message);
  65. }
  66.  
  67. function teamMessages(%mtype, %team1, %message1, %team2, %message2, %message3)
  68. {
  69.    %numPlayers = getNumClients();
  70.    for(%i = 0; %i < %numPlayers; %i = %i + 1)
  71.    {
  72.       %id = getClientByIndex(%i);
  73.       if(Client::getTeam(%id) == %team1)
  74.       {
  75.          Client::sendMessage(%id, %mtype, %message1);
  76.       }
  77.       else if(%message2 != "" && Client::getTeam(%id) == %team2)
  78.       {
  79.          Client::sendMessage(%id, %mtype, %message2);
  80.       }
  81.       else if(%message3 != "")
  82.       {
  83.          Client::sendMessage(%id, %mtype, %message3);
  84.       }
  85.    }
  86. }
  87.  
  88. function messageAll(%mtype, %message)
  89. {
  90.    for(%cl = Client::getFirst(); %cl != -1; %cl = Client::getNext(%cl))
  91.       Client::sendMessage(%cl, %mtype, %message);
  92. }
  93.  
  94. function messageAllExcept(%except, %mtype, %message)
  95. {
  96.    for(%cl = Client::getFirst(); %cl != -1; %cl = Client::getNext(%cl))
  97.       if(%cl != %except)
  98.          Client::sendMessage(%cl, %mtype, %message);
  99. }
  100.  
  101.