Guest User

Untitled

a guest
Jan 23rd, 2015
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.72 KB | None | 0 0
  1. $remapDivision[$remapCount] = "Quick Brick Scroll";
  2. $remapName[$remapCount] = "Toggle Brick Scrolling";
  3. $remapCmd[($remapCount++)-1] = "setBrickScrollActive";
  4. $BrickScroll::ActiveColor="0 0.5 1 1";  //color the indicator turns when the key is held down
  5.  
  6. package quickScrollBricks
  7. {
  8.     function scrollInventory(%amount)
  9.     {   //Detects mouse scroll when key is held down.
  10.         if($BrickScroll::Active)
  11.         {
  12.             doBrickScroll(%amount>0 ? 1 : -1);
  13.             return;
  14.         }
  15.         Parent::scrollInventory(%amount);      
  16.     }
  17.     //All of the rest of the functions in this package are for organizing the brick menu data into an accurate list.
  18.     function clientCmdBSD_LoadBricks()
  19.     {
  20.         if(isObject($BrickScroll::DBList))
  21.             $BrickScroll::DBList.delete(); //getting rid of the list from past games
  22.         $BrickScroll::DBList=new ScriptObject()
  23.         {
  24.             count=0;
  25.         };
  26.         Parent::clientCmdBSD_LoadBricks();
  27.         cleanDBList();
  28.     }
  29.     function BSD_addCategory(%name)
  30.     {
  31.         %out=Parent::BSD_addCategory(%name);
  32.         %use=strReplace(%name," ","_");
  33.         if($BrickScroll::DBList.isCategory[%use]$="")
  34.         {
  35.             $BrickScroll::DBList.category[$BrickScroll::DBList.count]=new ScriptObject()
  36.             {
  37.                 count=0;
  38.             };
  39.             $BrickScroll::DBList.isCategory[%use]=$BrickScroll::DBList.category[$BrickScroll::DBList.count];
  40.             $BrickScroll::DBList.count++;
  41.         }
  42.         return(%out);
  43.     }
  44.     function BSD_addSubCategory(%categoryName,%name)
  45.     {
  46.         %out=Parent::BSD_addSubCategory(%categoryName,%name);
  47.         %category=$BrickScroll::DBList.isCategory[strReplace(%categoryName," ","_")];
  48.         %use=strReplace(%name," ","_");
  49.         if(%category.isSubCategory[%use]$="")
  50.         {
  51.             %category.subCategory[%category.count]=new ScriptObject()
  52.             {
  53.                 count=0;
  54.             };
  55.             %category.isSubCategory[%use]=%category.subCategory[%category.count];
  56.             %category.count++;
  57.         }
  58.         return(%out);
  59.     }
  60.     function BSD_CreateBrickButton(%db)
  61.     {
  62.         $BrickScroll::LastDB=%db;
  63.         %out=Parent::BSD_CreateBrickButton(%db);
  64.         return(%out);
  65.     }
  66.     function BSD_findCategory(%name)
  67.     {
  68.         $BrickScroll::LastCategory=%name;
  69.         %out=Parent::BSD_findCategory(%name);
  70.         return(%out);
  71.     }
  72.     function BSD_findSubCategory(%category,%name)
  73.     {
  74.         %out=Parent::BSD_findSubCategory(%category,%name);
  75.         %category=$BrickScroll::DBList.isCategory[strReplace($BrickScroll::LastCategory," ","_")];
  76.         %use=strReplace(%name," ","_");
  77.         %subCategory=%category.isSubCategory[%use];
  78.         %subCategory.brick[%subCategory.count]=$BrickScroll::LastDB;
  79.         %subCategory.count++;
  80.         return(%out);
  81.     }
  82. };
  83. activatePackage(quickScrollBricks);
  84.  
  85. function cleanDBList()
  86. {   //reorganizing that mess into one list, so we can easily scroll through it
  87.     %list=$BrickScroll::DBList;
  88.     %result=new ScriptObject()
  89.     {
  90.         count=0;
  91.     };
  92.     for(%x=0;%x<%list.count;%x++)
  93.     {
  94.         %category=%list.category[%x];
  95.         for(%i=0;%i<%category.count;%i++)
  96.         {
  97.             %subCategory=%category.subCategory[%i];
  98.             for(%n=0;%n<%subCategory.count;%n++)
  99.             {
  100.                 %next=%subCategory.brick[%n];
  101.                 %result.ref[%next]=%result.count;
  102.                 %result.brick[%result.count]=%next;
  103.                 %result.count++;
  104.             }
  105.             %subCategory.delete();
  106.         }
  107.         %category.delete();
  108.     }
  109.     %list.delete();
  110.     $BrickScroll::DBList=%result;
  111. }
  112.  
  113. function setBrickScrollActive()
  114. {
  115.     $BrickScroll::Active=!$BrickScroll::Active;
  116.     HUD_BrickActive.setColor($BrickScroll::Active ? $BrickScroll::ActiveColor : "1 1 1 1");
  117. }
  118.  
  119. function doBrickScroll(%offset,%avoidLoop)
  120. {
  121.     %use=$BSD_InvData[$CurrScrollBrickSlot];
  122.     %use=$BrickScroll::DBList.ref[%use]+%offset;
  123.     if(%use>=$BrickScroll::DBList.count)
  124.         %use=0;
  125.     else if(%use<0)
  126.         %use=$BrickScroll::DBList.count-1;
  127.     %use=$BrickScroll::DBList.brick[%use];
  128.     $BSD_InvData[$CurrScrollBrickSlot]=%use;
  129.     commandToServer('BuyBrick',$CurrScrollBrickSlot,%use);
  130.     clientCmdServerMessage('MsgSetInvData',"",$CurrScrollBrickSlot,%use);
  131. }
Advertisement
Add Comment
Please, Sign In to add comment