Меню

Что значит ошибка bad allocation

Запись видео с экрана в iSpring Free Cam

Запись экрана в iSpring Free Cam

Разработчик iSpring специализируется на программном обеспечении для E-learning: дистанционного обучения, создания интерактивных курсов, презентаций, тестов и других материалов. Среди прочего, у компании есть и бесплатные продукты, один из которых — iSpring Free Cam (на русском языке, разумеется), предназначенный для записи видео с экрана (скринкастов) и будет рассмотрен далее. См. также: Лучшие программы для записи видео с экрана компьютера.

Заранее отмечу, что iSpring Free Cam не подойдет для записи игрового видео, предназначение программы — именно скринкасты, т.е. обучающие видео с демонстрацией происходящего на экране. Самый близкий аналог, как мне кажется— BB FlashBack Express.

Использование iSpring Free Cam

После загрузки, установки и запуска программы достаточно нажать по кнопке «Новая запись» в окне или главном меню программы, чтобы начать запись экрана.

Главное окно iSpring Free Cam

В режиме записи вам будет доступно выделение области экрана, которую требуется записать, а также скромные настройки параметров записи.

Начать запись экрана в Free Cam

  • Сочетания клавиш для паузы, остановки или отмены записи
  • Опции записи системных звуков (воспроизводимых компьютером) и звука с микрофона.
  • На вкладке «Расширенные» можно задать параметры выделения и озвучивания кликов мыши при записи.

По завершении записи экрана в окне проекта iSpring Free Cam появятся дополнительные возможности:

Также вы можете сохранить проект (не экспортируя в формате видео) для последующей работы с ним в Free Cam.

И последнее, на что стоит обратить внимание в программе, если вы решите ее использовать — настройка команд в панелях, а также горячих клавиш. Для изменения этих опций, зайдите в меню – «Другие команды», после чего добавьте часто используемые или удалите ненужные пункты меню или настройте клавиши.

Настройка команд в Free Cam

Как видите, всё очень просто. И в данном случае не могу назвать это минусом, поскольку хорошо могу представить тех пользователей, для которых эта программа может оказаться тем, что они искали.

Например, среди моих знакомых есть преподаватели, для которых в силу возраста и иной сферы компетенции, современные инструменты для создания обучающих материалов (в нашем случае — скринкастов) могут казаться сложными или требовать непростительно много времени для освоения. В случае с Free Cam, уверен, у них не возникло бы этих двух проблем.

Официальный русскоязычный сайт для загрузки iSpring Free Cam — https://www.ispring.ru/ispring-free-cam

Дополнительная информация

При экспорте видео из программы, единственный доступный формат — WMV (15 FPS, не изменяется), не самый универсальный.

Экспорт видео в iSpring Free Cam

Однако, если не экспортировать видео, а просто сохранить проект, то в папке с проектом вы обнаружите вложенную папку Data, содержащую куда менее сжатое видео с расширением AVI (mp4), и файл с аудио без сжатия WAV. При желании, можно продолжить работу именно с этими файлами в стороннем редакторе видео: Лучшие бесплатные видео редакторы.

Runtime error unknown exception chia: как исправить

Chia — это новая экологичная криптовалюта, разработанная Брэмом Коэном, известным программистом. Использует новый алгоритм консенсуса — «Proof of Space and Time». Майнинг осуществляется за счет использования пространства жестких дисков. Добыча Чиа, в целом, не сложная, но у майнеров часто возникают ошибки, например, chia coin runtime error unknown exception и другие. Давайте рассмотрим, как избежать любой ошибки Чиа (chia error) при майнинге.

Приведем некоторые советы, которым стоит следовать для успешного майнинга, чтобы не возникали различные chia ошибки:

1) Проверьте, отключена ли функция гибернации, переход в сон вашего ПК. Если нет, то отключите. Если ПК уйдет в сон, вы можете потерять весь прогресс.

2) Не забудьте и перепроверьте также, чтобы жесткие диски были отформатированы для поддержки больших файлов. Например: NTFS, APFS, exFAT, ext4. Диски с форматированием FAT (FAT12, FAT16 или FAT32) не подойдут для майнинга монеты chia.

3) Компьютер нельзя выключать, иначе при плоттинге вы потеряете весь прогресс.

4) Если при плоттинге выключился свет или произошел любой другой форс-мажор, то весь прогресс при плоттинге будет утерян. Необходимо будет вручную очистить папку для временных файлов и начать плотить заново.

5) Не называйте папку для временных файлов и папку для складирования плотов русскими буквами, используйте только латиницу.

6) Не указывайте в качестве временного каталога просто диск C, создайте отдельную папку (каталог) с названием на латинице.

Запускайте программу от имени администратора (OS Windows).

7) Если chia зависает, кроме стандартного перезапуска программы, попробуйте удалить папку .chia (для Windows OS) на диске C, Пользователи, папка с именем пользователя, .chia.

Эта схема применима и в тех случаях, когда chia майнер вылетает; вылезает любая ошибка, например, у вас появляется уведомления: «chia error 1», «chia ошибка 13» и т.д.

Runtime error unknown exception ошибка chia

Runtime error unknown exception чиа часто возглавляет темы для обсуждения на форумах по майнингу Чиа.

Следуя советам выше, вы сможете предупредить ошибку «chia unknown exception», но есть еще два нюанса, которые необходимо соблюдать:

  • Не создавайте сразу много плотов, не рассчитав свободное место на жестком диске. Или вы столкнетесь с ошибкой chia bad allocation.
  • Запаситесь терпением. Когда вы параллельно поставите формироваться несколько плотов, на 30-32% может показаться, что процесс завис (chia майнинг зависает на 31), но на практике выяснено — необходимо ждать. Из ответов опытных майнеров, в этот момент после 30% запускается вторая фаза, которая длится достаточно долго.

Ошибка chia runtime error — распространенная, поэтому надо быть чрезвычайно внимательным, чтобы майнинг чиа был успешным.

Bad allocation chia как исправить

Если указано большее количество плотов, чем хватает места на диске (обычно SSD) для засева, то у вас может появиться: Runtime Error: bad allocation.

Исправить ее можно только перезапуском программы или чисткой временной папки, которая была создана под плот. При этом вы потеряете весь достигнутый прогресс при создании плотов.

Caught plotting error: Bitfield plotting not supported by CPU

Ошибка появляется, если выставлена галочка в программе «Отключить битовое поле». Когда вы уберете эту галочку программа заработает, запись на диск снизится на 1/3, но памяти будет потребляться больше.

Полностью часть лога выглядит так:

Caught plotting error: Bitfield plotting not supported by CPU [6768] Failed to execute script chia

Traceback (most recent call last):

File «chiacmdschia.py», line 80, in

File «chiacmdschia.py», line 76, in main

File «clickcore.py», line 829, in call

File «clickcore.py», line 782, in main

File «clickcore.py», line 1259, in invoke

File «clickcore.py», line 1259, in invoke

File «clickcore.py», line 1066, in invoke

File «clickcore.py», line 610, in invoke

File «clickdecorators.py», line 21, in new_func

File «chiacmdsplots.py», line 134, in create_cmd

File «chiaplottingcreate_plots.py», line 176, in create_plots

RuntimeError: Unknown exception

Ошибки, связанные с синхронизацией

Синхронизация обычно начинается автоматически, после того как сформированы плоты.

Успешное окончание синхронизации отмечается зеленым.

Если при установке программы, компьютер пишет, что нет синхронизации. Что делать? Удалите все соединения внизу страницы, они автоматически обновятся и начнётся синхронизация.

Chia coin проверка на ошибки

Опытные майнеры советуют всегда проверять уже сформированные плоты на целостность.

Как это сделать:

Откройте PowerShell, зайдите в каталог по следующему пути:

cd C:Users»Имя пользователя»AppDataLocalchia-blockchainapp-1.1.2resourcesapp.asar.unpackeddaemon

Пропишите в командной строке окна PowerShell команду, каталог замените названием вашего каталога и буквы диска, где лежат готовые плоты:

.chia plots check -g «D:Каталог»

Ошибок при проверке случится не должно, а если появились, то необходимо разбираться. Если плот «битый», прибыли он не принесет.

СДО iSpring Online позволяет быстро организовать дистанционное обучение. Простая загрузка материалов и 17 типов отчетов. 30 дней бесплатно!

Рейтинг Alexa: #484,306 Google PageRank: 0 из 10 Яндекс ТИЦ: 20

All-in-one tool to view ipv4 netblockre gistration data, ipv4 allocation table, all domains on same ip address or in same netblock, ASN information.

Рейтинг Alexa: #294,253 Google PageRank: 0 из 10 Яндекс ТИЦ: 10

php , mysql , bulletin , board , free

Google PageRank: 0 из 10 Яндекс ТИЦ: 30

Ошибка базы данных

php , mysql , bulletin , board , free

Google PageRank: 2 из 10

mobile9 is an online destination to share and download FREE content for your device. Over 6 million wonderful members are sharing the fun and 9 billion free downloads served!

Рейтинг Alexa: #5,455 Google PageRank: 4 из 10

Free SMS, Send Free SMS, Send Free SMS to india, Free SMS in india, Free SMS Sites, free SMS to Mobiles, Free SMS website, Free SMS website in india, Free SMS service, Free SMS in india, SMS greetings, Group SMS, Free Group SMS, Joke SMS, SMS Quotes, SMS Jokes.

