Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -lnw
- # version 1.3, Copyright 2018 Hugh
- # Licenced under the GNU Affero General Public License, v3 or later
- # https://www.gnu.org/licenses/agpl-3.0.en.html
- # Reads https://www.fracturedspace.com/ 's %AppData%\Local\spacegame\Saved\Config\WindowsNoEditor\GameUserSettings.ini
- # Prints URLs for Hypergrip's http://trollbruecke.de/fracturedcrew/
- # Template: http://trollbruecke.de/fracturedcrew/crew.php?template=PnPnPnPnPnAAABBBCCCDDDEEE
- # e.g.
- # The Starter Crew: http://trollbruecke.de/fracturedcrew/crew.php?template=0554223472ALTBKRCHWDFQEGO
- # sorted for display: http://trollbruecke.de/fracturedcrew/crew.php?template=5422053472BKRCHWALTDFQEGO
- # Usage: settings2hyper.pl GameUserSettings.ini
- # Profession | CrewID (Crew in that profession sorted alphabetically starting at 0)
- # 0x: Captain
- # 1x: CAG (Commander, Air Group)
- # 2x: Comms
- # 3x: Engineer
- # 4x: Jump Core
- # 5x: Navigation
- # 6x: Repair
- # 7x: Tactical
- # 8x: Utility
- %crewmap = (
- "5E0939BE45877FBE5243A0AEDDC6697A" => ['78', '471-Maggie', 'LastStand-OGrady'],
- "DBA519884D2448B247F1BAB5B26F0FA0" => ['40', 'ALA8AMA', 'Pirate'],
- "FFBB0CD044585FA20397788DA4C8361B" => ['10', 'Arkany Kena', 'CrewPod'],
- "0E661A1B4E8FC0DA2E21B0980FC8D48F" => ['20', 'Benjamin Patrick', 'DarkPod'],
- "BCD8CC1F41A30706FE79808E99686F34" => ['37', '8LADE', 'LastStand1'],
- "4F0EF7B14E249F490DA9D7999105919B" => ['50', 'Blain Allen', 'CrewPod'],
- "24059A994492D0F581F4BBA34CF04F30" => ['51', 'Bonny Reed', 'Pirate'],
- "9700066F4492A3B0FD601B9791D396D3" => ['00', 'Caesar Morgan', 'Pirate'],
- "E8C717004E2EE7154BF67B8F8E7F931D" => ['16', 'Calandra Vandenberg', 'LastStand-OGrady'],
- "69C4E15A416644CB171900865E5C8596" => ['41', 'Carzelle Odiarre', 'CrewPod'],
- "8E2505D04ED1E3A502BC55BF20565FB1" => ['52', 'Charion Lloyd', 'CrewPod'],
- "469C924F46938892882C86B29AEC0787" => ['01', 'Clara Reisette', 'CrewPod'],
- "3B4C9D4447A2C279C70E8FB77C8D11C0" => ['70', 'Cornelius Baptiste', 'CrewPod'],
- "27E43DEC4D0DCD5C245E62B2A3A62CBC" => ['11', 'Cpl Johner One', 'CrewPod'],
- "10D3DC5F47D80063D389A39B9E43C83A" => ['71', 'Dice Caplan', 'CrewPod'],
- "8EB81D644E79B44458C3CB897E42BA40" => ['72', 'Elax Zenchas', 'Starter'],
- "00CF4ABB4849164394475884CDBD2FA2" => ['30', 'Elvy Cooper', 'CrewPod'],
- "DE58A8B94BE28412B0AEC5851BF58E06" => ['31', 'Emmina Xinyu', 'PiratePod'],
- "F54C19614EED261DE7B5688440419793" => ['12', 'Ernest Grimur', 'PiratePod'],
- "A3E3FD2D4F8A3A7B3C3ED392FDA7A83A" => ['02', 'Evan Stirling', 'CrewPod'],
- "07FB941F4118D9C16F7194AF2DEE9236" => ['68', 'Ever Sword Kern', 'LastStand-OGrady'],
- "114452A14736870E083AE9A565A66D32" => ['03', 'Frank Torrance', 'Dark'],
- "34D3B51248D2D71DA09F49B70D527191" => ['32', 'Goss Resnik', 'CrewPod'],
- "3292E32F46F83E8EDB9B04BC49DC096C" => ['53', 'Gregorii Durov', 'CrewPod'],
- "ADB48C2049AD7E235ABB47818BBBA283" => ['80', 'Grincz Morrow', 'CrewPod'],
- "0CB4D1FC41D22624F2523DABA8461480" => ['42', 'Halo', 'DarkPod'],
- "EAACCEB3473CF95EBF4945B659971EBD" => ['09', 'Hanako O\'Grady', 'LastStand-OGrady'],
- "03596E2C403126695058DA968351CE1D" => ['43', 'Hera Dymarr', 'CrewPod'],
- "5881365442DBDBC583701C9C927AE487" => ['54', 'IX-209', 'Starter'],
- "17EDB1EA49444C603573DFB410B2C262" => ['73', 'Imasa Okadas', 'Dark'],
- "4FA7ED4E43526AD90D0A16ACBE74B7D0" => ['33', 'IMMIX-R', 'PiratePod'],
- "753F38F3427D6BFDED1E33A31A506449" => ['44', 'Isabella Jaq', 'CrewPod'],
- "8FAD1806478DF966360CF384F5C67AED" => ['04', 'Jonesy', 'CrewPod'],
- "CC7A81AD4BB2E1BF90CEC1A3DAFAA373" => ['74', 'Jules Valentine', 'Pirate'],
- "C70284114856958E755BCD960D8DB4F7" => ['47', 'KN1FE', 'LastStand1'],
- "50BECA4949A2848119822E82226063C1" => ['75', 'Krysten Tchaikovsky', 'CrewPod'],
- "B25536CF42280EB3A851A19EFC566AF6" => ['60', 'Lance Gregory', 'CrewPod'],
- "4737EA7D4B691CFE1D3CB7A7ACA9D476" => ['21', 'Lexin Kether', 'CrewPod'],
- "5E0EC5464C707BD2491991B3031EC524" => ['81', 'Ludologist', 'DarkPod'],
- "BA551FBC4960C181F355B980AF657DCE" => ['05', 'Marie-Anne Moreau', 'Starter'],
- "DCC3E4D34D881F9AD77A4485D49FADDB" => ['61', 'Mas Leydrab', 'CrewPod'],
- "5589B0694B749C382B0E9A95B2A500B5" => ['13', 'Matilda Issacs', 'CrewPod'],
- "042BA0E84DF3C80D6FD42B978AE41BFC" => ['06', 'Matsokah', 'CrewPod'],
- "7CD8F72B46FFD94EECFBA580AD4F622B" => ['45', 'Max Demian', 'Dark'],
- "370F985448800E271DF35A905730FCFD" => ['34', 'Mia Jansen', 'Starter'],
- "E8F9A6D044DD009264F232BAF5745B59" => ['38', 'M1LCH0', 'LastStand1'],
- "97E4B6DE426E33CBD78D30888416E3B0" => ['62', 'Mira Sharma', 'CrewPod'],
- "87CC780246FA51D090821E810163C124" => ['22', 'Nessa Mulligan', 'Starter'],
- "555DCF064663C9470A03AD89978A710B" => ['82', 'Palam0n', 'CrewPod'],
- "6869BC9F4EBD5180DE3B2A915131F0D6" => ['23', 'Protagonist', 'SpecialEvent'],
- "C3587D4C4C1F4FB4667F81827D4D641C" => ['35', 'Ragnar Zoref', 'Pirate'],
- "01EFAA1A4FAD35C8F2AF29BB80D38505" => ['63', 'Rayvac Molk', 'CrewPod'],
- "C695059E4356F317E1A3F1B4A33107C2" => ['83', 'Regan', 'Dark'],
- "1B5382DF460CA84BE24285A16393D7D1" => ['64', 'Revok Thorn', 'Dark'],
- "D84BFBD24EE5AADEA97A57ABDE5B8D06" => ['65', 'Ridley J. Fincher'],
- "2023776347DBB48F15EF789DFDFEB9C6" => ['55', 'Ru-T0lf', 'SpecialEvent'],
- "EE367C3445C458B872DD99AA821954C7" => ['14', 'Sara Krace', 'CrewPod'],
- "0FEFF4C847450FCF4539E6A808210D20" => ['24', 'Samuel Mosley', 'CrewPod'],
- "0DEDBFCA443F59FF912CDC98A51AA3D3" => ['86', '5CALPEL', 'LastStand1'],
- "72D906A447E302DC3A3B9AB2A3E48DC4" => ['57', 'Sebastian Barox', 'LastStand1'],
- "FFEE8C2E420D6F18592FC7BD4A33070E" => ['84', 'Seraphine Vega', 'CrewPod'],
- "270D6DE4487A83C2F8A42F817AFB4146" => ['36', 'Silke Kaneshiro', 'CrewPod'],
- "CC29E90E40459910158A85AA6AD80603" => ['66', 'Stellan Shaw', 'CrewPod'],
- "B3353CB04D89D2DE05B3239FDB0CDD64" => ['26', 'Surinder Kaur', 'LastStand-OGrady'],
- "57B7C1F84E93CC90B5790383F7ABAD18" => ['76', 'TAU-IS', 'PiratePod'],
- "D78315B84D2DF4764384E1A3710E0DB6" => ['46', 'Telisic Jenova', 'CrewPod'],
- "C54041CE43F8A0E89B2E04ADA2ED147F" => ['15', 'Temple Jemison', 'DarkPod'],
- "B5EA63044B50230C97A9F69E90841FFA" => ['07', 'The Mighty Jingles', 'SpecialEvent'],
- "739B3F2445F94A3F0AC41C8E420850BD" => ['67', 'Tyrain Demam', 'CrewPod'],
- "6EEEB38D4CF8CCBA5265B490963A1B6B" => ['08', 'WHIM', 'CrewPod'],
- "C06032324DA975929D6751BD9EDDCFFF" => ['25', 'Xu Ziyi', 'CrewPod'],
- "73F6C37247301C1E28DC19BBD4A38DB2" => ['77', 'Xerid Greyfist', 'DarkPod'],
- "0473AF5C437B066B20F23383B826D8CF" => ['85', 'Zhang Tao', 'CrewPod'],
- "C9E1CF554D3AA9ABBEACC29081923251" => ['56', 'Zoe Ledoux', 'PiratePod'],
- "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" => ['--', 'Missing', 'Missing'],
- );
- %implantmap=(
- "13DC022E42068C9E654115A05B41DE6E" => ['A', 'Attack Damage'],
- "BB220E9345CEFD879D93838D549B26CF" => ['F', 'Armor Repair Rate'],
- "F9D3569E4C0C3D099650E78C4DC42CFD" => ['G', 'Armor Strength'],
- "5A718C99471772C79A8B90A146601748" => ['H', 'Broken Armor Damage Reduction'],
- "82D056B6474BBAD3362B58800F1AA504" => ['M', 'Capture Rate'],
- "6834E8D2431A8A8B1BF3BD84F0791B32" => ['I', 'Damage Reduction'],
- "A170838E48D7C48E0DBB588BEDEF9C69" => ['N', 'Energy Regen'],
- "2EC7537F4193727447AC74B5A340345A" => ['B', 'Fire Rate'],
- "B5A88CCF4D16BC9605CB6ABC97289A45" => ['O', 'Forward Thrust'],
- "B553F54842EF2379C90DF49836292A76" => ['J', 'Hull Strength'],
- "571D88634AA9A06CF8703DB822AE72DA" => ['P', 'Jump Cooldown'],
- "89A55DFD46684A7E528D42BF1B141E2A" => ['K', 'Jump Damage Reduction'],
- "3DB3DB124F4C7504CEAD4F9AD02DA883" => ['Q', 'Jump Prep'],
- "E0DF7C9441151ED8AFD4ED9BF12DE8B6" => ['R', 'Maneuvering'],
- "FEE32FD44475D582E42A988A6338E6C5" => ['C', 'Missile Range'],
- "D3D9388C4A69F429C161E18C7978B5A4" => ['D', 'Ramming Damage'],
- "A7C4002144908C578C82EAACEED842B3" => ['S', 'Repair Efficiency'],
- "EC9B721447DF397CA0D7D0A1AEA12A0F" => ['T', 'Sensor Range'],
- "FB3FE8FD4EAA331346C3E596B32CEEF4" => ['U', 'Squad Cooldown'],
- "2357BFE34CED88AAD4FB458B644FD792" => ['V', 'Squad Survival'],
- "3949CAB645FA818C56A12BB0063F0AAB" => ['L', 'Station Damage Reduction'],
- "77B35B9844EAF5A526E422AFBCEA881D" => ['W', 'Turn Rate'],
- "875C276B4215F18D0903C3852EBDC87C" => ['E', 'Turret Traverse'],
- "EC1EE1F84F43B42461FD848FB3433529" => ['X', 'Utility Cooldown'],
- "B91104CB422A09B829AB5D83ED7AF476" => ['Y', 'Utility Duration'],
- );
- if ( /^CrewTeams=.*Name="([^"]+)".*CrewMembers=\((.+)\),Members=/ ) {
- $name=$1;
- $memberlist=$2;
- print "CrewTeams Name: $name";
- # print STDERR "Members: $memberlist";
- # Members: (A),(B),(C),(D),(E)
- # for each crewmember A..E, if defined, affinities X,Y,Z if defined:
- # ID="[[:xdigit:]]{32}"(,Affinities=("X","Y","Z")?
- $URLBASE="http://trollbruecke.de/fracturedcrew/crew.php?template=";
- $URLCREW="";
- $URLIMPLANTS="";
- # Blank slots get a '-'?
- # If the template code is too short: ERROR: Invalid Template Code
- while ( $memberlist =~ /\(/ ) {
- if ( $memberlist =~ s/\(ID=\"([[:xdigit:]]{32})\",Affinities=\(([^)]+)\),?// ) {
- $crewID=$1;
- $affinities=$2;
- } elsif ( $memberlist =~ s/\(ID=\"([[:xdigit:]]{32})\"\),?// ) {
- $crewID=$1;
- $affinities="";
- } elsif ( $memberlist =~ s/\(\)?,?// ) { # strip out at least the leading '('
- $crewID="F" x 32;
- $affinities="";
- }
- # print "\tCrewmemberID: $crewID $crewmap{$crewID}[0] $crewmap{$crewID}[1]";
- $URLCREW .= $crewmap{$crewID}[0];
- $IMPLANTS3="";
- if ( $affinities ne "" ) {
- @_=split(/,/, $affinities); # ...I need to split an affinity?
- for (@_) {
- if ( /([[:xdigit:]]{32})/ ) {
- # print "\t\tImplant: $1 $implantmap{$1}[0] $implantmap{$1}[1]";
- $IMPLANTS3 .= $implantmap{$1}[0];
- } else {
- $IMPLANTS3 .= '-';
- }
- }
- }
- # pad out to 3 implant slots
- while (length($IMPLANTS3) < 3) { $IMPLANTS3 .= '-' };
- $URLIMPLANTS .= $IMPLANTS3;
- }
- print "\t${URLBASE}${URLCREW}${URLIMPLANTS}";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement