int a=0;
под переменную выделяется память, например 1D8B0514 и в этой ячейке памяти хранится значение a, изменяя значение этого адреса, мы изменяем значение переменной.
#a//указатель находится, к примеру по адресу 1D8B0518 в этой ячейке памяти хранится адрес переменной а т.е. 1D8B0514;
Обращаясь к указателю, программа получает адрес переменной, затем получает значение этой переменной. Если это верно, то пытаясь изменить значение ячейки 1D8B0518 мы изменяем не её, а переменную, на которую ссылается этот адрес.
-----------
После написания, кажется, что я в корне все не так понял про указатели.
(Добавление)
Kibor пишет:
так как на момент вызова
findimage(1, #tower_spot[0][0], 0, #coordsx[found_spots], #coordsy[found_spots], coordsx[found_spots], coordsy[found_spots], 1393, 852, 0, 0, 0, 0, 0, 0, 100, 1, -1);
в этом выделенном нет значений.
findimage(1, #tower_spot[0][0], 0, #coordsx[found_spots], #coordsy[found_spots], coordsx[found_spots], coordsy[found_spots], 1393, 852, 0, 0, 0, 0, 0, 0, 100, 1, -1);
в этом выделенном нет значений.
Я невнимателен, уж простите.
Теперь выше по коду вызывается функция
CODE:
coordn=findimage(10, #tower_spot[0][0], 0, #coordsx[0], #coordsy[0], 633, 206, 1393, 852, -1);
которая изменяет значения, а found_spots равна нулю, т.е. все хорошо.
Kibor пишет:
Не понял.. Эти функции подключать не надо
К примеру я написал свою большую функцию с кучей подфункций, которая нужна в редких случаях, и чтоб зря не тратить память, подгружать в случае необходимости.
(Добавление)
Я не отрицаю, что в моем коде ошибки, есть даже грубые, но сейчас кибор вылетел снова.
Скрипт не выполнялся, просматривал код не изменяя его:
краш (Отобразить)
Спойлер (Отобразить)