Рейтинг Alexa: #5,152,824 Google PageRank: 0 из 10 Яндекс ТИЦ: 10

Free Web Hosting service and no ads. Host your website with PHP, MySQL, DirectAdmin, Zend, first class support and premium hosting included. Free hosting guaranteed forever.

Рейтинг Alexa: #47,172 Google PageRank: 4 из 10

Play cool free online games? 4V4 games offer you every day new cool free online games to play!

Google PageRank: 4 из 10

Рейтинг Alexa: #258,319 Google PageRank: 0 из 10 Яндекс ТИЦ: 0

Super high quality Free VPN for Windows, Apple OSX, iPhone 4S, iPad 2 and Google Android Phones/Tablets, secure internet connection and get online surfing anonymity.

Рейтинг Alexa: #1,017,507 Google PageRank: 0 из 10 Яндекс ТИЦ: 0

Play cool free online games? 4V4 games offer you every day new cool free online games to play!

Рейтинг Alexa: #61,894 Google PageRank: 4 из 10

Web Allocation Team

gfns , domain , hosting , whois , ping

Рейтинг Alexa: #14,371,641 Google PageRank: 0 из 10 Яндекс ТИЦ: 0

A free MMORPG game, fully animated that is updated weekly with new adventures! AQWorlds is built in flash so it plays using your web browser without any software to download!

Рейтинг Alexa: #14,409 Google PageRank: 4 из 10

Динамика популярности — Ispring free cam ошибка bad allocation

Google Тренды это диаграмма для отслеживания сезонности ключевых слов. Этот график позволяет лучше понять сезонное изменение полулярности запросов по определенной тематике.

Значения приведены относительно максимума, который принят за 100. Чтобы увидеть более подробную информацию о количестве запросов в определенный момент времени, наведите указатель на график.

Автор

Сообщение

Вставить имя в ответ
Перейти в профиль

Julia_Bogdanova

Репутация: 8

На сайте c 07.09.2012
Сообщений: 2

14.05.2016 00:23

Очень нужна помощь! Вылетает при рендере. пишет Bad allocation WTF . Почему?? и что делать?(

Вставить имя в ответ
Перейти в профиль

jeremi

Репутация: 6

На сайте c 18.11.2009
Сообщений: 42
Одесса

07.07.2016 13:05

у меня то же самое. Видимо не хватает ресурсов компа

Вставить имя в ответ
Перейти в профиль

Lanodris

Репутация: 127

На сайте c 05.11.2011
Сообщений: 37
Москва

EARLDK:
Слив базы моделей.

Пожизненный бан

07.07.2016 13:09

выделите всё , сохраните и импортируйте в новую сцену. Возможно поможет. 

А так надо бы скрин, понять на каком моменте такое творится..

Вставить имя в ответ
Перейти в профиль

Leeira

Репутация: 3316

На сайте c 12.12.2013
Сообщений: 870
Kiev

07.07.2016 13:09

Julia_Bogdanova

может не хватать памяти.Проверьте дисплейсмент на объектах.

Вставить имя в ответ
Перейти в профиль

ВладимирКузьмин

Репутация: 3918

На сайте c 20.09.2009
Сообщений: 797
Москва

07.07.2016 13:58

Скорее всего ругается на нехватку памяти.

Вставить имя в ответ
Перейти в профиль

albatr0s

Репутация: 11828

На сайте c 31.03.2011
Сообщений: 9385
Renderfarm

23.09.2018 16:38

загадка какая то прям с этим bad allocation, ставлю на рендер через DR, на головной машине все норм рендерится, у которой 96 гигов, на ноде со 128 гигами загрузка памяти доходит до 70% после этого выбивает ошибку, что на ноде bad allocation, как только доходит до просчета первого пасса

PS corona 1.7.4

UP проблема решилась увеличением виртуалки до объема оперативки

Вставить имя в ответ
Перейти в профиль

livanskijkedr1908

Репутация: 34

На сайте c 17.05.2018
Сообщений: 6
Kiev

25.02.2019 10:27

Цитата xpp_nd_ruphus:

загадка какая то прям с этим bad allocation, ставлю на рендер через DR, на головной машине все норм рендерится, у которой 96 гигов, на ноде со 128 гигами загрузка памяти доходит до 70% после этого выбивает ошибку, что на ноде bad allocation, как только доходит до просчета первого пасса

PS corona 1.7.4

UP проблема решилась увеличением виртуалки до объема оперативки

Спасибо тебе добрый человек!!!! виртуалька по умолчанию была 256мб, изменил до 32 гб стало все нормально)) еще раз респект…

Вставить имя в ответ
Перейти в профиль

VasyaGol

Репутация: 166

На сайте c 13.12.2015
Сообщений: 19
Одесса

Mozart:

Пожизненный бан

02.08.2021 14:02

Помог PRune Scene

Вставить имя в ответ
Перейти в профиль

Kira3dd

Репутация: 2

На сайте c 03.10.2019
Сообщений: 1

03.08.2021 16:16

Сбросила настройки короны, ошибка пропала.

Обновлено: 30.01.2023

30 ноя. 2013 в 8:28

Купил игру версии Titanium Edition и при запуске выдало ошибку bad allocation,в инете нашел решение:

Для Windows XP
Необходимо проделать следующее:
Правый клик на «Мой компьютер» -> «Свойства» -> «Дополнительно» -> «Загрузка и восстановление системы» -> «Параметры» -> «Правка». После этого у вас откроется файл «boot.ini» внутри которого вы увидите примерно следующее содержание:

multi(0)disk(0)rdisk(1)partition(1)WINDOWS=»Micro soft Windows XP Professional» /noexecute=optin /fastdetect

Добавляем то, что выделено красным:
multi(0)disk(0)rdisk(1)partition(1)WINDOWS=»Micro soft Windows XP Professional» /noexecute=optin /fastdetect /3GB
после перезагрузите компьютер
Я просто добавил в конце строки /3GB перегрузил комп и все стало норм.

Купил игру версии Titanium Edition и при запуске выдало ошибку bad allocation,в инете нашел решение:

Farming Simulator является одним из самых успешных игр-симуляторов на сегодняшний день. Игры подобного жанра позволяют вам попробовать такие вещи как фермерство, строительство, вождение поезда и даже попробовать себя в роли козы или камня. Линейка игр Farming Simulator была впервые выпущена в 2013 году. 25 октября 2016 года был выпущен Farming Simulator 17 и он получил довольно неплохие оценки от игрового сообщества.

Однако в этом симуляторе все же присутствуют различные проблемы: ошибки, вылеты, низкий FPS, проблемы с мультиплеером, черный экран и т.п. В этой статье мы собрали список различных проблем и решения к ним. Прежде чем мы начнем рассматривать этот список, давайте взглянем на системные требования к игре.

Минимальные системные требования

  • ОС: Windows 7, Windows 8, Windows 10
  • Процессор: 2.0 GHz Intel или эквивалентный AMD процессор
  • Оперативная память: 2 GB ОЗУ
  • Видеокарта: Nvidia Geforce GTS 450, AMD Radeon HD 6770 (1GB)
  • Сеть: Широкополосное подключение к интернету
  • Место на диске: 6 GB

Как вы можете видеть, системные требования для этого симулятора довольно скромные. Так что ваш ПК скорее все запустит подобное развлечение. Теперь давайте пойдем непосредственно к проблемам.

Исправление проблем для Farming Simulator 17

Не могу присоединиться к мултиплееру в Farming Simulator 17

Убедитесь, что ваше интернет-соединение находится в стабильном состоянии. Порой проблема может возникать из-за неполадок на сервере игры. Подождите несколько минут и попробуйте подсоединиться заново.

Вылет при запуске Farming Simulator 17

Не могу сменить язык в Farming Simulator 17

Для смены языка выполните следующие действия:

  • Запустите Стим и зайдите в Библиотеку.
  • Нажмите правой кнопкой на Farming Simulator 17 и выберите Свойства.
  • Выберите вкладку Язык и кликните на нужный вам.

Низкий FPS/лаги во время игры в Farming Simulator 17

Для начала нужно убедиться, что ваша видеокарта способна на работу с этим симулятором. Системные требования не высоки, но все же возможно, что являетесь обладателем достаточно старой модели. Однако если проблема не в этом, то вы можете попробовать снизить различные настройки в Панели управления Nvidia или в AMD Catalyst.

Черный экран в Farming Simulator 17

Обновите ваши драйвера для видеокарты, DirectX и Visual C++. Если же это не исправило проблемы, то к сожалению придется подождать официального обновления от разработчиков.

Farming Simulator 17 не запускается на ПК
Советы по устранению проблем:
1) Проверьте минимальные системные требования игры Farming Simulator 17 и сравните со своими параметрами компьютера, а также игру надо запускать на интегрированой видеокарте, а на дискретных nvidia/ati radeon
2) Проверьте пути установки игры, в пути установки не должны путь папок на русском языке.
3) Нажмите правой кнопкой на ярлык игры и запустите ее от имени администратора.

Также в большинства случаев существуют патчи и hotfix который устраняют проблемы в игре. На данный момент есть патч который вносит изменения в игру и устраняет в ней неполадки. (СКАЧАТЬ ПАТЧ ДЛЯ Farming Simulator 17 ПО ССЫЛКЕ ВЫШЕ)

