Save/Load Codes

Status
Not open for further replies.
D

Decapatater

Guest
Ok, I know it is HUGE!
I would suggest coppying the codes...

Ok, my cuz gave me this txt file with this tutorial in it and told me to post it here because his internet was messed. (he sent it on a floppy) I do not know why he wanted me to do it so bad but...

First of all, you must understand how one works; this is the most important part!
So, how does a save/load system save data? It doesn't! Here's what a save/load system actually does; it first bunches data together, then encrypts it. Next, the load decrypts it and extracts the data from the correct positions. For this tutorial, I will you use the following as an example: let's say I want to save the player's name and gold.

First, I would have the save/load system bunch the data together into a string; for this example, I'll use:
01Koga73-3-999xxx
Now, to break it down. The "01" tells what codeset will be used to encrypt the data (which I will explain later), the "koga73" is the player's name, and the "3" is how many digits of the ammount of gold to read. So, if the player doesn't have 6 digits of gold, it'll only read the first 3, and the last 6 digits is the ammount of gold. The "xxx" represent blank characters that are unused and just hold place so the code is always the same length.
Right, so what's a code set you ask? Well, a code set is a dedicated character to character encryption process, so:
a = g
b = t
c = y
d = 6
e = 8
and so on. So, first you would need to assemble a string containing all the basic letters in order such as:
abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/?
Then, assemble your code sets into arrays:
ArraySlotString[1] = badcfehgjilknmporqtsvuxwzy0987654321`~!@#$%^&*()-_=+[{]}\|;:'",<.>/?
ArraySlotString[2] = qwertyuiopasdfghjklzxcvbnm2143658709`~!@#$%^&*()-_=+[{]}\|;:'",<.>/?
And so on, for up to 99 code sets as long as your only using 2 digit numbers for the code set to use within the code. Simple!

Now, how do we encode it?
Well, here's the coding part for my trigger:
-------- xxxENCRYPTxxx --------
For each (Integer A) from 1 to 13, do (Actions)
Loop - Actions
Set Koga73sInputCode[(Integer A)] = (Substring(Koga73sFullCode, (Integer A), (Integer A)))
For each (Integer A) from 1 to 13, do (Actions)
Loop - Actions
For each (Integer B) from 1 to 68, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Koga73sInputCode[(Integer A)] Equal to (Substring(Koga73sUnEncryptedCodeSet, (Integer B), (Integer B)))
Then - Actions
Set Koga73sOutputCode[(Integer A)] = (Substring(Koga73sEncryptedCodeSets[Koga73sRandomCodeSetsToUse], (Integer B), (Integer B)))
Else - Actions
For each (Integer A) from 3 to 13, do (Actions)
Loop - Actions
Set Koga73sFullCode = (Koga73sFullCode + Koga73sOutputCode[(Integer A)])
If you dont understand this, here's what it's doing:
First, it takes each character within our completed bunched string, and puts it into an array.
Array[1] = "k"
Array[2] = "o"
Array[3] = "g"
Array[4] = "a"
And so on. Then, after it selects a code set to use, it takes that number, and uses a loop to do a check where the character it's currently on is equal to "A", then it would set it equal to the first character in the first code set. It's all done by letter positions. So, lets say the first array slot equals "A", then it would use code set 1 (or the selected code set) and use its first character (since this is corresponding to a). If the character in array slot 1 equals "Z", then its going to use the 26th letter/number in the selected code set. After it selects which corresponding character to use, it sets it into a string slot called "Output". If array slot 1 equals "A" and the matching character equals "G", then it would set this:
ArrayOutputString[1] = "g"
Simple. Next, after it has done this to every letter in the code (excluding the first 2, we dont want to encrypt the first 2 characters in our bunched code, otherwise when it loads it wont know what number code set to read). It then just sets a string to itself and arrayslot. For this example:
output[1] = "h"
output[2] = "g"
output[3] = "q"
Then it would just set this:
TOTAL = "hgq"
Now that it's all encrypted, show the encryted text to the player, so it would look like:
01wuqp38-9-usjyyy


