Пользователей: 2
Гостей: 1285
Всего: 1287

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
19-06-2011 14:17 GMT3 час. #1493459   
SkyLoader Ты сам то понял, что меняешь, как мняешь и у какого объекта?!
"physic_object" --физический объект класса O_PHYS_S
get_breakable_data и set_breakable_data --функции для работы с net_packet обектов класса O_BRKBL (базовая секция "breakable_object")
actors\svoboda\stalker_sv_balon_1 --вообще модель сталкера, которую пытаешься применить к разрушаемому объекту.
Короче говоря, сплошные несоответствия, и ошибки. Не надо делать абы как. Раз спавнишь физический объект, то и применяй к нему функции для работы с net_packet физических объектов. А если нужен разрушаемый объект, то и спавни соответствующую секцию.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
19-06-2011 15:08 GMT3 час. #1493483   
singapur22, модель непися или монстра можно назначить физ.объекту O_PHYS_S (если секцию создать с этим визуалом) - это мной проверено не раз, и глюков не было. А ф-ций получения и записи нет-пакета физ.объектов в амк я не нашел. Даже в xrs_utils нету.

отредактировал(а) SkyLoader: 19-06-2011 15:33 GMT3 час.

Хочешь работать нормально, работай один!
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
19-06-2011 15:42 GMT3 час. #1493505   
SkyLoader А никто тебе и не говорит, что модель сталкера нельзя назначить физ. объекту. Проблема лишь в том, что в выложенном тобой примере, непонятно кем ты его хочешь сделать (физ. объектом, или разрушаемым объектом). И как не странно, разрушаемым его сделать нельзя, так как моделей обломков не имеет.

А ф-ций получения и записи нет-пакета физ.объектов в амк я не нашел

Юзай net_utils.script от Artos'a. Найдёшь в Simbion'е.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
19-06-2011 16:24 GMT3 час. #1493518   
singapur22, спасибо, заработало. Только, правда, непонятно, зачем Artos сделал обязательным использование ф-ции init(), потому что без нее при использовании get_physic_data(obj) будет вылет local 'spk' (a nil value) (эта переменная = net_packet() в ф-ции init()).


Хочешь работать нормально, работай один!
Shadow X
    
Посты: 6
Откуда: Брест
Возраст:
19-06-2011 17:12 GMT3 час. #1493532   

# Strchi :
Shadow X

1-поставь цены в gamedata/config/misk/trade_generic.ltx для сталков...

2-мод "напарники" уже существует в готовом виде...


Strchi, где можно скачать данный мод напарники?


Angel from Hell
    
Посты: 23
Откуда: Гомель
Возраст: 27
19-06-2011 17:30 GMT3 час. #1493542   
Я немного отвлеку вас от темы моделирования...
Не могли бы вы подсказать новичку как вставить в своем диалоговом окне текст, ограниченный рамкой, который можно прокручивать скроллом только в пределах заданной рамки?


На всякий, если я все же некорректно сформулировал вопрос, мое пояснение:


1) В своем скрипте главного меню я привязал на горячую клавишу F1 свое собственное диалоговое окно, с проверкой включена игра или нет. Если да - выводить окно, если нет - не выводить.
2) В скрипте своего диалогового окна я прописал файл-описатель, настроил его, в общем с текстурами проблем не возникает. Но я пользовался только методом InitStatic, который как я понимаю добавляет статичесие изображения в диалог (изображения, видео, текст и т.д.), над которыми нельзя производить никаких операций типа перемещения в пределах диалогового окна и других мульти-операций. (Это только я так понимаю, поправьте если не прав, ведь за этим на форум и залез:poisk)
3) Я пользовался методом InitStatic без проблем, но когда мне понадобилось вместить большой текст на маленькой территории, я наткнулся на проблему, что я не могу заставить мою статику сжаться на определенной территории, у меня статика записывает весь текст в одну строку.
4) Я полез за поиском решения проблемы в lua_help.script и нашел в нем методы для диалогового окна:

