20 Jun 12, 04:28PM
You can lock saved.cfg by making it read-only; google how to do this for your operating system. I don't recommend doing this if you're unsure about how the game configuration works. It might confuse you in the future.
[cubescript]bind MOUSE4 "universaldelta 1"
bind MOUSE5 "universaldelta -1"[/cubescript]MOUSE4 and MOUSE5 being scroll up and scroll down.
If you look at these lines in config/scripts.cfg:
[cubescript]alias modifier 0
alias domodifier [ alias modifier $arg1; onrelease [ alias modifier 0 ] ]
alias universaldelta [
if $editing [ alias s "edit" ] [
if (alive) [ alias s "game" ] [ alias s "spect" ]
]
(concatword delta _ $s _ $modifier)
][/cubescript]...you can see that universaldelta's definition is constructed from 'delta', $s (which is set to "game" when you're not editing and you're alive) and $modifier (which should be "0", unless you're editing and holding down a modifier key). 'delta_game_0' is defined in scripts.cfg thus:
[cubescript]alias delta_game_0 [ if (= $arg1 1) [ shiftweapon 1 ] [ shiftweapon -1 ] ][/cubescript]...shifting weapons, exactly what you want.
The problem occurs when you set $modifier to another value, e.g. changing a heightfield (which uses "domodifier 1" - see the default bind for Q), and it somehow doesn't get reset to 0. The command delta_game_1 doesn't exist. It could have been a third-party script that added a modification of $modifier, which has subsequently been removed from autoexec.cfg, but has residue in saved.cfg
If you don't understand any of this, don't panic; it really isn't important to playing until it goes wrong.
(20 Jun 12, 12:26PM)Frogulis Wrote: ...explain what this error actually means and why it happens?'universaldelta' is the alias used when scrolling. In config/resetbinds.cfg:
[cubescript]bind MOUSE4 "universaldelta 1"
bind MOUSE5 "universaldelta -1"[/cubescript]MOUSE4 and MOUSE5 being scroll up and scroll down.
If you look at these lines in config/scripts.cfg:
[cubescript]alias modifier 0
alias domodifier [ alias modifier $arg1; onrelease [ alias modifier 0 ] ]
alias universaldelta [
if $editing [ alias s "edit" ] [
if (alive) [ alias s "game" ] [ alias s "spect" ]
]
(concatword delta _ $s _ $modifier)
][/cubescript]...you can see that universaldelta's definition is constructed from 'delta', $s (which is set to "game" when you're not editing and you're alive) and $modifier (which should be "0", unless you're editing and holding down a modifier key). 'delta_game_0' is defined in scripts.cfg thus:
[cubescript]alias delta_game_0 [ if (= $arg1 1) [ shiftweapon 1 ] [ shiftweapon -1 ] ][/cubescript]...shifting weapons, exactly what you want.
The problem occurs when you set $modifier to another value, e.g. changing a heightfield (which uses "domodifier 1" - see the default bind for Q), and it somehow doesn't get reset to 0. The command delta_game_1 doesn't exist. It could have been a third-party script that added a modification of $modifier, which has subsequently been removed from autoexec.cfg, but has residue in saved.cfg
If you don't understand any of this, don't panic; it really isn't important to playing until it goes wrong.