Fakeman
3 December 2017 | 18:59
CODE |
0000003C combat_state dd ? ; 1 - бой, 2 - враги вне зоны, 4 - убегает |
Это для каждого криттера на карте нужно проверить его флаг 3С на значение 1. так read(obj + 0x3c) ?
Crafty
3 December 2017 | 19:12
QUOTE (Fakeman) |
Это для каждого криттера на карте нужно проверить его флаг 3С на значение 1. |
Нет, всё сложнее ;)
Fakeman
3 December 2017 | 19:57
Что сложнее, мне надо узнать может ли выйти игрок из боя или нет, как это проверить?
не нужны мне тут никакие combatai_want_to_join и п.р.
QUOTE |
тут нужно прыгать на add esp, 8 или add esp тоже надо пропускать? Второе. |
Первое. :)
Отправлено: 3 дек 17 20:33
Потестил твое исправление чето фигня какая-то, криво работает.
Пока не включишь/выключишь навык скрытность всегда будет показывать одно зависшее значение "success", можно выйти из укрытия и ходить под носом у криттера и функция будет возвращать всегда "success" (при включенном навыке в 20%) пока не передернешь) короче багнутая функция в движке.
CODE |
В F2 посложнее проверка через минуту если предыдущий результат >= ROLL_SUCCESS, в противном случае там зависимость от скилла чем выше скилл, тем чаще будет следующая проверка при неудаче в последней проверке (если скилл <= 80, то через минуту, а при скилле > 250 через 10 секунд). |
Хм, минуту говоришь надо ждать? ) щас проверить...
Эм точно при 20% около 2х минут можно ходить под криттером и будет "success" :)
Как-то это неправильно, должно быть чем меньше скил тем быстрее проверка.
Crafty
3 December 2017 | 22:15
QUOTE (Fakeman) |
не нужны мне тут никакие combatai_want_to_join и п.р. |
Там нет переменной а-ля dude_can_end_combat при попытке завершения боя (Enter или все трупики) движок проверяет всех персонажей, то же самое скриптово нужно сделать тебе, опустив вывод сообщения "Бой не может закончиться, если рядом есть враждебные существа." и установку флага выхода из боя.
QUOTE (Fakeman) |
Первое. :) |
Второе :-p Если убивать проверку по 0x452712 (заменив 0x740B на 0xEB1C). Первое, если (как видимо ты и сделал) по 0x45271E (0x9 -> 0xE).
QUOTE (Fakeman) |
Пока не включишь/выключишь навык скрытность всегда будет показывать одно зависшее значение "success", можно выйти из укрытия и ходить под носом у криттера и функция будет возвращать всегда "success" (при включенном навыке в 20%) |
Вообще не понимаю о чём речь и причём тут ходьба под носом у криттера :-p
sneak_success возвращает состояние активности скрытности.
Нажимая "1" ты включаешь скрытность, но это не значит что она активна в момент нажатия делается roll_vs_skill(dude_obj, SKILL_SNEAK, 0) и при удаче (ROLL_SUCCESS или ROLL_CRITICAL_SUCCESS) скрытность становится активной на 1 минуту, а при неудаче неактивной на 1 минуту в F1 или на время в зависимости от уровня скрытности в F2 (чем выше скилл, тем быстрее будет новая проверка). Когда закончится время [не]активности будет сделана новая проверка с теми же последствиями. Само собой [не]активность скрытности влияет на видимость ГГ другими персонажами:
CODE |
if sneak_success then begin // Если скрытность активна distance := distance / 4; // то расстояние видимости уменьшается в 4 раза if has_skill(target, SKILL_SNEAK) > 120 then distance := distance - 1; // и если скрытность > 120, то уменьшается ещё на 1 гекс end else if using_skill(target, SKILL_SNEAK) then distance := distance * 2 / 3; // Если скрытность неактивна, но включена, то расстояние уменьшается на 1/3 |
В своё время я делал чтобы в индикаторе при включённой скрытности менялся цвет текста "СКРЫТНОСТЬ" на красный для неактивности и зелёный для активности, но это очень читерно (особенно с учётом возможности выключения/включения скрытности до получения нужного результата).
QUOTE (Fakeman) |
Как-то легенда жаловалось на твой сфалл что ломает скрытность. |
Аналогичная фигня вообще не понимаю о чём речь :-p
Fakeman
3 December 2017 | 23:16
QUOTE |
Вообще не понимаю о чём речь и причём тут ходьба под носом у криттера :-p sneak_success возвращает состояние активности скрытности. Нажимая "1" ты включаешь скрытность, но это не значит что она активна в момент нажатия делается roll_vs_skill(dude_obj, SKILL_SNEAK, 0) и при удаче (ROLL_SUCCESS или ROLL_CRITICAL_SUCCESS) скрытность становится активной на 1 минуту |
хех, теперь понял принцип работы, просто кидаем кубики-рубики и смотрим результат))
а я то думал это зависит от того видят ли тебя другие нпс и если не видят то SUCCESS.
QUOTE |
Если убивать проверку по 0x452712 |
Ну ты не внимательный, это же первая проверка, в случае отсутствия такого файла будет выводится ошибка в лог, а я убрал второе то которое просто тупо пишет что звук проигран.
Crafty
3 December 2017 | 23:52
QUOTE (Fakeman) |
хех, теперь понял принцип работы, просто кидаем кубики-рубики и смотрим результат)) |
Дак прелесть же, все думают что включил скрытность и получил плюшку, а оказывается она ещё должна прокнуть для полного эффекта ;)
Fakeman
4 December 2017 | 00:21
QUOTE |
при попытке завершения боя (Enter или все трупики) движок проверяет всех персонажей |
Мне не нужна полная аналогия движковой проверки (не нужно проверять трупиков/в отключке и пр) мне нужно тупо проверить у криттера находятся ли он в бою. Какое значение я у него должен проверить? даже если он уже труп, мне этого будет достаточно.
за что отвечает pobj.combat_state, это то что мне надо, или нет?
QUOTE |
Дак прелесть же, все думают что включил скрытность и получил плюшку |
да вот это обломище, так обломище))
Crafty
4 December 2017 | 01:13
QUOTE (Fakeman) |
мне нужно тупо проверить у криттера находятся ли он в бою. |
Так то да read_int(source+0x3C) bwand 1.
QUOTE (Fakeman) |
даже если он уже труп |
critter_state(source) bwand 1.
QUOTE (Fakeman) |
мне этого будет достаточно. |
Но не удивляйся если что-то пойдёт не так (убегающий нпс тоже находится в бою, но через Enter можно завершить бой) ;) Кстати, ещё есть terminate_combat и critter_stop_attacking(source) (всех в цикле).
Fakeman
4 December 2017 | 03:16
Спасибо.
Да мне просто нужно узнать атаковал ли игрок/или игрока НПС,
то что там нпс убегает это его личные проблемы, это Dude не волнует :)
Слушай а что может быть такое, в неваде сохраняю игру на твоей версии (1.8 / 1.7.31), меняю сфалл на ориг, и после загрузки игры на твоем сфале получаю краш игры, также наоборот сохраняю на оригинал сфале(3.8.4 / 4.0.1) меняю на твой и тоже после загрузки игра вываливается с крашем, причем на разных картах такое.
Че за несовместимость между сфалами такая в неваде?
Невада фоксовская сборка, единственное я для него в движке менял маркер(версию) для сохраненок, т.е. другие сохранки от ф2 не будут грузится будет писать "старая версия", но я что-то не думаю что из-за этого.
Это что за прикол такой ты там для невады ничего не менял?
Crafty
4 December 2017 | 04:44
QUOTE (Fakeman) |
Да мне просто нужно узнать атаковал ли игрок/или игрока НПС, то что там нпс убегает это его личные проблемы, это Dude не волнует :) |
А как быть со случайками, когда одна группа нпс нападает на другую?
Ещё есть сфалловские get_last_attacker и get_last_target.
QUOTE (Fakeman) |
Че за несовместимость между сфалами такая в неваде? |
В ddraw.ini есть MultiPatches и DataLoadOrderPatch? Скорее всего достаточно включить только вторую переменную.
QUOTE (Fakeman) |
Это что за прикол такой ты там для невады ничего не менял? |
А чего сразу я? ;)
Fakeman
4 December 2017 | 04:58
QUOTE |
А как быть со случайками, когда одна группа нпс нападает на другую? |
Т.е. у них не будет установлено то значение? это даже хорошо, ибо если бы оно установилось была бы новая большая проблема :)
QUOTE |
В ddraw.ini есть MultiPatches и DataLoadOrderPatch? |
Я таких и не знаю, есть только в 4.0 вроде, а я сохранялся в 3.8.4
можешь сам попробовать скачай сборку, там твой стоит 1.8 по умолчанию, начни игру и сохранись, потом поменяй сфалл.
Я даже не знаю может это лично у меня такой глюк.
Crafty
4 December 2017 | 05:07
QUOTE (Fakeman) |
Т.е. у них не будет установлено то значение? это даже хорошо, ибо если бы оно установилось была бы новая большая проблема :) |
Будет, о том и речь они в бою, но ГГ не их враг.
QUOTE (Fakeman) |
Я таких и не знаю, есть только в 4.0 вроде, а я сохранялся в 3.8.4 |
Их добавили ещё в 3.7.4 если верить ридми. И конечно я проверил ( только на новой игре), ну и добавив и включив в ини эти две переменные (без них краш, что вполне логично).
Foxx
20 December 2017 | 12:10
CraftyМожешь
данный баг поправить?
Foxx
21 December 2017 | 00:43
Похоже этот баг и перка "Прицел ночного видения" тоже касается.
Fakeman
24 December 2017 | 23:24
Кстати баг решается простым передергиванием кнопки пип-боя (те открыть/закрыть) ;p
Foxx
25 December 2017 | 02:24
Fakeman
У перка "Прицел ночного видения", тоже баг решается. У 10мм пистолета с фонариком в Неваде, даже в описание добавили:
QUOTE |
Правда, иногда он не горит нужно потрясти. |
Можно активную руку сменить на неактивную и обратно. Но хотело бы без лишних телодвижений)))
Fakeman
4 January 2018 | 19:09
Крафти выложи пожалуйста к замороженной верии исходники.
Fakeman
12 January 2018 | 23:45
У тебя в новых сфалах баг в работе функции: party_member_list(0) //макрос party_member_list_critters
Пропускает некоторых партийцев и возвращает нули в массиве.
CODE |
Lookup Party. num: 5 Party:36704520 Name: Bucho Party:0 Name: Bucho Party:0 Name: Bucho Party:35231816 Name: Vic Party:35208536 Name: Cassidy |
с party_member_list_all проблем нет, возвращает всех.
Fakeman
16 January 2018 | 02:05
Крафти как разморозишься ) сделай еще отключалку твоих правок для obj_can_hear_obj из-за нее появляются нежелательные нападения на игрока.
И может ее доработать можно чтобы адекватно работала, а не за километр через стены срабатывала.
Fakeman
25 February 2018 | 03:58
Баг движка:
При переходе с карты на карту через сетки переходов или юзанья лестниц, когда гекс гг при переходе совпадет с гексом зоны сетки перехода на загружаемой карте, то происходит переход на гекс указываемый в сетки перехода на загружаемой карте, а не на гекс изначальной сетки.
Происходит как бы двойной переход. Подозреваю, что и spatial скрипты тоже при этом сработают, но не проверял.
Баг Ассеблера: Не работает/или вырезана опция в ddraw
CODE |
;Additional game msg files added by ExtraGameMsgFileList setting will have consecutive fileIds assigned beginning from 0x2000. ExtraGameMsgFileList= |
Fakeman
15 March 2018 | 16:53
Еще баг ассемблера:
Перестали добавляться контейнеры в инвентарь игрока используя скрипт фильтра.
Думаю ошибка опять в массивах, так как добавление происходит по указателям из массива.
Shifu
16 March 2018 | 07:12
Очень прошу, сделайте оригинальные кнопки (стрелочки "листания") в слотах сохраний.. Перфекционист орет, не могу угомонить..
Fakeman
16 March 2018 | 17:41
QUOTE |
Очень прошу, сделайте оригинальные кнопки (стрелочки "листания") в слотах сохраний.. Перфекционист орет, не могу угомонить. |
+1 очень ужасные кнопки, зачем их нужно было трогать непонятно, как и все другое вырезать.
Foxx
16 March 2018 | 23:19
А мне кнопки в "объеме" больше нравятся. Те мелкие стрелки, никто и не замечал ни когда если их носом не тыкнуть. Я это не так просто говорю, а по наблюдению скидывания сейвов. Раньше (до внедрения больших кнопок) только номера сохранок от 1-10 скидывали, а сейчас и 60 и 200 попадаются)))
А вообще, мне кажется это связано с тех.стороной (как и задний план у "Мода внешности"). И смотреть на такие мелочи)))
Fakeman
17 March 2018 | 04:33
Раньше просто позиция не запоминалась и всегда сбрасывалась в 1, теперь запоминается и игрок просто делает запись в текущей позиции или +/- одна позиция.
Обычному игроку на игру с головой хватает всего 20 слотов, модеру конечно нужно побольше всяких разных сейвов))
Foxx
17 March 2018 | 04:54
QUOTE ("Fakeman") |
модеру конечно нужно побольше всяких разных сейвов)) |
И не говори, не давно удалил около 700мб чужих сейвов пользователи скидывали)))
Я просто стал путаться в этих сотнях сохранок и решил по новой их собирать но уже подписывать, где и какой баг в названии сейва при скачке.
Crafty
26 March 2018 | 20:21
QUOTE (Fakeman) |
Крафти как разморозишься ) сделай еще отключалку твоих правок для obj_can_hear_obj из-за нее появляются нежелательные нападения на игрока. |
Лишнее, проще скрипт исправить.
QUOTE (Fakeman) |
И может ее доработать можно чтобы адекватно работала, а не за километр через стены срабатывала. |
QUOTE |
После включения (CanSeeAndHearFix=1) source может не видеть, но слышать (особенно когда он слепой), нормально работает obj_can_hear_obj. |
QUOTE (Fakeman) |
Баг движка:При переходе с карты на карту через сетки переходов или юзанья лестниц |
Больше похоже на плохой дизайн создателя карты, не?
QUOTE (Fakeman) |
Баг Ассеблера: Не работает/или вырезана опция в ddraw |
Чё?: Не существует :-p
QUOTE (Fakeman) |
Перестали добавляться контейнеры в инвентарь игрока используя скрипт фильтра. |
Без дупля пока скрипт не увижу :-p
QUOTE (Shifu) |
Перфекционист орет, не могу угомонить.. |
Тю, кликни по номеру между кнопок (или "p" нажми), потом вбей 9999, нажми Enter и перфекциониста хватит удар ;-p
QUOTE (Fakeman) |
+1 очень ужасные кнопки, зачем их нужно было трогать непонятно |
Чтобы не создавать и не обрабатывать их (отрисовку/нажатия) самому, когда в движке уже есть функции для этого.
Fakeman
26 March 2018 | 21:33
QUOTE |
Больше похоже на плохой дизайн создателя карты, не? |
Да, но это проблема есть как у меня так у Невады и в Соноре.
приходится перепланировать карту или загораживать этот гекс.
QUOTE |
Чё?: Не существует :-p |
Нет блин, Ты попьяне ее чикнул))
QUOTE |
Чтобы не создавать и не обрабатывать их (отрисовку/нажатия) самому, когда в движке уже есть функции для этого. |
Слушай а в библу есть возможность паковать ресурсы? почему нельзя прикрутить картинку к кнопкам.
Отправлено: 26 мар 18 21:38
Имхо очень долеко слышат, наверное с прослушкой в ушах стоят))
Crafty
26 March 2018 | 23:45
QUOTE (Fakeman) |
приходится перепланировать карту или загораживать этот гекс. |
Можно подправить, но поможет только если ГГ будет попадать на гекс перехода и один из соседних гексов не будет сеткой перехода, чтобы через него уйти дальше на карту, а если полностью будет окружён сеткой перехода, то любой шаг всяко будет кидать на карту из этой сетки.
QUOTE (Fakeman) |
Нет блин, Ты попьяне ее чикнул)) |
Просто не делал :-p
QUOTE (Fakeman) |
почему нельзя прикрутить картинку к кнопкам. |
Можно, но картинок нет, да и не время сейчас ;)
QUOTE (Fakeman) |
Имхо очень долеко слышат, наверное с прослушкой в ушах стоят)) |
Так нужно страшную опцию (CanSeeAndHearFix=1) включить ;-p
Fakeman
27 March 2018 | 02:08
QUOTE |
Можно подправить, но поможет только если ГГ будет попадать на гекс перехода и один из соседних гексов не будет сеткой перехода, чтобы через него уйти дальше на карту, а если полностью будет окружён сеткой перехода, то любой шаг всяко будет кидать на карту из этой сетки. |
Че то не понял твоей сути. опишу по пунктам.
1. Игрок заходит на сетку перехода расположенной на гексе Х
2. грузится карта
3. карта загрузилась, игрок стоит на загруженной карте на гексе Х.
4. Если на гексе X есть сетка, то прыгаем на гекс указываемой этой сеткой.
5. Если на гексе X есть сетка и она является выходом на глобал то прыгаем на стартовый гекс карты.
6. Если на гексе X нет сетки, то переходим как положено на гекс из первой сетки пункта 1.
Не понятно причем тут шаги?)
Мне кажется в пунке 3 или до, надо перемещать гг на другой гекс нулевой к примеру, если нет возможности заблокировать переход в пункте 4 (5).
Crafty
27 March 2018 | 18:29
QUOTE (Fakeman) |
1. Игрок заходит на сетку перехода расположенной на гексе Х 2. грузится карта 3. карта загрузилась, игрок стоит на загруженной карте на гексе Х. |
4. Если на гексе X есть сетка, то она игнорируется и ГГ может уйти с гекса Х, но если на следующем гексе в том направлении куда пошёл ГГ будет сетка перехода, то будет переход.
Мне всяко не на чем проверять, я сделал сам проверяй :-p
Fakeman
27 March 2018 | 19:14
Проверю, но я все равно непонял..
CODE |
Гекс Х это номер гекса где расположена сетка на карте пункта 1, зачем с него уходить гг на загруженной карте?, должен же быть перелет с гекса X на гекс Z записанный в секте карты из п1. |
UPD: Проверил все нормально. Но вот это >> "и ГГ может уйти с гекса Х" осталось для меня загадкой)
Crafty
27 March 2018 | 20:10
QUOTE (Fakeman) |
ГГ может уйти с гекса Х" осталось для меня загадкой) |
Та забил баки этим гексом Х :-p
Fakeman
28 March 2018 | 19:04
Вопрос по IDA
Вот к примеру я ставлю два брекпоинта и в режиме отладки запускаю...
Происходит остановка на первом брекпоинте, далее я нажимаю Run(F9) или прохожусь по коду F8, чтобы посмотреть алгоритм, до второго брекпоинта.
В общем в ida есть возможность посмотреть список какие вызовы(call) были сделаны между двумя брекпоинтами/текущим положением?
ибо запоминать ветвление в голове проходом по F7/F8 это просто не реально.
Есть какой-то call стек но он всегда пустой не непонятно зачем нужен)
Crafty
28 March 2018 | 19:36
QUOTE (Fakeman) |
Вопрос по IDA |
Есть Tracing, но я не пользуюсь, потому подробнее не скажу. Загляни в хелп идовский.
Fakeman
28 March 2018 | 21:32
Нашел окно Functions Call показывает вызовы которые были сделаны, и похоже в порядке их вызова.
А не это тоже фигня, просто список Call'сов имеющихся в текущей функции.
Ладно посмотрю Тrасе но там что-то сложно все.
Wozrogdenec
30 March 2018 | 14:33
Я вижу, что есть некоторая проблематика по сейвам оформил к вам вопросы-предложения в отдельную тему
Модерское сейвоведение
Fakeman
30 March 2018 | 16:56
Crafty, как узнать, что в данный момент ход в бою передан игроку?.
В 4.0 есть hook позволяющий это узнать, или из скрипта duda,
а нужно это узнать без этого, напрямую.
Кстати перенеси новые Hook'и из 4 версии в свой.
И не помешало бы добавить новые скриптовые функции из 4 версии.
Crafty
1 April 2018 | 00:18
QUOTE (Fakeman) |
как узнать, что в данный момент ход в бою передан игроку?. |
CODE |
if call_offset_r0(0x4217D4) == dude_obj then // combat_whose_turn, возвращает 0 если не в бою |
QUOTE (Fakeman) |
Кстати перенеси новые Hook'и из 4 версии в свой. И не помешало бы добавить новые скриптовые функции из 4 версии. |
Не время сейчас, а там как карты лягут ;)
Fakeman
1 April 2018 | 03:17
QUOTE |
Не время сейчас, а там как карты лягут ;) |
Это что перво апрельская шутка?))
Foxx
1 April 2018 | 16:12
Fakeman
Да там просто много работы, а у Crafty своих дел хватает (весна рассада, огород и т.д.) :)))
Fakeman
6 April 2018 | 02:32
Эта фигня работает?) если да то для чего она.
И почему how_much во втором фоле не работает, выключили за ненадобностью?
Crafty
6 April 2018 | 04:43
QUOTE (Fakeman) |
Эта фигня работает?) если да то для чего она. |
"unimplemented", что касается остального, то "меньше знаешь крепче спишь" :-p
QUOTE (Fakeman) |
И почему how_much во втором фоле не работает, выключили за ненадобностью? |
Всё работает :-p
Вот так выглядит do_check:
CODE |
procedure do_check(variable who, variable check, variable modifier) begin variable roll; if check >= STAT_st and check <= STAT_lu then begin modifier := modifier + get_critter_stat(who, check); roll := random(1, 10); Script.how_much := modifier - roll; if roll <= modifier then return ROLL_SUCCESS; else return ROLL_FAILURE; end return 0; // что действительно является ROLL_CRITICAL_FAILURE end |
Использование result := how_much(пофик_что_но_int) вернёт ту разницу.
Для roll_vs_skill использование how_much тоже вернёт разницу:
CODE |
modifier := modifier + has_skill(who, skill); if who == dude_obj and skill == SKILL_STEAL and sneak_success then modifier := modifier + 30; roll := random(1, 100); Script.how_much := modifier - roll; |
Fakeman
6 April 2018 | 05:22
Минут 10 пытался понять смысл и как использовать how_much нифига не понял.
Напиши своими словами а не псевдо кодом из движка.
....
В общем я так понял раз ей на аргумент пофиг то предполагаю, что её надо использовать сразу после do_check/roll_skill для оценки разницы между значением броска кубика и проверяемого стата/скилла, все верно?
Crafty
6 April 2018 | 05:45
QUOTE (Fakeman) |
В общем я так понял раз ей на аргумент пофиг то предполагаю, что её надо использовать после do_check/roll_skill и возвращает она разницу, разницу чего? |
Да, после.
Вот у тебя 5 харизмы, а random(1,10) выбросил 1 вернётся 4, а если выбросил 9, то вернётся -4.
QUOTE (Fakeman) |
Минут 10 пытался понять смысл и как использовать how_much нифига не понял. Напиши своими словами а не псевдо кодом из движка. |
Ну я вот тоже хз какое у неё практическое применение, хотя в связке с roll_vs_skill вроде был какой-то смысл, но я не помню уже какой.
Fakeman
6 April 2018 | 05:57
Понятненько, в принцепи применение ей можно найти специфическое :-)
Fakeman
7 April 2018 | 05:00
Действительно do_check не возвращает критические состояния...
Меня жестко обманули, я разочарован, я ухожу)
Отправлено: 7 апр 18 05:08
QUOTE |
Поэтому последующие проверки на is_critical всегда неудачны. Их нужно заменить или на проверку результата с помощью how_much |
Эээм, а каким таким местом how_much сможет вернуть вам критическую (не)удачу?
Crafty
7 April 2018 | 05:32
QUOTE (Fakeman) |
Действительно do_check не возвращает критические состояния... Меня жестко обманули, я разочарован, я ухожу) |
Прикол в том, что она активно используется в скриптах совместно с is_critical (двери/ловушки) и этот код никогда не выполнится.
QUOTE (Fakeman) |
Эээм, а каким таким местом how_much сможет вернуть вам критическую (не)удачу? |
Никаким, но если разница очень велика, то можно считать это критической [не]удачей. Понятное дело что при "крайних" значениях стата нужно что-то придумывать дополнительно. Потому и хз где её практически использовать.
Fakeman
7 April 2018 | 18:11
Кстати how_much какая-то багованная, ломает последнюю объявленную переменную в процедуре, так что эта переменна похоже содержит неизвестное значение))
как бы еще чего серьезного она не натворила.
CODE |
procedure roll_vs_stat(variable who, variable check_stat, variable modifier) begin
variable result := do_check(who, check_stat, modifier), roll := how_much, // отрицательные значения для неудачного результата броска кубика. stat := get_critter_stat(who, check_stat), crit_type := (stat + modifier) - roll, // 1 - критическая удача, 10 - критическая неудача r_min := 0, r_max := 11, temp;
display_msg("look temp: " + temp);
|
в display_msg в лог выведется два раза фраза вот так "look temp: look temp: "
Crafty
7 April 2018 | 19:12
QUOTE (Fakeman) |
Кстати how_much какая-то багованная, ломает последнюю объявленную переменную в процедуре |
Сам ломаешь ;) У how_much есть аргумент "пофик_что_но_int".