Вопрос теоретического характера. Скрипт-файл _g.script подгружается игрой практически первым. Почему же тогда функции которые часто употребляются (например функцию на спавн в инвентарь) ни разработчики, ни модмейкеры не написали в _g скрипте? Вызов функций тогда станет легче ибо не придется писать имя скрипта
Ma$ter
Если так судить, то давай все функции свалим в один этот файл и заставим тебя потом разбираться откуда ноги растут =)
Вот для того и придумали модули, чтобы "разделять и властвовать".
Каждый файл *.script является модулем, а название модуля (имя файла) есть имя переменной, определяющей таблицу со всеми данными из этого файла, в глобальном окружении _G.
Скорость доступа к элементам таблицы в Luа хоть немного и уступает скорости в С/С++, но всё равно настолько высока, что Luа глубоко плевать - обращаться ли к объекту в самой таблице _G, или по ключу к тому же объекту, находящемуся в таблице, которая в свою очередь является объектом таблицы _G.
RENTGEN_4444
У тебя прога фиговая - я упаковываю через PeaZip 2.1 - она все архивы распаковывает и пакует как в zip так и 7z - нормально.
вот ссылка без архивирования - просто файл script
_http://narod.ru/disk/744920001/script_anomaly.script.html
добавлено спустя 15 минут
PS в первом архиве была мелкая ошибочка
в конец function actor_binder:load(reader) вызов load_sid() нужно вписать так script_anomaly.load_sid(reader) , а не script_anomaly.load_sid(packet)
Исправил.
отредактировал(а) erlik: 03-12-2010 14:45 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
у меня проблема: у Сидоровича все диалоги появятся когда выполниш квест с АТП так? Но так как я этот квест убрал то не появляются диалоги которые создал я как убрать это самое ограничение ?
erlik, я скачал фаил который называется script_anomaly.script он открывается блокнотом,я привел тебе начало,а оно и правда похоже на хмтл...щас найду чтонить на сврипт похожее...
-------
Хм весь фаил "пропитан" ссылками,какимито хтмл тегами и всякой фигней(но присутствуют надписи function,class ).Но фаил НЕ формата html это ТОЧНО.Сейчас я его открыл браузером.Комп чуть не взоравался,открывая его.Открыл чтото похожее на страницу закачки на яндекс народе,но скачать с этой штуковины точно нельзя.Попробуй перезалить архив,только заархивируй РАРом.
Помогите разобраться с последней проблемкой, с которой я сталкнулся: вобщем выставил в скрипте выброса следующую функцию: при совпадении времени сна ГГ, (при использовании спального мешка) с выбросом - остановить его сон, выдать сообщение о приближении выброса, запустить начало выброса, состоящие из нескольких таймеров.
В общем и целом, все работает, но обнаруживается один очен
отредактировал(а) Stalker_Alex333: 03-12-2010 19:14 GMT3 час.
Stalker_Alex333
Обычно или берут готовое и портируют к себе (выбросы есть во многих модах) или 'перелопачивают' коды (используюя стороннее как основу) или пишут 'заново'.
По 'кускам' искать проблемы в любом случае бессмысленно, т.к. в твоем случае ты используешь не только собственно сам 'выброс', но и схемы поведения для неписей при выбросе. Т.к. эти коды затрагивают немало точек в других скриптах - разбираться нужно со всем 'в комплексе'.
Если у тебя НЕ срабатывает выброс после 'принудительной побудки' ГГ перед выбросом - ищи причину несрабатывания таймера выброса, т.е. в менеджере самих выбросов.
Что у тебя там не подсвечивается в КПК (укрытия) - мне неведомо, т.к. не имею твоего мода/кодов. а в оригинале ничего подобного нет.
Переносить 'время выброса' на конец сна ГГ - неразумно и/или нелогично. ГГ спит N-часов, выброс не привязан к его концу и может наступать и в начале сна. С какого-такого барабана выбросу дожидаться когда ГГ проспиться? ;-)
(Ошибки нужно исправлять, а не подстраиваться под них!)
Ошибка со спальником у блок-поста - наложение 'обычной' ошибки 'any vertex in patrol path', присущей многим модам с увеличенным спавном неписей и свободными путями ... Просто за время сна ГГ (это часы!) кто-то куда-то не туда забрел ... Ошибка или рандомна или, если повторима - правивь пути для непися иль удаляй его из проблемной области карты.
Дело в том, что спавн неписей я не коим образом не увеличивал, свободные пути им не задвал. Удаление всех НПС в этом районе - врядли правильный ход, т.к. железнодорожный мост на Кордоне "охранять" попрасту больше некому. Что касается правки путей, то здесь мои знания, на данный момент заканчиваются...
Что касается проблемы со спальным мешком, то здесь - мне совершенно не понятно, как игра может пропускать таймеры выброса, ведь они стоят после функции остановки сна ГГ. Поначалу, я пробовал поставить непосредственно сам выброс при пробуждении ГГ (это таймер bl2), но тогда вся функция выброса оказывалась неработоспособна.
З.Ы. Хотелось бы выслушать ваше мнение, по поводу модификации. Если у вас найдется время\желание взглянуть на мои скромные труды и прокомментировать их, я был бы очень рад.:-)
у меня проблема с квестом: после выполнения моего квеста пишет что: потерян предмет Кровь Камня
но на самом деле он остается у меня в рюкзаке и деньги не передаются
вот скрипт передачи денег:
код:
function transfer_money (npc, actor)
dialogs.relocate_money(stalker, 8000, "in")
end
function otday_af_blood (npc, actor)
dialogs.relocate_item_section(npc, "af_blood", "out")
end
function have_a_af_blood (stalker, player)
return stalker:object ("af_blood") ~= nil
end
batment
1)Ты деньги никому не передаешь - stalker - это кто у тебя? Никто. Переменная равна nil.
2) Сам себе трансферишь. У тебя в аргументе npc передается юзердата ГГ . Экшен на чьей фразе то стоит у тебя? На фразе ГГ. А надо на ком? На NPC. В диалогах первым аргументом всегда передается юзердата собеседника на фраза которого стоит action. oSpeaker1, oSpeaker2, sDlgId, idPhrase - полный список аргументов метода AddAction sDlgId - строковое айди(имя) диалога, idPhrase - номер фразы.
3) Если делать по уму - то следует использовать прямые методы, а не функции "обертки".
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
у меня с этим квестом две проблемы
1. он не активируется (нету сообщения типа "принести артефакт"
2. после выполнения он не уберается, хотя я и вписал art_done
как мне это все исправлять ?
нет анимации с названием empty_r у того оружия, которое, скорей всего, сейчас в руках у вамшего персонажа. суффикс R указывает на пистолет
До каких пор людей, по крохам собиравших державу и беспощадно каравших её врагов, мы будем обзывать палачами, а индивидов, разваливших страну и пустивших на ветер труды целых поколений, именовать реформаторами? (Ф.М. Достоевский)
Artos, можете сказать, чем отличаются эти строки?: ret.addon_flags = stpk:r_u8()
ret.upgrades = readvu32stringZ(stpk)
Первый, как я понимаю передает цифровое значение, т.е. флаги напяленных аддонов. Второй, мне кажется, передает стринговое значение, т.е. секции напяленных аддонов. Я правильно понимаю?
SkyLoader
1-ый - получает/присваивает переменной/элементу 'addon_flags' в таблице 'ret' целочисленное значение из 2-х байт нет-пакета.
2-ое - получает/присваивает субтаблице 'upgrades' некую таблицу, полученную от функции 'readvu32stringZ', которой передается весь нет пакет. Что-там делает - смотри в ней. Суди по названия - читает строковые значения из нет-пакета.
Ребят и все же почему не хотят нормально работать работы с НПСами в гулаге? Логика ведь эелементарная, - стоять и смотреть. мутантов уже кучу понаделал, все батрачит (ну кроме псевдособак). Прописал все где надо, но блин не хотит ничего работать.
Кстатики, давно хотел спросить. Вот текст диалогов, можно напрямую в диалоги писать, вместо ссылок на тексты. Это гораздо удобнее да и работает вроде нормально. Но не черевато ли это чем нибудь нехорошим?
отредактировал(а) Alex-San: 04-12-2010 21:18 GMT3 час.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.