Halt dir auch beim (bzw. gerade) beim Nachbauen von Scripten immer vor Augen, was die jeweiligen Befehle tun bzw. tun sollen. Wenn du die Hunderterstelle einer Zahl möchtest, macht mod 100 keinen Sinn. Wenn du 237 als Ausgangszahl hast, gibt dir mod 100 die 37 aus (237/100=2, Rest=37).
Darüber hinaus brauchst du bei diesem Script weder die Variablen auf Null setzen, noch die Abfrage, wie groß die Ausgangszahl ist: Wenn die Zahl zu klein ist, gibt ein mod 100 (/mod 10/ ...) eh Null aus (sofern du dir bei sowas nicht sicher bist, ist es aber immer eine gute Idee, Variablen am Anfang auf 0 zu setzen, damit keine Unfälle passieren, wenn du die selbe Variablen für mehrere Scripte verwendest), ist die Zahl groß genug, wird die Variable auf einen anderen Wert gesetzt. Und selbst wenn durch einen Zufall die Variable von Anfang an einen anderen Wert haben sollte, setzt du sie ja eh dann zuerst mit der Ausgangszahl gleich.
Wenn du Werte übrigens einfach nur anzeigen möchtest, würde ich dir auf Dauer davon abraten, an der Variable mit der Ausgangszahl etwas zu ändern, zumindest, sofern du nicht auf Zahlen aus der Database zurückgreifst (bspw. Statuswerte oder HP, sofern du die nicht durch eigene Scripte ersetzt). So kannst du nämlich später mit der selben Variable weiterarbeiten und riskierst nicht, dass du durch ein vorheriges Script den Wert verfälscht hast. Wenn du irgendwelche Variablen hast, die Werte speichern, die du nicht im Nachhinein einfach wieder abrufen kannst, kann das sonst sehr ärgerlich werden.
Wenn Variable 1 deine Ausgangszahl hat und du in den Variablen 2, 3 und 4 die einzelnen Stellen haben möchtest (danke an Leana für die Korrektur!):
fertig. Wenn du jetzt 945 für V1 da reinwirfst, kommt V2=9, V3=4 und V4=5 da raus. Setzt du V1 nur auf 3, sind V1 und V2=0 und V3=3.