Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

пресловутый exec

Only for requests.
Post Reply
st.kofe
Posts: 9
Joined: 19.02.2013 16:46

пресловутый exec

Post by st.kofe »

День добрый.

Просьба:
1. Сделать-таки хоть как-то работающий execute / terminate, корректно отображающийся в скрипт-листе. Ну и максимум - критические секции к нему =) Бог с ним пусть область видимости будет разная, и обращаться к потокам нельзя, разрулим как-то через сетглобал стелз. И пусть запускать можно лишь процедуры, тоже изловчимся. Короче любые ограничения, никто не просит многопоточность как таковую. Хотя я бы не отказался от TThread который сам заботился бы о своей памяти)

Обоснование:
1. Реализовали же это безобразие через хоткеи!
2. Может я устарел, но треды люблю ибо это существенно упрощает работу над тем, на что мне, как взрослому мужику тратить время грех. И да конечно же я знаю, что если не могу реализовать всё в одном потоке то я ущербный программер)))
2.1 К примеру нужно мгновенное отрабатывание всплывающих гампов или проверка окружения на что угодно. В моей голове это выглядит просто: висит один поток, который через глобальные, безопасные переменные, эксеки / терминейты управляет работой остальных, через него-же и подгружаемых, либо просто работающих в фоне. Есть примеры работы 6 потоков на инже, перс макросил беспрерывно месяцами без крашей. Не понимаю в чём паскаль может уступать ущербному бейсику? Уж простите моё незнание низкоуровневой специфики и ламерские вопросы =)
2.2 Написанный один раз стабильный код можно использовать где и как угодно впоследствии. Прикручивая к нему остальное.
3. Все заинтересованные наконец-то перестанут доставать визитора этим вопросом.
4. Я пока не вижу других причин сидеть на по всем параметрам уступающей инже.
5. Если всё же да, то это был бы первый шаг к возможности загрузки 20 персонажей с соответствующими скриптами одним нажатием кнопки =) Стелз-Мастеркласс =)

П.С. как реализовавшего уже что-то подобное в теле скрипта:
Идея - можно вставить в конструкцию имеющихся ходилок возможность после каждого шага запускать указанную в конструкции функцию (если задана), описываемую выше по скрипту? А при возврате true или false ходилка бы прерывалась, возвращая какой-то параметр или продолжала работать.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: пресловутый exec

Post by Vizit0r »

st.kofe wrote:2.1 К примеру нужно мгновенное отрабатывание всплывающих гампов или проверка окружения на что угодно. В моей голове это выглядит просто: висит один поток, который через глобальные, безопасные переменные, эксеки / терминейты управляет работой остальных, через него-же и подгружаемых, либо просто работающих в фоне.
ага. именно так, как это неправильно работает в инжекте. В стелсе для этого есть ивенты.

не делаю я execute-terminate именно по этой причине, чтобы люди отучались от неправильно-инжектового подхода к скриптованию.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
admir
Novice
Novice
Posts: 97
Joined: 28.10.2008 20:44

Re: пресловутый exec

Post by admir »

Евенты дело хорошее, можно отслеживать и фильтровать появления любых объектов, любых сообщений, звуков, анимаций нпс\персов.
И действительно они гораздо быстрее и эффективнее чем параллельно запущенные скрипты и ифы в них, и даже глобальные переменные только усложняют логичное правильное структурированное написание скрипта.
Надо только выработать основные моменты взаимодействия с основным скриптом и как шаблон выложить в описании.

То есть грубо говоря тормознуть и\или перепрыгнуть в Н-ое место скрипта.
Для этого как я понимаю надо использовать флаги.
У нас есть плюс - событие обрабатывается мгновенно, но вот чтобы оно практически моментально управляло скриптом - наверно надо создать процедуру обработки флагов и вставлять их между важными событиями в скрипте, например хотьба - можно ли прерывать функцию движения?
действия, рубка, копка, касты,производство и тд имеют цикл примерно 5-10 секунд. можно разбить между ваитами,
Все остальное работает практически моментально тоесть не имеет временных промежутков.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: пресловутый exec

Post by Vizit0r »

admir wrote:хотьба - можно ли прерывать функцию движения?
нет, но можно добавить функцию остановки шагания, это не проблема.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: пресловутый exec

Post by untoha »

Vizit0r wrote:
st.kofe wrote:2.1 К примеру нужно мгновенное отрабатывание всплывающих гампов или проверка окружения на что угодно. В моей голове это выглядит просто: висит один поток, который через глобальные, безопасные переменные, эксеки / терминейты управляет работой остальных, через него-же и подгружаемых, либо просто работающих в фоне.
ага. именно так, как это неправильно работает в инжекте. В стелсе для этого есть ивенты.

не делаю я execute-terminate именно по этой причине, чтобы люди отучались от неправильно-инжектового подхода к скриптованию.
наверное вам не стоит объяснять что такое поток. но НЕ делаение возможности запустить скрипт из скрипта - это просто глупо. да можно руками, но и стелс тогда зачем если все и так можно руками.
спасибо создатель, я твой должник!
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: пресловутый exec

Post by Vizit0r »

1) ивенты. events. читать вики.
2) в 5 стелсе потоки можно запускать из скрипта. для тонких ценителей - самое оно.
3) скриптовых функций по запуску\остановке скриптов не будет
4) фанаты WinAPI всегда могут найти способ по решению п. 3)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply