home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1997 January / CD_shareware_1-97.iso / DOS / JUEGOS / DM_STATS.ZIP / SOURCE / DM_STATS.QC < prev    next >
Encoding:
Text File  |  1996-09-09  |  6.1 KB  |  365 lines

  1. // This is really really really ugly, I'm sorry if I offend anyone's sensibilities.
  2.  
  3. void(entity c) Print_Stats;
  4. void() Dump_DM_Score;
  5. void() Print_Header;
  6.  
  7. void(entity c) Print_Stats =
  8.  
  9. {
  10.     bprint (c.netname);
  11.     bprint ("   ");
  12.  
  13.     if(p1_exists == TRUE)
  14.         {
  15.         if (c.player_number == 1)
  16.             bprint (ftos(c.self_frags));
  17.         else
  18.             bprint (ftos(c.player1_frags));
  19.         if (c.player1_frags > 9 || c.self_frags > 9)
  20.             bprint ("    ");
  21.         else
  22.             bprint ("     ");
  23.         }
  24.     else
  25.         return;
  26.     if(p2_exists == TRUE)
  27.         {
  28.         if (c.player_number == 2)
  29.             bprint (ftos(c.self_frags));
  30.         else
  31.             bprint (ftos(c.player2_frags));
  32.         if (c.player2_frags > 9 || c.self_frags > 9)
  33.             bprint ("    ");
  34.         else
  35.             bprint ("     ");
  36.  
  37.         }
  38.     else
  39.         return;
  40.  
  41.     if(p3_exists == TRUE)
  42.         {
  43.         if (c.player_number == 3)
  44.             bprint (ftos(c.self_frags));
  45.         else
  46.             bprint (ftos(c.player3_frags));
  47.         if (c.player3_frags > 9 || c.self_frags > 9)
  48.             bprint ("    ");
  49.         else
  50.             bprint ("     ");
  51.         }
  52.     else
  53.         return;
  54.  
  55.     if(p4_exists == TRUE)
  56.         {
  57.         if (c.player_number == 4)
  58.             bprint (ftos(c.self_frags));
  59.         else
  60.             bprint (ftos(c.player4_frags));
  61.         if (c.player4_frags > 9 || c.self_frags > 9)
  62.             bprint ("    ");
  63.         else
  64.             bprint ("     ");
  65.  
  66.         }
  67.     else
  68.         return;
  69.  
  70.     if(p5_exists == TRUE)
  71.         {
  72.         if (c.player_number == 5)
  73.             bprint (ftos(c.self_frags));
  74.         else
  75.             bprint (ftos(c.player5_frags));
  76.         if (c.player5_frags > 9 || c.self_frags > 9)
  77.             bprint ("    ");
  78.         else
  79.             bprint ("     ");
  80.         }
  81.     else
  82.         return;
  83.  
  84.     if(p6_exists == TRUE)
  85.         {
  86.         if (c.player_number == 6)
  87.             bprint (ftos(c.self_frags));
  88.         else
  89.             bprint (ftos(c.player6_frags));
  90.         if (c.player6_frags > 9 || c.self_frags > 9)
  91.             bprint ("    ");
  92.         else
  93.             bprint ("     ");
  94.         }
  95.     else
  96.         return;
  97.  
  98.     if(p7_exists == TRUE)
  99.         {
  100.         if (c.player_number == 7)
  101.             bprint (ftos(c.self_frags));
  102.         else
  103.             bprint (ftos(c.player7_frags));
  104.         if (c.player7_frags > 9 || c.self_frags > 9)
  105.             bprint ("    ");
  106.         else
  107.             bprint ("     ");
  108.  
  109.         }
  110.     else
  111.         return;
  112.  
  113.     if(p8_exists == TRUE)
  114.         {
  115.         if (c.player_number == 8)
  116.             bprint (ftos(c.self_frags));
  117.         else
  118.             bprint (ftos(c.player8_frags));
  119.         if (c.player8_frags > 9 || c.self_frags > 9)
  120.             bprint ("    ");
  121.         else
  122.             bprint ("     ");
  123.         }
  124.     else
  125.         return;
  126.  
  127.     if(p9_exists == TRUE)
  128.         {
  129.         if (c.player_number == 9)
  130.             bprint (ftos(c.self_frags));
  131.         else
  132.             bprint (ftos(c.player9_frags));
  133.         if (c.player9_frags > 9 || c.self_frags > 9)
  134.             bprint ("    ");
  135.         else
  136.             bprint ("     ");
  137.  
  138.         }
  139.     else
  140.         return;
  141.  
  142.     if(p10_exists == TRUE)
  143.         {
  144.         if (c.player_number == 10)
  145.             bprint (ftos(c.self_frags));
  146.         else
  147.             bprint (ftos(c.player10_frags));
  148.         if (c.player10_frags > 9 || c.self_frags > 9)
  149.             bprint ("    ");
  150.         else
  151.             bprint ("     ");
  152.  
  153.         }
  154.     else
  155.         return;
  156.  
  157.     if(p11_exists == TRUE)
  158.         {
  159.         if (c.player_number == 11)
  160.             bprint (ftos(c.self_frags));
  161.         else
  162.             bprint (ftos(c.player11_frags));
  163.         if (c.player11_frags > 9 || c.self_frags > 9)
  164.             bprint ("    ");
  165.         else
  166.             bprint ("     ");
  167.         }
  168.     else
  169.         return;
  170.  
  171.     if(p12_exists == TRUE)
  172.         {
  173.         if (c.player_number == 12)
  174.             bprint (ftos(c.self_frags));
  175.         else
  176.             bprint (ftos(c.player12_frags));
  177.         if (c.player12_frags > 9 || c.self_frags > 9)
  178.             bprint ("    ");
  179.         else
  180.             bprint ("     ");
  181.  
  182.         }
  183.     else
  184.         return;
  185.  
  186.     if(p13_exists == TRUE)
  187.         {
  188.         if (c.player_number == 13)
  189.             bprint (ftos(c.self_frags));
  190.         else
  191.             bprint (ftos(c.player13_frags));
  192.         if (c.player13_frags > 9 || c.self_frags > 9)
  193.             bprint ("    ");
  194.         else
  195.             bprint ("     ");
  196.  
  197.         }
  198.     else
  199.         return;
  200.  
  201.     if(p14_exists == TRUE)
  202.         {
  203.         if (c.player_number == 14)
  204.             bprint (ftos(c.self_frags));
  205.         else
  206.             bprint (ftos(c.player14_frags));
  207.         if (c.player14_frags > 9 || c.self_frags > 9)
  208.             bprint ("    ");
  209.         else
  210.             bprint ("     ");
  211.  
  212.         }
  213.     else
  214.         return;
  215.  
  216.     if(p15_exists == TRUE)
  217.         {
  218.         if (c.player_number == 15)
  219.             bprint (ftos(c.self_frags));
  220.         else
  221.             bprint (ftos(c.player15_frags));
  222.         if (c.player15_frags > 9 || c.self_frags > 9)
  223.             bprint ("    ");
  224.         else
  225.             bprint ("     ");
  226.         }
  227.     else
  228.         return;
  229.  
  230.     if(p16_exists == TRUE)
  231.         {
  232.         if (c.player_number == 16)
  233.             bprint (ftos(c.self_frags));
  234.         else
  235.             bprint (ftos(c.player16_frags));
  236.         if (c.player16_frags > 9 || c.self_frags > 9)
  237.             bprint ("    ");
  238.         else
  239.             bprint ("     ");
  240.  
  241.         }
  242.     else
  243.         return;
  244.  
  245. };
  246.  
  247.  
  248. void() Dump_DM_Score =
  249. {
  250.     local entity    e, sort, walk;
  251.  
  252.     if (world.chain)
  253.         error ("DumpScore: world.chain is set");
  254.  
  255. // build a sorted lis
  256.     e = find(world, classname, "player");
  257.     sort = world;
  258.     while (e)
  259.     {
  260.         if (!sort)
  261.         {
  262.             sort = e;
  263.             e.chain = world;
  264.         }
  265.         else
  266.         {
  267.             if (e.player_number < sort.player_number)
  268.             {
  269.                 e.chain = sort;
  270.                 sort = e;
  271.             }
  272.             else
  273.             {
  274.                 walk = sort;
  275.                 do
  276.                 {
  277.                     if (!walk.chain)
  278.                     {
  279.                         e.chain = world;
  280.                         walk.chain = e;
  281.                     }
  282.                     else if (walk.chain.player_number > e.player_number)
  283.                     {
  284.                         e.chain = walk.chain;
  285.                         walk.chain = e;
  286.                     }
  287.                     else
  288.                         walk = walk.chain;
  289.                 } while (walk.chain != e);
  290.             }
  291.         }
  292.         
  293.         e = find(e, classname, "player");
  294.     }
  295.  
  296. // print the list
  297.     bprint("\n");
  298.     Print_Header();
  299.     while (sort)
  300.     {
  301.         Print_Stats (sort);
  302.         sort = sort.chain;
  303.         bprint ("\n");
  304.     }
  305. };
  306.  
  307. void() Print_Header =
  308. {
  309.     local entity    e, sort, walk;
  310.  
  311.     if (world.chain)
  312.         error ("DumpScore: world.chain is set");
  313.  
  314. // build a sorted lis
  315.     e = find(world, classname, "player");
  316.     sort = world;
  317.     while (e)
  318.     {
  319.         if (!sort)
  320.         {
  321.             sort = e;
  322.             e.chain = world;
  323.         }
  324.         else
  325.         {
  326.             if (e.player_number < sort.player_number)
  327.             {
  328.                 e.chain = sort;
  329.                 sort = e;
  330.             }
  331.             else
  332.             {
  333.                 walk = sort;
  334.                 do
  335.                 {
  336.                     if (!walk.chain)
  337.                     {
  338.                         e.chain = world;
  339.                         walk.chain = e;
  340.                     }
  341.                     else if (walk.chain.player_number > e.player_number)
  342.                     {
  343.                         e.chain = walk.chain;
  344.                         walk.chain = e;
  345.                     }
  346.                     else
  347.                         walk = walk.chain;
  348.                 } while (walk.chain != e);
  349.             }
  350.         }
  351.         
  352.         e = find(e, classname, "player");
  353.     }
  354.  
  355.     bprint ("      ");
  356.  
  357.     while (sort)
  358.     {
  359.         bprint (sort.netname);
  360.         bprint (" ");
  361.         sort = sort.chain;
  362.     }
  363.     bprint ("\n");
  364. };
  365.