C++ class CScriptXmlInit {
CScriptXmlInit ();

function InitSpinText(string, CUIWindow*);
function InitTab(string, CUIWindow*);
function InitStatic(string, CUIWindow*);
function InitList(string, CUIWindow*);
function InitTrackBar(string, CUIWindow*);
function InitSpinFlt(string, CUIWindow*);
function ParseShTexInfo(string);
function InitLabel(string, CUIWindow*);
function InitSpinNum(string, CUIWindow*);
function InitMapList(string, CUIWindow*);
function ParseFile(string);
function InitCDkey(string, CUIWindow*);
function InitKeyBinding(string, CUIWindow*);
function InitMMShniaga(string, CUIWindow*);
function InitWindow(string, number, CUIWindow*);
function InitEditBox(string, CUIWindow*);
function InitCheck(string, CUIWindow*);
function InitAutoStaticGroup(string, CUIWindow*);
function InitScrollView(string, CUIWindow*);
function InitMapInfo(string, CUIWindow*);
function InitServerList(string, CUIWindow*);
function Init3tButton(string, CUIWindow*);
function InitAnimStatic(string, CUIWindow*);
function InitFrameLine(string, CUIWindow*);
function InitComboBox(string, CUIWindow*);
function InitButton(string, CUIWindow*);
function InitFrame(string, CUIWindow*);
};

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


Труд свободных скриптеров-любителей тяжел и утомителен, полон ошибок и багов, но в то же время интересен, захватывающ и благороден.
Upgrades mod build 1.006 готов. В журнале есть новое видео.
Подробнее в журнале.
Struck
    
Посты: 1946
Откуда:
Возраст:
19-06-2011 17:34 GMT3 час. #1493546   
Angel from Hell читай предыдущие страницы темы, недавно это обсуждалось что надо создавать xml'ку с параметром complex_mode = "1"


Снова в строю.

l
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
19-06-2011 18:43 GMT3 час. #1493571   
Angel from Hell Добавлю к словам Struck'a. Помимо статика, нужно использовать класс CUIScrollView(). Где твой статик с текстом, выводить как один из его элементов. При этом статик, может быть значительно больше по высоте, чем виджет скрола.

над которыми нельзя производить никаких операций типа перемещения в пределах диалогового окна и других мульти-операций. (Это только я так понимаю, поправьте если не прав, ведь за этим на форум и залез)
Почему же нельзя?! Можно. И не только это. Методы установки координат и размеров форм никто не отменял. И даже есть возможность отслеживать наведение курсора на виджет статика. Собственно это главное его отличие от других классов. Ограниченность событий.
По сути, со статиком можно производить любые динамические операции. Буть то, смена текстур, изменение текста, перемещение в пределах монитора, и за его пределы, изменение размеров, растяжение, динамическое обрезание (аналог мапа на пда) и т.д. и т.п.
Всё дело не в ограничениях возможностей, а в ограниченной фантазии, ну и конечно же умении работать с алгоритмами.

отредактировал(а) singapur22: 19-06-2011 18:58 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Artos
    
Посты: 4176
Откуда:
Возраст: 65
19-06-2011 21:01 GMT3 час. #1493650   

SkyLoader: ... непонятно, зачем Artos сделал обязательным использование ф-ции init()
Причин немало, две основные:

1. Модуль нет-пакетов написан универсальным для всех 3-х частей игры (ТЧ/ЧН/ЗП).
Т.о. требуется вначале подстроиться под используемую версию игры и пр. установки.
В ЧН и ЗП (да и в ТЧ не помешает) объект читалки-писалки (oPsF/oPuF) нет-пакетов требуется получать в самом начале старта игры и именно им пользоваться, дабы в дальнейшем исключить некорректные пакеты ...

2. Какой смысл каждый раз получать одни и те же объекты и/или выполныть одни и те же установки/проверки при каждом обращении к модулю? Не проще ли один раз это сделать (при инициализации модуля) и пользоваться в дальнейшем?!

Всего лишь обратившись к модулю нет-пакетов один раз при старте игры (типа: 'if m_net_utils then'), можно его использовать в дальнейшем, не повторяя каждый раз одно и то же, а только заниматься 'чтением/записью'.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Чувак на болоте
    
