Перейти к содержанию

Как использовать отдельно, одни и те же клавиши для трех адресов?


Razi

Рекомендуемые сообщения

Dison,  Я не сказал, что не доволен. я только тестировал и сказал, что есть вот такие нюансы. Ранее уже благодарил человека, и говорил, что сам бы такого не сделал. Учиться, я начал потихоньку с туториалов от MasterGH, И вообще, я впервые в жизни увидел такие скрипты дней 5 назад. Что ты хочешь, чтоб я все сразу умел и не задавал вопросов.

AntonVitalievich,  У меня версия CE 6.4. Но и так попробую.


Garik66,  Спасибо,

это как раз тоже обучение на практике.

AntonVitalievich, с пустыми скриптами работает нормально. Оказывается я все правильно делал. Надо будет еще проверить, наверно с моими скриптами идет какой-то конфликт.

Изменено пользователем Razi
Ссылка на комментарий
Поделиться на другие сайты

Обращаться к записям в таблице CE можно разными способами.

 

1. По индексу

2. По имени

3. По связанным функциям горячих клавиш

4. Из новых глобальных функций onMemRecPreExecute и onMemRecPostExecute

 

Например, если что-то активировать, а перед этим выполнить Lua скрипт

 

function onMemRecPreExecute(memoryrecord, newstate)print(memoryrecord.Description)end
То в консоли будет вывод надписи чита, который был активирован. Этот memoryrecord можно проверить на уникальное название, на номер индекса...

 

Короче, по задаче в этой темы лучше по индексам, а не по именам...

 

Ниже выделил жирным, что может подойти при написании скрипта, когда один скрипт вырубает другие. Но надо учитывать нюансы.

 

  Показать контент

 

 

 

 

1) надо сначала запустить Lua скрипт. Будь он в таблице, будь он в папке авторана, будь он в трейнере.

2) при добавлении вставок {$Lua} и {$Asm} в АА скрипты надо держать в голове, что есть три области: выше [enable] и [disable], между [enable] и [disable] и ниже [disable]. Самая высокая область активируется в любом случае при нажатии на запись.

3) CE при добавлении таблицы проверяет и исполняет скрипт при этом вызывая область выше  [enable] и [disable], между [enable] и [disable]. Может получится так, что скрипты выполнятся не тогда, когда задумано и работать будут не так как задумано.

4) local ссылки и не local ссылки (глобальные), последние ссылаются на что-то постоянно пока не будут nil

5) объекты на которые ссылаются перменные, бывает, надо уничтожать или не создавать повторно. Если создать, например, таймер и связать его с функцией, то эта функция будет вызываться по интервалу постоянно. А если этот таймер по пунктам 2,3,4 будет создан не так как задумано и не будет выключен или уничтожен, то он скорее всего будет мешать что-то делать.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Dison, К тому же ты обвиняешь меня, одного, в действиях всех новичков. Понимаю, что может накипело. Но, я не отвечаю за дела других людей.

 

Garik66, Еще с утра, добавил вам плюс к репутации за вчерашнюю помощь с скриптами.

 

AntonVitalievich, Еще с утра, добавил вам плюс к репутации за изначально поданую идею. Еще немного поколдую с вашим скриптом.


Отчет по скрипту:

Упростил свои три скрипта, которые называются SCRIPTONE, SCRIPTTWO и т. д.

И после этого игра вообще начала вылетать, но появился один плюс numpad 0 заработал так как нужно т.е. выключает любой скрипт из трех.

Но все работало, если находясь на 3-ем скрипте нажимать numpad 0, влево, numpad 0, влево то перключалось нормально.

Думал, что выход, это ставить метку от 0 до 4, где:

  Показать контент

 

Но просмотрев Lua скрипт, понял что инструкции выполняются поочередно. Пример: находясь на 3-ем скрипте (т.е. 3-ий скрипт включен) при нажатии влево, мы попадаем на инструкцию где сначала 1-ый скрипт в false, 2-ой скрипт в true, а 3-ий скрипт то у нас еще включен и вот почему был конфликт.

  Показать контент

 

Поменял местами скрипты SCRIPTTWO и т.д. в коде вот так:

  Показать контент

Теперь при включенном 3-ем скрипте при нажатии влево сначала проверяется, что 1-ый скрипт в false, дальше, что 3-ий скрипт в false (отключает 3-ий скрипт), теперь только включает 2-ой скрипт в true.

При нажатии еще раз влево при включенном 2-ом скрипте сначала выключаются 2-ой, потом 3-ий, а потом включается 1-ый скрипт.

Класс. После изменений все заработало так как надо. :-D

Изменено пользователем Razi
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

  В 24.01.2016 в 02:33, Razi сказал:

Dison, К тому же ты обвиняешь меня, одного, в действиях всех новичков. Понимаю, что может накипело. Но, я не отвечаю за дела других людей.

 

Да все нормально, не бери в голову с меня плюсик тебе.

Видишь поковырялся разобрался и все у тебя получилось... :-D

Ссылка на комментарий
Поделиться на другие сайты

Dison,  Та я просто аргументировал.

 

AntonVitalievich, Все таки пригодилась в итоге ваша кнопка numpad 0, без нее было бы труднее догадаться, как улучшить скрипт. И кстати этот Lua скрипт по переключению весьма полезная вещь, можно нажатием одной клавиши вписывать разные значения в одном адресе или сразу нескольких адресах.

Ссылка на комментарий
Поделиться на другие сайты

  В 24.01.2016 в 13:25, Razi сказал:

AntonVitalievich, Все таки пригодилась в итоге ваша кнопка numpad 0, без нее было бы труднее догадаться, как улучшить скрипт. И кстати этот Lua скрипт по переключению весьма полезная вещь, можно нажатием одной клавиши вписывать разные значения в одном адресе или сразу нескольких адресах.

Понятно.

Ссылка на комментарий
Поделиться на другие сайты

Если честно, то про автоматическую замену в адресах я раньше только мечтал, а про то, что в этой теме, считал, что это практически невозможно. И про такое даже и не мечтал. И для меня, это не просто чит, какой-то там, это целая система управления. Так что вы AntonVitalievich, и Garik66, совершили необыкновенную вещь, в моем понимании.

Изменено пользователем Razi
Ссылка на комментарий
Поделиться на другие сайты

  В 23.01.2016 в 20:00, MasterGH сказал:

Короче, по задаче в этой темы лучше по индексам, а не по именам...  

MasterGH, лучше по Index (по-моему в любом случае).

Просто сегодня экспериментировал с табличкой (с этой).

Сперва не воспринимались пробелы в названии скрипта, потом, как оказалось, после перезагрузки, русские названия скриптов СЕ тоже портит ставя туда ???? и LUA-скрипт перестаёт работать, пришлось переименовывать все названия скриптов на английский. А по Индексу было бы гораздо всё проще и быстрее сделать..

Изменено пользователем Garik66
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.