Author Topic: где то ошибка или что то забыл не могу понять где  (Read 4609 times)

0 Members and 1 Guest are viewing this topic.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
и вот выходит что запись в лог идет как нужно но дело в том  что лог автоматом удаляется когда вырастает до какого то предела

В файле Clickermann\data\config.ini есть параметр
; Максимальное количество строчек в окне лога (0 - без лимита)
; (Спасает от пожирания оперативки программой при многократном и/или длительном выводе в лог)
max_log_size =100

правишь его. У меня стоит 500, можно и 1000.


Ещё, в начале файла можно прописать
Code: (clickermann) [Select]
#logfile Включает ведение лог-файла в папке проекта, куда дублируется весь вывод через logwrite / print. Файл сам не чистится!



Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
И перемести всё таки задание константы $picture1 в начало, нечего его создавать-удалять
Code: (clickermann) [Select]
IF($t_ob=0)
    $guests = 0
    $guest_page = 0
    STRSEPARATE("0,0,0,0,0,0,0,0",",",$drop_shet)
    STRSEPARATE("рец сер,рец зел,рец син,рец фиол,рец жел,рец крас,молот,серп",",",$picture1)
    $t_ob=1
END_IF

А удаление UNDEFINE($picture1) убери.


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Индексы перебери.
И вынеси вывод лога в отдельный поток
Code: (clickermann) [Select]
THREAD(logger, 1)
    IF(ISKEYDOWN(#L) = 1)
        LOGCLEAR
        LOGWRITE ("продали: ", $prodali_1, " раз")
        FOR($inf=0, $inf < 2)
            LOGWRITE("забрали ", $picture1[$inf], "  ", $drop_shet[$inf], " раз(а)")
        END_CYC
        WAITMS(900)
    END_IF
    WAITMS(100)
END_THREAD


Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Code: (clickermann) [Select]
STRSEPARATE("рец сер,рец зел,рец син,рец фиол,рец жел,рец крас,молот,серп",",",$picture1)
у меня эта строчка была в подпрограмме и оно с каждым разом все дольше думало решилось с помощью его удаления  а если перенести его в начало оно не начнет так же каждый раз все дольше думать или я не правильно понял и когда оно было в подпрограмме то оно каждый раз создавало новый масив при каждом вызове а когда в начало то будет просто его применять ?

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
первое нажатия на L воспринимается правильно и выдает инфу а второе уже нет почему то  :-\ все масивы как вы сказали перенес в начало убрал все удаления их вот скрин что выдает если второй раз жмякаю[spoiler][/spoiler]

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Code: (clickermann) [Select]
STRSEPARATE("рец сер,рец зел,рец син,рец фиол,рец жел,рец крас,молот,серп",",",$picture1)
у меня эта строчка была в подпрограмме и оно с каждым разом все дольше думало решилось с помощью его удаления  а если перенести его в начало оно не начнет так же каждый раз все дольше думать или я не правильно понял и когда оно было в подпрограмме то оно каждый раз создавало новый масив при каждом вызове а когда в начало то будет просто его применять ?
Code: (clickermann) [Select]
IF($t_ob=0)
    $guests = 0
    $guest_page = 0
    STRSEPARATE("0,0,0,0,0,0,0,0",",",$drop_shet)
    STRSEPARATE("рец сер,рец зел,рец син,рец фиол,рец жел,рец крас,молот,серп",",",$picture1)
    $t_ob=1
END_IF

этот код сработает один раз. он обьявит две переменные и два массива. один из них $picture1. далее добавляться к нему ничего не будет. при этом тебе нужно убрать из подпрограммы строки добавления и удаления (STRSEPARATE и UNDEFINE), так как массив $picture1 уже есть и готов к использованию.

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
я так все и сделал спасибо теперь я так понял оно тогда начинало зависать потому что массив при каждом вызове создавался :? хотя он уже и был создан я правильно понял?

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
THREAD(logger, 1)
    IF(ISKEYDOWN(#L) = 1)
        LOGCLEAR
        LOGWRITE ("продали: ", $prodali_1, " раз")
        FOR($inf=0, $inf < 2)// что значит ? $inf это сколько в массиве картинок нужно вписывать или что ?
            LOGWRITE("забрали ", $picture1[$inf], "  ", $drop_shet[$inf], " раз(а)")
        END_CYC
        WAITMS(900)
    END_IF
    WAITMS(100)
END_THREAD

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
        FOR($inf=0, $inf < 2)// что значит ? $inf это сколько в массиве картинок нужно вписывать или что ?
Да. Я написал 2 т.к. ты в вопросе указывал 2 картинки, а полностью свой скрипт много раз измененный не показывал.
А лучше не число, а
FOR($inf=0, $inf < ARRSIZE($picture1))

На счет ошибки, у тебя массивы точно сделаны одной длины?


Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
все спасибо я понял  ;D
FOR($inf=0, $inf < ARRSIZE($picture1)) это оно само определит сколько там картинок ?)