Посты: 87
Откуда: Волгодонск
Возраст:
19-06-2011 21:56 GMT3 час. #1493670   
Ищу модель билдовского чновца в капюшоне, Помогите плиз!


Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
19-06-2011 22:04 GMT3 час. #1493672   
Вопрос. В момент убийства излома возникает такой вылет

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ... Зона поражения\gamedata\scripts\xr_statistic.script:115: attempt to index local 'npc' (a nil value)

Ну и не понятно из-за чего. В чём может быть дело?


Struck
    
Посты: 1946
Откуда:
Возраст:
19-06-2011 22:11 GMT3 час. #1493674   
Mehanik Yar кусок скрипта бы хоть кинул...излома то прописал в скрипт?


Снова в строю.

l
karavan
    
Посты: 940
Откуда:
Возраст:
20-06-2011 00:34 GMT3 час. #1493703   
Mehanik Yar А че тут думать. Вся статистика убийств записывается в заслуги ГГ. В локальной таблице нет секции с название монстра Излома, просто впиши его туда по аналогии.

З.Ы.: Ты хоть в фаил xr_statistic.script заглядывал? Номер строки 73. :-)


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Struck
    
Посты: 1946
Откуда:
Возраст:
20-06-2011 00:43 GMT3 час. #1493704   
karavan номер сроки 115, не путай человека


Снова в строю.

l
karavan
    
Посты: 940
Откуда:
Возраст:
20-06-2011 01:04 GMT3 час. #1493707   
Struck Да ты что. В файле xr_statistic.script всего 107 строк, а лог пишит про Line : 73.
З.Ы.: Пред тем как постить я заглянул в скрипт. :ye)

добавлено спустя 8 минут

Более того в строке 73 скрипта xr_statistic.script находится функция function getNpcType(npc) и именно на npc лог и указывает. Далее разберать, что как работает не вижу смысла.

отредактировал(а) karavan: 20-06-2011 01:12 GMT3 час.

Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Strchi
    
Посты: 2581
Откуда: Уфа-Челябинск-Фритаун
Возраст:
20-06-2011 03:01 GMT3 час. #1493714   
народ как сделать чтобы как в АМК во время выброса включалась сирена? только не в баре а на блокпосту вояк на кордоне?


karavan
    
Посты: 940
Откуда:
Возраст:
20-06-2011 03:21 GMT3 час. #1493715   
Strchi Если ты имееш ввиду от обькта "рупора", то нужно прописывать логику этому самому "рупору". Например, написать в логике поршень on_info = {+твой_поршень} | преход в новую фазу И в новой фазе логики запускать звук сирены.
А в скрипт выброса добавить выдачу твоего_поршня.


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Artos
    
Посты: 4176
Откуда:
Возраст: 65
20-06-2011 03:46 GMT3 час. #1493717   
karavan
А зачем такие "сложности"? Чтобы игрок в своих ушах слышал звук сирены (иль какой иной) обязательно чтобы матюгальник какую-то логику обрабатывал?
Все одно эта логика запускает некую функцию отыгрывания звука. Достоинство только в том, что можно иметь ID источника звука (матюгальника), хотя не сложно и иным путем его заполучить.
А хорошо ли это? Если при выбросе где-то вдали будет что-то подвывать - можно и не заметить.
Есть условие - при выбросе проигрывать звук. Что мешает по факту самого выброса просто проигрывать нужный звук удобным способом (что и сделано в АМК)?
Методы вывода звука позволяют и играть относительно позиции и играть с нужной громкостью.
Если сделать, чтобы играл сам матюгальник, то ... например, будучи на ферме (Кордон) врядли ты услышишь сирену матюгальника с блок-поста, не говоря о преходе на Свалку. :-)


Strchi
Будь немного поуважительнее к читателям твоих постов и потенциальным отвечающим.
1. 'Народ/чуваки/...' и т.п. - тут все же и не безликая толпа и не стадо баранов ... Задать вопрос иль просто обратииться можно и не указывая конкретных эпитетов адресатам.
2. Не забывай о соблюдении правил форума о грамотности своих постов!
Любое предложение начинается с заглавной буквы.
Грамотное написание - уважение к читающим.

отредактировал(а) Artos: 20-06-2011 04:03 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Strchi
    
