Resource icon

Dialogue Checker v3.07 (alpha) + v3.08 (dev) 2016-18

Please register for a free account to download
Dialogue Checker v3.07 (alpha) + v3.08 (dev) by Pim_gd
*Related Resources + Dialogue Guide on FAQ

As I'm not much of an artistic or otherwise creative person, I try to help out in other ways to promote good fapping material.

I've started helping out with dialogues to ensure they don't have any bugs or silly typo's in them.

During this "Quality Assurance", I tend to find mistakes - simple things that the author overlooked. Some mistakes tend to happen just about every dialogue - and they're quite easy to find, too!

In fact, they were so common I kept a list of them and one of the first things I do when checking a dialogue is simply searching if those mistakes are in there (without even starting the dialogue up in-game first). However, listing them all so the author can fix them is a pain. It's a lot of copy paste, and even although I know what to look for, it takes a lot of time. Seeing how I have a bit of knowledge of flash...

I made a DialogueChecker!

The current version of the DialogueChecker is v3.07 (2016).

There are also two v3.08 dev versions (2017 + 2018)

For downloading, it's also attached to this post, or you can go to downloads page and get the latest version there.

Sources can be found attached in the archive (second post), or online in a bitbucket/git repo here.

But what does it DO?
Well, If you downloaded it, you open it like you would open SDT. This is not an import mod. If you try to import it into the game, something will happen but it doesn't look good and it won't work properly either.

You put a dialogue in the top box. Then you hit "Check my Dialogue!"

The script checks your dialogue to see if it contains a certain piece of text, like "[[".

If it finds something, it prints the "error" and the line of the error in the box at the bottom.

Not everything is an error, but usually it indicates that something went wrong.

If any errors are found, the checker prints how many errors were found and what they are.

As of v1.17, it also lists how many severe issues were found. Severe issues are issues with a dialogue that prevent that dialogue from properly loading in SDT. Dialogues with severe issues might crash SDT or simply not work at all. As of v2.00, the checker also lists the amount of major and minor issues. Additionally, it's possible to filter reported issues based on their severity. The checker will report that the dialogue contains suppressed issues if this leads to issues being omitted from the report.

The output might be a bit widely spaced. The default line break is "\r\n". For certain text editors (including flash), both \r and \n are treated as a single line break. Since v1.18, you can change the line break used by the Dialogue Checker by editing the value of the line break field.

If you have a lot of errors, you can filter it by unchecking some of the checkboxes. This helps when, for instance, you don't really care about what will happen when a player doesn't have a name set. You could easily uncheck "Check Substitutes", and then the checker will not check for issues with *YOU*, *YOUR*, *ME* and *MY*. This feature was added in v1.07.

The checker will also parse comments in your code. Since v1.08, there is a filter in place, but the filter is not perfect. If it finds an error in your comments, you can just ignore it. Since v1.10, it's possible to disable this filter, if you feel it's preventing the checker from properly checking your dialogue. Since v2.04, the filter has been improved: lines with 3 or more spaces before a double quote will be seen as commented lines - same goes for lines without double quotes at all.

Proper use of the Dialogue Checker requires that you place your initial_settings line (if you have one) before any other lines. This is because since v1.11, the checker will parse variables and use the information to further check your dialogue.

Part of the Dialogue Checker is the validation of triggers and line-types. This feature was added in v1.14. External mods can add new triggers or line-types which the Dialogue Checker does not recognize. A list of recognized triggers and line-types is added below the list of "what the Dialogue Checker checks". In v1.24, validation of variables was implemented. Dialogue Mods (not dialogues, but mods which enhance dialogue) can inject variables in a dialogue. Below is a list of variables that the checker knows of. If you have a mod which makes use of custom triggers, line-types or variables, let me know so I can adapt the Dialogue Checker to support your mod. Versions v2.00 and later require that checking for Line Usage and Variables is enabled in order to properly detect dependencies.

If you have feedback or ideas (any other common "mistakes" a script could check for?), please comment.

I suggest using both this and the in-game dialogue log to check if your dialogue is working properly.

