0

Code snippet 5 – CoD1 modding

Posted October 1st, 2011 in Snippets and tagged , by Metod

I was administering a Call of Duty 1 server a while back and wanted a rename command for use through the remote console in AWE 2.12 mod. So I dug into the code of the admin tools. And wrote the following function:

  1. rename()
  2. {
  3.         self endon("boot");
  4.        
  5.         setcvar("g_rename", "");
  6.        
  7.         while(1)
  8.         {
  9.                 if(getcvar("g_rename") != "")
  10.                 {
  11.                         player_id = getcvarint("g_rename");
  12.                        
  13.                         for(i = 0; i < level.awe_allplayers.size; i++)
  14.                         {
  15.                                 thisPlayer = level.awe_allplayers[i];
  16.                                
  17.                                 if((thisPlayer getEntityNumber()) == player_id && (substr("Renamed", thisPlayer.name) == -1 || thisPlayer.name.size > 11))
  18.                                 {
  19.                                         level.awe_allplayers[i] setClientCvar("name", "Renamed " + randomInt(1000));
  20.                                         thisPlayer iprintlnbold(level.aweallplayers[i].name + " ^7renamed by admin");
  21.                                         iprintln(level.awe_allplayers[i].name + " ^7renamed by admin");
  22.                                         break;
  23.                                 }
  24.                         }
  25.                        
  26.                         setcvar("g_rename", "");
  27.                 }
  28.                
  29.                 wait .05;
  30.         }
  31. }
  32.  

Nothing special really, but it is an interesting look into how scripting works for Call of Duty 1.