Посты: 2581
Откуда: Уфа-Челябинск-Фритаун
Возраст:
20-06-2011 05:50 GMT3 час. #1493723   
karavan Artos спосибо Artos сорри просто привычка говорить народ с работы сохранилась) у нас с утра заставляли упражнения делать и тд) сорри за оффтоп
А вот что я хотел узнать еще как создать свой обьект на основе рупора? то есть я создал колонки в бар заменил радио и развешал по стенкам не работают(


Artos
    
Посты: 4176
Откуда:
Возраст: 65
20-06-2011 06:10 GMT3 час. #1493724   
Strchi
Ну а в чем загвоздка?
Спавнишь объект секции (класса) 'physic_object' (см. аналогичное радио у Сидор**5001618d69873ce82a42**dle]
snd = my_music

[hit]
on_info = %+my_radio_off%
on_info = {+my_radio_off} nil [/code]

- при попадании в него - заглохнет, а до этого будет пиликать твой музон (my_music). Музон конечно следует прописать в соотв. скриптах.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
LexMalin
    
Посты: 138
Откуда: Тверь
Возраст: 41
20-06-2011 08:05 GMT3 час. #1493734   
Народ, подскажите в каком файле редактировать время рассвета и заката?


Квадроксенонекроуринофобия - это вам не шутки!
VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 27
20-06-2011 08:23 GMT3 час. #1493739   
Как убрать пси-излучение на Янтаре?


karavan
    
Посты: 940
Откуда:
Возраст:
20-06-2011 08:49 GMT3 час. #1493740   
Товарищи! Ну вот почему не хочется отвечать на такие вопросы:

Народ, подскажите в каком файле редактировать время рассвета и заката?


Как убрать пси-излучение на Янтаре?

Наверное потому что это не вопросы, а колоноскопия какае-то.

З.Ы.: Просто подумайте логически, что нужно и где искать. В первом случае это папка, во втором поршень. :dry:


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
20-06-2011 09:36 GMT3 час. #1493746   
Artos, ну а если сей скрипт не подключен к какому-либо моду и нужно с его помощью прочитать один нет-пакет, то придется вызывать еще одну ф-цию - это же геморно. Может сделать флаг, который будет показывать, запускалась ли ф-ция инит вообще. И такую проверку повесить на каждый запуск ф-ции считывания какого-либо нет-пакета, чтобы вылета не было.


Хочешь работать нормально, работай один!
Artos
    
Посты: 4176
Откуда:
Возраст: 65
20-06-2011 09:58 GMT3 час. #1493754   
SkyLoader
Модуль нет пакетов написан с учетом возможности его автономной работы независимо от модов.
Конечно не очень понимаю использование целого модуля ради однократного получения какого-то нетпакета, но ... 'хозяин барин' ... ;-)
Чем задавать подобные вопросы лучше бы просто глянул как используется модуль в том же Симбионе.
Если тебе требуется всего лишь одно обращение для получения нет-пакета какого-то физ-объекта (cse_alife_object_physic), то вариантов немало:
1. Просто получаешь нужную табличку нет-пакета (Table) такими строками:

  local Table = nil --/ табличка для нет-пакета
  if m_net_utils then --/ эта проверка И инициализирует (если еще не ...) сам модуль!
    Table = m_net_utils.Get_Data_ObjPhysic(soObj) --/ серверный объект на входе
  end
  if Table then --/ пакет получен?
    --/ работаем дальше ...

- начальная проверка не отнимает ресурсов, но предохраняет и от отсутствия в моде данного модуля, а вторая - от некорректного объекта / ошибки получения таблицы. Это и есть альтернатива предлагаемому тобою 'флагу'.

2. Можешь просто в начале модуля в установках переменных сразу прописать вместо nil'ов сами функции, которые назначаются в init'e. Такой вариант 'в лоб' тоже сойдет ... для поделки в ТЧ.

3. Просто взять нужные для твоего пакета функции/строки и только их включить в свой скрипт.

4. В любом случае любой мод стартует из из функции '_g.start_game_callback()' (если конечно не переназначено в alife.ltx). Ничего не мешает вставить в конец вызов 'm_net_utils.init()'.

... и т.д.

Примечание Во вчерашнем минификсе к Симбиону включен подкорректированный модуль нет-пакетов, т.е. при 'прямом' вызове рабочей функции специально продублирована проверка инициализации модуля и при необходимости его принудительная инициализация.

