Advertisement
RyanCordell

DRLA - Assembly Globalizer

Oct 4th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 17.49 KB | None | 0 0
  1. #define ASSEMBLY_TIERS      3
  2. #define ASSEMBLY_AMOUNT     16
  3. #define EXOTICEFFECTS_MAX   38
  4.  
  5. // Keep track of learned assemblies with these
  6. int     DRLA_AssemblyState[MAX_PLAYERS][ASSEMBLY_AMOUNT * ASSEMBLY_TIERS],
  7.         DRLA_OldAssemblyState[MAX_PLAYERS][ASSEMBLY_AMOUNT * ASSEMBLY_TIERS];
  8. // For exotics
  9. int     DRLA_KnownSniperState[MAX_PLAYERS][EXOTICEFFECTS_MAX],
  10.         DRLA_OldSniperState[MAX_PLAYERS][EXOTICEFFECTS_MAX],
  11.        
  12.         DRLA_KnownFirestormState[MAX_PLAYERS][EXOTICEFFECTS_MAX],
  13.         DRLA_OldFirestormState[MAX_PLAYERS][EXOTICEFFECTS_MAX],
  14.        
  15.         DRLA_KnownNanoState[MAX_PLAYERS][EXOTICEFFECTS_MAX],
  16.         DRLA_OldNanoState[MAX_PLAYERS][EXOTICEFFECTS_MAX];
  17.  
  18. // Use this to fetch what's stored in the cvar.
  19. str     DRLA_FetchStoredInfo[MAX_PLAYERS],
  20.  
  21.         DRLA_FetchSniperInfo[MAX_PLAYERS],
  22.         DRLA_FetchFirestormInfo[MAX_PLAYERS],
  23.         DRLA_FetchNanoInfo[MAX_PLAYERS];
  24.  
  25. // Use this string to fetch all learned assemblies to write to ini
  26. str     DRLA_CurrentAssemblerState[MAX_PLAYERS] = {"","","","","","","",""};
  27.  
  28. str     DRLA_CurrentSniperState[MAX_PLAYERS] =  {"","","","","","","",""},
  29.         DRLA_CurrentFirestormState[MAX_PLAYERS] = {"","","","","","","",""},
  30.         DRLA_CurrentNanoState[MAX_PLAYERS] =        {"","","","","","","",""};
  31.  
  32. // When can we actually write? I have no pencil and I MUST WRITE
  33. bool    DRLA_DoWrite = false;
  34.  
  35. str     DRLA_AssemblyTokens[ASSEMBLY_AMOUNT * ASSEMBLY_TIERS] =
  36. {
  37.     // Basic
  38.     "RLChainswordAssemblyLearntToken",
  39.     "RLPiercingBladeAssemblyLearntToken",
  40.     "RLSpeedloaderPistolAssemblyLearntToken",
  41.     "RLSilencedPistolAssemblyLearntToken",
  42.     "RLShredderPistolAssemblyLearntToken",
  43.     "RLElephantGunAssemblyLearntToken",
  44.     "RLGatlingGunAssemblyLearntToken",
  45.     "RLMicroLauncherAssemblyLearntToken",
  46.     "RLHighPowerWeaponAssemblyLearntToken",
  47.     "RLTacticalShotgunAssemblyLearntToken",
  48.     "RLPlasmaticShrapnelAssemblyLearntToken",
  49.     "RLHeavyShotgunAssemblyLearntToken",
  50.     "RLFlamethrowerAssemblyLearntToken",
  51.     "RLShrapnelCannonAssemblyLearntToken",
  52.     "RLSniperRifleAssemblyLearntToken",
  53.     "null",
  54.  
  55.     // Advanced
  56.     "RLDoubleChainsawAssemblyLearntToken",
  57.     "RLTacticalRocketLauncherAssemblyLearntToken",
  58.     "RLStormPistolAssemblyLearntToken",
  59.     "RLPlasmaPistolAssemblyLearntToken",
  60.     "RLAssaultRifleAssemblyLearntToken",
  61.     "RLBurstCannonAssemblyLearntToken",
  62.     "RLVBFG9000AssemblyLearntToken",
  63.     "RLNanoShrapnelAssemblyLearntToken",
  64.     "RLHyperblasterAssemblyLearntToken",
  65.     "RLFocusedDoubleShotgunAssemblyLearntToken",
  66.     "RLPlasmaRifleMkIIAssemblyLearntToken",
  67.     "RLBulletstormChaingunAssemblyLearntToken",
  68.     "RLMiniMissilePistolAssemblyLearntToken",
  69.     "RLAutoshotgunAssemblyLearntToken",
  70.     "RLGrenadeLauncherAssemblyLearntToken",
  71.     "RLNuclearPlasmaShotgunAssemblyLearntToken",
  72.  
  73.     // Master
  74.     "RLNanomanufactureAmmoAssemblyLearntToken",
  75.     "RLDemolitionAmmoAssemblyLearntToken",
  76.     "RLBiggestFuckingGunAssemblyLearntToken",
  77.     "RLRipperAssemblyLearntToken",
  78.     "RLPlasmaRefractorAssemblyLearntToken",
  79.     "RLAutocannonAssemblyLearntToken",
  80.     "RLMotherInLawAssemblyLearntToken",
  81.     "RLMegatonShotgunAssemblyLearntToken",
  82.     "RLVoltgunAssemblyLearntToken",
  83.     "RLConquerorShotgunAssemblyLearntToken",
  84.     "RLClusterBombLauncherAssemblyLearntToken",
  85.     "RLGaussRifleAssemblyLearntToken",
  86.     "RLAntiMaterielRifleAssemblyLearntToken",
  87.     "RLZeusCannonAssemblyLearntToken",
  88.     "RLPlasmaInfusionAssemblyLearntToken",
  89.     "RLSuperMachinegunAssemblyLearntToken"
  90. };
  91.  
  92. str DRLA_UniqueSniperEffects[EXOTICEFFECTS_MAX][2] =
  93. {
  94.     // Uniques
  95.     {"RLJackhammer",                    "RLJackhammerSniperLearntToken"                     },
  96.     {"RLRailgun",                       "RLRailgunSniperLearntToken"                        },
  97.     {"RLMysteriousMagnum",              "RLMysteriousMagnumSniperLearntToken"               },
  98.     {"RLBFG10K",                        "RLBFG10KSniperLearntToken"                         },
  99.     {"RLUnknownHerald",                 "RLUnknownHeraldSniperLearntToken"                  },
  100.     {"RLFragShotgun",                   "RLFragShotgunSniperLearntToken"                    },
  101.     {"RLQuadShotgun",                   "RLQuadShotgunSniperLearntToken"                    },
  102.     {"RLLightweaver",                   "RLLightweaverSniperLearntToken"                    },
  103.     {"RLTrigun",                        "RLTrigunSniperLearntToken"                         },
  104.     {"RLGrammatonClericBeretta",        "RLGrammatonClericBerettaSniperLearntToken"         },
  105.     {"RLAntiFreakJackal",               "RLAntiFreakJackalSniperLearntToken"                },
  106.     {"RLHellsingARMSCasull",            "RLHellsingARMSCasullSniperLearntToken"             },
  107.     {"RLTantrumCannon",                 "RLTantrumCannonSniperLearntToken"                  },
  108.     {"RLRevenantsLauncher",             "RLRevenantsLauncherSniperLearntToken"              },
  109.     {"RLNullPointer",                   "RLNullPointerSniperLearntToken"                    },
  110.     {"RLParticleBeamCannon",            "RLParticleBeamCannonSniperLearntToken"             },
  111.     {"RLPlasmaRedirectionCannon",       "RLPlasmaRedirectionCannonSniperLearntToken"        },
  112.     {"RLSteelBeast",                    "RLSteelBeastSniperLearntToken"                     },
  113.     {"RLSussGun",                       "RLSussGunSniperLearntToken"                        },
  114.     {"RLMIRVLauncher",                  "RLMIRVLauncherSniperLearntToken"                   },
  115.     {"RLMarathonAssaultRifle",          "RLMarathonAssaultRifleSniperLearntToken"           },
  116.     {"RLMarathonShotguns",              "RLMarathonShotgunsSniperLearntToken"               },
  117.     {"RLWidowmakerSMG",                 "RLWidowmakerSMGSniperLearntToken"                  },
  118.     {"RLChameleonRifle",                "RLChameleonRifleSniperLearntToken"                 },
  119.     {"RLNanomachicArmamentGenerator",   "RLNanomachicArmamentGeneratorSniperLearntToken"    },
  120.     {"RLNuclearOnslaught",              "RLNuclearOnslaughtSniperLearntToken"               },
  121.  
  122.     // Demonic
  123.     {"RLDeathsGaze",                    "RLDeathsGazeSniperLearntToken"                     },
  124.     {"RLHellsReign",                    "RLHellsReignSniperLearntToken"                     },
  125.     {"RLSoulstormRifle",                "RLSoulstormRifleSniperLearntToken"                 },
  126.     {"RLUnmaker",                       "null"                                              },
  127.  
  128.     // Legendary
  129.     {"RLJudgeOfTheDead",                "RLJudgeOfTheDeadSniperLearntToken"                 },
  130.     {"RLHurricaneCannon",               "RLHurricaneCannonSniperLearntToken"                },
  131.     {"RLNeuralStunner",                 "RLNeuralStunnerSniperLearntToken"                  },
  132.     {"RLBaronBlaster",                  "RLBaronBlasterSniperLearntToken"                   },
  133.     {"RLRealityDistortionArray",        "RLRealityDistortionArraySniperLearntToken"         },
  134.     {"RLBFGInfinity",                   "RLBFGInfinitySniperLearntToken"                    },
  135.     {"RLDuke2Rifle",                    "RLDuke2RifleSniperLearntToken"                     },
  136.     {"null",                            "null"                                              }
  137. };
  138. str DRLA_UniqueFirestormEFfects[EXOTICEFFECTS_MAX][2] =
  139. {
  140.     // Uniques
  141.     {"RLJackhammer",                    "RLJackhammerFirestormLearntToken"                  },
  142.     {"RLRailgun",                       "RLRailgunFirestormLearntToken"                     },
  143.     {"RLMysteriousMagnum",              "RLMysteriousMagnumFirestormLearntToken"            },
  144.     {"RLBFG10K",                        "RLBFG10KFirestormLearntToken"                      },
  145.     {"RLUnknownHerald",                 "RLUnknownHeraldFirestormLearntToken"               },
  146.     {"RLFragShotgun",                   "RLFragShotgunFirestormLearntToken"                 },
  147.     {"RLQuadShotgun",                   "RLQuadShotgunFirestormLearntToken"                 },
  148.     {"RLLightweaver",                   "RLLightweaverFirestormLearntToken"                 },
  149.     {"RLTrigun",                        "RLTrigunFirestormLearntToken"                      },
  150.     {"RLGrammatonClericBeretta",        "RLGrammatonClericBerettaFirestormLearntToken"      },
  151.     {"RLAntiFreakJackal",               "RLAntiFreakJackalFirestormLearntToken"             },
  152.     {"RLHellsingARMSCasull",            "RLHellsingARMSCasullFirestormLearntToken"          },
  153.     {"RLTantrumCannon",                 "RLTantrumCannonFirestormLearntToken"               },
  154.     {"RLRevenantsLauncher",             "RLRevenantsLauncherFirestormLearntToken"           },
  155.     {"RLNullPointer",                   "RLNullPointerFirestormLearntToken"                 },
  156.     {"RLParticleBeamCannon",            "RLParticleBeamCannonFirestormLearntToken"          },
  157.     {"RLPlasmaRedirectionCannon",       "RLPlasmaRedirectionCannonFirestormLearntToken"     },
  158.     {"RLSteelBeast",                    "RLSteelBeastFirestormLearntToken"                  },
  159.     {"RLSussGun",                       "RLSussGunFirestormLearntToken"                     },
  160.     {"RLMIRVLauncher",                  "RLMIRVLauncherFirestormLearntToken"                },
  161.     {"RLMarathonAssaultRifle",          "RLMarathonAssaultRifleFirestormLearntToken"        },
  162.     {"RLMarathonShotguns",              "RLMarathonShotgunsFirestormLearntToken"            },
  163.     {"RLWidowmakerSMG",                 "RLWidowmakerSMGFirestormLearntToken"               },
  164.     {"RLChameleonRifle",                "RLChameleonRifleFirestormLearntToken"              },
  165.     {"RLNanomachicArmamentGenerator",   "RLNanomachicArmamentGeneratorFirestormLearntToken" },
  166.     {"RLNuclearOnslaught",              "RLNuclearOnslaughtFirestormLearntToken"            },
  167.  
  168.     // Demonic
  169.     {"RLDeathsGaze",                    "RLDeathsGazeFirestormLearntToken"                  },
  170.     {"RLHellsReign",                    "RLHellsReignFirestormLearntToken"                  },
  171.     {"RLSoulstormRifle",                "RLSoulstormRifleFirestormLearntToken"              },
  172.     {"RLUnmaker",                       "null"                                              },
  173.  
  174.     // Legendary
  175.     {"RLJudgeOfTheDead",                "RLJudgeOfTheDeadFirestormLearntToken"              },
  176.     {"RLHurricaneCannon",               "RLHurricaneCannonFirestormLearntToken"             },
  177.     {"RLNeuralStunner",                 "RLNeuralStunnerFirestormLearntToken"               },
  178.     {"RLBaronBlaster",                  "RLBaronBlasterFirestormLearntToken"                },
  179.     {"RLRealityDistortionArray",        "RLRealityDistortionArrayFirestormLearntToken"      },
  180.     {"RLBFGInfinity",                   "RLBFGInfinityFirestormLearntToken"                 },
  181.     {"RLDuke2Rifle",                    "RLDuke2RifleFirestormLearntToken"                  },
  182.     {"null",                            "null"                                              }
  183. };
  184. str DRLA_UniqueNanoEffects[EXOTICEFFECTS_MAX][2] =
  185. {
  186.     // Uniques
  187.     {"RLJackhammer",                    "RLJackhammerNanoLearntToken"                       },
  188.     {"RLRailgun",                       "RLRailgunNanoLearntToken"                          },
  189.     {"RLMysteriousMagnum",              "RLMysteriousMagnumNanoLearntToken"                 },
  190.     {"RLBFG10K",                        "RLBFG10KNanoLearntToken"                           },
  191.     {"RLUnknownHerald",                 "RLUnknownHeraldNanoLearntToken"                    },
  192.     {"RLFragShotgun",                   "RLFragShotgunNanoLearntToken"                      },
  193.     {"RLQuadShotgun",                   "RLQuadShotgunNanoLearntToken"                      },
  194.     {"RLLightweaver",                   "RLLightweaverNanoLearntToken"                      },
  195.     {"RLTrigun",                        "RLTrigunNanoLearntToken"                           },
  196.     {"RLGrammatonClericBeretta",        "RLGrammatonClericBerettaNanoLearntToken"           },
  197.     {"RLAntiFreakJackal",               "RLAntiFreakJackalNanoLearntToken"                  },
  198.     {"RLHellsingARMSCasull",            "RLHellsingARMSCasullNanoLearntToken"               },
  199.     {"RLTantrumCannon",                 "RLTantrumCannonNanoLearntToken"                    },
  200.     {"RLRevenantsLauncher",             "RLRevenantsLauncherNanoLearntToken"                },
  201.     {"RLNullPointer",                   "RLNullPointerNanoLearntToken"                      },
  202.     {"RLParticleBeamCannon",            "RLParticleBeamCannonNanoLearntToken"               },
  203.     {"RLPlasmaRedirectionCannon",       "RLPlasmaRedirectionCannonNanoLearntToken"          },
  204.     {"RLSteelBeast",                    "RLSteelBeastNanoLearntToken"                       },
  205.     {"RLSussGun",                       "RLSussGunNanoLearntToken"                          },
  206.     {"RLMIRVLauncher",                  "RLMIRVLauncherNanoLearntToken"                     },
  207.     {"RLMarathonAssaultRifle",          "RLMarathonAssaultRifleNanoLearntToken"             },
  208.     {"RLMarathonShotguns",              "RLMarathonShotgunsNanoLearntToken"                 },
  209.     {"RLWidowmakerSMG",                 "RLWidowmakerSMGNanoLearntToken"                    },
  210.     {"RLChameleonRifle",                "RLChameleonRifleNanoLearntToken"                   },
  211.     {"RLNanomachicArmamentGenerator",   "RLNanomachicArmamentGeneratorNanoLearntToken"      },
  212.     {"RLNuclearOnslaught",              "RLNuclearOnslaughtNanoLearntToken"                 },
  213.  
  214.     // Demonic
  215.     {"RLDeathsGaze",                    "RLDeathsGazeNanoLearntToken"                       },
  216.     {"RLHellsReign",                    "RLHellsReignNanoLearntToken"                       },
  217.     {"RLSoulstormRifle",                "RLSoulstormRifleNanoLearntToken"                   },
  218.     {"RLUnmaker",                       "null"                                              },
  219.  
  220.     // Legendary
  221.     {"RLJudgeOfTheDead",                "RLJudgeOfTheDeadNanoLearntToken"                   },
  222.     {"RLHurricaneCannon",               "RLHurricaneCannonNanoLearntToken"                  },
  223.     {"RLNeuralStunner",                 "RLNeuralStunnerNanoLearntToken"                    },
  224.     {"RLBaronBlaster",                  "RLBaronBlasterNanoLearntToken"                     },
  225.     {"RLRealityDistortionArray",        "RLRealityDistortionArrayNanoLearntToken"           },
  226.     {"RLBFGInfinity",                   "RLBFGInfinityNanoLearntToken"                      },
  227.     {"RLDuke2Rifle",                    "RLDuke2RifleNanoLearntToken"                       },
  228.     {"null",                            "null"                                              }
  229. };
  230.  
  231. SCRIPT "DRLA_AssemblyGlobalizer" ENTER
  232. {
  233.     int DRLA_AllAssemblies = ASSEMBLY_TIERS * ASSEMBLY_AMOUNT;
  234.  
  235.     int DRLA_AssemblyOffset;
  236.     DRLA_FetchStoredInfo[PlayerNumber()] = GetUserCVarString(PlayerNumber(),"DRLA_knownassemblies");
  237.    
  238.     DRLA_FetchSniperInfo[PlayerNumber()] = GetUserCVarString(PlayerNumber(),"DRLA_knownsnipereffects");
  239.     DRLA_FetchFirestormInfo[PlayerNumber()] = GetUserCVarString(PlayerNumber(),"DRLA_knownfirestormeffects");
  240.     DRLA_FetchNanoInfo[PlayerNumber()] = GetUserCVarString(PlayerNumber(),"DRLA_knownnanoeffects");
  241.  
  242.     // READ --------------------------------------------------
  243.     // ASSEMBLIES ---
  244.     for(int assemblyIndex = 0; assemblyIndex < DRLA_AllAssemblies; assemblyIndex++)
  245.     {
  246.         // Read from the ini and give the player all the assemblies.
  247.         if(StrCmp(DRLA_AssemblyTokens[assemblyIndex],"null") != 0)
  248.         {
  249.             if((GetChar(DRLA_FetchStoredInfo[PlayerNumber()],assemblyIndex) - 48) == 0)
  250.                 TakeActorInventory(playerTID[PlayerNumber()], DRLA_AssemblyTokens[assemblyIndex], 1);
  251.    
  252.             else
  253.                 GiveActorInventory(playerTID[PlayerNumber()], DRLA_AssemblyTokens[assemblyIndex], 1);
  254.         }
  255.         // Update old state with what was read from the ini. Any change afterwards will trigger an ini write.
  256.         DRLA_OldAssemblyState[PlayerNumber()][assemblyIndex] = CheckActorInventory(playerTID[PlayerNumber()], DRLA_AssemblyTokens[assemblyIndex]);
  257.    
  258.     }
  259.     // UNIQUE+ ---
  260.     for(int effectIndex = 0; effectIndex < EXOTICEFFECTS_MAX; effectIndex++)
  261.     {
  262.         // Don't bother with data that's null, like Unmaker exotic effects or missing weapons
  263.         // Sniper
  264.         if( (StrCmp(DRLA_UniqueSniperEffects[effectIndex][1],"null") != 0))
  265.         {
  266.             if((GetChar(DRLA_FetchSniperInfo[PlayerNumber()],effectIndex) - 48) == 0)
  267.                 TakeActorInventory(playerTID[PlayerNumber()], DRLA_UniqueSniperEffects[effectIndex][1], 1);
  268.  
  269.             else
  270.                 GiveActorInventory(playerTID[PlayerNumber()], DRLA_UniqueSniperEffects[effectIndex][1], 1);
  271.            
  272.         }
  273.         DRLA_OldSniperState[PlayerNumber()][effectIndex] = CheckActorInventory(playerTID[PlayerNumber()], DRLA_UniqueSniperEffects[effectIndex][1]);
  274.  
  275.         // Firestorm
  276.         if((StrCmp(DRLA_UniqueFirestormEffects[effectIndex][1],"null") != 0))
  277.         {
  278.             if((GetChar(DRLA_FetchFirestormInfo[PlayerNumber()],effectIndex) - 48) == 0)
  279.                 TakeActorInventory(playerTID[PlayerNumber()], DRLA_UniqueFirestormEffects[effectIndex][1], 1);
  280.  
  281.             else
  282.                 GiveActorInventory(playerTID[PlayerNumber()], DRLA_UniqueFirestormEffects[effectIndex][1], 1);
  283.            
  284.         }
  285.         DRLA_OldFirestormState[PlayerNumber()][effectIndex] = CheckActorInventory(playerTID[PlayerNumber()], DRLA_UniqueFirestormEffects[effectIndex][1]);
  286.  
  287.         // Nano
  288.         if( (StrCmp(DRLA_UniqueNanoEffects[effectIndex][1],"null") != 0))
  289.         {
  290.             if((GetChar(DRLA_FetchNanoInfo[PlayerNumber()],effectIndex) - 48) == 0)
  291.                 TakeActorInventory(playerTID[PlayerNumber()], DRLA_UniqueNanoEffects[effectIndex][1], 1);
  292.  
  293.             else
  294.                 GiveActorInventory(playerTID[PlayerNumber()], DRLA_UniqueNanoEffects[effectIndex][1], 1);
  295.            
  296.         }
  297.         DRLA_OldNanoState[PlayerNumber()][effectIndex] = CheckActorInventory(playerTID[PlayerNumber()], DRLA_UniqueNanoEffects[effectIndex][1]);
  298.     }
  299.  
  300.     // UPDATE --------------------------------------------------
  301.     while(true)
  302.     {
  303.         // Start checking for differences between New and Old states
  304.         // ASSEMBLIES ---
  305.         for(int assemblyIndex2 = 0; assemblyIndex2 < (ASSEMBLY_AMOUNT * ASSEMBLY_TIERS); assemblyIndex2++)
  306.         {
  307.             DRLA_AssemblyState[PlayerNumber()][assemblyIndex2] =    CheckActorInventory(playerTID[PlayerNumber()], DRLA_AssemblyTokens[assemblyIndex2]);
  308.            
  309.             if(DRLA_AssemblyState[PlayerNumber()][assemblyIndex2] != DRLA_OldAssemblyState[PlayerNumber()][assemblyIndex2])
  310.                 DRLA_DoWrite = true;
  311.         }
  312.         // UNIQUE+ ---
  313.         for(int effectIndex2 = 0; effectIndex2 < EXOTICEFFECTS_MAX; effectIndex2++)
  314.         {
  315.             DRLA_KnownSniperState[PlayerNumber()][effectIndex2] =           CheckActorInventory(playerTID[PlayerNumber()], DRLA_UniqueSniperEffects[effectIndex2][1]);
  316.             DRLA_KnownFirestormState[PlayerNumber()][effectIndex2] =        CheckActorInventory(playerTID[PlayerNumber()], DRLA_UniqueFirestormEffects[effectIndex2][1]);
  317.             DRLA_KnownNanoState[PlayerNumber()][effectIndex2] =             CheckActorInventory(playerTID[PlayerNumber()], DRLA_UniqueNanoEffects[effectIndex2][1]);
  318.            
  319.             if( (DRLA_KnownSniperState[PlayerNumber()][effectIndex2]    !=  DRLA_OldSniperState[PlayerNumber()][effectIndex2])      ||
  320.                 (DRLA_KnownFirestormState[PlayerNumber()][effectIndex2] !=  DRLA_OldFirestormState[PlayerNumber()][effectIndex2])   ||
  321.                 (DRLA_KnownNanoState[PlayerNumber()][effectIndex2]      !=  DRLA_OldNanoState[PlayerNumber()][effectIndex2]))
  322.                 DRLA_DoWrite = true;
  323.         }
  324.         Delay(2);
  325.  
  326.     // WRITE --------------------------------------------------
  327.         if(DRLA_DoWrite)
  328.         {
  329.             // ASSEMBLIES ---
  330.             DRLA_CurrentAssemblerState[PlayerNumber()] = "";
  331.  
  332.             for(int i = 0; i < DRLA_AllAssemblies; i++)
  333.                 if(StrLen(DRLA_CurrentAssemblerState[PlayerNumber()]) <= DRLA_AllAssemblies)
  334.                     DRLA_CurrentAssemblerState[PlayerNumber()] = StrParam(s:DRLA_CurrentAssemblerState[PlayerNumber()],i:DRLA_AssemblyState[PlayerNumber()][i]);
  335.  
  336.             SetUserCVarString(PlayerNumber(),"DRLA_knownassemblies",DRLA_CurrentAssemblerState[PlayerNumber()]);
  337.  
  338.             // UNIQUE+ ---
  339.             DRLA_CurrentSniperState[PlayerNumber()] = "";
  340.             DRLA_CurrentFirestormState[PlayerNumber()] = "";
  341.             DRLA_CurrentNanoState[PlayerNumber()] = "";
  342.  
  343.             for(int i5 = 0; i5 < EXOTICEFFECTS_MAX; i5++)
  344.             {
  345.                 if(StrLen(DRLA_CurrentSniperState[PlayerNumber()]) <= EXOTICEFFECTS_MAX)
  346.                     DRLA_CurrentSniperState[PlayerNumber()] =       StrParam(s:DRLA_CurrentSniperState[PlayerNumber()],     i:DRLA_KnownSniperState[PlayerNumber()][i5]);
  347.  
  348.                 if(StrLen(DRLA_CurrentFirestormState[PlayerNumber()]) <= EXOTICEFFECTS_MAX)
  349.                     DRLA_CurrentFirestormState[PlayerNumber()] =    StrParam(s:DRLA_CurrentFirestormState[PlayerNumber()],  i:DRLA_KnownFirestormState[PlayerNumber()][i5]);
  350.  
  351.                 if(StrLen(DRLA_CurrentNanoState[PlayerNumber()]) <= EXOTICEFFECTS_MAX)
  352.                     DRLA_CurrentNanoState[PlayerNumber()] =         StrParam(s:DRLA_CurrentNanoState[PlayerNumber()],       i:DRLA_KnownNanoState[PlayerNumber()][i5]);
  353.             }
  354.  
  355.             SetUserCVarString(PlayerNumber(),"DRLA_knownsnipereffects",     DRLA_CurrentSniperState[PlayerNumber()]);
  356.             SetUserCVarString(PlayerNumber(),"DRLA_knownfirestormeffects",  DRLA_CurrentFirestormState[PlayerNumber()]);
  357.             SetUserCVarString(PlayerNumber(),"DRLA_knownnanoeffects",       DRLA_CurrentNanoState[PlayerNumber()]);
  358.            
  359.             // Sanity delay.
  360.             DRLA_DoWrite = false;
  361.             Delay(35*1);
  362.         }
  363.     }
  364. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement