It is doing what you told it to, setting the variable "diffvnum" to be the text "diffvnm = minvnum - maxvnum".
To do calculations you need to "send to script", like this:
<aliases>
<alias
match="print"
enabled="y"
send_to="12"
sequence="100"
>
<send>
print ("difference is ", minvnum - maxvnum)
</send>
</alias>
</aliases>
This is displaying the difference between two script variables (not two MUSHclient variables).
If you try this alias you will get an error if the variables don't exist, because you are subtracting non-existent quantities.
If you want to use MUSHclient variables, a simple way is to use the "var" script, which modifies the example slightly:
<aliases>
<alias
match="print"
enabled="y"
send_to="12"
sequence="100"
>
<send>
require "var"
print ("difference is ", var.minvnum - var.maxvnum)
</send>
</alias>
</aliases>
If you simply want to store the difference as another variable, then you simply assign the result, like this:
<aliases>
<alias
match="print"
enabled="y"
send_to="12"
sequence="100"
>
<send>
require "var"
var.diffvnum = var.minvnum - var.maxvnum
</send>
</alias>
</aliases>