Now for loading!
Loading does the same exact thing, except backwards. It first takes the entered code, and checks the first 2 characters and sets that to a variable so it knows what code set to use. The next thing it does is it uses a loop to do the same thing: compare the code sets character with the normal sets characters, replaces them, and sets the completed code back into:
01koga73-3-999xxx
Now, we need to get the correct information, so we're going to want to use substrings. A substring is just a part of a string, so:
the example string = summer
substring(summer, 2, 4) = "umm"
This is how we divide it up! So, first get the player's name, so we would do a substring and set it to a variable. Then compare that variable to the name of the player who typed the load code; if they are different, they can't load and it stops. Otherwise, it then goes and looks at the "3" and decides to then read 3 digits of the gold amount, which equals "999". Finally, it takes the "999" and sets that to the player's gold amount. Simple!

It takes a few hours to make a system like this, but it's worth it! And you can then get more complicated by replacing the unused variables "xxx" with randomly selected characters to just confuse people and such.

If you want to see the actual triggers, here they are (I didn't show the code sets to keep the code on the map uncrackable).

Code:
save trigger 
    Events 
        Player - Player 1 (Red) types a chat message containing -save as An exact match 
        Player - Player 2 (Blue) types a chat message containing -save as An exact match 
        Player - Player 3 (Teal) types a chat message containing -save as An exact match 
        Player - Player 4 (Purple) types a chat message containing -save as An exact match 
        Player - Player 5 (Yellow) types a chat message containing -save as An exact match 
        Player - Player 6 (Orange) types a chat message containing -save as An exact match 
        Player - Player 7 (Green) types a chat message containing -save as An exact match 
        Player - Player 8 (Pink) types a chat message containing -save as An exact match 
        Player - Player 9 (Gray) types a chat message containing -save as An exact match 
        Player - Player 10 (Light Blue) types a chat message containing -save as An exact match 
    Conditions 
    Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                (Length of (Name of (Triggering player))) Less than 3 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000Your A Sp... 
                Skip remaining actions 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sHasSavedOrNot[(Player number of (Triggering player))] Equal to True 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000You Have ... 
                Skip remaining actions 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                PlayersSelectedHeros[(Player number of (Triggering player))] Equal to No unit 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000You Canno... 
                Skip remaining actions 
            Else - Actions 
        -------- xxxSET CODE SETSxxx -------- 
        -------- xxxAMMOUNT =  25xxx -------- 
        Set Koga73sUnEncryptedCodeSet = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[1] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[2] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[3] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[4] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[5] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[6] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[7] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[8] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[9] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[10] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[11] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[12] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[13] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[14] = 
abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[15] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[16] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[17] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[18] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[19] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[20] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[21] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[22] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[23] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[24] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[25] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        -------- xxxRESET VARIABLESxxx -------- 
        Set Koga73s3CodeName = <Empty String> 
        Set Koga73sEXPAmmount = 0 
        Set Koga73sEXPStringAmmount = <Empty String> 
        Set Koga73sFastRandomCharacter = 0 
        Set Koga73sFullCode = <Empty String> 
        Set Koga73sLengthToReadOfEXP = 0 
        Set Koga73sRandomCodeSetsToUse = 0 
        Set Koga73sSTRINGRCSTU = <Empty String> 
        Set Koga73sTypedInCode = <Empty String> 
        For each (Integer A) from 1 to 13, do (Actions) 
            Loop - Actions 
                Set Koga73sInputCode[(Integer A)] = <Empty String> 
                Set Koga73sOutputCode[(Integer A)] = <Empty String> 
        -------- xxxSET VARIABLESxxx -------- 
        Set Koga73s3CodeName = (Substring((Name of (Triggering player)), 1, 3)) 
        Set Koga73sEXPAmmount = (Hero experience of PlayersSelectedHeros[(Player number of (Triggering player))]) 
        Set Koga73sLengthToReadOfEXP = (Length of (String(Koga73sEXPAmmount))) 
        Set Koga73sRandomCodeSetsToUse = (Random integer number between 1 and 25) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sRandomCodeSetsToUse Less than 10 
            Then - Actions 
                Set Koga73sSTRINGRCSTU = (0 + (String(Koga73sRandomCodeSetsToUse))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sRandomCodeSetsToUse Greater than or equal to 10 
            Then - Actions 
                Set Koga73sSTRINGRCSTU = (String(Koga73sRandomCodeSetsToUse)) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sEXPAmmount Equal to 0 
            Then - Actions 
                Set Koga73sEXPAmmount = 1 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sEXPAmmount Greater than 999999 
            Then - Actions 
                Set Koga73sEXPAmmount = 999999 
            Else - Actions 
        For each (Integer A) from 1 to 6, do (Actions) 
            Loop - Actions 
                If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
                    If - Conditions 
                        (Length of (String(Koga73sEXPAmmount))) Not equal to 6 
                    Then - Actions 
                        Set Koga73sEXPAmmount = (Koga73sEXPAmmount x 10) 
                    Else - Actions 
        -------- xxxGENERATE UNENCRYPTEDxxx -------- 
        Set Koga73sFullCode = (Koga73sFullCode + Koga73sSTRINGRCSTU) 
        Set Koga73sFullCode = (Koga73sFullCode + (Substring((String(Koga73sEXPAmmount)), 1, 3))) 
        Set Koga73sFullCode = (Koga73sFullCode + (Substring(Koga73s3CodeName, 1, 1))) 
        Set Koga73sFullCode = (Koga73sFullCode + -) 
        Set Koga73sFullCode = (Koga73sFullCode + (String(Koga73sLengthToReadOfEXP))) 
        Set Koga73sFullCode = (Koga73sFullCode + (Substring((String(Koga73sEXPAmmount)), 4, 6))) 
        Set Koga73sFullCode = (Koga73sFullCode + (Substring(Koga73s3CodeName, 2, 3))) 
        Set Koga73sFullCode = (String(Koga73sFullCode) as Lower case) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[1] Equal to 1 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: (|c00800080Debug Mode:|r CODE BEFORE ENCRYPTION:  + Koga73sFullCode) 
            Else - Actions 
        -------- xxxENCRYPTxxx -------- 
        For each (Integer A) from 1 to 13, do (Actions) 
            Loop - Actions 
                Set Koga73sInputCode[(Integer A)] = (Substring(Koga73sFullCode, (Integer A), (Integer A))) 
        For each (Integer A) from 1 to 13, do (Actions) 
            Loop - Actions 
                For each (Integer B) from 1 to 68, do (Actions) 
                    Loop - Actions 
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
                            If - Conditions 
                                Koga73sInputCode[(Integer A)] Equal to (Substring(Koga73sUnEncryptedCodeSet, (Integer B), (Integer B))) 
                            Then - Actions 
                                Set Koga73sOutputCode[(Integer A)] = (Substring(Koga73sEncryptedCodeSets[Koga73sRandomCodeSetsToUse], (Integer B), (Integer B))) 
                            Else - Actions 
        Set Koga73sFullCode = <Empty String> 
        Set Koga73sFullCode = Koga73sSTRINGRCSTU 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 1 
            Then - Actions 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[4] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[5] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[9] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[10] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[11] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 2 
            Then - Actions 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[5] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[9] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[10] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[11] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 3 
            Then - Actions 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[9] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[10] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[11] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 4 
            Then - Actions 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[10] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[11] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 5 
            Then - Actions 
                Set Koga73sFastRandomCharacter = (Random integer number between 1 and 36) 
                Set Koga73sOutputCode[11] = (Substring(Koga73sEncryptedCodeSets[(Random integer number between 1 and 25)], Koga73sFastRandomCharacter, Koga73sFastRandomCharacter)) 
            Else - Actions 
        For each (Integer A) from 3 to 13, do (Actions) 
            Loop - Actions 
                Set Koga73sFullCode = (Koga73sFullCode + Koga73sOutputCode[(Integer A)]) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[2] Equal to 1 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: (|c00800080Debug Mode:|r CODE AFTER ENCRYPTION:  + Koga73sFullCode) 
            Else - Actions 
        Game - Display to (Player group((Triggering player))) for 60.00 seconds the text: (|c00800080Successfully Saved, Code = |r + (|c00ffcc00 + (Koga73sFullCode + |r))) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[3] Equal to 0 
            Then - Actions 
                Set Koga73sHasSavedOrNot[(Player number of (Triggering player))] = True 
            Else - Actions

Code:
load trigger 
    Events 
        Player - Player 1 (Red) types a chat message containing -load as A substring 
        Player - Player 2 (Blue) types a chat message containing -load as A substring 
        Player - Player 3 (Teal) types a chat message containing -load as A substring 
        Player - Player 4 (Purple) types a chat message containing -load as A substring 
        Player - Player 5 (Yellow) types a chat message containing -load as A substring 
        Player - Player 6 (Orange) types a chat message containing -load as A substring 
        Player - Player 7 (Green) types a chat message containing -load as A substring 
        Player - Player 8 (Pink) types a chat message containing -load as A substring 
        Player - Player 9 (Gray) types a chat message containing -load as A substring 
        Player - Player 10 (Light Blue) types a chat message containing -load as A substring 
    Conditions 
    Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                (Length of (Name of (Triggering player))) Less than 3 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000Your A Sp... 
                Skip remaining actions 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sHasLoadedOrNot[(Player number of (Triggering player))] Equal to True 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000You Have ... 
                Skip remaining actions 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                (Length of (Entered chat string)) Not equal to 19 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000Incorrect... 
                Skip remaining actions 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sHasSavedOrNot[(Player number of (Triggering player))] Equal to True 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000You Have ... 
                Skip remaining actions 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sPlayerNoLoad[(Player number of (Triggering player))] Equal to True 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000You Do No... 
                Skip remaining actions 
            Else - Actions 
        -------- xxxSET CODE SETSxxx -------- 
        -------- xxxAMMOUNT =  25xxx -------- 
  Set Koga73sUnEncryptedCodeSet = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[1] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[2] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[3] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[4] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[5] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[6] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[7] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[8] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[9] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[10] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[11] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[12] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[13] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[14] = 
abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[15] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[16] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[17] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[18] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[19] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[20] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[21] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[22] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[23] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[24] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        Set Koga73sEncryptedCodeSets[25] = abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}\|;:'",<.>/? 
        -------- xxxRESET VARIABLESxxx -------- 
        Set Koga73s3CodeName = <Empty String> 
        Set Koga73sEXPAmmount = 0 
        Set Koga73sEXPStringAmmount = <Empty String> 
        Set Koga73sFastRandomCharacter = 0 
        Set Koga73sFullCode = <Empty String> 
        Set Koga73sLengthToReadOfEXP = 0 
        Set Koga73sRandomCodeSetsToUse = 0 
        Set Koga73sSTRINGRCSTU = <Empty String> 
        Set Koga73sTypedInCode = <Empty String> 
        For each (Integer A) from 1 to 13, do (Actions) 
            Loop - Actions 
                Set Koga73sInputCode[(Integer A)] = <Empty String> 
                Set Koga73sOutputCode[(Integer A)] = <Empty String> 
        -------- xxxSET VARIABLESxxx -------- 
        Set Koga73sTypedInCode = (String((Entered chat string)) as Lower case) 
        Set Koga73sRandomCodeSetsToUse = (Integer((Substring(Koga73sTypedInCode, 7, 8)))) 
        Set Koga73sTypedInCode = (Substring((Entered chat string), 7, 19)) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[6] Equal to 1 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: (|c00800080Debug Mode:|r CODESET TO USE:  + (String(Koga73sRandomCodeSetsToUse))) 
            Else - Actions 
        -------- xxxENCRYPTxxx -------- 
        For each (Integer A) from 1 to 13, do (Actions) 
            Loop - Actions 
                Set Koga73sInputCode[(Integer A)] = (Substring(Koga73sTypedInCode, (Integer A), (Integer A))) 
        For each (Integer A) from 1 to 13, do (Actions) 
            Loop - Actions 
                For each (Integer B) from 1 to 68, do (Actions) 
                    Loop - Actions 
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
                            If - Conditions 
                                Koga73sInputCode[(Integer A)] Equal to (Substring(Koga73sEncryptedCodeSets[Koga73sRandomCodeSetsToUse], (Integer B), (Integer B))) 
                            Then - Actions 
                                Set Koga73sOutputCode[(Integer A)] = (Substring(Koga73sUnEncryptedCodeSet, (Integer B), (Integer B))) 
                            Else - Actions 
        Set Koga73sFullCode = <Empty String> 
        Set Koga73sFullCode = Koga73sSTRINGRCSTU 
        For each (Integer A) from 3 to 13, do (Actions) 
            Loop - Actions 
                Set Koga73sFullCode = (Koga73sFullCode + Koga73sOutputCode[(Integer A)]) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[4] Equal to 1 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: (|c00800080Debug Mode:|r CODE AFTER DECRYPTION:  + Koga73sFullCode) 
            Else - Actions 
        -------- xxxSET STATSxxx -------- 
        Set Koga73s3CodeName = ((Substring(Koga73sFullCode, 4, 4)) + (Substring(Koga73sFullCode, 10, 11))) 
        Set Koga73sLengthToReadOfEXP = (Integer((Substring(Koga73sFullCode, 6, 6)))) 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 1 
            Then - Actions 
                Set Koga73sEXPStringAmmount = (Koga73sEXPStringAmmount + (Substring(Koga73sFullCode, 1, 1))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 2 
            Then - Actions 
                Set Koga73sEXPStringAmmount = (Koga73sEXPStringAmmount + (Substring(Koga73sFullCode, 1, 2))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 3 
            Then - Actions 
                Set Koga73sEXPStringAmmount = (Koga73sEXPStringAmmount + (Substring(Koga73sFullCode, 1, 3))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 4 
            Then - Actions 
                Set Koga73sEXPStringAmmount = (Koga73sEXPStringAmmount + ((Substring(Koga73sFullCode, 1, 3)) + (Substring(Koga73sFullCode, 7, 7)))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 5 
            Then - Actions 
                Set Koga73sEXPStringAmmount = (Koga73sEXPStringAmmount + ((Substring(Koga73sFullCode, 1, 3)) + (Substring(Koga73sFullCode, 7, 8)))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sLengthToReadOfEXP Equal to 6 
            Then - Actions 
                Set Koga73sEXPStringAmmount = (Koga73sEXPStringAmmount + ((Substring(Koga73sFullCode, 1, 3)) + (Substring(Koga73sFullCode, 7, 9)))) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[7] Equal to 1 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: (|c00800080Debug Mode:|r FIRST 3 LETTERS OF PLAYER NAME FROM CODE:  + Koga73s3CodeName) 
            Else - Actions 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73sDebugStatus[8] Equal to 1 
            Then - Actions 
                Game - Display to (Player group((Triggering player))) the text: (|c00800080Debug Mode:|r EXPERIENCE LOADED:  + Koga73sEXPStringAmmount) 
            Else - Actions 
        -------- xxxFINISH LOADxxx -------- 
        If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
            If - Conditions 
                Koga73s3CodeName Equal to (String((Substring((Name of (Triggering player)), 1, 3))) as Lower case) 
                (Integer(Koga73sEXPStringAmmount)) Less than or equal to 999999 
            Then - Actions 
                If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
                    If - Conditions 
                        PlayersSelectedHeros[(Player number of (Triggering player))] Equal to No unit 
                    Then - Actions 
                        Set Koga73sHasPickedUnitAndLoaded[(Player number of (Triggering player))] = False 
                        Game - Display to (Player group((Triggering player))) the text: |c0000ff00LOAD SUCC... 
                        Countdown Timer - Pause Koga73sTimers[(Player number of (Triggering player))] 
                        Countdown Timer - Destroy TimerWindows[(Player number of (Triggering player))] 
                        Set Koga73sPlayerNoLoad[(Player number of (Triggering player))] = True 
                        Set Koga73sLoadedEXPPerPlayer[(Player number of (Triggering player))] = (Integer(Koga73sEXPStringAmmount)) 
                        Unit - Unpause (Random unit from (Units owned by (Triggering player) of type Soul)) 
                        Set Koga73sLoadedEXPPerPlayer[(Player number of (Triggering player))] = (Integer(Koga73sEXPStringAmmount)) 
                    Else - Actions 
                        Hero - Set PlayersSelectedHeros[(Player number of (Triggering player))] experience to Koga73sLoadedEXPPerPlayer[(Player number of (Triggering player))], Hide level-up graphics 
                        Game - Display to (Player group((Triggering player))) the text: |c0000ff00LOAD SUCC... 
                        Countdown Timer - Pause Koga73sTimers[(Player number of (Triggering player))] 
                        Countdown Timer - Destroy TimerWindows[(Player number of (Triggering player))] 
                        Set Koga73sPlayerNoLoad[(Player number of (Triggering player))] = True 
                        Unit - Unpause (Random unit from (Units owned by (Triggering player) of type Soul)) 
                        Set Koga73sLoadedEXPPerPlayer[(Player number of (Triggering player))] = (Integer(Koga73sEXPStringAmmount)) 
                If (All Conditions are True) then do (Then Actions) else do (Else Actions) 
                    If - Conditions 
                        Koga73sDebugStatus[5] Equal to 0 
                    Then - Actions 
                        Set Koga73sHasLoadedOrNot[(Player number of (Triggering player))] = True 
                    Else - Actions 
            Else - Actions 
                Game - Display to (Player group((Triggering player))) the text: |c00c80000INVALID CODE


omg, it is soooo big!

Well have fun, lmao!
 
ROFL! that is a good tut! bigger than mine lol! maybe you should put the copy it message at the top :p.

interesting how you used 'Koga73' :rolleyes: do you know him or how good he is at coding and map making? :p

You've won an award for the longest trigger ever!! :D

I gave it 5/5 for usefulness :).

~Jindo
 
LMAO! I gues my cuz knows him er sumtin. OMG it took me about 10 seconds to scroll to your post!
 
I am not up to reading the post. Too long. So I will just post here. What does a save/load code do?
 
> What does a save/load code do?

You type, in game, "-save" and it will put a couple characters on screen.
Something like "A001-BC23-DEF4".

Next time you play that map, you type "-load A001-BC23-DEF4"
and, automagically, your Hero with all of his items is back.

Unfortunately, those save codes are, usually, fairly long
and, somewhat difficult to remember and type back in...
 
AceHart said:
> What does a save/load code do?

You type, in game, "-save" and it will put a couple characters on screen.
Something like "A001-BC23-DEF4".

Next time you play that map, you type "-load A001-BC23-DEF4"
and, automagically, your Hero with all of his items is back.

Unfortunately, those save codes are, usually, fairly long
and, somewhat difficult to remember and type back in...
LMAO, automagically. It is magic though!
 
lol GEEZE, i have never seen such a long trigger in my life... damn warcraft 3 is complicated lol.
 
[S]hifty said:
lol GEEZE, i have never seen such a long trigger in my life... damn warcraft 3 is complicated lol.
You ain't seen nothing yet grasshopper.
 
Couldn't you just make a map with it?

Copying triggers from a forum is not that easy, you could at least have used the
Code:
  tag
 
if anyone is going to use this, i would change the letters you use from every possible letter to maybe like 10 letters. it would make it a lot easier to remember and the players would be happy :)
 
BTW, u know how u used the example Koga73
well, is that your brother's AKA??
Becuz if so hes the god of mazes!
he made escape shroom world, maze of frostbite and other more..
And then I have some questions :D
 
reply

that tutorial looks a lot like the one koga72 made and it got his name (Clan TTG)

here is the link (remove the space)

http: //ae-f.com/forums/index.php?act=tutorials&CODE=view&id=9

and here it is the one he made

so look at the 2 and see




OK, so u wanna make a save/load system, well ima gonna try 2 explain it in a way even a noob can understand!

First of all, u must understand how one works, this is the most important part!
So, how does a saveload save data? It doesnt! Heres what a save load actually does, it first bunches data together, then encrypts it, then the load decrypts it, and extracts the data from the correct positions. For example, if i wanna save the following info:

Codeset To Use
Player Name
Gold Ammount

I would first have the save load bunch the data together into a string, for example:

01Koga73-3-999xxx

The 01 tells what code set it will use to encrypt the data with, ill explain that later, the koga73 is the players name, the 3 is how many digits of the ammount of gold to read. So if the player doesnt have 6 digits of gold, itll only read the first 3, and the last 6 digits is the ammount of gold. The xxx represent blank characters that are unused and just hold place so the code is always the same length.

Ok, now, whats a code set you ask? Well, a code set is a dedicated character to character encryption process, so:

a = g
b = t
c = y
d = 6
e = 8

and so on. So, first you would need do assemble a string containing all the basic letters in order such as:

abcdefghijklmnopqrstuvwxyz1234567890`~!@#$%^&*()-_=+[{]}|;:'",<.>/?

Then assemble ur code sets into an array, so

ArraySlotString[1] = badcfehgjilknmporqtsvuxwzy0987654321`~!@#$%^&*()-_=+[{]}|;:'",<.>/?

ArraySlotString[2] = qwertyuiopasdfghjklzxcvbnm2143658709`~!@#$%^&*()-_=+[{]}|;:'",<.>/?

And so on for up to 99 code sets as long as ur only using 2 digit numbers for the code set to use within the code. Simple!

Now, how do we encode it?

Well, heres the codeing part for my trigger:
CODE
-------- xxxENCRYPTxxx --------
For each (Integer A) from 1 to 13, do (Actions)
Loop - Actions
Set Koga73sInputCode[(Integer A)] = (Substring(Koga73sFullCode, (Integer A), (Integer A)))
For each (Integer A) from 1 to 13, do (Actions)
Loop - Actions
For each (Integer from 1 to 68, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Koga73sInputCode[(Integer A)] Equal to (Substring(Koga73sUnEncryptedCodeSet, (Integer , (Integer ))
Then - Actions
Set Koga73sOutputCode[(Integer A)] = (Substring(Koga73sEncryptedCodeSets[Koga73sRandomCodeSetsToUse], (Integer , (Integer ))
Else - Actions
For each (Integer A) from 3 to 13, do (Actions)
Loop - Actions
Set Koga73sFullCode = (Koga73sFullCode + Koga73sOutputCode[(Integer A)])


So if u dont undersstand this, heres what its doing!
First, it takes each character within our completed buched string, and puts it into an array, so

Array[1] = "k"
Array[2] = "o"
Array[3] = "g"
Array[4] = "a"

and so on. Then, after it selects a code set to use, it takes that number, and uses a loop do do a check where if the character its currently on is = a then it would set it = to the first character in the first code set. Its all done by letter positions. So, lets say the first array slot = a, then it would use code set 1 (or the selected code set) and use its first character (since this is corresponding to a). If the character in array slot 1 = z then its gonna use the 26th letter/number in the selected code set. After it selects which corresponding character to use, it sets it into a string slot called output. So if array slot 1 = a and the matching character = g then it would set ArrayOutputString[1] = "g". Simple. Then, after it has done this to every letter in the code (excluding the first two, we dont wanna encrypt the first to letters in our bunched code, otherwise when it loads it wont know what number code set to read!). It then just sets a string to itself + arrayslot. So

output[1] = "h"
output[2] = "g"
output[3] = "q"

Then it would just set TOTAL = "hgq".
Now that its all encrypted, show the encryoted text to the player, so it could look like:

01wuqp38-9-usjyyy

____________________________________________________________________

Now, for loading!

Loading does the same exact thing, except backwords, it first takes the entered code, and takes the first two characters and sets that to a variable so it knows what code set to use. The next thing it does is it uses a loop to do the same thing, compare the code sets character with the normal sets characters, and replaces them and sets the completed code back into:

01koga73-3-999xxx

Now, we need to get the correct information, so were going to wanna use substrings. A substring is just a part of a string, so:

the example string = summer
substring(summer, 2, 4) = "umm"

Its just a part of a string, this is how we divide it up! So, first get the players name, so we would do a substring and set it to a variable. Then compare that variable to the name of the player who typed the load code, if there different, they cant load and it stops, otherwise it then goes and looks at the 3, it decides to then read 3 digits of the gold ammmount, which = 999. Then it takes the 999 and sets that to the players gold ammount. Simple!

It takes a few hours to make a system like this, but its worth it! And u can then get more complicated by replaceing the unused variables (xxx) with randomly selected letters to just confuse people and such.


QUOTE
NOTE: ALWAYS USE LOWERCASES OF ALL UR STRINGS!
Koga73 and koga73 = different! so convertying all to lowercase it would b the same!


GOOD LUCK!
 
reply

really dont no but i just wanted to point that out becasue he did not
 
As I said, I do not know who koga72 is. my cuz sent me the tut and since he didn't have an account he wanted me to post it for him. so i just thaught he made it...
 
Status
Not open for further replies.
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    It's actually remarkably easy to make mayonnaise though. Fun fact, it USED to kind of be a French mother sauce. I believe that Careme considered it one, it may have been aioli but that has also built a different meaning than it used to. An aioli is just mayonnaise I mixed with other shit typically, I didn't start it don't come at me
  • Varine Varine:
    It's very hard to do it on a large scale though
  • Varine Varine:
    Depending on how you pour the oil the consistency can vary wildly, but that's true for most emulsions. I can only make about two quarts at a time with my robo coup, and if I have to make several in series because I forgot to order it becomes really obvious even when I do it. We have to wait and mix them all together to make sure we have the same thing.
  • Varine Varine:
    Hollandaise is also kind of like that, emulsions require a very steady hand to do exactly the same every time.
  • Varine Varine:
    Luckily I live in an age with electricity so it's way fucking faster, but when I was just a boy trying to find my place I had some hardcore chefs that made use do things like that by hand. It is WAY easier to get right by hand because you control it and can feel it, but it takes soooooo much longer. And on the scale a modern kitchen requires... I serve 400-500 guests on average per day right now, if I had 100 then we could do things way better
  • Varine Varine:
    But we can't do that. In the winter yeah, but I HAVE to get people through here right now so I can afford the staff that we CAN do that. We have about 100 days of summer, and if that summer doesn't make us what it will, then I can't operate the other most of the year with my staff. The owner is talking about closing two days a week to cut down on labor, I told him he should cut down on vacations and it did not go great. I do think I won though, I have to keep my fucking core staff and they have to be gainfully employed
  • Varine Varine:
    Sure some of them might take a second job, but I can't just cut my entire staff to unlivable hours, nor can I can cut them off all winter if I want them to come back.
  • Varine Varine:
    And also, there is no fucking way I'm pulling these hours come september. I only do this right now because I have to, the second I don't have to be the one doing it I won't be
  • Varine Varine:
    I have a 5 person core staff in the kitchen, not including me or Chef Ben
  • Varine Varine:
    Though two of those people are likely not making it this year. One of them has been replaced, the other I am kind of trying to. He's being a giant bitch, today I had to get onto him because in the three hours before I left he had taken like thirty minutes for cigarette breaks
  • Varine Varine:
    And he was also complaining to me the other day that he was out of weed so couldn't smoke any before work that day, and was confused about why I was annoyed he was telling me, his boss, that he is smoking weed everyday before work.
    +1
  • Varine Varine:
    Like yeah I can tell. I don't need to fucking know.
  • Varine Varine:
    So now he's getting scrutinized and will not be top of the list. I know I don't have the smartest people but I do expect them to have some common fucking sense
  • Varine Varine:
    I did do a rare thing for me and hire a girl last month without warning. Everyone was made at me because I started her at like 21, but she worked with me before and I was like don't care. She made 19 at her old job and I wanted her to come work with me, she is the best
    +1
  • Varine Varine:
    I'm going to get her a raise at the end of the summer. She wants to go to school again, but I want her to still work with me so.... she kind of can just tell me what the price is. I can go to 25 if she keeps up. I need to get her onto line more, that's what she wants, but I need her where she is and it's not fair that she doesn't get the little bit of raise that comes with it. She can do it no problem, I've worked with her there.
  • Varine Varine:
    It's just hard to move and train people unnecessarily right now. And also the line fucking sucks, it's not any more fun. This is turn and burn so I have the bankroll, and everyone suffers for it
  • Varine Varine:
    Eventually we'll get it balanced, we'
  • Varine Varine:
    we're starting online orders and stuff, but I also turn that off all the time because I barely keep up trying to be the best at Sysco shit
  • Varine Varine:
    I think it's gonna be a good fall and winter though. We're going to have a good staff, they will get along, they will be able to manage the workload and the complications, they know how to really cook this year, like every person on line knows their steak temps. Some of them use thermometers a lot and they don't always use them right, but they do know how to do it. Failure, especially in this field, is the only way to get better. They'll get it
  • Varine Varine:
    They won't get feel down while they do the thermometer, but we didn't have an instant read probe when I was learning. Like they did but god knows how off it is, you HAD to do it by feel. Even if the chef was fine with me bringing my own, it takes too long. Poke and know
  • The Helper The Helper:
    420 threads in the Artificial Intelligence forum :)
  • The Helper The Helper:
    Happy Monday!
    +1
  • The Helper The Helper:
    and then it was Tuesday!
    +1
  • The Helper The Helper:
    fyi I am going out of town to lake somewhere in bfe texas for the weekend will be gone Friday morning to sunday afternoon for a paranormal thing and some rest peace

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top