Ma$ter
Ох, и накрутил же ты ... ;-)
Вначале немного поворчу и посоветую 'по форме':
- В топике коды принято 'форматировать' тегом 'code', чтобы НЕ удалялить пробелы, не коверка**500140b7e12bf63c3891**izrak8")
for k,v in pairs(arr) do
get_console():execute("prizrak9")
--/ тут пропустим часть ...
self.description_list:AddItem(itm)
get_console():execute("prizrak15")
end
end
[/code]
- Не советую в выводе на консоль применять 'прямой' текст, т.е. без префикса. По сути это же вывод на консоль команды, которая задана текстом и ... как распарсит движок твой текст еще неизвестно. В ЧН и ЗП он нередко 'давится' и вываливается с фатал-еррором. erlik тебе уже посоветовал применять 'безопасный' префикс, например как в АМК:[code]get_console():execute("load ~ ".."а сюда почти любую строку уже можно конкатенировать")[/code] Ну а по сути:
Не вникал еще особенно вглубь, но уже есть мысля:
Вот этот код:[code] self.picture:InitTexture("ui_iconsTotal_"..item_alias)
self.picture:SetWndSize(83, 47) --/ ???[/code]вроде как и 'мешает' тебе.
Ведь тебе не просто нужно дать размер текстуры, а задать координаты точки начала твоего фрагмента и собственно ширину и высоту этого куска. Т.е. что-то типа:[code] self.picture:SetWndPos(x,y) --/ координата левого-верхнего угла нужного фрагмента
self.picture:SetWidth (w) --/ ширина фрагмента
self.picture:SetHeight(h) --/ высота фрагмента
[/code]
хотя ... может сейчас заблуждаюсь (подзабыл малость) и это относится к выводимому окну, а не к взятой текстуре.
В таком случае придется задавать кучку тэгов в своей xml'ке, в которой прописывать нужные коорданаты кусков (точнее определять их в 'ui_iconstotal.xml' и выводить по идентификатору).
Знаю что очень сильно накрутил и то что этот код можно укоротить строк на 50-100 миниум, но пока я это не умею. Но обещаю исправиться. **500640b7e12bf63c3891**SetWndPos(x,y) --/ координата левого-верхнего угла нужного фрагмента
self.picture:SetWidth (w) --/ ширина фрагмента
self.picture:SetHeight(h) --/ высота фрагмента[/code]
Нет это все относится к размеру самого изображение. Это дублирует надпись self.picture:SetWndSize(x,y)
В таком случае придется задавать кучку тэгов в своей xml'ке, в которой прописывать нужные коорданаты кусков (точнее определять их в 'ui_iconstotal.xml' и выводить по идентификатору).
Собственно что я и пытаюсь сделать. Если ты забыл - ui_iconstotal - оригинальный файл из ТЧ где прописаны иконки для заданий
У меня тут еще один вопросик появился, но он не большой - какое есть функции/методы задания даты (или хотя-бы) времени в игре помимо ниже перечисленных:
На билде 3120 у меня получить время получилось только так:
level.get_time_days()
level.get_time_hours()
level.get_time_minutes()
любой другой вариант получения времини упорно показывал год: 0001, месяц: 01, день: 01, время по нулям
А поменять время оказалось вообще неразрешимой задачей
'Накрутил' - в подобных случаях (не исключаю и себя!), когда видно, что кол-во подобного кода превышает некоторый предел, когда немало времени тратится на его анализ и поиск нестыковок, стОит вспомнить: "Кол-во должно перейти в качество!". Т.е. найти варианты более оптимального кодинга.
Отмазки (и для себя!), что мол это пока 'сырой' код - только гробят время на разбирательства с подобным сырцом. (Это и из личной практики)
'давится' - в данном контексте следующие слова и поясняют: "и вываливается с фатал-еррором". Т.е. при попытке выдать на консоль некоторые комбинации символов/текстов -> игр
Не знаю как в оригинале билда (хотя надо бы проверить), но то что у меня имеется сейчас (а это сыра, не тестированная адаптация январской солянки) есть большие проблемы со временем. А именно: время идет своим чередом при сохранении/загрузке**500340b7e12bf63c3891**= true --флаг для одиночного срабатывания
if frq == true then --проверка на флаг
if gs > 514282522 then --проверка на время с запуска игры
set_current_time(13, 6, 12) --ставим время
get_console():execute("prizrakOWWW__DDDDDDDDDDDDDDDDDDDDDD") --выдаем в консоль
frq = false --выставляем флаг
end
end
[/code]
Но почему-то ничего не получается
В билде твоя функция выводила мне дефолтную дату - 1 год, 1 месяц, 1 день 0 часов, 0 минут, 0 секунд
Ma$ter
Если коды уже отличны от исходных и чудят - то только имея их можно анализировать и искать причины ...
Попробуй использовать для установки времени 'штатный' вариант через 'game.CTime()'. Должен работать.
Ну а то, что не сохр
Ma$ter
Ну тогда ... проверяй время на исходном билде и если:
- и в билд**501740b7e12bf63c3891**l st = db.storage[db.actor:id()].pstor --/ pstor актора[/code] т.е. то, что читается/запоминается у каждого забинденного объекта через 'xr_logic.script':[code] xr_logic.pstor_store(...) --/ запоминаем
xr_logic.pstor_retrieve(...) ---/ читаем[/code]
Собственно 'amk.save_vaible' и 'amk.load_vaible' - запись/чтение стораджа актора в более удобной для модмейкера форме.
Ну а нет-пакеты - прямая запись/чтение в пакет объекта. Тут уже добавление/удаление новых записей - НЕ совместимость исходными сэйвами! Если только в кустом-дату запихивать ... Но зачем такой гимор?!
про таких как вы школьников, которые немогут понять как установить activperl и понять что такое батник.
ненадо мне тут расказывать сказки про то, что удобно.
Уважаемый товарисч, вы хотите проверить мои навыки работы с АСДС? Я хоть и школьник, но зато я много в чем шарю, и заливать мне ушКи не стоит. Я говорю про то, что спавнер удобная прога, в отличии от АСДС в нем не нужно задротить, шарясь по файлу и искать нужную тебе секцию, тем самым убивая время и желание что либо делать. :dry:
Уже давно никто (кроме нубов) не спавнит неписей через аллспавн. Всё делается через скрипт как наиболее удобном и универсальном средстве.
Ну да конечно! Вот про нубов тут не надо разводить, отвечайте за себя и никогда не заглядывайте в рот другим. А про спавн через скрипт... Мне вот интересно, а сид для скриптового непися сам появиться, да? Ну ладно, хай будет так. &P ПЫСолит не зря придумал алл. спавн, ИМХО. :dry:
Хотел бы я посмотреть как вы проверите своего непися заспавненного на АЭС
На этот вариант уже давно придуманно много способов и много разработок. Яркий пример этого - Мобильный телепортатор by singapur22
Т.е. вы хотите сказать, что АСДС этого непозволяет сделать?
АСДС все позволяет, только она не всегда подходит. Я её лично использую для спавна точек перехода и для спавна неписей, к остальным вариантам (машины, правки, мутанты и т.п) она мягко говоря не подходит, мне вот не оч. охота копашиться в большом файле и искать нужную секцию. Кто хочет задротить в АСДС - милости прошу, пусть вам будет на здоровье. :sarcastic:
Спустя некоторое время:
Artos
Зачитал ваш пост, в ответ скажу так: Каждому свое...
отредактировал(а) Fantom2323: 18-09-2010 08:53 GMT3 час. Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
Привет всем.У меня вот какой вопрос-после встречи Меченого и Доктора в тайнике Стрелка не убирается задание на ликвидацию Стрелка,если кто-то исправлял эту ошибку-подскажите как это изменить.
Fantom2323
И все таки ты не совсем прав -ведь скриптом (безо всяких спавнеров и даже ACDC) можно сделать все(кроме разве что путей для NPC). Я вообще ни тем, ни другим не пользуюсь (распакованный allspawn у меня просто файл для изучения - модицифировать его пока не возникало реальной надобности).
в отличии от АСДС в нем не нужно задротить, шарясь по файлу и искать нужную тебе секцию,
У меня поиск в файлах allspawn занимает пару секунд:
во первых есть специальные поисковые опции в меню Notepad++(по словам или шаблонам регулярных выражений например), а во вторых я чисто для себя написал свою консольную прогу для поиска по ключевым словам(или шаблонам regexp) в текстах любого объема. Так что и так и эдак, но всегда нахожу то мне надо.
Мне вот интересно, а сид для скриптового непися сам появиться, да?
Не сам - а через использование чтения нетпакета NPC и его последующей перезаписи - сделать это также легко как написать alife:()create(), благо разработчики АМК еще несколько лет назад оставили нам почти полный набор готовых функций для работы с нетпакетами.
Так что было бы желание научиться ими пользоваться - и будет все путем.:-)
ПЫСолит не зря придумал алл. спавн, ИМХО
ИМХО зря как раз придумали - его единственная польза - унифицированность. Это такой большой строго(а может и не очень :-)) организованный конфиг для спавна всего, что нужно и когда нужно(по условию) одним как говорится махом.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Уже давно никто (кроме нубов) не спавнит неписей через аллспавн. Всё делается через скрипт как наиболее удобном и универсальном средстве.
Ну да конечно! Вот про нубов тут не надо разводить, отвечайте за себя и никогда не заглядывайте в рот другим.
Вообще-то на совести Deathdoor один из самых популярных и безглючных модов на сегодняшний день - ОГСЕ. Так что думаю он знает о чём говорит. А как ваши успехи?
К тому же вы пропустили его фразу про остальные модмейкерские команды, которые не только почему то используют АСДС, но и пишут собственнные версии. Хотите ещё откровение - огромная куча глюков сидит именно в алл.спавне ещё с оригинала (в некоторых местах пысовцы тупо вставляли заглушки, вместо исправления ошибки) и выявить их можно только разобрав алл.спавн полностью на кусочки. гуглим проект ZRP
Во-вторых метки на непися тоже можно без проблем статвить скриптом :sarcastic:
В all.spawn всё слишком громоздко и неудобночитабельно - использую его только для 'наспамить' чего-либо (можно и скриптом, но некрасиво) и точки пути поставить, со всеми остальными задачами справляется скрипт.
Про спавнер - вероятно после выхода acdc автор первого забил на своё детище за ненадобностью, а используют эту 'пре-альфа-версию' редактора all.spawn сейчас похоже только ищущие халявы 'модОмейкеры' / нежелающие понять элементарные вещи (а если уже поняли - зачем использовать то, что хуже во всём?).
Зайдя сейчас в мое измученное пда я нажал на задания и обомлел - картинка появилась! Почему - хз
А со временем:
local t = game.get_game_time()
local y,m,d,h,min,sec,ms = t:get()
Выдает реальное значение (то есть какое должно быть). В меню загрузки когда шелкаешь на сохр**500440b7e12bf63c3891**(tbl_for_tasks["number_"..item_alias])
self:Part_descriptions_for_tasks(game.translate_string("TASK"))
for i=1, n do
self:Part_descriptions_for_tasks(game.translate_string("desc_"..item_alias.."_"..i))
end
[/code]
Пытался так:
self:Part_descriptions_for_tasks(game.translate_string("desc_storyline_eliminate_gunslinger_1))
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: ...shadow of chernobyl\gamedata\scripts\xr_gulag.script:174: attempt to index local 'job' (a nil value)
Помогите пожалуйста как исправить вылет (сохранился и потом загрузился и вылет)
а вот еще вопрос как исправить вылезающее оружие из рамок вот скриншот
http://s55.radikal.ru/i147/1009/8e/0d3e921660c6.jpg
отредактировал(а) СидырыЧЪ: 18-09-2010 12:30 GMT3 час. Horrible area modВидео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
Или я чето не понимаю Или у тебя там тупо сдвинуты квадратики слота влево к первому слоту. Эти рамочки тупо фон он не относится к телу слота. Это общий фон. В таком качестве плохо видно, но ИМХО у тебя квадратики сдвинуты.
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Horrible area modВидео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
blackraven6 известно. Есть такой человек как starter. У него получается. Как я понял, он натягивает текстуру, формата seq в ней уже прописано несколько текстур.
АнархОПанк Во первых я так тоже делаю. Во вторых это не текстура формата seq а доп файл. В третьих. SEQ это тупо анимация, то бишь зацикленная прокрутка указанных текстур. А я говорю динамические чтобы работали как детектор.
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
blackraven6
а где редактируются квадраты слотов ОРУЖИЯ
всё, проблемма была в файле alife
отредактировал(а) СидырыЧЪ: 18-09-2010 14:25 GMT3 час. Horrible area modВидео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.