The things the script checks (this list is outdated - however, I'm keeping it here just to show you how much things the checker can find for you):
Code:
Grammar:
[  ] - Double space is always bad. Try using Б if you need a delay in the display of your dialogue. Can be disabled with #DialogueChecker-NoDoubleSpace# since v3.00.
[,,] - Double comma is a grammatical error. Introduced in v1.04.
[ ,] - Space in from of comma is a grammatical error. Introduced in v1.04.
[,?] - Grammatical error. Introduced in v1.05.
[,!] - Grammatical error. Introduced in v1.05.
[ !] - Space before exclamation mark is a grammatical error. Introduced in v1.05.
[ ?] - Space before question mark is a grammatical error. Introduced in v1.05.
[!.] - Grammatical error. (Whitelisted: [!...]. Whitelisting added in v1.11)
[?.] - Grammatical error. (Whitelisted: [?...]. Whitelisting added in v1.11)
[%0A ] - Space at start of new line
[:" ] - Space at start of new line (or you have spaces in your variables - which is not wrong) - re
[ . ] - Space before end of line is a grammatical error. Introduced in v1.10.
[.!.] - Grammatical error. Introduced in v1.12.
[.?.] - Grammatical error. Introduced in v1.12.
[.?] - Grammatical error, double sentence ending. Introduced in v1.12.
[.,] - Grammatical error, wrongfully continued sentence. Introduced in v1.12.
[.!] - Grammatical error, double sentence ending. Introduced in v1.12.
[.,.] - Grammatical error. Maybe it's a wrongfully typed ellipsis? Introduced in v1.12.
[!,] - Grammatical error, as a finished sentence shouldn't be continued with a comma. Introduced in v1.15.
[?,] - Grammatical error, as a finished sentence shouldn't be continued with a comma. Introduced in v1.15.
[,.] - Grammatical error, as a comma indicates that more text will follow. Introduced in v1.29.
- Lines starting with a comma, as this is not a proper way to begin a sentence. Introduced in v2.03.
- Lines starting with a disconnected exclamation mark [! ]. Introduced in v2.04.
- Lines starting with a disconnected period [. ]. Introduced in v2.04.

Whitelisted (if detected during their relative checks):
[!...] - To check for [!.], but allow [!...]. Added in v1.11.
[?...] - To check for [?.], but allow [?...]. Added in v1.11.
[,...] - To check for [,.], but allow [,...]. Added in v1.29.
[...!] - To check for [.!], but allow [...!]. Added in v1.12.
[...?] - To check for [.?], but allow [...?]. Added in v1.12.
[...,] -  To check for [.,], but allow [...,]. Added in v1.12.

Syntax:
[: ] - Indicates probable line fault at the start
[ :] - Indicates probable line fault at the start or in a variable
[::] - Duplicate colon indicates a mistake in the syntax (typo). Introduced in v1.21.
[[[] - Wrong trigger.
[]]] - Wrong trigger ending.
[{style] - improper use of style attribute
[set:] - improper use of set attribute.
[check:] - improper use of check attribute. Introduced in v1.06.
[style:] - improper use of style attribute. Introduced in v1.06.
[mood:] - improper use of mood attribute. Introduced in v1.06.
[next:] - improper use of next attribute. Introduced in v1.06.
[held:] - (only if not as line start) improper use of held attribute. Introduced in v1.07.
[},{] - Coding error. Introduced in v1.06.
[%01] - Old delay string. Should be replaced with Б for a cleaner dialogue. Introduced in v1.08.
[[]] - Empty trigger. Introduced in v1.08.
[dialogue-name] - This might be a setting the writer wanted to set. SDT works with underscores - use [dialogue_name]. Introduced in v1.09.
[initial-settings] - This might be a setting the writer wanted to set. SDT works with underscores - use [initial_settings]. Introduced in v1.09.
- Uneven amount of asterisks on one line - Indicates a possible coding error. Added in v1.04.
- Uneven amount of double quotes on one line - Indicates a possible coding error. Added in v1.04.
- Mismatch in counts of [ and ] on one line - Indicates a possible coding error. Added in v1.06.
- Mismatch in counts of { and } on one line - Indicates a possible coding error. Added in v1.06.
- If 3 or more double quotes are present, check if the 3rd double quote comes before a { character ("""{). Indicates a possible coding error. Added in v1.07.
- If a line has more than 2 double quotes, check if the line does not have line-attributes (no { character available). Indicates a likely mistake in double quote insertion or a typo. Added in v2.03.
- Wrongly placed trigger openings and endings, such as {intro:"hello![NORMAL_MOOD] ]intro2["}. Introduced in v1.08.
- Illegal colons: if a line has :", and the : of that is the first occurance of :, check if there are colons between the first double and the second double quote. Added in v1.10.
- Misplaced colons: check if a line has double quotes before the first occurance of a colon - if so, this is likely a misplaced colon. Added in v1.28.
- Line excess: if a line has excess characters between the line name and line content, between line content and line attributes or after line attributes, the checker flags them as an issue. Added in v2.00.
- Spaces in triggers: if a line contains triggers, and these triggers have spaces in them, the checker raises a Major issue. Triggers with spaces in them won't be detected as triggers by SDT and will be seen as plain text instead. Added in v2.02.
- Line-attributes: At the end of each line, through the use of JSON certain line-attributes can be set. The checker validates these line-attributes. Added in v1.16.
- Line-attributes on finish and interrupt lines are not allowed - Major issue due to dialogue not working as intended (lines missing/attributes being ignored). Added in v2.10.
- Line-attributes for set and check are checked for their format. All numeric values have to be free of double quotes, or SDT will fail at parsing them.
- Line with line attributes can't have finish in the line as literal string or trigger. Added in v2.12.
- If parsing of line-attributes has stopped but the : character is present in the remaining string, an error is raised. Added in v1.20.
-- The values of mood, style and held are validated as well. Added in v1.16.
-- Undefined values are treated as an error. Added in v1.18.
--- Illegal mood values are treated as a SEVERE issue. Added in v1.17.
--- Empty string for the next line-attribute is seen as a Major issue, due to it being IGNORED by SDT. Added in v2.07.
- Angled double quotes. These are not seen as double quotes by SDT and thus can't be used to denote the start and end of a line's content. They get in when you edit your dialogue in MS Word or other fancy text editors. Added in v3.03.

Variables:
- Illegal asterisks: The checker parses the initial_settings line to identify the variables the dialogue uses. If an undefined variable is referenced, the checker raises an error. Added in v1.11.
- Variables defined in initial_settings are compared to the rest of the dialogue to see if they are being used. If the checker finds an unused variable, it will be reported. Added in v1.24.
- If a variable is used in the dialogue, the checker checks if the variable exists. If it does not, an issue is raised. Added in v1.24.
- If a variable's name contains asterisks [*], the checker raises a Minor issue. Variables with asterisks in their names can't be inserted into dialogue lines. Added in v2.02.

Special:
- Removes Б if no errors are found in the normal line, to see if the removal of Б would cause errors (as SDT does not display Бs). Added in v1.10.
- Removes triggers if no errors are found in the normal line, to see if the removal of triggers would cause errors (as SDT does not display triggers in text). Added in v1.12.
- Checks if all the lines are capable of being triggered. If a trigger has a variable in it, the checker tries to match the non-variable portion of the trigger to any lines. Added in v1.14. Improved this functionality in v2.11.
- Checks if all triggers are valid triggers or reference to existing lines. Triggers with variables are ignored in this process. Added in v1.14.
- Commented lines are checked for invalid mood values as this is a SEVERE issue. Added in v1.17.
- Deprecated custom triggers are reported as an issue if Line Usage is on. Added in v2.05.
- If [CHANGE_BACKGROUND] or [FADE_BACKGROUND_<hex>] is in a line and that line does not set the variable 'background', the checker raises an issue. Added in v2.05.
- Lines without line names (starting with :) are seen as a style error - it's possible to trigger these lines, but only via triggers. Added in v2.07.
- Checks if all mood checks [{"mood":"<value>"}] are also set in the dialogue via [<value>_MOOD] triggers. Added in v2.08.
- If [LOAD_CHARCODE] is in a line and that line does not set the variable 'loadCharCode', the checker raises an issue (Line Usage - Minor). Added in v2.09.
- If multiple finish lines (lines starting with "finish") have the same name, the checker raises an issue (Line Usage - Major). Added in v2.10.

- Substitutes can be checked for by checking the "Check substitutes" option. It will perform grammar checks on lines after stripping them of variable substitutions (same effect as v1 substitute checks). Added in v2.00.
If something is whitelisted, it means that for that specific check, the presence of that string of characters will cause the checker to ignore the possible error it found.
So [Help...!] does not trigger [.!] because the checker finds [...!], which is whitelisted.
[Help...!.], on the other hand, triggers [.!.]. [...!] does not apply here, and thus the checker reports an error.

List of supported line types, triggers and variables: (This list last updated with v2.13, I'm a bit lazy)
Code:
Default line types:
cough
cum_in_eye
cum_in_mouth
cum_in_nose
cum_in_throat
cum_on_face
dialogue_name
drool
finish
finish# //anything that starts with "finish" is validated.
finishOther
first_dt
first_throat
font
general
hand_job_stroke
head_grabbed
held
initial_settings
interrupt
intro
lick_balls
lick_penis
pre_cum
pulled_down
pulled_up
pull_off
resistance
restart
restart# //anything that starts with "restart" is validated.
swallow
vigorous
wake

all //I'm not sure whether this is valid but I've seen it being used so often...
custom //Same here.

Line types from DialogueActions 1.06:
orgasm
start
passed_out

Line types from animtoolsv7:
bodycontactspaceheldpush
cuminher

Line types from BreastExpansionPlusv2_4:
bellyexpansion
bellyreduction
bodyexpansion
bodyreduction
breastexpansion
breastreduction
cumfrombreast
puke

Default triggers:
[ADD_TEARS]
[AHEGAO_MOOD]
[ANGRY_MOOD]
[ARMS_BACK]
[ARMS_HAND_JOB]
[ARMS_HIS_LEGS]
[ARMS_LEGS]
[ARMS_LOOSE]
[BLINK]
[CLENCH_TEETH]
[CLOSE_EYES]
[COUGH]
[DROOL]
[EJACULATE]
[FACE_FUCK_STYLE]
[HAPPY_MOOD]
[HOLD]
[LEFT_ARM_BACK]
[LEFT_ARM_HAND_JOB]
[LEFT_ARM_HIS_LEGS]
[LEFT_ARM_LEGS]
[LEFT_ARM_LOOSE]
[LOOK_UP]
[LOOK_DOWN]
[NORMAL_MOOD]
[NORMAL_STYLE]
[OPEN_EYES]
[RELEASE]
[RIGHT_ARM_BACK]
[RIGHT_ARM_HAND_JOB]
[RIGHT_ARM_HIS_LEGS]
[RIGHT_ARM_LEGS]
[RIGHT_ARM_LOOSE]
[SHOCK]
[SWALLOW]
[TAP_HANDS]
[WINCE]

Triggers from DialogueActions 1.08:
[ARMS_BREAST]
[ARMS_CROTCH]
[ARMS_HIS_CROTCH]
[AUTO_HARD]
[AUTO_KEYS]
[AUTO_KEYS_OFF]
[AUTO_KEYS_ON]
[AUTO_NORMAL]
[AUTO_OFF]
[AUTO_SELF]
[AUTO_SOFT]
[BOUNCE_TITS]
[CHANGE_BACKGROUND]
[CLEAN_ALL]
[CLEAN_CUM]
[CLEAN_LIPSTICK]
[CLEAN_MASCARA]
[CLEAN_SPIT]
[CLEAR]
[CONTINUE]
[DEEPTHROAT]
[END_FLASH]
[FADE_BACKGROUND_<hex>]
[FLASH_<hex>]
[FLASH_<hex>_<timeInMilliseconds>]
[GAG]
[GROW_PENIS]
[HANDJOB_OFF] (DEPRECATED)
[HANDJOB_ON] (DEPRECATED)
[HAND_OFF] (DEPRECATED)
[HAND_ON] (DEPRECATED)
[HIDE_BALLS]
[HIDE_HIM]
[HIDE_PENIS]
[LEFT_ARM_BREAST]
[LOAD_CHARCODE]
[MASTURBATE_OFF]
[MASTURBATE_ON]
[MOAN]
[PAUSE]
[PULL_OFF]
[RANDOMIZE_HER]
[RIGHT_ARM_BREAST]
[RUB_HIS_CROTCH_OFF]
[RUB_HIS_CROTCH_ON]
[SHRINK_PENIS]
[SHOW_BALLS]
[SHOW_HIM]
[SHOW_PENIS]
[WAKE_UP]

Triggers from Animtools v5:
[ANIMTOOLS_$POSITIONFILENAME] //If a trigger starts with "ANIMTOOLS_" it is seen as "valid as part of AnimtoolsV5".

Triggers from BreastExpansionPlusv2_2:
[ADD_EFFECTIVE_CUM]
[PUKE]
[SUB_EFFECTIVE_CUM]

Triggers from VariableArithmeticv1.02+:
[VA_$FUNCTIONNAME] //If a trigger starts with "VA_" it is seen as "valid as part of VariableArithmetic". Later versions of the DialogueChecker might have specific checks for VariableArithmetic, when the mod is more stable.

VARIABLES:
BreastExpansionPlusV2_4:
bellysize
bellysize2
bigpenisbellychange
bigpenisbellychange2
bigpenisbodychange
bigpenisbodychange2
bigpenisbreastchange
bigpenisbreastchange2
bodysize
bodysize2
breastsize
breastsize2
breathLevel
breathLevel2
effectivecuminside
effectivecuminside2
eyecumtimer
eyecumtimer2
mouthFull
passOutFactor
passOutFactor2
penisInMouthDist
penisInMouthDist2
superbreastsize
superbreastsize2
timerpuke
timerpuke2

DialogueActions 1.11:
ankleCuffs
armwear
background
bellyPiercing
bottoms
collar
cuffs
earring
eyewear
footwear
gag
hair
headwear
himBottoms
himFootwear
himTop
legwear
legwearB
loadCharCode
loadDialogue
maxPenisLength
maxPenisWidth
minPenisLength
minPenisWidth
nipplePiercing
panties
penisLength
penisSize
penisWidth
tonguePiercing
top
tops

Animtoolsv8:
atv_position
Author
Pim_gd
Downloads
159
Views
1,954
First release
Last update
Rating
0.00 star(s) 0 ratings
Top


Are you 18 or older?

This website requires you to be 18 years of age or older. Please verify your age to view the content, or click Exit to leave.