отредактировал(а) Artos: 20-06-2011 10:22 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
20-06-2011 10:21 GMT3 час. #1493761   
karavan
Да вроде есть там этот излом, а всё равно вылетает.


-- alterei coloquei rat

local killCountProps = {
neutral_novice = 1, neutral_experienced = 2, neutral_veteran = 3, neutral_master = 4,
monolith_novice = 1, monolith_experienced = 2, monolith_veteran = 3, monolith_master = 4,
military_novice = 1, military_experienced = 2, military_veteran = 3, military_master = 4,
killer_novice = 1, killer_experienced = 2, killer_veteran = 3, killer_master = 4,
ecolog_novice = 1, ecolog_experienced = 2, ecolog_veteran = 3, ecolog_master = 4,
dolg_novice = 1, dolg_experienced = 2, dolg_veteran = 3, dolg_master = 4,
freedom_novice = 1, freedom_experienced = 2, freedom_veteran = 3, freedom_master = 4,
bandit_novice = 1, bandit_experienced = 2, bandit_veteran = 3, bandit_master = 4,
zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,
dark_stalker_novice = 1, dark_stalker_experienced = 2, dark_stalker_veteran = 3, dark_stalker_master = 4,

rat_weak = 1,
tushkano_weak = 1,
cat_weak = 1,
fracture_weak = 1, fracture_normal = 2, fracture_strong = 3,
burer_weak = 1, burer_normal = 2, burer_strong = 3,
flesh_weak = 1, flesh_normal = 2, flesh_strong = 3,
boar_weak = 1, boar_normal = 2, boar_strong = 3,
dog_weak = 1, dog_normal = 2, dog_strong = 3,
zombie_weak = 1, zombie_normal = 2, zombie_strong = 3, zombie_immortal = 4, zombie_hell = 4, zombie_ghost = 5,zombie_uheni= 5,zombie_gawno= 6,
pseudodog_weak = 1, pseudodog_normal = 2, pseudodog_strong = 3,
psy_dog_weak = 1, psy_dog_normal = 2, psy_dog_strong = 3,
snork_weak = 2, snork_normal = 3, snork_strong = 4,
poltergeist_weak = 2,
pseudo_gigant_weak = 4,
controller_weak = 4,
chimera_weak = 1, chimera_normal = 2, chimera_strong = 3,
bloodsucker_weak = 1, bloodsucker_normal = 2, bloodsucker_strong = 3, bloodsucker_hell = 4
}

local sect_alias = {
burer_normal = "burer_weak", burer_strong = "burer_weak",
chimera_normal = "chimera_weak", chimera_strong = "chimera_strong",
tushkano_normal = "tushkano_weak", tushkano_strong = "tushkano_weak",
poltergeist_normal = "poltergeist_weak", poltergeist_strong = "poltergeist_weak",
pseudo_gigant_normal = "pseudo_gigant_weak", pseudo_gigant_strong = "pseudo_gigant_weak",
controller_normal = "controller_weak", controller_strong = "controller_weak",
fracture_normal = "fracture_weak", fracture_strong = "fracture_weak", fracture_weak = "fracture_weak",
zombie_weak = "zombie_weak", zombie_normal = "zombie_normal", zombie_strong = "zombie_strong",
zombie_immortal = "zombie_immortal", zombie_ghost = "zombie_ghost", zombie_uheni = "zombie_uheni", zombie_gawno = "zombie_gawno",
psy_dog_weak = "psy_dog", psy_dog_normal = "psy_dog", psy_dog_strong = "psy_dog"
}

monster_classes = {
[clsid.cat_s ] = "cat",
[clsid.burer_s ] = "burer",
[clsid.tushkano_s ] = "tushkano",
[clsid.flesh_s ] = "flesh",
[clsid.zombie_s ] = "zombie",
[clsid.boar_s ] = "boar",
[clsid.dog_s ] = "dog",
[clsid.pseudodog_s ] = "pseudodog",
[clsid.psy_dog_s ] = "psy_dog",
[clsid.psy_dog_phantom_s] = "NIL",
[clsid.snork_s ] = "snork",
[clsid.poltergeist_s ] = "poltergeist",
[clsid.gigant_s ] = "pseudo_gigant",
[clsid.controller_s ] = "controller",
[clsid.bloodsucker_s ] = "bloodsucker",
[clsid.fracture_s ] = "fracture",
[clsid.chimera_s ] = "chimera"
}


function addKillCount(npc)
local props, sect = getNpcType(npc)
if props == nil then
return
end

local sect_name
if sect_alias[sect] ~= nil then
sect_name = sect_alias[sect]
else
sect_name = sect
end

if killCountProps[sect_name] == nil then
print_table(sect_alias)
abort("Statistic ERROR: required section [%s] not present, based [%s]", tostring(sect_name), tostring(sect))
end
actor_stats.add_points(props, sect_name, 1, killCountProps[sect_name])
db.actor:set_character_rank(db.actor:character_rank() + killCountProps[sect_name])
end


function getNpcType(npc)
if IsStalker(npc) then
local community = "neutral"
if npc:character_community() == "monolith" then
community = "monolith"
elseif npc:character_community() == "military" then
community = "military"
elseif npc:character_community() == "killer" then
community = "killer"
elseif npc:character_community() == "ecolog" then
community = "ecolog"
elseif npc:character_community() == "dolg" then
community = "dolg"
elseif npc:character_community() == "freedom" then
community = "freedom"
elseif npc:character_community() == "bandit" then
community = "bandit"
elseif npc:character_community() == "zombied" then
community = "zombied"
end
local rank = ranks.get_obj_rank_name(npc)
return "stalkerkills", community.."_"..rank
else
local community = monster_classes[get_clsid(npc)]
if community == nil then
abort("Statistic ERROR: cannot find monstr class for [%s]", npc:name())
end
if community == "NIL" then
return nil,nil
end

local rank = ranks.get_obj_rank_name(npc)
-- alterei coloquei if
if rank ~= nil and community ~= nil then
return "monsterkills", community.."_"..rank
else
return nil,nil
end
end
end


Artos
    
Посты: 4176
Откуда:
Возраст: 65
20-06-2011 10:30 GMT3 час. #1493763   
Mehanik Yar
Твоя проблема в некорректном вызове функции 'getNpcType(npc)' в 90-ой строке.
На входе имеешь аргументом npc == nil.
Разработчики в оригинале допустили ошибку в строке (115!) принудительного прерывания от этой ошибки:

abort("Statistic ERROR: cannot find monstr class for %s", npc:name())
abort( "Statistic ERROR: cannot find monstr class for [%s]", tostring( npc and npc:name() ) )
(исправлено после правильного замечания singapur22)
- т.е. сами прерывая игру из-за ошибки значения, применяют к nil'у метод 'name', для сообщения в лог об имени объекта.

1. Изменив строку 115:
abort("Statistic ERROR: cannot find monstr class for [%s]", npc and npc:name())
- ты получишь корректный вызов функции аборта ... и вылетишь из игры с другим логом.

2. Смотри сами вызовы 'getNpcType(npc)'(а скорее addKillCount(npc)) из других скриптов (например: generic_object_binder:death_callback(victim, who) ) и ищи где ты теряешь нужный аргумент (npc).

отредактировал(а) Artos: 20-06-2011 18:18 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
20-06-2011 11:37 GMT3 час. #1493791   
Да, теперь другой вылет.

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...\stalker - Зона поражения\gamedata\scripts\_g.script:1117: bad argument #2 to 'format' (string expected, got nil)


Strchi
    
Посты: 2581
Откуда: Уфа-Челябинск-Фритаун
Возраст:
20-06-2011 13:53 GMT3 час. #1493846   
Mehanik Yar Все убил скрипт) когда я шарировал в скриптах в которых не разбираюсь было такое всегда


VOva-VIP
    
Посты: 325
Откуда: Миасс
Возраст: 27
20-06-2011 15:01 GMT3 час. #1493884   
karavan, я искал, но ничего не нашёл. Разве так сложно было ответить на вопрос: Как убрать пси-излучение с Янтаря?




Форумы Архив » Свалка Вопросы и ответы (старое, по 12.09.11)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»