In addition to jes' fixed:
your method of setting displaytext won't work as your expect it to
This still applies
You're not putting a placeholder for the variable in there, you're putting the actual value of it.
So if %client.wallet is equal to 1500, then displayText will be set to "<font:impact:32>$1500", and it will never change from that because you never update displayText
(This example assumes %client.wallet is given a value, which it never is in your code. Jes' second fix will fix that)
Get rid of displayText and change the reference to it in the bottom print call to
"<font:impact:32>" @ %client.walletFormatting/Indentation. Learning how to do it properly will make your code several times more readable
Nothing it currently calling walletDisplay(). Since the function looks through every client, don't do it on client join. It only needs to be called once. I'd find some function that activates when the server starts, and call it there.
The time argument for schedule is in milliseconds, not seconds. Your trying to update it every millisecond. That's one thousand times per second. That's unreasonable. Change the 1 in schedule to 1000.