Farming Simulator 17 тормозит, низкий ФПС, зависает, вылетает.

WildStar вылетает на рабочий стол Виндовс

Данил Голубин

народ, подскажите пожалуйста, не изменяется баланс в игре, даже если: продать транспорт, взять кредит, отдать кредит.Что делать?

DELETED

почему когда я установил моды у меня техника перестала ехать назад?

Артур Усманов

у меня ошибка bad allocation out of memory возникает при покупки техники
помогите пж зарание спасибо

Максим Кушнарев

Помогите пожалуйста при купив игру в Стиме я её установи после установки нажимаю играть у меня начинает загрузка. Но сома игра не запускается типо вылетает что делать

DELETED

Артур Усманов

Артур Усманов

У МЕНЯ ЭТА ОШИБКА ПРИ ПОКУПКЕ ТЕХНИКИ НАЖИМАЮ КУПИТЬ И ВЫЛЕТАЕТ С ТОКОЙ ОШИБКОЙ

Артур Усманов

Andrey Grigoriev

Никита Петрыкин

У меня проблема после выполнения контракта пишет что бонус за время 0 постоянно, хотя раньше давал, что делать?

Евгений Мочалкин

подскажите проблема есть вклчаешь свет на технике и её не видно от 3 лицо.в чем причина

Проблемы с игрой Farming Simulator 2017 — 2019 ответы на вопросы

Игорь Ковалёв

Арина Богуш

Всем привет)
Как в пиратке fs17 играть по сети?
Помогите, кто знает

Всем привет. Кто поможет с исправлением ошибок на карте? Переделал малость карту Средняя полоса России для фс17,добавил производства, но ошибок много

Андрей Сергеев

Иван Скурат

помогите при запуске чёрный экран потом вылетает прошу помогите если ничего не поможет переустановлю игру в логе есть 2 последние строчки вот такое мб кому поможет помочь решить проблему Error: Failed to compile shader compositeToDevice.cg:2.
Error: Cannot load compositeToDevice.cg

Андрей Сергеев

Кирилл Курлович

Такая проблема в фс19, при запуске игры выкидывает на главный экран загрузки, после чего начинаются видео файлы и выскакивает мышка и показывает загрузку после этого игра виснет показывает чёрный экран и полностью вылетает помогите пожалуйста

Роман Пунько

Айдар Каримов

Ребят такой вопрос, почему техника вообще не пачкается в игре? Настройки высокие, грязь включена.. моды поддерживают грязь на технике. но пачкается только колёса и все
Farming simulator 17

Андрей Сергеев

Читайте также:

      

  • Губы слаще меда как огонь и вода
  •   

  • Теплоэлектростанция subnautica как работает
  •   

  • Где зомби в гта 5
  •   

  • Spd driver install что это
  •   

  • Как улучшить графику в варкрафт 3

What is the C++ Standard specified behavior of new in c++?

The usual notion is that if new operator cannot allocate dynamic memory of the requested size, then it should throw an exception of type std::bad_alloc.
However, something more happens even before a bad_alloc exception is thrown:

C++03 Section 3.7.4.1.3: says

An allocation function that fails to allocate storage can invoke the currently installed new_handler(18.4.2.2), if any. [Note: A program-supplied allocation function can obtain the address of the currently installed new_handler using the set_new_handler function (18.4.2.3).] If an allocation function declared with an empty exception-specification (15.4), throw(), fails to allocate storage, it shall return a null pointer. Any other allocation function that fails to allocate storage shall only indicate failure by throw-ing an exception of class std::bad_alloc (18.4.2.1) or a class derived from std::bad_alloc.

Consider the following code sample:

#include <iostream>
#include <cstdlib>

// function to call if operator new can't allocate enough memory or error arises
void outOfMemHandler()
{
    std::cerr << "Unable to satisfy request for memoryn";

    std::abort();
}

int main()
{
    //set the new_handler
    std::set_new_handler(outOfMemHandler);

    //Request huge memory size, that will cause ::operator new to fail
    int *pBigDataArray = new int[100000000L];

    return 0;
}

In the above example, operator new (most likely) will be unable to allocate space for 100,000,000 integers, and the function outOfMemHandler() will be called, and the program will abort after issuing an error message.

As seen here the default behavior of new operator when unable to fulfill a memory request, is to call the new-handler function repeatedly until it can find enough memory or there is no more new handlers. In the above example, unless we call std::abort(), outOfMemHandler() would be called repeatedly. Therefore, the handler should either ensure that the next allocation succeeds, or register another handler, or register no handler, or not return (i.e. terminate the program). If there is no new handler and the allocation fails, the operator will throw an exception.

What is the new_handler and set_new_handler?

new_handler is a typedef for a pointer to a function that takes and returns nothing, and set_new_handler is a function that takes and returns a new_handler.

Something like:

typedef void (*new_handler)();
new_handler set_new_handler(new_handler p) throw();

set_new_handler’s parameter is a pointer to the function operator new should call if it can’t allocate the requested memory. Its return value is a pointer to the previously registered handler function, or null if there was no previous handler.

How to handle out of memory conditions in C++?

Given the behavior of newa well designed user program should handle out of memory conditions by providing a proper new_handlerwhich does one of the following:

Make more memory available: This may allow the next memory allocation attempt inside operator new’s loop to succeed. One way to implement this is to allocate a large block of memory at program start-up, then release it for use in the program the first time the new-handler is invoked.

Install a different new-handler: If the current new-handler can’t make any more memory available, and of there is another new-handler that can, then the current new-handler can install the other new-handler in its place (by calling set_new_handler). The next time operator new calls the new-handler function, it will get the one most recently installed.

(A variation on this theme is for a new-handler to modify its own behavior, so the next time it’s invoked, it does something different. One way to achieve this is to have the new-handler modify static, namespace-specific, or global data that affects the new-handler’s behavior.)

Uninstall the new-handler: This is done by passing a null pointer to set_new_handler. With no new-handler installed, operator new will throw an exception ((convertible to) std::bad_alloc) when memory allocation is unsuccessful.

Throw an exception convertible to std::bad_alloc. Such exceptions are not be caught by operator new, but will propagate to the site originating the request for memory.

Not return: By calling abort or exit.

What is the C++ Standard specified behavior of new in c++?

The usual notion is that if new operator cannot allocate dynamic memory of the requested size, then it should throw an exception of type std::bad_alloc.
However, something more happens even before a bad_alloc exception is thrown:

C++03 Section 3.7.4.1.3: says

An allocation function that fails to allocate storage can invoke the currently installed new_handler(18.4.2.2), if any. [Note: A program-supplied allocation function can obtain the address of the currently installed new_handler using the set_new_handler function (18.4.2.3).] If an allocation function declared with an empty exception-specification (15.4), throw(), fails to allocate storage, it shall return a null pointer. Any other allocation function that fails to allocate storage shall only indicate failure by throw-ing an exception of class std::bad_alloc (18.4.2.1) or a class derived from std::bad_alloc.

Consider the following code sample:

#include <iostream>
#include <cstdlib>

// function to call if operator new can't allocate enough memory or error arises
void outOfMemHandler()
{
    std::cerr << "Unable to satisfy request for memoryn";

    std::abort();
}

int main()
{
    //set the new_handler
    std::set_new_handler(outOfMemHandler);

    //Request huge memory size, that will cause ::operator new to fail
    int *pBigDataArray = new int[100000000L];

    return 0;
}

In the above example, operator new (most likely) will be unable to allocate space for 100,000,000 integers, and the function outOfMemHandler() will be called, and the program will abort after issuing an error message.

As seen here the default behavior of new operator when unable to fulfill a memory request, is to call the new-handler function repeatedly until it can find enough memory or there is no more new handlers. In the above example, unless we call std::abort(), outOfMemHandler() would be called repeatedly. Therefore, the handler should either ensure that the next allocation succeeds, or register another handler, or register no handler, or not return (i.e. terminate the program). If there is no new handler and the allocation fails, the operator will throw an exception.

What is the new_handler and set_new_handler?

new_handler is a typedef for a pointer to a function that takes and returns nothing, and set_new_handler is a function that takes and returns a new_handler.

Something like:

typedef void (*new_handler)();
new_handler set_new_handler(new_handler p) throw();

set_new_handler’s parameter is a pointer to the function operator new should call if it can’t allocate the requested memory. Its return value is a pointer to the previously registered handler function, or null if there was no previous handler.

How to handle out of memory conditions in C++?

Given the behavior of newa well designed user program should handle out of memory conditions by providing a proper new_handlerwhich does one of the following:

Make more memory available: This may allow the next memory allocation attempt inside operator new’s loop to succeed. One way to implement this is to allocate a large block of memory at program start-up, then release it for use in the program the first time the new-handler is invoked.

Install a different new-handler: If the current new-handler can’t make any more memory available, and of there is another new-handler that can, then the current new-handler can install the other new-handler in its place (by calling set_new_handler). The next time operator new calls the new-handler function, it will get the one most recently installed.

(A variation on this theme is for a new-handler to modify its own behavior, so the next time it’s invoked, it does something different. One way to achieve this is to have the new-handler modify static, namespace-specific, or global data that affects the new-handler’s behavior.)

