Advertisement
Guest User

Welcome Text

a guest
Dec 19th, 2014
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 9.98 KB | None | 0 0
  1. welcomeText(player,textOne,textTwo,glowColor)
  2. {
  3.     player endon("death");
  4.     player endon("disconnect");
  5.     line[0] = createText("default",2,"","",-1000,-150,1,10,textOne);
  6.     line[1] = createText("default",2,"","",1000,-120,1,10,textTwo);
  7.     for(k = 0; k < line.size; k++)
  8.     {
  9.         line[k].glowAlpha = 1;
  10.         line[k].glowColor = glowColor;
  11.     }
  12.     line[0] welcomeMove(1.5,-90);
  13.     line[1] welcomeMove(1.5,90);
  14.     wait 1.5;
  15.     line[0] welcomeMove(4,90);
  16.     line[1] welcomeMove(4,-90);
  17.     wait 4;
  18.     line[0] welcomeMove(3,1000);
  19.     line[1] welcomeMove(3,-1000);
  20.     wait 3;
  21.     for(k = 0; k < 2; k++)
  22.         line[k] destroy();
  23. }
  24. welcomeMove(time,x)
  25. {
  26.     self setPoint("","",x,self.y,time);
  27. }
  28. createIcon( shader, width, height )
  29. {
  30.     iconElem = newHudElem();
  31.     iconElem.elemType = "icon";
  32.     iconElem.x = 250;
  33.     iconElem.y = 220;
  34.     iconElem.width = width;
  35.     iconElem.height = height;
  36.     iconElem.xOffset = 250;
  37.     iconElem.yOffset = 220;
  38.     iconElem.children = [];
  39.     iconElem setParent( level.uiParent );
  40.     iconElem.hidden = false;
  41.    
  42.     if( isDefined( shader ) )
  43.         iconElem setShader( shader, width, height );
  44.    
  45.     return iconElem;
  46. }
  47.  
  48. setParent( element )
  49. {
  50.     if( isDefined( self.parent ) && self.parent == element )
  51.         return;
  52.        
  53.     if( isDefined( self.parent ) )
  54.         self.parent removeChild( self );
  55.  
  56.     self.parent = element;
  57.     self.parent addChild( self );
  58.  
  59.     if( isDefined( self.point ) )
  60.         self setPoint( self.point, self.relativePoint, self.xOffset, self.yOffset );
  61.     else
  62.         self setPoint( "TOPLEFT" );
  63. }
  64.  
  65. addChild( element )
  66. {
  67.     element.index = self.children.size;
  68.     self.children[self.children.size] = element;
  69. }
  70.  
  71. removeChild( element )
  72. {
  73.     element.parent = undefined;
  74.  
  75.     if( self.children[self.children.size-1] != element )
  76.     {
  77.         self.children[element.index] = self.children[self.children.size-1];
  78.         self.children[element.index].index = element.index;
  79.     }
  80.     self.children[self.children.size-1] = undefined;
  81.    
  82.     element.index = undefined;
  83. }
  84.  
  85. setPoint( point, relativePoint, xOffset, yOffset, moveTime )
  86. {
  87.     if( !isDefined( moveTime ) )
  88.         moveTime = 0;
  89.  
  90.     element = self getParent();
  91.  
  92.     if( moveTime )
  93.         self moveOverTime( moveTime );
  94.    
  95.     if( !isDefined( xOffset ) )
  96.         xOffset = 0;
  97.     self.xOffset = xOffset;
  98.  
  99.     if( !isDefined( yOffset ) )
  100.         yOffset = 0;
  101.     self.yOffset = yOffset;
  102.        
  103.     self.point = point;
  104.  
  105.     self.alignX = "center";
  106.     self.alignY = "middle";
  107.  
  108.     if( isSubStr( point, "TOP" ) )
  109.         self.alignY = "top";
  110.     if( isSubStr( point, "BOTTOM" ) )
  111.         self.alignY = "bottom";
  112.     if( isSubStr( point, "LEFT" ) )
  113.         self.alignX = "left";
  114.     if( isSubStr( point, "RIGHT" ) )
  115.         self.alignX = "right";
  116.  
  117.     if( !isDefined( relativePoint ) )
  118.         relativePoint = point;
  119.  
  120.     self.relativePoint = relativePoint;
  121.  
  122.     relativeX = "center";
  123.     relativeY = "middle";
  124.  
  125.     if( isSubStr( relativePoint, "TOP" ) )
  126.         relativeY = "top";
  127.     if( isSubStr( relativePoint, "BOTTOM" ) )
  128.         relativeY = "bottom";
  129.     if( isSubStr( relativePoint, "LEFT" ) )
  130.         relativeX = "left";
  131.     if( isSubStr( relativePoint, "RIGHT" ) )
  132.         relativeX = "right";
  133.  
  134.     if( element == level.uiParent )
  135.     {
  136.         self.horzAlign = relativeX;
  137.         self.vertAlign = relativeY;
  138.     }
  139.     else
  140.     {
  141.         self.horzAlign = element.horzAlign;
  142.         self.vertAlign = element.vertAlign;
  143.     }
  144.  
  145.  
  146.     if( relativeX == element.alignX )
  147.     {
  148.         offsetX = 0;
  149.         xFactor = 0;
  150.     }
  151.     else if( relativeX == "center" || element.alignX == "center" )
  152.     {
  153.         offsetX = int( element.width / 2 );
  154.         if( relativeX == "left" || element.alignX == "right" )
  155.             xFactor = -1;
  156.         else
  157.             xFactor = 1;   
  158.     }
  159.     else
  160.     {
  161.         offsetX = element.width;
  162.         if( relativeX == "left" )
  163.             xFactor = -1;
  164.         else
  165.             xFactor = 1;
  166.     }
  167.     self.x = element.x + (offsetX * xFactor);
  168.  
  169.     if( relativeY == element.alignY )
  170.     {
  171.         offsetY = 0;
  172.         yFactor = 0;
  173.     }
  174.     else if( relativeY == "middle" || element.alignY == "middle" )
  175.     {
  176.         offsetY = int( element.height / 2 );
  177.         if( relativeY == "top" || element.alignY == "bottom" )
  178.             yFactor = -1;
  179.         else
  180.             yFactor = 1;   
  181.     }
  182.     else
  183.     {
  184.         offsetY = element.height;
  185.         if( relativeY == "top" )
  186.             yFactor = -1;
  187.         else
  188.             yFactor = 1;
  189.     }
  190.     self.y = element.y + (offsetY * yFactor);
  191.    
  192.     self.x += self.xOffset;
  193.     self.y += self.yOffset;
  194.    
  195.     switch ( self.elemType )
  196.     {
  197.         case "bar":
  198.             setPointBar( point, relativePoint, xOffset, yOffset );
  199.             //self.bar setPoint( point, relativePoint, xOffset, yOffset );
  200.             self.barFrame setParent( self getParent() );
  201.             self.barFrame setPoint( point, relativePoint, xOffset, yOffset );
  202.             break;
  203.     }
  204.    
  205.     self updateChildren();
  206. }
  207.  
  208.  
  209. setPointBar( point, relativePoint, xOffset, yOffset )
  210. {
  211.     self.bar.horzAlign = self.horzAlign;
  212.     self.bar.vertAlign = self.vertAlign;
  213.    
  214.     self.bar.alignX = "left";
  215.     self.bar.alignY = self.alignY;
  216.     self.bar.y = self.y;
  217.    
  218.     if( self.alignX == "left" )
  219.         self.bar.x = self.x;
  220.     else if( self.alignX == "right" )
  221.         self.bar.x = self.x - self.width;
  222.     else
  223.         self.bar.x = self.x - int(self.width / 2);
  224.    
  225.     if( self.alignY == "top" )
  226.         self.bar.y = self.y;
  227.     else if( self.alignY == "bottom" )
  228.         self.bar.y = self.y;
  229.  
  230.     self updateBar( self.bar.frac );
  231. }
  232.  
  233.  
  234. updateBar( barFrac, rateOfChange )
  235. {
  236.     if( self.elemType == "bar" )
  237.         updateBarScale( barFrac, rateOfChange );
  238. }
  239.  
  240.  
  241. updateBarScale( barFrac, rateOfChange ) // rateOfChange is optional and is in "(entire bar lengths) per second"
  242. {
  243.     barWidth = int(self.width * barFrac + 0.5); // (+ 0.5 rounds)
  244.    
  245.     if ( !barWidth )
  246.         barWidth = 1;
  247.    
  248.     self.bar.frac = barFrac;
  249.     self.bar setShader( self.bar.shader, barWidth, self.height );
  250.    
  251.     assertEx( barWidth <= self.width, "barWidth <= self.width: " + barWidth + " <= " + self.width + " - barFrac was " + barFrac );
  252.    
  253.     //if barWidth is bigger than self.width then we are drawing more than 100%
  254.     if( isDefined( rateOfChange ) && barWidth < self.width )
  255.     {
  256.         if( rateOfChange > 0 )
  257.         {
  258.             //printLn( "scaling from: " + barWidth + " to " + self.width + " at " + ((1 - barFrac) / rateOfChange) );
  259.             assertex( ((1 - barFrac) / rateOfChange) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
  260.             self.bar scaleOverTime( (1 - barFrac) / rateOfChange, self.width, self.height );
  261.         }
  262.         else if( rateOfChange < 0 )
  263.         {
  264.             //printLn( "scaling from: " + barWidth + " to " + 0 + " at " + (barFrac / (-1 * rateOfChange)) );
  265.             assertex(  (barFrac / (-1 * rateOfChange)) > 0, "barFrac: " + barFrac + "rateOfChange: " + rateOfChange );
  266.             self.bar scaleOverTime( barFrac / (-1 * rateOfChange), 1, self.height );
  267.         }
  268.     }
  269.     self.bar.rateOfChange = rateOfChange;
  270.     self.bar.lastUpdateTime = getTime();
  271. }
  272.  
  273.  
  274. createFontString( font, fontScale )
  275. {
  276.     fontElem = newClientHudElem( self );
  277.     fontElem.elemType = "font";
  278.     fontElem.font = font;
  279.     fontElem.fontscale = fontScale;
  280.     fontElem.x = 0;
  281.     fontElem.y = 0;
  282.     fontElem.width = 0;
  283.     fontElem.height = int(level.fontHeight * fontScale);
  284.     fontElem.xOffset = 0;
  285.     fontElem.yOffset = 0;
  286.     fontElem.children = [];
  287.     fontElem setParent( level.uiParent );
  288.     fontElem.hidden = false;
  289.     return fontElem;
  290. }
  291.  
  292. createServerFontString( font, fontScale, team )
  293. {
  294.     if( isDefined( team ) )
  295.         fontElem = newTeamHudElem( team );
  296.     else
  297.         fontElem = newHudElem( self );
  298.    
  299.     fontElem.elemType = "font";
  300.     fontElem.font = font;
  301.     fontElem.fontscale = fontScale;
  302.     fontElem.x = 0;
  303.     fontElem.y = 0;
  304.     fontElem.width = 0;
  305.     fontElem.height = int(level.fontHeight * fontScale);
  306.     fontElem.xOffset = 0;
  307.     fontElem.yOffset = 0;
  308.     fontElem.children = [];
  309.     fontElem setParent( level.uiParent );
  310.     fontElem.hidden = false;
  311.    
  312.     return fontElem;
  313. }
  314.  
  315. createServerTimer( font, fontScale, team )
  316. {  
  317.     if( isDefined( team ) )
  318.         timerElem = newTeamHudElem( team );
  319.     else
  320.         timerElem = newHudElem( self );
  321.     timerElem.elemType = "timer";
  322.     timerElem.font = font;
  323.     timerElem.fontscale = fontScale;
  324.     timerElem.x = 0;
  325.     timerElem.y = 0;
  326.     timerElem.width = 0;
  327.     timerElem.height = int(level.fontHeight * fontScale);
  328.     timerElem.xOffset = 0;
  329.     timerElem.yOffset = 0;
  330.     timerElem.children = [];
  331.     timerElem setParent( level.uiParent );
  332.     timerElem.hidden = false;
  333.    
  334.     return timerElem;
  335. }
  336.  
  337. createTeamProgressBarText( team )
  338. {
  339.     text = createServerFontString( "default", level.teamProgressBarFontSize, team );
  340.     text setPoint("TOP", undefined, 0, level.teamProgressBarTextY);
  341.     return text;
  342. }
  343.  
  344. hideElem()
  345. {
  346.     if ( self.hidden )
  347.         return;
  348.        
  349.     self.hidden = true;
  350.  
  351.     if ( self.alpha != 0 )
  352.         self.alpha = 0;
  353.    
  354.     if ( self.elemType == "bar" || self.elemType == "bar_shader" )
  355.     {
  356.         self.bar.hidden = true;
  357.         if ( self.bar.alpha != 0 )
  358.             self.bar.alpha = 0;
  359.  
  360.         self.barFrame.hidden = true;
  361.         if ( self.barFrame.alpha != 0 )
  362.             self.barFrame.alpha = 0;
  363.     }
  364. }
  365.  
  366. showElem()
  367. {
  368.     if ( !self.hidden )
  369.         return;
  370.        
  371.     self.hidden = false;
  372.  
  373.     if ( self.alpha != 1 )
  374.         self.alpha = 1;
  375.    
  376.     if ( self.elemType == "bar" || self.elemType == "bar_shader" )
  377.     {
  378.         self.bar.hidden = false;
  379.         if ( self.bar.alpha != 1 )
  380.             self.bar.alpha = 1;
  381.  
  382.         self.barFrame.hidden = false;
  383.         if ( self.barFrame.alpha != 1 )
  384.             self.barFrame.alpha = 1;
  385.     }
  386. }
  387.  
  388.  
  389. flashThread()
  390. {
  391.     self endon ( "death" );
  392.  
  393.     if ( !self.hidden )
  394.         self.alpha = 1;
  395.        
  396.     while(1)
  397.     {
  398.         if ( self.frac >= self.flashFrac )
  399.         {
  400.             if ( !self.hidden )
  401.             {
  402.                 self fadeOverTime(0.3);
  403.                 self.alpha = .2;
  404.                 wait(0.35);
  405.                 self fadeOverTime(0.3);
  406.                 self.alpha = 1;
  407.             }
  408.             wait(0.7);
  409.         }
  410.         else
  411.         {
  412.             if ( !self.hidden && self.alpha != 1 )
  413.                 self.alpha = 1;
  414.  
  415.             wait ( 0.5 );
  416.         }
  417.     }
  418. }
  419.  
  420.  
  421. destroyElem()
  422. {
  423.     tempChildren = [];
  424.  
  425.     for ( index = 0; index < self.children.size; index++ )
  426.     {
  427.         if ( isDefined( self.children[index] ) )
  428.             tempChildren[tempChildren.size] = self.children[index];
  429.     }
  430.  
  431.     for ( index = 0; index < tempChildren.size; index++ )
  432.         tempChildren[index] setParent( self getParent() );
  433.        
  434.     if ( self.elemType == "bar" || self.elemType == "bar_shader" )
  435.     {
  436.         self.bar destroy();
  437.         self.barFrame destroy();
  438.     }
  439.        
  440.     self destroy();
  441. }
  442.  
  443. getParent()
  444. {
  445.     return self.parent;
  446. }
  447.  
  448. updateChildren()
  449. {
  450.     for ( index = 0; index < self.children.size; index++ )
  451.     {
  452.         child = self.children[index];
  453.         child setPoint( child.point, child.relativePoint, child.xOffset, child.yOffset );
  454.     }
  455. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement