home *** CD-ROM | disk | FTP | other *** search
/ Chip 2011 November / CHIP_2011_11.iso / Programy / Inne / Gry / UltraStar_Deluxe / ultrastardx-1.1-installer-full.exe / plugins / 5000points.usdx next >
Text File  |  2010-06-08  |  2KB  |  74 lines

  1. --[[
  2.  * UltraStar Deluxe - Karaoke Game
  3.  *
  4.  * UltraStar Deluxe is the legal property of its developers, whose names
  5.  * are too numerous to list here. Please refer to the COPYRIGHT
  6.  * file distributed with this source distribution.
  7.  *
  8.  * This program is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU General Public License
  10.  * as published by the Free Software Foundation; either version 2
  11.  * of the License, or (at your option) any later version.
  12.  *
  13.  * This program is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  * GNU General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU General Public License
  19.  * along with this program; see the file COPYING. If not, write to
  20.  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  21.  * Boston, MA 02110-1301, USA.
  22.  *
  23.  * $URL: http://ultrastardx.svn.sourceforge.net/svnroot/ultrastardx/trunk/game/plugins/5000points.usdx $
  24.  * $Id: 5000points.usdx 2258 2010-04-20 20:08:16Z whiteshark0 $
  25.  *]]
  26.     
  27. function plugin_init()
  28.   register('party mode: 5000points', '1.00', 'USDX Team', 'http://www.UltrastarDeluxe.org');
  29.  
  30.   require('Usdx.Party')
  31.   require('Usdx.ScreenSing');
  32.  
  33.   local Mode = {}
  34.  
  35.   Mode.Name = '5000points'
  36.   Mode.CanNonParty = true;
  37.   Mode.CanParty = true;
  38.   Mode.OnSing = 'Sing';
  39.   Mode.AfterSing = 'Calculate_Winner';
  40.  
  41.   Usdx.Party.Register(Mode)
  42.  
  43.   return true;
  44. end
  45.  
  46. function Sing()
  47.   Scores = ScreenSing.GetScores();
  48.  
  49.   for i = 1, #Scores do
  50.     if (Scores[i] >= 5000) then
  51.       ScreenSing.Finish();
  52.       break;
  53.     end
  54.   end
  55.  
  56.   return true;
  57. end
  58.  
  59. function Calculate_Winner()
  60.   Scores = Scores or ScreenSing.GetScores();
  61.   local Ranking = {};
  62.   for i = 1, #Scores do
  63.     if Scores[i] >= 5000 then
  64.       Ranking[i] = 1
  65.     else
  66.       Ranking[i] = #Scores
  67.     end
  68.   end
  69.  
  70.   Party.SetRoundRanking(Ranking);
  71.   Scores = nil;
  72.  
  73.   return true;
  74. end