-
Постов
5 750 -
Зарегистрирован
-
Победитель дней
292
Тип контента
Профили
Форумы
Загрузки
Блоги
Весь контент Garik66
-
А что тут смешного то? Ну твой способ это примерно тоже самое, что и мой второй способ, т.е. создание цикла и время паузы будет зависеть от частоты проца. Попробовал у себя вставил весь твой код, но тоже произошло зависание всей игры, а потом ещё и вылет. Так что не сработало. Короче, работают первый и второй способ, но нужно отделить инструкцию inc eax, от всего остального, чтобы пауза работала только с инструкцией inc eax. Попробовал добавить флаги-переключатели (несколько вариантов), но пока безрезультатно. Попробую ещё со вставкой на LUA, может поможет.
-
Попробовал ещё несколько способов, но всё приводит либо к окончательному зависанию, либо к вылету из игры. Один из способов делает примерно тоже, что и в первом сообщении - создание цикла с ничего неделающим операндом, идея родилась при чтении этого: http://www.kolasc.net.ru/cdo/programmes/assembler/loop.html push ecx mov ecx,#1000000000 // около 1 сек jecxz @f cycl: nop loop cycl @@: pop ecx inc eax Этот способ приводит также к зависанию игры на 1 сек.
-
Мастера снова я к Вам. Допустим имеется инструкция inc eax Я хочу перед каждым выполнением этой инструкции, делать паузу с помощью Sleep. Делаю так: pushad push #3000 // 3 секунды. call Sleep popad inc eax но это приводит к замиранию всей игры на 3 сек. Как сделать паузу только для одной инструкции?
-
Пока у Xipho не дошли руки, для ОФФТОПА (как временное решение) можете использовать картинку: Инструкция: ПКМ по адресу: http://forum.gamehacklab.ru/uploads/emoticons/default_offtopic.gif и в контекстном меню выберите пункт "Копировать адрес ссылки", а потом вставьте в своё сообщение (ПКМ по своему сообщению и в контекстном меню выберите пункт "Вставить").
-
Ты путаешь понятие поста (сообщение) и топика (т.е. темы). Тему (топик) создал LIRW, а последний пост (последнее сообщение) создал STAVROS. Так было и на предыдущем движке, т.е. на главной странице форума показывался последний пост (сообщение) в теме (топике).
-
А вообще структура - суть файловая система ещё с DOS. Т.е. в большом книжном шкафу (Жёсткий диск - Dos, Windows или сама Игра в нашем случае) находятся полки (Директории - Dos или Структуры - игра) и на этих полках лежат книги (Другие директории -Dos или поинтеры на другие структуры). Открывая книги мы читаем странички (Файлы - Dos или данные Игры, например все характеристики героя). Т.е. не относитесь к Структурам как к чему то особенному - всё это мы уже знаем, просто нужен подход к этим данным и всё.
-
Благодаря MasterGH и этой теме - СЕ не хочет компилировать fisttp dword ptr [value] было найдено решение для использования опкода fisttp в СЕ. опкод fisttp для нашего случая = push eax lea eax,[timer2] db DB 08 pop eax Так что выложу новый скрипт: 4.1. Timer Mission v. fisttp И перезалью табличку: перезалил ниже, добавив ещё один скрипт.
-
MasterGH, спасибо!!! Настолько не нужно было себя утруждать, мне нужна была только запись db DB 08 а то я по дурости вставлял, прямо так db 0DBh,8 и у меня запись не компилировалась. Ещё раз большее спасибо. Сейчас проверю у себя, как работает. И если сработает правильно, то дополню свою статью новым скриптом.
-
Тогда, пока как вариант - кинь второй таймер на форму. Один таймер - для одного скрипта, второй - для второго.
-
А где сами скрипты? Мы же не телепаты. А так ответ - под одним таймером пишешь оба скрипта.
-
Так уже решили всё: Решение в этом сообщении:
-
MasterGH, хотя и поставленная мною задача решена, всё-таки пытаюсь разобраться с той статьёй. что из неё понял с помощью Гугла, что из st(0), в котором лежит вещественное число, можно получить в какой-нибудь адрес, передав в EAX (здесь не уверен, только ли EAX можно использовать или другие регистры) этот адрес с помощью инструкции - db 0DBh,8. Попытался сделать этот финт у себя с помощью СЕ. fild dword ptr [value] // value - имеет изначально тип integer fdiv [Coeff] // Coeff - имеет тип float Получили в st(0) дробное число. Далее загружаю в EAX адрес, куда я хочу закинуть целую часть дробного числа. lea eax,[Value] А дальше у меня затык, не знаю как записать инструкцию (db 0DBh,8) для СЕ. Помоги пожалуйста доразобраться.
-
gmz, если бы прочитал весь топик, то увидел (выше давал ссылку), что решение именно для СЕ я нашёл - используя fistp и добавив ещё 6 строчек в код. Повторю ссылку на сообщение В этом сообщении ниже выложенного скрипта пишу как раз об этом. А почему пока не отхожу от СЕ, хочу по максимум выжать из него, а он на многое способен. Я ещё многие опции не изучал, не говорю ещё про плагины от MasterGH, которые расширяют возможности СЕ.