Русскоязычный форум поклонников игры «Они» от Bungie
Строка, зарезервированная движком для каждого входного параметра, ограничена 32-мя символами, считая с конца.
Поэтому "100000000000000000000000000000000" - это всё равно, что ноль. А "700000000000000000000000000000042" - всё равно, что 42.
Кстати, iljaos, в Михином учебнике упомянут твой любимый глюк в правом кольце гуя (если жизни, щит, или маска превышают разумные границы).
Оффлайн
geyser спасибо уже в который раз
awp_master.pro^no clear* я конечно понимаю, что тебе доставляет удовольствие меня поправлять но все же будь по внимательнее. Никто и не спорит, я просто провел исследование, я уже писал что при постановке в chr_set_health большого числа я умер. Вот и решал заняться, вижу что никто не замечал этого.
Оффлайн
Извиняюсь,я никого не хотел обидеть......,ладно буду писать в тему
Оффлайн
Извините за недержание флуда, но всё-таки awp_master.pro^no clear* был прав.
iljaos - важно понимать, что такое большие числа. Даже лосю известно, что хелсы в состоянии оверпауэра спадают быстрее, чем один хелс в секунду, но медленнее, чем в секунду 60 хелсов - иначе стандартного оверпауэра (200 сверх нормы или около того) хватало бы на долгие минуты или считанные секунды, соответственно. Допустим, для наглядности, что десять хелсов спадают за три секунды (на самом деле - 60 хелсов за 11 секунд, то есть примерно 5 хелсов в секунду). Тогда 10^32 (единичка и 32 ноля) пропадут за 30*10^30 (тройка и 31 нолик) секунд. Это - тридцать квадрильонов квадрильонов секунд. Или 30 тысяч миллиардов миллиардов миллиардов. Красиво, но ежу по-прежнему непонятно, много это или мало. Что делать?
Начинаем считать секунды. В одном часу их всего-то 60х60=3600, так что до тысячи в наше время не досчитает только ленивый. А до миллиона - шесть нолей - далеко? Оказывается, порядочно. В году (365 дней по 24 часа и ещё 6 часов) секунд наберётся 31557600, то есть тридцать миллионов, то есть до миллиона - шесть нолей - мы будем считать дней эдак двенадцать - это уже надоедает. А миллиард секунд - девять нолей - это уже тридцать лет. Триллион секунд - двенадцать нолей - 30 тысяч лет. Квадрильон - пятнадцать нолей - 30 миллионов лет, тут уже динозаврами попахивает. А квинтильон - всего-то восемнадцать нолей, казалось бы, плешь собачья - это 30 миллиардов лет. Для сравнения, возраст матушки Земли оценивается в 4 с половиной миллиарда лет, а возраст Вселенной - в 18 миллиардов. Дальше считать - ежу не хватает воображения.
То есть - грубо говоря, в нашем приближении, за год съедается 100 миллионов хелсов (восемь нолей), а со времён динозавров, за сто миллионов лет, съелось бы 10 миллионов миллиардов хелсов (16 нолей). А 32 ноля - это ещё на столько же умножить. Так что, iljaos, прочувствуй разницу между твоими Онишными сейшнами и возрастом динозавров "в квадрате". Единичка и 32 нуля - это тебе не хухры-мухры.
Кроме того, нетрудно проверить, что число с 32-мя десятичными знаками без труда перешибает максимальное представимое в машине 32х-битное целое число, то есть 4 294 967 295 (даже 64х-битное перешибает, которое 18 446 744 073 709 551 615). Что это значит? Это значит, что хелсы персонажа могут иметь значение только от 0 до 4 294 967 295 включительно, а любые числа, выходящие за этот диапазон, делятся с остатком на 4 294 967 296, и хелсы приравниваются к вот этому остатку. То есть, если ты напишешь chr_set_health(0, 4294967300), то новые хелсы Коноки будут мизерные - 4 очка. Добавляя твои любимые нолики, ты всего лишь изучаешь остаток деления Очень Круглых Десятичных Чисел на Очень Круглое Двоичное Число 4 294 967 296.
Итак, мы поняли, что самые большие и долгоиграющие хелсы получаются, если вбить chr_set_health(0, 4294967295), или - что то же самое, но запоминается проще и вбивается быстрее - chr_set_health(0, -1). В переводе на человекочасы это даёт - умножаем на 11 (фрэймы), делим на 60 (секунды), ещë на 60 (минуты), ещё на 60 (часы), ещё на 24 (дни) и ещё на 365,25 (годы) - 25 лет. Даже если врубить fast_mode, который ускоряет игровое время в 10 раз и делает игру невозможной - даже тогда этого хватит на 2 с половиной года.
Так что с большими числами, iljaos, надо дружить, а то они на нашей с тобой могиле что-нибуть такое станцуют.
P.S. А, да. Предупреждение экспериментаторам. Если засетить ai2_showhealth=1, то движок для каждых пяти хелсов рисует чёрточку у каждого чела над головой. Если Конока одна и хелсов у неё, скажем, пять миллинов - это миллион чёрточек, и серьёзная нагрузка для движка. Если сделать максимальные хелсы - 4 миллиарда - то при отображении чёрточек Онька просто повиснет.
Оффлайн
Я уже давно понял что с числами надо дружить. По идее тема поднималась что бы уведомить народ. Понимаю, что единицу с 32 нулями никто ставить не будет, но зачем тогда форумы существуют??? Я и awp_master.pro^no clear* по идее сказал это же самое. Просто дополнение или пояснение как хотите называйте, информация нужна всем, вот посмотрит кто нибудь из тех кто первый раз играет в эту игру, и поймет что хоть и liveforever существует, но с chr_set_health шутить не стоит
Оффлайн
Ты лучше скажи - ты усёк, что от chr_set_health(0, 4294967296) тоже умирают?
( а от 33х-значного 100000000000000000000000000000400 - наоборот - нет )
И что на сутки непрерывной игры хватает chr_set_health(0,500000)?
Оффлайн
всмысле на сутки?я че через сутки сдохну?а если уровень пустой,не одного перса,кто меня килл?а если в уровне 32 муро с 100000000 хп?
Добавлено спустя 1 минуту 1 секунду:
насчет 100000000000000000000000000000400 оно и понятно,у нас 400 хп
Оффлайн
geyser с твоими профессиональными объяснениям, становится почти все понятно.
awp_master.pro^no clear* ты про 32 муро пошутил, что ли???
Оффлайн
НЕ ПОНЯЛ ПРИ ЧЕМ ТУТ 32 МУРО
Оффлайн
awp, "хватит" это не в смысле через день сдохнешь, а через день оверпауер кончится. От противников при таких масштабах зависит не очень сильно. Если ты специально не подставляешься под самые болезненные удары, урон от противников несоразмерим с потерей 5 хелсов в секунду. А 32 перекачанных Муро бьют всего-то в 2.3 раза больнее обычного.
Я думаю, самое важное - помнить, что максимальное 32-х битное неотрицательно целое число - это 4 миллиарда с копейками. И что, поскольку оно неотрицательное, то по модулю (остатку) оно равно -1. Если не нравится минус-единица и есть претензии к полумиллиону, можно вбивать миллиард - его уж точно хватит на годы.
Я думаю, самое важное - помнить, что максимальное 32-х битное неотрицательное целое число - это 4 миллиарда с копейками. И что, поскольку оно неотрицательное, то по модулю (остатку) оно равно -1. Ну и заодно помнить, что 4 миллиарда - это 20 лет оверпауера или 2 года фазовой маски.
Если не нравится chr_set_health(0,-1) и есть претензии к полумиллиону, можно вбивать миллиард - его уж точно хватит на годы.
Ну и конечно, все эти соображения о том, что такое много-мало, можно обобщить на другие неотрицательные целые в Они. С 32-х битными мы разобрались, но есть, в принципе, и 16-битные, максимальное значение которых - 65535. Это уже гораздо меньше часа, если мерить во фреймах. Минут эдак 18. Кроме того, числа бывают со знаком, а это уменьшает максимальное положительное значение вдвое.
Оффлайн
"а если в уровне 32 муро с 100000000 хп?"
Вот я и спросил, в шутку пошутил ты или нет. Ведь никому в голову не придёт такой уровень не проходить. Хотя отъявленным геймерам может и придти
Оффлайн
Ээээ, вдруг в директории с игрой нашел текстовый файл с описанием всех скриптовых команд - что-то раньше я его не замечал. Или я его скопировал откуда-то...
command: ai2_comehere
desc: tells an AI to come to the player
Оффлайн
Наверняка с консоли до этого вбивал dump_docs...
Оффлайн
Мih@ написал(а):
1.1.1. Что такое скрипты, для чего они нужны?
Это командные сценарии, выполняемые в игре. С помощью них вы сможете изменять и разнообразить геймплей.
я не могу сделать новые сценарии? я могу менять только те сценарии, которые заложены в игру?
Оффлайн
Manticore написал(а):
я не могу сделать новые сценарии? я могу менять только те сценарии, которые заложены в игру?
Поподробнее,видимо ты не так понимаешь слово "сценарии",Сценарии-это понятие растяжимое...
Оффлайн
chr_teleport 0 7010
sleep 120
win
тут написано "маи телепортируется в указанную точку и победа". А если я напишу (я образно скажу):
Chr_givepowerup
tank_spawn_guns.
То есть я написал новый сценарий "около Маи появится танк с двумя пушками." Я просто меняю значения в игре с помощью скриптов и не более?
Оффлайн
Manticore написал(а):
Умение написания скриптов поможет в создании мультиплеера или Oni-2? мне кажется что нет.
Умение писать музыку тем более...
Оффлайн