Uninstall the new-handler: This is done by passing a null pointer to set_new_handler. With no new-handler installed, operator new will throw an exception ((convertible to) std::bad_alloc) when memory allocation is unsuccessful.

Throw an exception convertible to std::bad_alloc. Such exceptions are not be caught by operator new, but will propagate to the site originating the request for memory.

Not return: By calling abort or exit.

   Мистикан

20.10.15 — 06:33

При большом количестве в ответе сервиса (более 3000 элементов) вылетает ошибка.

Ошибка SOAP сервера:  Неизвестная ошибка. bad allocation.

перенес платформу с сервисами на другую машину с 8gb оперативки.. тот же результат.

Запрос рабочий. проверенно ограничением выборки до 2000 элементов при формировании ответа сервиса.

   Мистикан

1 — 20.10.15 — 06:35

Описание сервиса. Синхронизация Управленческой базы с мобильной платформой, первая выгрузка.

   magicSan

2 — 20.10.15 — 07:10

8 ггов стало многго чтоли …

   Мистикан

3 — 20.10.15 — 07:12

тож не понимаю… 3000 (контрагенты) и на 4гб норм выгружается. а 5500 (контактные лица) и на 8 не хочет.

я вот думаю а апач 32 на это не влияет ли случаем

   magicSan

4 — 20.10.15 — 07:12

нук у тя размер контейнеров то какой?

   magicSan

5 — 20.10.15 — 07:12

контактные там и телефоны наверное

   magicSan

6 — 20.10.15 — 07:14

а файл подкачки резиновым пробывал делать?

   Мистикан

7 — 20.10.15 — 07:19

хмлсхема-строка, булево, инт.. вроде ничего сверхестественного. Да, адреса,телефоны,наименования,GUID…

ща попробую файл подкачки сделать больше

   Мистикан

8 — 20.10.15 — 07:31

16гб файл подкачки = тот же результат. оперативу всю не съедает.. пик на +1гб и ошибка

   Мистикан

9 — 20.10.15 — 07:48

пипец…

в регистре сведений контактная информация записи телефонов (моб,раб) хранятся в 2 различных записях, в запросе я сделал попростенькому, 2 соединения к регистру без временных таблиц. так отрабатывало быстрее. на уровне платформы косяка нет, но веб сервис загинается (

проблема решена

   magicSan

10 — 20.10.15 — 08:35

в чем было то ???

   Мистикан

11 — 20.10.15 — 11:30

«ВЫБРАТЬ ПЕРВЫЕ 2000

        |   КонтактныеЛица.Ссылка,

        |   КонтактныеЛица.Наименование,

        |   КонтактныеЛица.Должность,

        |   КонтактныеЛица.Роль,

        |   КонтактнаяИнформация.Представление КАК Рабочий,

        |   КонтактнаяИнформация1.Представление КАК Мобильный

        |ИЗ

        |   Справочник.КонтактныеЛица КАК КонтактныеЛица

        |       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

        |       ПО КонтактныеЛица.Ссылка = КонтактнаяИнформация.Объект

        |       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация1

        |       ПО (КонтактныеЛица.Ссылка = КонтактнаяИнформация.Объект)

        |ГДЕ

        |   КонтактнаяИнформация.Вид = &Рабочий

        |   И КонтактнаяИнформация1.Вид = &Мобильный»;

С таким запросом веб сервис возвращает ошибку.

«ВЫБРАТЬ

        |    КонтактныеЛица.Ссылка,

        |    КонтактныеЛица.Наименование,

        |    КонтактныеЛица.Должность,

        |    КонтактныеЛица.Роль,

        |    КонтактнаяИнформация.Представление КАК Рабочий

        |ПОМЕСТИТЬ Временная

        |ИЗ

        |    Справочник.КонтактныеЛица КАК КонтактныеЛица

        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

        |        ПО КонтактныеЛица.Ссылка = КонтактнаяИнформация.Объект

        |ГДЕ

        |    КонтактнаяИнформация.Вид = &Рабочий

        |;

        |

        |////////////////////////////////////////////////////////////////////////////////

        |ВЫБРАТЬ

        |    Временная.Наименование,

        |    Временная.Роль,

        |    Временная.Должность,

        |    Временная.Рабочий,

        |    Временная.Ссылка,

        |    КонтактнаяИнформация.Представление КАК Мобильный

        |ИЗ

        |    Временная КАК Временная

        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация

        |        ПО Временная.Ссылка = КонтактнаяИнформация.Объект

        |ГДЕ

        |    КонтактнаяИнформация.Вид = &Мобильный»;

А с этим все нормально

   Мистикан

12 — 20.10.15 — 11:30

первый запрос без «ПЕРВЫЕ 2000»

   Мистикан

13 — 20.10.15 — 11:32

видимо при двойном соединении в регистру с 20000+ записей веб сервису становилось плохо.

Хотя первый вариант запроса отрабатывает быстрее второго

   DmitrO

14 — 20.10.15 — 11:34

(8) сервер 1С небось 32-битный?

   Гёдза

15 — 20.10.15 — 11:35

Апач 32

   Serginio1

16 — 20.10.15 — 11:42

(12) Передавай как ХранилищеЗначение с максимальным сжатием

   Serginio1

17 — 20.10.15 — 11:48

16 + Кстати такой подход используют и в БП

Процедура ДоставитьСообщенияПолучателю(КонечнаяТочка, Знач Сообщения)

    
    Поток = «»;

    
    ОбменСообщениямиВнутренний.СериализоватьДанныеВПоток(Сообщения, Поток);

    
    ОбменСообщениямиПовтИсп.WSПроксиКонечнойТочки(КонечнаяТочка, 10).DeliverMessages(ОбменСообщениямиВнутренний.КодЭтогоУзла(), Новый ХранилищеЗначения(Поток, Новый СжатиеДанных(9)));

    
КонецПроцедуры

  

Мистикан

18 — 21.10.15 — 09:43

(14) какой сервер… файловая =)

Illko

1 / 1 / 1

Регистрация: 25.05.2015

Сообщений: 32

1

19.05.2016, 03:42. Показов 6640. Ответов 3

Метки нет (Все метки)


Такая проблема: выбивает bad allocation в 59 строке мейна.
Запустите программу, введите 2 числа и выберите «Сложение», введите «0 1».
Пишут, что эта ошибка связана с оператором new, но в классе Hex вообще не используются динамические переменные.

«Main.cpp»

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#include <iostream>
#include <Windows.h>
#include <conio.h>
#include "Hex.h"
#include "Mass.h"
using std::cout;
using std::endl;
using std::cin;
using std::string;
using std::getline;
 
void Out(Mass<Hex> &mass) {
    for (int i = 0; i < mass.getIndex(); i++) {
        cout << i << ". " << mass.getElement(i).getNumber() << endl;
    }
}
int main() {
    setlocale(LC_ALL,"rus");
    string str;
    Hex hex;
    Mass<Hex> mass(1);
    do {
        cout << "Введите шестнадцатиричное число: ";
        getline(cin, str);
        try {
            hex.setNumber(str);
            mass.Add(hex);
        }
        catch (std::exception &e) { cout << "Неверный формат ввода!" << endl; }
        cout << "Прекратить ввод? (Y|N)n";
        int Choose;
        do {
            Choose = _getch();
        } while (Choose != 121 && Choose != 110);
        if (Choose == 121)
            break;
    } while (true);
 
    do {
        system("cls");
        Out(mass);
        int Choose = 49;
        cout << "Выберите операцию:n(1)Сложениеn(2)Разницаn(3)Умножениеn(4)Делениеn(5)Перевод в десятичную с.ч.n(6)Перевод двоичного числа в шестнадцатиричноеn";
        do {
            Choose = _getch();
        } while (Choose < 49 || Choose > 54);
        switch (Choose) {
        case 49: {
            cout << "Введите индексы чисел для сложения (через пробел)" << endl;
            int i, j;
            cin >> i >> j;
            try {
                if (i < 0 || i > mass.getIndex())
                    throw new std::exception("Вы выходите за пределы массива!");
                if (j < 0 || j > mass.getIndex())
                    throw new std::exception("Вы выходите за пределы массива!");
 
                cout << "1" << endl;
                cout << mass.getElement(i).Add(mass[j].getNumber()) << endl;
            }
            catch (std::exception &e) {
                cout << e.what() << endl;
            }
        }break;
        case 50: {
            cout << "Введите индексы чисел для разницы (через пробел)" << endl;
            int i, j;
            cin >> i >> j;
            try {
                if (i < 0 || i > mass.Length())
                    throw new std::exception("Вы выходите за пределы массива!");
                if (j < 0 || j > mass.Length())
                    throw new std::exception("Вы выходите за пределы массива!");
                cout << mass[i].Sub(mass[j].getNumber()) << endl;
            }
            catch (std::exception &e) {
                cout << e.what() << endl;
            }
        }break;
        case 51: {
            cout << "Введите индексы чисел для умножения (через пробел)" << endl;
            int i, j;
            cin >> i >> j;
            try {
                cout << mass[i].Mul(mass[j].getNumber()) << endl;
            }
            catch (std::exception &e) {
                cout << "Вы выходите за пределы массива!" << endl;
            }
        }break;
        case 52: {
            cout << "Введите индексы чисел для деления (через пробел)" << endl;
            int i, j;
            cin >> i >> j;
            try {
                cout << mass[i].Div(mass[j].getNumber()) << endl;
            }
            catch (std::exception &e) {
                cout << "Вы выходите за пределы массива!" << endl;
            }
        }break;
        case 53: {
            cout << "Введите индекс числа для перевода" << endl;
            int i;
            cin >> i;
            try {
                cout << mass[i].Hex_to_Dec(mass[i].getNumber()) << endl;
            }
            catch (std::exception &e) {
                cout << "Вы выходите за пределы массива!" << endl;
            }
        }break;
        case 54: {
            cout << "Введите двоичное число" << endl;
            string i;
            getline(cin, i);
            try {
                cout << mass[0].Double_to_Hex(i) << endl;
            }
            catch (std::exception &e) {
                cout << "Неверный формат ввода!" << endl;
            }
        }break;
        }
        cout << "Закончить программу?(Y|N)";
    } while (_getch() != 121);
    return 0;
}

