МПМ Былины - Мир Древней Руси

МПМ Былины - Мир Древней Руси (https://www.bylins.su/vbb/index.php)
-   Клиенты для игры (https://www.bylins.su/vbb/forumdisplay.php?f=52)
-   -   mmc: nosave() все сохраняет. (https://www.bylins.su/vbb/showthread.php?t=1301)

diver 18.05.2005 00:00

mmc: nosave() все сохраняет.
 
Прям не знаю что делать. Все переменные сохраняются. Сначала загружается конфиг, после все что надо выполняется, а потом все переменные снова выставляются в сохраненные значения. nosave не помогает. Может я его не так пользую?

nosave( $U::MyHP, $U::AttackerDam, $U::StatusStr="", $U::sogr='Нет');


И все сохраняет. Ужас просто. Ни на что не ругается. Взял и сохранил. Убиться можно. Как ты их в конфиге не изменяй, после загрузки и выполнения всех процедур один фиг выставляет сохраненные значения. Бррр...

Ladon 18.05.2005 10:32

RE: mmc: nosave() все сохраняет.
 
делай как я
конфиг состоит из кусков
alias.txt
trig.txt
add_prof.txt
var.txt
misc.txt

запускается батник который эти куски собирает в конфиг и вызывает ммс
что бы там ммс ненасохранял - все потрется после перезапуска Ж)

d_blacky 18.05.2005 13:59

RE: mmc: nosave() все сохраняет.
 
я запускаю mmc с ключом -r.
отдельные модули делаю в файлах .pm и подключаю через use в .ini файле.

diver 20.05.2005 15:59

RE: mmc: nosave() все сохраняет.
 
Даааа, блин... =)

diver 20.05.2005 16:00

RE: mmc: nosave() все сохраняет.
 
=) не ну слов нет =)

diver 20.05.2005 16:01

RE: mmc: nosave() все сохраняет.
 
Цитата:

Сообщение от Ladon
делай как я
запускается батник который эти куски собирает в конфиг и вызывает ммс
что бы там ммс ненасохранял - все потрется после перезапуска Ж)

То есть тебе это победить не удалось?

d_blacky 20.05.2005 17:35

RE: mmc: nosave() все сохраняет.
 
Ну че такое 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 не правильно имена переменных заносятся.


Часовой пояс GMT +4, время: 13:31.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot