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

0 Members and 6 Guests are viewing this topic.

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Code: (clickermann) [Select]
SUB(нападать)
   
   STRSEPARATE("рецепт рыжий,рецепт зеленый",",",$picture)
   FOR($drop2=0,$drop2<ARRSIZE($picture))
      GETSCREEN($xx+333,$yy+108, $xx+630,$yy+370)
      IF_PICTURE_IN($xx+333,$yy+108, $xx+630,$yy+370,STRCONCAT($picture[$drop2],".bmp"),-1,80)
         IF($_log_log=1)
            LOGWRITE ("есть смысл")
         END_IF
         GETSCREEN ($xx+333,$yy+108, $xx+630,$yy+370)
         IF_PICTURE_IN ($xx+333,$yy+108, $xx+630,$yy+370, "напасть.bmp", -1, 80)
            IF($_log_log=1)
               LOGWRITE ("напасть")
            END_IF
            m_move($_return1+RND(-5,5), $_return2+RND(-5,5))
            LCLICK($_xmouse,$_ymouse)
         END_IF
         $drop2=ARRSIZE($picture)+999
      ELSE
         WAITMS(5)
      END_IF
   END_CYC
   IF($drop2<999)
      //GETSCREEN ($xx+333,$yy+108, $xx+630,$yy+370)
      IF_PICTURE_IN ($xx+333,$yy+108, $xx+630,$yy+370, "прогон.bmp", -1, 80)
         IF($_log_log=1)
            LOGWRITE ("проганяем")
         END_IF
         m_move($_return1+RND(-5,5), $_return2+RND(-5,5))
         LCLICK($_xmouse,$_ymouse)
         $drop2=ARRSIZE($picture)+999                                               
      END_IF
   END_IF
