| QUOTE |
| это команда CMP. Она сравнивает операнды и изменяет регистр флагов. |
А где в вашей табличке флаг ZF ? она его меняет(уст. в 1) если результат сравнения равен 0, т.е. если операнды равны.
Отправлено 17 ноября 2017 - 01:10
| QUOTE |
| это команда CMP. Она сравнивает операнды и изменяет регистр флагов. |
Отправлено 17 ноября 2017 - 01:27
| QUOTE (Fakeman) |
| А где в вашей табличке флаг ZF ? она его меняет(уст. в 1) если результат сравнения равен 0, т.е. если операнды равны. |
Отправлено 17 ноября 2017 - 02:25
| CODE |
|
cmp [eax+iobj.pid], PID_ACTIVE_MOTION_SENSOR jz short loc_41BC17 |
Отправлено 17 ноября 2017 - 03:30
| QUOTE (Fakeman) |
|
Теперь разбирайся почему не устанавливается флаг ZERO если второй операнд больше 127 |
Отправлено 17 ноября 2017 - 05:02
Отправлено 17 ноября 2017 - 05:49
| QUOTE (Fakeman) |
| Не зря же там разные машинные коды. |
Отправлено 17 ноября 2017 - 16:20
| CODE |
|
00411231 cmp eax, 0FFFFFFFEh нех opcode: 83 F8 FE |
Отправлено 17 ноября 2017 - 17:34
| QUOTE (Fakeman) |
|
это же число -2, |
| CODE |
|
test eax, eax // или если удобнее cmp eax, 0 jl .fail // меньше 0 cmp eax, 18 jl .success // меньше 18 .fail: // eax содержит неправильный скилл, то есть не в пределах 0-17 (SKILL_SMALL_GUNS-SKILL_OUTDOORSMAN) .success: // eax содержит правильный скилл |
| CODE |
|
cmp eax, 18 jb .success // 0-17 .fail: .success: |
| QUOTE |
|
### Команда CMP ######################################################### ### Производит сравнение операндов, вычитая из первого операнда второй. При этом операнды остаются без изменения. ### Устанавливает флажки CF, AF, SF, ZF, PF, OF в соответствии с результатом операции. Причем флажки CF и AF становятся флажками заема и устанавливаются в 1, если вычитаемое больше уменьшаемого. |
Отправлено 17 ноября 2017 - 19:06
| CODE |
|
write_byte(0x41BBFC, PID_ACTIVE_MOTION_SENSOR); write_byte(0x41BC12, PID_ACTIVE_MOTION_SENSOR); |
Отправлено 17 ноября 2017 - 22:15
| QUOTE (Fakeman) |
| Короче забей. |
| CODE |
| 81 78 64 D0 00 00 00 cmp [eax+iobj.pid], PID_ACTIVE_MOTION_SENSOR |
Отправлено 18 ноября 2017 - 01:39
| CODE |
| int ret1 - overrides hard-coded handler and selects what should happen with the item (0 - place it back, 1 - remove it, -1 - use engine handler) |
Отправлено 18 ноября 2017 - 03:05
| QUOTE (Fakeman) |
| В общем какие скриптовые манипуляции нужно сделать что-бы двиг корректно удалил предмет, как он это делает в случае когда когда используешь аптечки. |
Отправлено 18 ноября 2017 - 04:56
Отправлено 18 ноября 2017 - 06:55
| QUOTE (Fakeman) |
| Нет) тоже самое будет, если использовать другую функцию которая удаляет несколько экземпляров то она возвратит 0. Что-то в движке не дает удалить этот предмет. |
Отправлено 18 ноября 2017 - 10:55
Отправлено 19 ноября 2017 - 01:17
Отправлено 19 ноября 2017 - 17:59
| QUOTE |
| В общем как узнать сколько лежит предметов в такой стопке? |
Отправлено 25 ноября 2017 - 01:18
| CODE |
| addnamedhandler("iSeeYouInCombat", iSeeYouInCombat); // не addnamedevent! |
Отправлено 25 ноября 2017 - 15:04
| QUOTE (Fakeman) |
| О перечитывал тему и увидел такое, а в чем отличие AddNamedHandler от AddNamedEvent ? |
| CODE |
|
procedure iSeeYouInCombat begin if combat_is_initialized then begin if obj_can_see_obj(self_obj, dude_obj) and свои_условия_для_нападения then attack_setup(self_obj, dude_obj); else begin addnamedevent("iSeeYouInCombat", iSeeYouInCombat); signalnamed("iSeeYouInCombat"); end end end |
Отправлено 25 ноября 2017 - 16:42
| Название темы | Форум | Автор | Статистика | Последнее сообщение | |
|---|---|---|---|---|---|
WL2: Детали: платформы и дополнения |
Новости | hamster |
|
|
|
Дополнения для Skyrim будут большими |
Новости | hamster |
|
|
|
Какой перевод в дополнениях для Fallout 3? |
Дело техники | glotokraya |
|
|
|
Модок \ собачка Леди - дополнения для ЧаВо |
Ты — Избранный | The Master |
|
|
|
Неполадка с дополнениями |
Дело техники | Hero of Wasteland |
|
|
0 пользователей, 1 гостей, 0 анонимных