«Mass.h»

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#pragma once
#include <exception>
template <class T>
class Mass {
private:
    T* mas;
    int index = 0;
    int n = 0;
 
    void MoreLength() {
        T* _mas = new T[n];
        int _n = n;
        n = n * 1.5 + 2;
        for (int i = 0; i < _n; i++)
            _mas[i] = mas[i];
        delete[] mas;
        mas = new T[n];
        for (int i = 0; i < _n; i++) {
            mas[i] = _mas[i];
        }
        delete[] _mas;
    }
public:
    Mass() {
        n = 10;
        mas = new T[10];
    }
    Mass(int _n) : n(_n) {
        mas = new T[_n];
    }
    Mass(const Mass &_mas) {
        delete[] mas;
        n = _mas.n;
        mas = new T[n];
        for (int i = 0; i < _n; i++) {
            mas[i] = _mas.mas[i];
        }
        index = 0;
    }
    ~Mass() { delete[] mas; }
 
    int Length() { return n; }
    T getElement(int _index) {
        if (_index < n && _index >= 0)
            return mas[_index];
        else throw new std::exception;
    }
    void setElement(T value, int _index) {
        while (true) {
            if (_index >= n)
                MoreLength();
            else break;
        }
        if (_index >= 0)
            mas[_index] = value;
        else throw new std::exception;
    }
    T* getMass() { return mas; }
    T &operator[](int i) { return getElement(i); }
    void Add(T obj) {
        setElement(obj, index);
        index++;
    }
    int getIndex() { return index; }
};

«Hex.h»

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
#include <string>
#include <exception>
#include <cmath>
#include <iostream>
using namespace std;
#pragma once
class Hex {
private:
    std::string number;
    bool isHex() {
        for (int i = 0; i < number.length(); i++)
        {
            switch (number[i]) {
            case '0': case '1': case '2':case '3':case '4':case '5':case '6':
            case '7':case '8':case '9':case 'A':case 'B':case 'C':case 'D':
            case 'E':case 'F':break;
            default: return false;
            }
        }
        return true;
    }
    bool isDouble(std::string double_number) {
        for (int i = 0; i < double_number.length(); i++)
            if (double_number[i] != '0' && double_number[i] != '1')
                return false;
        return true;
    }
public:
    Hex() { number = "0"; }
    Hex(std::string _number): number(_number){}
    ~Hex() {}
    Hex(const Hex &_number) {
        number = _number.number;
    }
    int Hex_to_Dec(std::string _number)
    {
        int k;
        int dec_number = 0;
        for (int i = 0; i < _number.length(); i++) {
            switch (_number[i]) {
            case 'A': k = 10; break;
            case 'B': k = 11; break;
            case 'C': k = 12; break;
            case 'D': k = 13; break;
            case 'E': k = 14; break;
            case 'F': k = 15; break;
            case '1': k = 1; break;
            case '2': k = 2; break;
            case '3': k = 3; break;
            case '4': k = 4; break;
            case '5': k = 5; break;
            case '6': k = 6; break;
            case '7': k = 7; break;
            case '8': k = 8; break;
            case '9': k = 9; break;
            case '0': k = 0; break;
            }
            dec_number += k*pow((double)16, (double)_number.length() - i - 1);
        }
        return dec_number;
    }
    std::string Hex_to_Double() {
        std::string k;
        std::string double_number = "";
        for (int i = 0; i < number.length(); i++) {
            switch (number[i]) {
            case 'A': k = "1010"; break;
            case 'B': k = "1011"; break;
            case 'C': k = "1100"; break;
            case 'D': k = "1101"; break;
            case 'E': k = "1110"; break;
            case 'F': k = "1111"; break;
            case '1': k = "0001"; break;
            case '2': k = "0010"; break;
            case '3': k = "0011"; break;
            case '4': k = "0100"; break;
            case '5': k = "0101"; break;
            case '6': k = "0110"; break;
            case '7': k = "0111"; break;
            case '8': k = "1000"; break;
            case '9': k = "1001"; break;
            case '0': k = "0000"; break;
            }
            double_number += k;
        }
        return double_number;
    }
    int Double_to_Dec(std::string double_number) {
        if (isDouble(double_number))
            throw new std::exception;
 
        int dec_number = 0;
        for (int i = 0; i >= double_number.length(); i++) {
            if (double_number[i] == '1')
                dec_number += pow(2, double_number.length() - 1 - i);
        }
        return dec_number;
    }
    std::string Dec_to_Hex(int dec_number) {
        std::string hex_number = "";
        std::string ch = "";
        if (dec_number < 0)
            ch = "-";
        dec_number = abs(dec_number);
        while (true) {
            double d = dec_number / 16;
            if (d < 1) {
                break;
            }
            switch (dec_number % 16) {
            case 15: hex_number += "F"; break;
            case 14: hex_number += "E"; break;
            case 13: hex_number += "D"; break;
            case 12: hex_number += "C"; break;
            case 11: hex_number += "B"; break;
            case 10: hex_number += "A"; break;
            default: {
                char temp[1];
                _itoa_s(dec_number % 16,temp,10);
                hex_number += temp;
            }
            }
            dec_number = dec_number / 16;
        }
        char temp[1];
        _itoa_s(dec_number % 16, temp, 10);
        hex_number += temp;
        hex_number += ch;
        std::string true_hex = "";
        for (int i = 0; i < hex_number.length(); i++) {
            true_hex += hex_number[hex_number.length() - 1 - i];
        }
        return true_hex;
    }
    std::string Double_to_Hex(std::string double_number) {
        int dec_number = Double_to_Dec(double_number);
        return Dec_to_Hex(dec_number);
    }
 
    void setNumber(std::string _number) {
        if (isHex())
            number = _number;
        else throw new std::exception;
    }
    std::string getNumber() { return number; }
    std::string Add(std::string _number) {
        int first = Hex_to_Dec(number),
            second = Hex_to_Dec(_number);
        return Dec_to_Hex(first + second);
    }
    std::string Sub(std::string _number) {
        int first = Hex_to_Dec(number),
            second = Hex_to_Dec(_number);
        return Dec_to_Hex(first - second);
    }
    std::string Mul(std::string _number) {
        int first = Hex_to_Dec(number),
            second = Hex_to_Dec(_number);
        return Dec_to_Hex(first * second);
    }
    std::string Div(std::string _number) {
        int first = Hex_to_Dec(number),
            second = Hex_to_Dec(_number);
        return Dec_to_Hex(first / second);
    }
    bool operator>(Hex &n) {
        if (Hex_to_Dec(number) > Hex_to_Dec(n.getNumber()))
            return true;
        return false;
    }
    bool operator>=(Hex &n) {
        if (Hex_to_Dec(number) >= Hex_to_Dec(n.getNumber()))
            return true;
        return false;
    }
    bool operator<(Hex &n) {
        if (Hex_to_Dec(number) < Hex_to_Dec(n.getNumber()))
            return true;
        return false;
    }
    bool operator<=(Hex &n) {
        if (Hex_to_Dec(number) <= Hex_to_Dec(n.getNumber()))
            return true;
        return false;
    }
    bool operator==(Hex &n) {
        if (Hex_to_Dec(number) == Hex_to_Dec(n.getNumber()))
            return true;
        return false;
    }
    bool operator!=(Hex &n) {
        if (Hex_to_Dec(number) != Hex_to_Dec(n.getNumber()))
            return true;
        return false;
    }
    Hex& operator=(Hex &n) {
        number = n.getNumber();
        return *this;
    }
};

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



6044 / 2159 / 753

Регистрация: 10.12.2010

Сообщений: 6,007

Записей в блоге: 3

19.05.2016, 11:39

2

Цитата
Сообщение от Illko
Посмотреть сообщение

Пишут, что эта ошибка связана с оператором new, но в классе Hex вообще не используются динамические переменные.

Так у вас сколько всего помимо.



0



AlexVRud

693 / 303 / 99

Регистрация: 04.07.2014

Сообщений: 842

19.05.2016, 12:20

3

Цитата
Сообщение от Illko
Посмотреть сообщение

C++
1
2
3
4
int Length() { return n; }
   T getElement(int _index);
//...
   T &operator[](int i) { return getElement(i); }