END_SUB
где то что то не так он делает все правильно но с каждым следующим вызовом он думает все дольше и дольше  :-\

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
UNDEFINE ааа все от чего никто не сказал что после того как использовали надо удалять  >:(   а я тут мучаюсь нз что за еронда  :'(

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
UNDEFINE ааа все от чего никто не сказал что после того как использовали надо удалять  >:(   а я тут мучаюсь нз что за еронда  :'(
О том что руки после туалета  нужно мыть, тут тоже никто не сказал.
Так выходит, ты немытый мучаешься?
Ах, плохие - злые форумчане! >:(
  ??? что за сарказм  >:( я вопше не в теме про эти массивы чуть ниже задал вопрос как упростить если одно действия на разные рисунки мне там кинули с масивом пример я все так и сделал а оно тупить начало и я смотрел на пример и не понимал все так же чего оно тупит то а оказалось есть еще и команда удаления массива которую над после его выполнения делать которой кстати в примере не было  :'(   :-[ и для меня понять что не так было просто невыполнимой миссией но я справился  :P 8)

open_78

  • Активный участник
  • ***
  • Posts: 285
  • v4.13.014 x64
    • View Profile
  >:( я вопше не в теме про эти массивы чуть ниже задал вопрос как упростить если одно действия на разные рисунки мне там кинули с масивом пример я все так и сделал а оно тупить начало и я смотрел на пример и не понимал все так же чего оно тупит то а оказалось есть еще и команда удаления массива которую над после его выполнения делать которой кстати в примере не было  :'(   :-[ и для меня понять что не так было просто невыполнимой миссией но я справился  :P 8)
Вот и молодец что справился. А я ждал этого вопроса, в той теме специально не стал прописывать удаление массива. Согласись что приятно самому решать задачи, а не ждать готовых ответов.

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
  >:( я вопше не в теме про эти массивы чуть ниже задал вопрос как упростить если одно действия на разные рисунки мне там кинули с масивом пример я все так и сделал а оно тупить начало и я смотрел на пример и не понимал все так же чего оно тупит то а оказалось есть еще и команда удаления массива которую над после его выполнения делать которой кстати в примере не было  :'(   :-[ и для меня понять что не так было просто невыполнимой миссией но я справился  :P 8)
Вот и молодец что справился. А я ждал этого вопроса, в той теме специально не стал прописывать удаление массива. Согласись что приятно самому решать задачи, а не ждать готовых ответов.
ну как сказать  :D я сначала сделал скрипт себе через твой пример все вышло около 600строк потом понял что он начинает что дольше дольше думать я подумал чет я натупил где не так что то все снес написал все по новому через обычные условия вышло 3к+ ;D и там вбил еще раз один твой пример и уж точно было что именно из за негоо5 тормозит  ;D кароче ужасно потом начал искать  и нашел  8) ладно бы еслиб я сразу подумал что это с ним что то не так а так не я подумал что это я где то запутался  и гдето что то пропустил  :-\

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
как по мне, это как то не логично -  при каждом вызове подпрограммы обьявлять массив и удалять при завершении выполнения подпрограммы.  создал бы массив где нибудь в начале скрипта (можно и в подпрограмме), но так, чтобы при выполнении больше его не трогать (если это не требуется). к примеру так:
Code: (clickermann) [Select]
IF($var = 0)
   STRSEPARATE("рецепт рыжий,рецепт зеленый",",",$picture)
   $var = 1
END_IF
« Last Edit: May 29, 2017, 11:26:39 PM by dramster »

Зануда

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

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
хм,тоже интересно  :o а как лучше для работы самого кликера чтоб все делалось быстренько и минимальной нагрузкой  :D
нагрузки тут в принципе никакой. тут дело в самом понимании того что у тебя есть, и как это всё работает. я лично стараюсь такие вещи обьявлять гденибудь в одном месте, на виду, чтоб если что, при отладке можно чтото добавить или чтото изменить. но случаи бывают разные.
но согласись, это же не логично - обьявлять какието данные при обращении к ним и удалять их сразу после этого. если точно уверен, что эти данные будут нужны снова.

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
хм,тоже интересно  :o а как лучше для работы самого кликера чтоб все делалось быстренько и минимальной нагрузкой  :D
нагрузки тут в принципе никакой. тут дело в самом понимании того что у тебя есть, и как это всё работает. я лично стараюсь такие вещи обьявлять гденибудь в одном месте, на виду, чтоб если что, при отладке можно чтото добавить или чтото изменить. но случаи бывают разные.
но согласись, это же не логично - обьявлять какието данные при обращении к ним и удалять их сразу после этого. если точно уверен, что эти данные будут нужны снова.
а хотя а какая разница вот ты его запихнул в условия  так подпрограмма же тоже только после вызова так что это бы ничего не изменило  ;D что он у меня был в подпрограмме что еще и с доп условиям на выполнения

Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
о еще вопрос по поводу массива как можно сделать
STRSEPARATE("рецепт рыжий,рецепт зеленый",",",$picture)
чтоб после нахождения в лог выдавало именно то что нашло ?

Vint

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

На то он и пример что примерный  :).

о еще вопрос по поводу массива как можно сделать
STRSEPARATE("рецепт рыжий,рецепт зеленый",",",$picture)
чтоб после нахождения в лог выдавало именно то что нашло ?

Code: (clickermann) [Select]
LOGWRITE("нашли ", $picture[$drop2])
« Last Edit: May 30, 2017, 09:34:27 AM by Vint »


Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
спасибки :D

Зануда

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

На то он и пример что примерный  :).

о еще вопрос по поводу массива как можно сделать
STRSEPARATE("рецепт рыжий,рецепт зеленый",",",$picture)
чтоб после нахождения в лог выдавало именно то что нашло ?

Code: (clickermann) [Select]
LOGWRITE("нашли ", $picture[$drop2])

а ее можно наращивать? чтоб выдавало что именно нашло и сколько раз к каждой картинки из массива отдельно чтоб считало какой раз именно ее  нашло а так выдает что именно но нет сколько раз я что то вот ту команду куда ее пристраивал INC выдает ошибку  :-[ а если вбить другую переменную то будет просто считать сколько раз нашло любую картинку

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Задаём начальные значения счётчиков
Code: (clickermann) [Select]
STRSEPARATE("0,0",",",$counts)только ради бога, не внутри циклов!

При нахождении наращиваем соответствующий счётчик
Code: (clickermann) [Select]
$counts[$drop2] = $counts[$drop2] + 1
LOGWRITE("нашли ", $picture[$drop2], "  ", $counts[$drop2], " раз(а)")


Зануда

  • Активный участник
  • ***
  • Posts: 104
    • View Profile
Code: (clickermann) [Select]
IF($t_ob=0)
$guests = 0
$guest_page = 0
STRSEPARATE("0,0,0,0,0,0,0,0",",",$drop_shet)
 $t_ob=1
END_IF

SUB(дроп)

   STRSEPARATE("рец сер,рец зел,рец син,рец фиол,рец жел,рец крас,молот,серп",",",$picture1)
//тут условия есть
$drop_shet[$drop1] = $drop_shet[$drop1] + 1
  LOGWRITE("забрали ", $picture1[$drop1], "  ", $drop_shet[$drop1], " раз(а)")
//еще условия
INC($prodali_1,1)
               LOGWRITE ("продали: ", $prodali_1, " раз")
   UNDEFINE($picture1)
END_SUB
//кусок скрипта
// и вот выходит что запись в лог идет как нужно но дело в том  что лог автоматом удаляется когда вырастает до какого то предела
IF(ISKEYDOWN(#L)=1) // при нажатии L
   WHILE(ISKEYDOWN(#L)=1) // хотелось бы чтоб при нажатии кнопки выводило все что он забирал и сколько штук
      LOGCLEAR
      LOGWRITE ("продали: ", $prodali_1, " раз")//это показывает потому что эта переменная сразу только к одному привязана
     LOGWRITE("забрали ", $picture1[$drop1], "  ", $drop_shet[$drop1], " раз(а)")// а тут просто 0 выдает что то нужно добавить как то объяснить что именно нужно каждый предмет с его ко-ом показать
      WAIT(3)
       END_CYC
   END_IF



« Last Edit: May 30, 2017, 03:39:54 PM by Зануда »