Просмотр полной версии : mmc: nosave() все сохраняет.
Прям не знаю что делать. Все переменные сохраняются. Сначала загружается конфиг, после все что надо выполняется, а потом все переменные снова выставляются в сохраненные значения. nosave не помогает. Может я его не так пользую?
nosave( $U::MyHP, $U::AttackerDam, $U::StatusStr="", $U::sogr='Нет');
И все сохраняет. Ужас просто. Ни на что не ругается. Взял и сохранил. Убиться можно. Как ты их в конфиге не изменяй, после загрузки и выполнения всех процедур один фиг выставляет сохраненные значения. Бррр...
делай как я
конфиг состоит из кусков
alias.txt
trig.txt
add_prof.txt
var.txt
misc.txt
запускается батник который эти куски собирает в конфиг и вызывает ммс
что бы там ммс ненасохранял - все потрется после перезапуска Ж)
d_blacky
18.05.2005, 13:59
я запускаю mmc с ключом -r.
отдельные модули делаю в файлах .pm и подключаю через use в .ini файле.
делай как я
запускается батник который эти куски собирает в конфиг и вызывает ммс
что бы там ммс ненасохранял - все потрется после перезапуска Ж)
То есть тебе это победить не удалось?
d_blacky
20.05.2005, 17:35
Ну че такое nosave, это:
sub nosave(@) {
for my $f (@_) {
$U::_nosave_vars{$f}=1;
}
}
как видишь хеш куда заносится имя переменной и значение "1", чтобы в последствии можно было писать "!$U::_nosave_vars{$_}".
Позжее этот хеш юзается только в:
sub save_vars {
no strict 'refs';
join("\n",(map { join("\t",$_,${"U::$_"}) } sort { $a cmp $b } grep { defined(${"U::$_"}) && !$U::_nosave_vars{$_} && !$::bad_vars{$_} } keys %U::),keys %U::_nosave_vars);
}
которое в последствии пихается в .ini файл строчкой:
set_section_handler("vars",\&load_vars,\&save_vars);
Вообщем если ты по-детально то что я во 2-ой цитате заквотил разберешь то я думаю найдешь в чем тут трабла, мне пока что не до этого.
Т.к. просто глючить тут нечему - либо sub save_vars, либо в $U::_nosave_vars не правильно имена переменных заносятся.
vBulletin® v3.8.1, Copyright ©2000-2024, Jelsoft Enterprises Ltd. Перевод: zCarot