Как это вообще компилировалось у тебя, ты пытаешься вернуть по ссылке локальную копию объекта.



0



1 / 1 / 1

Регистрация: 25.05.2015

Сообщений: 32

19.05.2016, 17:54

 [ТС]

4

Поменял, спасибо

Добавлено через 2 часа 6 минут
Проблема решена. Я как-то не правильно пользовался функцией _itoa_s(). Поэтому решил обойтись без нее



0



FAQ Farming Simulator

*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:24 | Сообщение # 16

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

41. Вопрос: Скажите, как зделать чтобы культуры росли медленнее, если это возможно?

Ответ: да это возможно, за скорость роста отвечает этот показатель, буквальный перевод будет звучать как «штатное время роста» (пример: пшеница):

<FoliageSubLayer name=»wheat» densityMapTypeIndex=»1″ densityMapChannelOffset=»4″ numDensityMapChannels=»3″ materialId=»319″ cellSize=»8″ viewDistance=»75″ terrainOffset=»0″ objectMask=»65520″ distanceMapIds=»23;21;24;25;26″ distanceMapUnitSizes=»128;128;128;128;128″ separateAvailabilityChannel=»false» atlasSize=»1″ plantThreshold=»0.5″ numBlocksPerUnit=»1.2″ width=»1.5″ height=»1″ widthVariance=»0″ heightVariance=»0.2″ horizontalPositionVariance=»0.5″ growthNumStates=»5″ growthStateTime=»900000″/>

эта переменная — время в милисекундах. Находится она в мap01.i3d карты, в узле <Layers> (это практически в самом конце файла).

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:25 | Сообщение # 17

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

42. Вопрос: Ошибка «Bad allocation». Причины.

Ответ: Если Вы считаете что «слишкам многа буков» — дальше можете не читать, это не для Вас. «Bad allocation» это ошибка системного характера, перевести можно как «плохое размещение», она обуславливается некорректным обращением игрового процессора (не путать с физическим) к одному из адресов страниц оперативной памяти, т.е. процессор обращается по определённому адресу с целью получения/размещения информации для дальнейшего выполнения алгоритма продолжения игрового процесса, а попадает «на деревню дедушке», может быть не совсем понятно, но проще не объяснишь, а исходя из того что по адресу обращения информация отсутствует или она не является продолжением логической цепи происходит сбой, результат — остановка процессора и вывод вышеуказанного сообщения. В общем и целом можно сказать что эта ошибка вызывается нестабильностью работы оперативной памяти. Наблюдается сие в большинстве случаев на машинах имеющих в выполнении большое количество процессов, увидеть которые можно открыв «Диспетчер задач» (Ctrl+Alt+Del) во вкладке «Процессы». Бороться с этим практически бесполезно, конечно уменьшение количества процессов может привести к некоторому положительному результату, снизить загруженность поможет удаление ненужных процессов в «Автозагрузке», есть ещё один способ устранения данной неприятности:
Пуск => Панель управления => Звуки и аудиоустройства => Речь, Воспроизведение речи, Дополнительно => Дополнительные свойства звука, Качество записи, Воспроизведение звука, Аппаратное ускорение, «Нет».
Ещё один способ небольшой оптимизации: этот будет работать только в том случае если у Вас установлены несколько винтов (винчестеров). Для увеличения производительности и стабильности (сомнительно конечно, стабильность то) можно переместить файл подкачки на другой, не системный диск (физический), провернуть это можно следующим образом:
Windows XP: Пуск –> Настройка –> Панель управления –> Система;
– в открывшемся окне Свойства системы на вкладке Дополнительно – в разделе Быстродействие – щелкните кнопку Параметры;
– в открывшемся окне Параметры быстродействия откройте вкладку Дополнительно, внизу в разделе Виртуальная память щелкните кнопку Изменить;
– в открывшемся окне Виртуальная память – вверху в разделе Диск выберите диск, где будет расположен файл подкачки;
– в разделе Размер файла подкачки для выбранного диска установите нужный переключатель: Особый размер (задайте исходный размер и максимальный; для повышения производительности установите исходный и максимальный размер равными), Размер по выбору системы (доверив выбор размера файла подкачки операционной системе) или Без файла подкачки;
– нажмите кнопку Задать –> OK –> OK –> OK.
Ну и как крайняя и радикальная мера — ручное внесение изменений в BIOS, так называемый «разгон», для увеличения стабильности работы памяти (рекомендуется только для опытных пользователей которым это ну прямо смерть как надо либо повёрнутых оверклокеров коим это просто так надо)Не пытайтесь применить так называемые «оптимизаторы» оперативной памяти, ни чего толкового не выйдет поверьте, менеджер памяти Virtual Memory Manager (VMM) и сам прекрасно с этим справляется.
Прежде всего — ни один оптимизатор памяти не может подменить собой менеджера памяти который является частью ядра операционной системы. Поэтому единственное что может сделать оптимизатор памяти — это вмешаться в работу менеджера памяти.
Итак, рассмотрим одну из возможностей, предоставляемую всеми оптимизаторами памяти — увеличение доступной памяти. Достигается это следующим образом. Оптимизатор памяти, как и любая программа является процессом, которому менеджер памяти выделяет свой рабочий набор. Оптимизаторы памяти ведут себя весьма агрессивно и требуют под свои нужды выделения все новых и новых страниц, то есть постоянно расширяют свой рабочий набор. Сделать это нетрудно — нужно лишь за короткое время реализовать многочисленные обращения к несуществующим страницам памяти это вызывает ошибки обращения. В ответ на возникающие ошибки обращения менеджер памяти увеличивает рабочий набор оптимизатора сначала за счет доступной памяти, а когда лимит доступной памяти исчерпывается, расширение рабочего набора оптимизатора достигается за счет механизма замещения страниц, осуществляемого менеджером памяти. То есть рабочие наборы всех остальных процессов уменьшаются, а рабочий набор оптимизатора памяти увеличивается.
После того как рабочий набор выделяемый оптимизатору памяти достигает требуемого значения (это значение можно задавать в оптимизаторах памяти), оптимизатор памяти заканчивает свой процесс, высвобождая рабочий набор. В результате образуется большое количество (заданное в настройках оптимизатора) доступной памяти.
Описанный алгоритм увеличения доступной памяти, который используют все оптимизаторы памяти имеет одно существенное, негативное последствие. Дело в том что во-первых, такая «оптимизация» памяти приостанавливает работу всех остальных программ (особенно если оптимизация происходит в автоматическом режиме), а во-вторых в процессе замещения страниц происходит вытеснение страниц, принадлежащих различным процессам на жесткий диск ПК. После того как оптимизатор заканчивает свою работу, активным процессам, чьи рабочие наборы были вытеснены на диск приходится повторно считывать данные с диска, что, конечно же, негативно сказывается на производительности ПК. Поэтому оптимизаторы памяти создают лишь иллюзию того что они освобождают память, делая ее доступной. На самом деле, как только оптимизатор заканчивает свою деятельность, менеджер памяти возвращает все к исходному состоянию, но достигается это за счет снижения производительности системы.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:26 | Сообщение # 18

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

43. Вопрос: Когда я выделяю дерево почему выделяется вся «земля»?

Ответ: Деревья на редактируемой Вами карте прописаны как культура, это совершенно не страшно и поправимо. Итак:

Как видите для активации слоёв растительности нажата кнопка Terrain Foliage Paint Mode (1), для правой кнопки мыши (RMB) назначена команда Sub (удалить/стереть) (2), в окне Foliage Layer (слой растительности) выбрана требуемая культура (в данном примере какие то херпоймические ёлки) (3). Всё, подготовка для лесоповала закончена, теперь сам процесс. Ну тут чертовски интересно — назначаем радиус активного курсора (окно Radius субпанели Brush) и нажав (и не отпуская) мозолистым пальцем правую клавишу несчастной мыши с силой проводим по ненужному бурелому.

Просека готова. Поздравляю Вас с награждением орденом Сутулого за заслуги перед Отечеством в деле лесозаготовок. Ура, Товарищи.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:26 | Сообщение # 19

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

44. Как (с помощью чего) создать мод?

Для создания модов требуются следующие программы:
Программы 3d моделлинга (на выбор):
Google SketchUp Pro — простая, незатейливая программа слабо подходящая для серьезного моделлинга.
Autodesk 3D Max — мощный 3d редактор. Великолепная организация его встроенного меню материалов с широчайшим набором настроек, фильтров и плагинов, гибкость, обуславливаемая «глубиной» многоуровневых модификаторов делает его одим из лидеров в списке программ работающих с пространственными моделями. К недостаткам можно отнести сложность освоения и слабую реализацию конвертера *.i3d.
Autodesk Maya — ещё один образчик из плеяды «монстров» 3d моделлинга. Используя собственный язык программирования позволяющий без труда конвертировать анимацию и скрипты в среду GE Maya безусловный лидер в моделлинге и модостроении для LS. Как некоторый недостаток можно отметить сложность настройки конвертера *.i3d.
Адаптация моделей к LS 20**: GIANTS Editor. — тут я полагаю комментарии излишни.
Работа с растровой графикой (штукатекстурка): Adobe Photoshop CS*** и аналогичные.
Смешанные типы (2d векторная + растровая графика): Corel Drow C***
Так же необходимы: присутствующая на своём месте (а не меж булок) голова, ну и более — менее прямые руки. (опционально).

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:27 | Сообщение # 20

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

