Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Save Hero
- Options: Action, Create Thread
- Return Type: (None)
- Parameters
- Player Index = 0 <Integer>
- Grammar Text: Save Hero(Player Index)
- Hint Text: (None)
- Custom Script Code
- Local Variables
- Temp Loop Var = 0 <Integer>
- Temp Start Loop Var = 0 <Integer>
- Saving Player = 0 <Integer>
- ------- Number of vars stored is: 4 not including items or abilities, then add 16x2 +4 for item slots... and add 7+7 for abilities.. so 54
- ------- atm 54 because no slot
- Number of Vars Stored = 54 <Integer>
- Check Sum Char = "" <String>
- Encrypted String = "" <String>
- Encryption Key = "" <String>
- Check Sum Int = 0 <Integer>
- Pre-encryption String = "" <String>
- Final String = "" <String>
- Encryption Numbers = "" <String[95]>
- Temp Strings = "" <String[60]>
- Encryption Key Int = (Random integer between 0 and (Number of Encryption Sets - 1)) <Integer>
- Conversion Integer = 0 <Integer>
- Conversion Divided Int = 0 <Integer>
- Conversion Remainder = 0 <Integer>
- Power Of Current = 0 <Integer>
- Power Of Max Number = 0 <Integer>
- Hero Abilities = 0 <Integer[7]>
- Actions
- Variable - Set Saving Player = Player Index
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- Or
- Conditions
- Player Heroes[Saving Player] == No Unit
- (Status of player Saving Player) != Playing
- Then
- General - Skip remaining actions
- Else
- Variable - Set Encryption Key = Character Types[Encryption Key Int]
- General - Pick each integer from 1 to Number of Characters, and do (Actions)
- Actions
- Variable - Set Encryption Numbers[((Picked integer) - 1)] = (Substring(Encryption Set[Encryption Key Int], (Picked integer), (Picked integer)))
- ------- -----------------------------------------------------------------------------------------------
- ------- Hero Class:
- ------- -----------------------------------------------------------------------------------------------
- General - Pick each integer from 0 to (Number of Heroes - 1), and do (Actions)
- Actions
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- Player Heroes Types[Saving Player] == Hero Types[(Picked integer)]
- Then
- Variable - Set Conversion Integer = (Picked integer)
- Else
- ------- Convert to non-decimal: (Small since only 1 slot this round)
- Variable - Set Temp Strings[1] = Character Types[Conversion Integer]
- ------- -----------------------------------------------------------------------------------------------
- ------- Hero Exp:
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Conversion Integer = (Integer((Total experience of Player Heroes[Saving Player])))
- General - Pick each integer from 1 to Slots - Hero Exp, and do (Actions)
- Actions
- Variable - Set Power Of Max Number = 1
- General - Repeat (Actions) (Slots - Hero Exp - (Picked integer)) times
- Actions
- Variable - Set Power Of Max Number = (Power Of Max Number * Number of Characters)
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Slots - Hero Exp - (Picked integer)) >= 1
- Then
- Variable - Set Conversion Divided Int = (Conversion Integer / Power Of Max Number)
- Variable - Set Conversion Remainder = (Conversion Integer - (Conversion Divided Int * Power Of Max Number))
- Variable - Set Temp Strings[2] = (Temp Strings[2] + Character Types[Conversion Divided Int])
- Else
- Variable - Set Temp Strings[2] = (Temp Strings[2] + Character Types[Conversion Remainder])
- Variable - Set Conversion Integer = Conversion Remainder
- ------- -----------------------------------------------------------------------------------------------
- ------- Hero Ability Types (7 abils):
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Temp Start Loop Var = 1
- General - For each integer Temp Loop Var from 1 to 7 with increment 1, do (Actions)
- Actions
- Variable - Set Conversion Integer = 0
- General - Pick each integer from Temp Start Loop Var to Number of Abilities, and do (Actions)
- Actions
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Current level for ability Ability Types[(Picked integer)] on Player Heroes[Saving Player]) >= 0
- (Ability Types[(Picked integer)] is Enabled for Player Heroes[Saving Player]) == true
- Then
- Variable - Set Conversion Integer = (Picked integer)
- Variable - Set Temp Start Loop Var = ((Picked integer) + 1)
- Variable - Set Hero Abilities[Temp Loop Var] = (Picked integer)
- General - Break
- Else
- ------- Convert to non-decimal: (Small since only 1 slot this round)
- Variable - Set Temp Strings[(Temp Loop Var + 2)] = Character Types[Conversion Integer]
- ------- -----------------------------------------------------------------------------------------------
- ------- Hero Ability Levels (7 abils):
- ------- -----------------------------------------------------------------------------------------------
- General - For each integer Temp Loop Var from 1 to 7 with increment 1, do (Actions)
- Actions
- Variable - Set Conversion Integer = (Current level for ability Ability Types[Hero Abilities[Temp Loop Var]] on Player Heroes[Saving Player])
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Ability Types[Hero Abilities[Temp Loop Var]] is Enabled for Player Heroes[Saving Player]) == true
- Then
- ------- Add 1 because current level starts from 0
- Variable - Modify Conversion Integer: + 1
- Else
- ------- Convert to non-decimal: (Small since only 1 slot this round)
- Variable - Set Temp Strings[(Temp Loop Var + 9)] = Character Types[Conversion Integer]
- ------- -----------------------------------------------------------------------------------------------
- ------- Hero Items (36 item slots):
- ------- -----------------------------------------------------------------------------------------------
- General - For each integer Temp Loop Var from 1 to 36 with increment 1, do (Actions)
- Actions
- Variable - Set Conversion Integer = 0
- General - Pick each integer from 1 to Number of Items, and do (Actions)
- Actions
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Unit type of (Item carried by Player Heroes[Saving Player] in Temp Loop Var)) == Item Types[(Picked integer)]
- Then
- Variable - Set Conversion Integer = (Picked integer)
- Else
- General - Pick each integer from 1 to Slots - Each Hero Item, and do (Actions)
- Actions
- Variable - Set Power Of Max Number = 1
- General - Repeat (Actions) (Slots - Each Hero Item - (Picked integer)) times
- Actions
- Variable - Set Power Of Max Number = (Power Of Max Number * Number of Characters)
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Slots - Each Hero Item - (Picked integer)) >= 1
- Then
- Variable - Set Conversion Divided Int = (Conversion Integer / Power Of Max Number)
- Variable - Set Conversion Remainder = (Conversion Integer - (Conversion Divided Int * Power Of Max Number))
- Variable - Set Temp Strings[(Temp Loop Var + 16)] = (Temp Strings[(Temp Loop Var + 16)] + Character Types[Conversion Divided Int])
- Else
- Variable - Set Temp Strings[(Temp Loop Var + 16)] = (Temp Strings[(Temp Loop Var + 16)] + Character Types[Conversion Remainder])
- Variable - Set Conversion Integer = Conversion Remainder
- ------- -----------------------------------------------------------------------------------------------
- ------- Gold:
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Conversion Integer = (Player Saving Player Minerals)
- General - Pick each integer from 1 to Slots - Gold, and do (Actions)
- Actions
- Variable - Set Power Of Max Number = 1
- General - Repeat (Actions) (Slots - Gold - (Picked integer)) times
- Actions
- Variable - Set Power Of Max Number = (Power Of Max Number * Number of Characters)
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Slots - Gold - (Picked integer)) >= 1
- Then
- Variable - Set Conversion Divided Int = (Conversion Integer / Power Of Max Number)
- Variable - Set Conversion Remainder = (Conversion Integer - (Conversion Divided Int * Power Of Max Number))
- Variable - Set Temp Strings[53] = (Temp Strings[53] + Character Types[Conversion Divided Int])
- Else
- Variable - Set Temp Strings[53] = (Temp Strings[53] + Character Types[Conversion Remainder])
- Variable - Set Conversion Integer = Conversion Remainder
- ------- -----------------------------------------------------------------------------------------------
- ------- Silver:
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Conversion Integer = (Player Saving Player Vespene)
- General - Pick each integer from 1 to Slots - Silver, and do (Actions)
- Actions
- Variable - Set Power Of Max Number = 1
- General - Repeat (Actions) (Slots - Silver - (Picked integer)) times
- Actions
- Variable - Set Power Of Max Number = (Power Of Max Number * Number of Characters)
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Slots - Silver - (Picked integer)) >= 1
- Then
- Variable - Set Conversion Divided Int = (Conversion Integer / Power Of Max Number)
- Variable - Set Conversion Remainder = (Conversion Integer - (Conversion Divided Int * Power Of Max Number))
- Variable - Set Temp Strings[54] = (Temp Strings[54] + Character Types[Conversion Divided Int])
- Else
- Variable - Set Temp Strings[54] = (Temp Strings[54] + Character Types[Conversion Remainder])
- Variable - Set Conversion Integer = Conversion Remainder
- ------- -----------------------------------------------------------------------------------------------
- ------- Final Concat:
- ------- -----------------------------------------------------------------------------------------------
- ------- 54 for now
- General - Pick each integer from 1 to Number of Vars Stored, and do (Actions)
- Actions
- Variable - Set Pre-encryption String = (Pre-encryption String + Temp Strings[(Picked integer)])
- ------- -----------------------------------------------------------------------------------------------
- ------- Checksum:
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Check Sum Int = 0
- General - Pick each integer from 1 to (Length of Pre-encryption String), and do (Actions)
- Actions
- General - For each integer Temp Loop Var from 0 to (Number of Characters - 1) with increment 1, do (Actions)
- Actions
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Substring(Pre-encryption String, (Picked integer), (Picked integer))) == Character Types[Temp Loop Var]
- Then
- Variable - Set Check Sum Int = (Check Sum Int + Temp Loop Var)
- Else
- Variable - Set Conversion Integer = Check Sum Int
- Variable - Set Conversion Divided Int = (Conversion Integer / Number of Characters)
- Variable - Set Conversion Remainder = (Conversion Integer - (Conversion Divided Int * Number of Characters))
- Variable - Set Check Sum Char = Character Types[Conversion Remainder]
- Variable - Set Pre-encryption String = (Pre-encryption String + Check Sum Char)
- ------- -----------------------------------------------------------------------------------------------
- ------- Encryption:
- ------- -----------------------------------------------------------------------------------------------
- General - Pick each integer from 1 to (Length of Pre-encryption String), and do (Actions)
- Actions
- General - For each integer Temp Loop Var from 0 to (Number of Characters - 1) with increment 1, do (Actions)
- Actions
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- (Substring(Pre-encryption String, (Picked integer), (Picked integer))) == Character Types[Temp Loop Var]
- Then
- Variable - Set Encrypted String = (Encrypted String + Encryption Numbers[Temp Loop Var])
- Else
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Final String = (Encryption Key + Encrypted String)
- ------- -----------------------------------------------------------------------------------------------
- ------- Final mangling of string:
- ------- -----------------------------------------------------------------------------------------------
- Variable - Set Temp Strings[1] = (Substring(Final String, 1, 6))
- Variable - Set Temp Strings[2] = Character Types[(Random integer between 90 and 92)]
- Variable - Set Temp Strings[3] = (Substring(Final String, 7, 15))
- Variable - Set Temp Strings[4] = Character Types[(Random integer between 16 and 18)]
- Variable - Set Temp Strings[5] = (Substring(Final String, 16, 24))
- Variable - Set Temp Strings[6] = Character Types[(Random integer between 29 and 31)]
- Variable - Set Temp Strings[7] = (Substring(Final String, 25, 30))
- Variable - Set Temp Strings[8] = Character Types[(Random integer between 35 and 37)]
- Variable - Set Temp Strings[9] = (Substring(Final String, 31, 36))
- Variable - Set Temp Strings[10] = Character Types[(Random integer between 44 and 46)]
- Variable - Set Temp Strings[11] = (Substring(Final String, 37, 45))
- Variable - Set Temp Strings[12] = Character Types[(Random integer between 3 and 5)]
- Variable - Set Temp Strings[13] = (Substring(Final String, 46, 54))
- Variable - Set Temp Strings[14] = Character Types[(Random integer between 14 and 16)]
- Variable - Set Temp Strings[15] = (Substring(Final String, 55, 61))
- Variable - Set Temp Strings[16] = Character Types[(Random integer between 11 and 13)]
- Variable - Set Temp Strings[17] = (Substring(Final String, 62, 72))
- Variable - Set Temp Strings[18] = Character Types[(Random integer between 61 and 63)]
- Variable - Set Temp Strings[19] = (Substring(Final String, 73, 80))
- Variable - Set Temp Strings[20] = Character Types[(Random integer between 81 and 83)]
- Variable - Set Temp Strings[21] = (Substring(Final String, 81, 90))
- Variable - Set Temp Strings[22] = Character Types[(Random integer between 70 and 72)]
- Variable - Set Temp Strings[23] = (Substring(Final String, 91, (Length of Final String)))
- Variable - Set Temp Strings[24] = Character Types[(Random integer between 52 and 54)]
- Variable - Set Temp Strings[25] = Character Types[(Random integer between 0 and 2)]
- Variable - Set Final String = ""
- General - Pick each integer from 1 to 25, and do (Actions)
- Actions
- Variable - Set Final String = (Final String + Temp Strings[(Picked integer)])
- ------- -----------------------------------------------------------------------------------------------
- Bank - Open bank "Hero1" for player Saving Player
- General - If (Conditions) then do (Actions) else do (Actions)
- If
- Player Slot Choice[Saving Player] == 0
- Then
- Bank - Store string Final String as "X" of section "IO" in bank (Last opened bank)
- Else
- Bank - Store string Final String as "Y" of section "IO" in bank (Last opened bank)
- Bank - Save bank (Last opened bank)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement