Ok, I fixed the hopping problem. I don't know why I thought I would have to write it from scratch since it's in the originally posted script. But, here you go.
on mods:TEXT:!dvoice*:#:{
/mode # -v $$2
/write dvupkeep.txt $address($2, 1) - 1
if ($3 isnum) {
/msg # 4,1 $$2 's voice has been taken away for $$3 seconds.
.timerdv $+ $$2 1 $3 /mode # +v $$2
.timerdv2 $+ $$2 1 $3 /write -ds $+ $address($2, 1) dvupkeep.txt
}
else {
/msg # 4,1 $$2 's voice has been taken away.
}
}
on mods:TEXT:!voice*:#:{
/mode # +v $$2
/write -ds $+ $address($$2, 1) dvupkeep.txt
}
Hope this works since I can't test it. =/ I'll check back here, tonight. Later.