45. Как в гиганте делать культуры ну чтобы когда заходиш в игру сразу поле было засеяно?

Ответ: это довольно просто, рассмотрим всю эту музыку на примере:

Данная кнопка включает режим слоя «foliage» (растительность).

Окно отображения текущего слоя. По умолчанию основных слоёв — пять: пшеница, рожь, гречиха, кукуруза и трава (обычная, обычная, не напрягайтесь), кстати, уж не знаю какие тараканы рулили в головах разработчиков но по их мнению камни (гальку) тоже можно сеять да-да, очевидно это одна из статей аграрного дохода их страны — сеять камни, а потом их собирать, ну да ладно).

Каналы культур. Важнейшие характеристики. При выборе слоя автоматически устанавливаются базовые каналы выбранной культуры, как правило их один-два, в некоторых случаях три, например для слоя «grass» (трава, не путать с «normal Grass») базовый канал — 1. Для этого слоя он неизменен, как впрочем и для так уважаемых разработчиками камней («stone»). на представленном скрине культура подсолнечника в разных стадиях «зрелости», это достигается путём варьирования доп. каналов (базовые каналы отключать не следует, в противном случае Вы вместо скажем подсолнечника начнёте ударными темпами сеять например овёс (просо, гречиху, деньги и т.д.).

Таким образом закончив посевную, сохраняем файл, пакуем, запускаем и тихо а…уеваем от свалившегося на голову счастья, в приятном волнении потирая руки и думая: «Эх-ва, а поля то — ни чьи! Надо бы как то суетнуться. А чё я? Я ни чё. Тихо с…издил и ушёл, называется: нашёл»
Удачной посевной!

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:28 | Сообщение # 21

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

46. Как изменить название карты? Когда загружаешь игру, то появляются выбор карт, а я хочу поменять название карты. И как изменить картинку и слова в строчке, когда загружаешь игру на карте?

Ответ: не знаю на кой ляд это кому то необходимо, но если очень хочется то…..
Открываем «modDesc.xml» (подойдёт любой текстовый редактор) видим следующее:

<?xml version=»1.0″ encoding=»utf-8″ standalone=»no» ?>
<modDesc descVersion=»4″>
<author>GIANTS Software GmbH</author>
<version>1</version>
<title>
<en>RougeBotteMapV1.0</en>
<de>RougeBotteMapV1.0</de>
</title>
<description>
<en>This is the RougeBotteMapV1.0</en>
<de>Dies ist die RougeBotteMapV1.0</de>
</description>
<iconFilename>map01/pda_map.png</iconFilename>
<multiplayer supported=»true»/>
<l10n>
<text name=»RougeBotteMapV1.0Text1″>
<en>RougeBotteMapV1.0</en>
<de>Vous disposez d’une ferme principale, ou vous pouvez stocker vos recoltes de cereales, ainsi que la paille et le foin.
Vous trouverez aussi les semences pour remplir votre semoir, ainsi que la cuve pour le pulverisateur.</de>
</text>
<text name=»RougeBotteMapV1.0Text2″>
<en>RougeBotteMapV1.0</en>
<de>Une seconde ferme se trouve sur la map, qui regroupe l’ensemble des batiments lies au betail. Vous y trouverez donc un hangar a paille, foin et machines et un silo a mais.
Dans le grand couloir de la stabulation vous pouvez vendre vos ballots et charger du fumier. Les vaches se soignent dans la premiere allee, cote ouvert.</de>
</text>
<text name=»RougeBotteMapV1.0Text3″>
<en>RougeBotteMapV1.0</en>
<de>Le camion de lait passera regulierement vider votre cuve a lait, pour l’acheminer le plus vite possible a la laiterie.</de>
</text>
</l10n>

<maps>
<map id=»SampleModMap» className=»SampleModMap» filename=»RougeBotteMap.lua» defaultVehiclesXMLFilename=»defaultVehicles.xml»>
<title>
<en>RougeBotteMapV1.0</en>
<de>RougeBotteMapV1.0</de>
</title>
<description>
<en>Welkom on the RougeBotteMapV1.0</en>
<de>Bienvenue sur l’ RougeBotteMapV1.0</de>
</description>
<briefingImagePrefix>RougeBotteMapV1.0</briefingImagePrefix>
<briefingTextPrefix>RougeBotteMapV1.0</briefingTextPrefix>
<iconFilename>map01/pda_map.png</iconFilename>
</map>
</maps>

</modDesc>

наименование карты при её выборе из списка доступных
её изображение в списке карт
текст (писанина при загрузке, текст только по английски, другой будет проигнорирован
имена скринов брифинга
собственно скрины брифинга

Файл сохраняется и будет Вам счастье.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:29 | Сообщение # 22

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

47. Как в GE удалить поле или закрасить его асфальтом? Все рядом поля зарисовываются а вот само поле остается.

Ответ: «зарисовываются» не поля , а всего лишь текстурные слои, для того что бы удалить реальное поле

Эти инструменты и команды должны быть активны (кнопки «нажаты»).
Канал можно оставить текущий.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:29 | Сообщение # 23

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

48. Хочу поделить большое поле на 4 маленьких, поле уже закультивировано но при нанесении травы, гравия и тд оно не закрашивается. Если поднять ландшафт , то видно результат моих стараний, но следует отдалить и опять приблизить как мой бугорок опять закрашен культивированной землей. обьясните поподробней что я не так делаю ???

Ответ: рассмотрим Ваш вопрос, итак:

дело в том что Вы пытаетесь изменить Texture Layer (слой текстур, далее СТ) не удалив Foliage Layer (слой растительности, далее СР) здесь и кроется ошибка, дело в том что на момент изменения рельефа СР блокируется (или «замораживается» ну это как Вам удобнее) и остаётся на показателях значений позиционирования точек до начала изменения рельефа, как только изменения завершены блокировка снимается но СР продолжает оставаться на прежнем уровне хотя координаты его изменились. Видите ли, разработчики из GIANTS Software посчитали нецелесообразным наличие «моментальной прорисовки» и этот процесс происходит в фоновом режиме. В результате когда Вы «насыпали» ну скажем бугорок, он как бы выпирает над СР и текстура на нём та, которую Вы задали (например Grass), но как только камера «отъезжает» на определённое расстояние (характеристика жёстко прописана в ядре самой программы GE) происходит пересчёт координат СР относительно несущей поверхности (она же СТ) и выстраданная Вами кочка «обтягивается» СР, и пиндец — «тревога, тревога, по всему зимнему лесу тревога! Волк унёс зайчат!». Сам по себе этот слой (СР) является «рабочим пространством» и только на нём возможен «посев» культур за исключением случая принудительного «распахивания», после этой операции (в игровом процессе) границы СР расширяются и ву а-ля можно «землядельничать» на отвоёванных у Целины территориях. СР связан с СТ исключительно координатно, не более. Ну как удалить СР Вы наверное знаете. Да что тут знать? Предыдущий пост.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:30 | Сообщение # 24

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

49. Я забуберил карту, а она , сука, «не видится» в игре.

Ответ: для «видимости» Вашей (да и любой «модной» карты) необходимы следующие файлы:

modDesc.xml
SampleModMap.lua
defaultVehicles.xm
map_preview.dds
sampleModMap_briefing1.dds
sampleModMap_briefing2.dds
sampleModMap_briefing3.dds

Отвечает за загрузку карты и внутренние связи.
Отвечает за загрузку скрипт-связей (анимации, текстур окружающей среды, смен день/ночь и т.д.) главного ядра игры и карты.
Отвечает за загрузку координат точек локализации, типа и количества техники на старте.
Образ — иконка карты (вернее скрина из неё) в списке доступных карт.
Загрузочные скрины отображаемые в процессе загрузки карты.

Но это лишь часть дела. В файле modDesc.xml указываются пути загрузки изображения картинки для PDA, пути загрузки скринов загрузочных и стартового, пишется текст сопроводительных надписей к загрузочным скринам и стартовому скрину, а так же наименование карты и дополнительная информация, такая как например указание авторской принадлежнсти.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:30 | Сообщение # 25

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

50. Карта на PDA не совпадает с действительной. И я ушёл в унылый затуп.

Ответ: Сам образ карты отображаемый на PDA находится в папке map01 редактируемой карты и именуется pda_map.dds. Для его создания необходимо войти с помощью GE в редактируемую карту. Выбрать объект persp и указать следующие значения его позиционирования Translate X — (0), Translate Y — (1900), Translate Z — (0), Rotate X — (-90), Rotate Y — (0), Rotate Z — (0). У Вас получиться приблизительно следующее:

Далее с помощью программы захвата экрана (тот же Fraps) создаём скрин рабочей среды приложения (окно программы), «перегоняем» его в любой графический редактор, производим «вырезку» только самого образа карты, создаём новый файл, вставляем вырезанный фрагмент (при желании его можно графически «подрихтовать») и конвертируем (или «Сохраняем как…») в файл формата *.dds. Файл должен именоваться pda_map.dds (хотя это не критично, его можно назвать хоть zalupa.dds, он не обидится, просто придётся в файле SampleModMap.lua переобозначить имя загружаемого файла карты). Следует помнить что размерность файла карты должна быть строго пропорциональна — 1:1, т. е. 512х512, либо 1024х1024 (второе предпочтительнее), 72 dpi (разрешение с которым капризные GE и LS работают корректно) и формата *.dds. Ну вот в общем то и все хитрости. Как видите «затуп» вполне разрешим. Это то что касалось 4.1.7, в 4.1.9 есть один нюанс который необходимо учитывать, а именно: для корректного и дальнего обзора у объекта persp (вторая камера, в 4.1.9 их две) следует в панели Attributes во вкладке Camera установить значение Far Clip равным 1000000.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:31 | Сообщение # 26

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

52.Пишу везде не кто не отвечает как убрать блеск с модов.как сделать анимацию бункера на комбайне что бы он принажатии на О открывался как на лексионе.и как сделать анимацию вообще.помогите пожалуйста!

Решение (по StarT): Насчёт блеска — откройте i3D файл модельки вордпадом или блокнотом, вверху в блоке <Materials> найдите вот такие строчки — <Reflectionmap fileId=»5″ wrap=»false» type=»cube» resolution=»256″ refractiveIndex=»2″ bumpScale=»0.1″ objectMask=»2147483647″/> — и вырежьте их, ну и для облегчения модельки можно заодно удалить cubemap.dds. Насчёт бункера — хотите сделать как на Лексионе — так вскройте лексион, посмотрите как сделана эта долбанная анимация и повторите её на своей модели, я не знаю, но навряд-ли кто здесь возмётся писать трёхтомное сочинение на тему анимации бункера комбайна, мне например в игре открывание-закрывание бункера даром не надо.
Могу подсказать направление работы. Открываете Лексион гигантом, ищите створки которые анимированы, смотрите вокруг каких осей они вращаются — их три разноцветных, смотрите их индексы, ищите эти индексы в xml и смотрите как и в каком блоке они прописаны, затем выяснить чем эти створки управляются — скриптом самой игры или в модели лежит какой-то скрипт, если скриптом модели — надо смотреть как он в моддеске прописан. После того как всё узнали, надо на том комбайне где нужны открывающиеся створки, эти самые створки сделать так чтобы их оси были как и у Лексиона, посчитать индексы и прописать их также как и в Лексионе, и если надо — вытащить скрипт с Лексиона и прописать его в моддеске. ВСЁ!
Чуть не забыл. Есть вероятность что анимация на Лексионе ещё и в самой модели зашита, надо выделить створки и в панели анимации ткнуть кнопку и посмотреть будут-ли створки шевелится — если будут, надо открыть этот-же файл блокнотом и в самом низу найти блок <Animation> и перенести его, естественно заменив в нём все данные сообразно вашей модели.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:33 | Сообщение # 27

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

53. Скажите как поменять формат мах на i3d?

Ответ: Ну это просто. Изменить его, строго говоря, Вы не сможете. Файлы возможно только конвертировать. Конвертер для этого дела находится в дистрибутивном архиве Всеми нами любимого GE (это здесь), если он у Вас уже установлен сделайте следующее: в папке max_i3d_export_4.1.6b_win32 дистрибутива GE (у меня например она именуется GIANTS Editor 4.1.7 & converter) выберите файл модуля конвертера соответствующий Вашей версии Autodesk 3ds Max, например для Autodesk 3ds Max 2009 необходим модуль I3DExporter2009.dle. Скопируйте данный файл в C:Program FilesAutodesk3ds Max 2009plugins. Теперь в окне выбора формата панели экспорта 3ds Max появится формат .i3d (GIANTS). И только в путь.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:33 | Сообщение # 28

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

54. Сообщение «Инструкция по адресу»0x004434f0″ обратилась к памяти по адресу»0x00000000».Память не может быть «read»»

Способ устранения данного сбоя.

Отключение DEP.
Вся ответственность за возможные негативные последствия целиком будет лежать на Вас!

Для ХР.
Войдите в систему с правами админа.

Нажмите Пуск –> Настройка –> Панель управления –> Свойства папки.

В окне Свойства папки откройте вкладку Вид

В разделе Дополнительные параметры установите флаг Отображать содержимое системных папок, снимите флаг Скрывать защищенные системные файлы, установите переключатель Показывать скрытые файлы и папки –> OK

Откройте Мой компьютер –> диск C:

Найдите скрытый системный файл boot.ini, щелкните его пкм

Из открывшегося контекстного меню выберите Свойства

Снимите флаг Только чтение –> OK.

Откройте файл boot.ini

Установите значение опции noexecute=AlwaysOff

Сохраните сделанные изменения и закройте файл boot.ini По умолчанию используется значение noexecute=OptIn AlwaysOff означает, что функция DEP отключена для всей системы, независимо от наличия аппаратной поддержки DEP. Начиная с XP SP2 32-разрядная версия Windows использует один из следующих методов: функцию no-execute page-protection (NX), разработанную компанией AMD, либо функцию Execute Disable Bit (XD), разработанную компанией Intel. Чтобы использовать указанные функции, необходимо, чтобы процессор работал в режиме расширения физических адресов (Physical Address Extension, PAE). Windows автоматически включает режим PAE для поддержки функции DEP, поэтому пользователям не нужно отдельно включать PAE путем указания параметра /PAE в файле boot.ini Удачи.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:33 | Сообщение # 29

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

55. Вопрос: Я добавил культуру с помощью FS2009 как описано выше, но после уборки комбаином она вырастает вновь, и так, пока не перепашешь поле.

Ответ: Собственно не важно как вы добавили культуру, та же проблема ждет тех, кто прописал ее вручную, но использует мод Map_Fruits.zip. Исправить ее очень просто. Рассмотрим на примере картофеля.
1.Вам понадобится уже указанный Map_Fruits.zip (найти его проще простого, он находится в архивах чуть более чем к миллиону карт для FS2011, плюс google никто не отменял).
2.Извлеките из архива Map_Fruits.zip управляющий скрипт potatoMOD.lua, а так же файл potatoHud.png.
3.Для удобства, создайте в архиве с вашей картой (karta.zip, например) папку scripts, если таковой еще нет. Поместите в созданную вами папку файл potatoMOD.lua. Файл potatoHud.png разместите, к примеру, в папке map01.
Редактируем пути:
4.Откройте в Notepad++ (можно и блокнотом) modDesc.xml файл вашей карты и после строки:
</l10n>
добавьте в дерево новый элемент:
<extraSourceFiles>
<sourceFile filename=»scripts/potatoMOD.lua» />
</extraSourceFiles>
Здесь строка <sourceFile filename=»scripts/potatoMOD.lua» /> содержит путь к нашему скрипту.
5.Откройте в Notepad++ (можно и блокнотом) скрипт potatoMOD.lua. Находим строку:
local hudFile = Utils.getFilename(«mods/Map_Fruits/potatoHud.png», getUserProfileAppPath());
и исправляем путь на новый:
local hudFile = Utils.getFilename(«mods/karta/map01/potatoHud.png», getUserProfileAppPath());
Теперь культура корректно растет. Подобным образом вы можете прописать в корень карты и другие скрипты, например PriceMod.lua. В таком случае в modDesc.xml появятся строки:
<extraSourceFiles>
<sourceFile filename=»scripts/potatoMOD.lua» />
<sourceFile filename=»scripts/ PriceMod.lua » />
</extraSourceFiles>
И так далее. Но будте внимательны к содержанию скрипта, если в нем есть обращение к другим файлам их пути также подлежат исправлению.

 
*FS 2013 Farming Simulator 2013 моды скачать бесплатно Euro Truck Simulator|ls2013mods.ru

dimanix Дата: Пятница, 26.10.2012, 10:37 | Сообщение # 30

Полковник

Группа: Администраторы

Репутация: 67

Статус: Offline

56. Вопрос: Как сделать, чтобы техника не глохла, когда из неё вылезаешь?

Ответ: Для этого нужен скрипт motorIgnition.lua.
В modDesc прописываем:
в графе <specializations> пишем <specialization name=»motorIgnition» className=»motorIgnition» filename=»motorIgnition.lua» /> примерно выглядит это так

Code
<specializations>
<specialization name=»MTZ892″ className=»MTZ892″ filename=»MTZ892.lua»/>
<specialization name=»motorIgnition» className=»motorIgnition» filename=»motorIgnition.lua» />
</specializations>

Далее в графе <vehicleTypes> пишем <specialization name=»motorIgnition» /> и будет это так:
Code
<vehicleTypes>
<type name=»MTZ892″ className=»Vehicle» filename=»$dataS/scripts/vehicles/Vehicle.lua»>
<specialization name=»motorized» />
<specialization name=»steerable» />
<specialization name=»hirable» />
<specialization name=»aiTractor» />
<specialization name=»MTZ892″/>
<specialization name=»motorIgnition» />
</type>
</vehicleTypes>

Чтобы запустить двигатель в игре, нужно:

либо назначить в настройках игры эти клавиши:

Либо в inputBinding.xml прописать такие строчки:

Code
<input name=»IGNITION» key1=»KEY_KP_enter»
<input name=»ZUENDUNG» key1=»KEY_KP_enter»

После этого двигатель можно будет запустить нажатием клавиши «Numpad Enter»

 

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Что значит ошибка аутентификации при подключении к wifi на телевизоре
  • Что значит ошибка javascript error