Stalk15
А я тебе о чем написал в комментариях к своему классу?:-)
Как раз об этом - нельзя ставить фасткалл на один и тот же объект(ГГ или какой еще) дважды - в итоге в одном месте он тупо не будет работать(потому что перезапишется). Как я вышел из положения - смотри пример установки фасткалла в моем классе.
добавлено спустя 2 минут
Кстати не забывай сразу же снимать фасткалл с объекта как только он перестает быть нужным.
Для этого функция каллбек должна просто вернуть true.
добавлено спустя 13 минут
И еще - фасткалл лучше ставить на тот объект, который тебе нужно апдейтить - только он должен быть в этот момент(и до окончания апдейта) в онлайне - иначе вылетишь. Мой способ тоже конечно не самый оптимальный - так как объект из инвентаря может быть съеден\уничтожен - но для кратковременного действия подходит.
отредактировал(а) erlik: 04-01-2011 22:33 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Добавляю новые локациии, собираю game.graph, но никак, не разберусь со с**5001b67681f3126adde4**Line : 121
[error]Description : graph doesn't correspond to the cross table
Stalker_Alex333
Мда,я вот не знаю забыл уж это....
Для начала набери ошибку свою в яндексе и на форума полазь,у многих такая ошибка была и им помогали.
:-)
Вобщем погуглил, нашел пару статей по созданию АИ сетки, совместно с этим level.gct для нового левела, созданного в СДК. НО мне нужно другое: КАК И главное ЧЕМ соединить новую локацию со всеми остальными, если все отрибуты финалки уже есть? (level.spawn, level.ai, level.geom и т.п.)
Nemnik
Старый вопрос... 1
Чтобы у торговцев было всё - это надо править торговый файлы в папке config\misc
файлы начинающиеся на:
trade_ 2
Увеличить число монстров путём спавна или увеличить число респавна в каком-то скрипте(уже не помню).
В общем полазай по интернету....
Народ в каком конфиге правятся клетки инвенторя мертвого нпс?
Horrible area modВидео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
Stalker_Alex333
>Добавляю новые локациии, собираю game.graph...
>КАК и главное ЧЕМ соединить новую локацию?
Я не очень разбираюсь в подключении лок, но мне кажется ваши вопросы нейтрализуют друг друга... На всякий случай скажу чем я подключал локации:
1. xray-sdk-setup-v0.4
2. xray_re-tools-10sep2008
Советую почитать тему форума SDK для игры S.T.A.L.K.E.R., прочитав эту тему от корки до корки, я, ламер, пристегнул несколько локаций. Если всё читать не хочется (там много), задайте свой вопрос в той теме. Там сидят люди, которые на этом собаку съели =)
--------------------
Вопрос по ХУДу: типс (сообщение) о найденых тайниках у меня на разрешении 1440х900 не отображается, на всех других разрешениях всё нормально показывается. Почему? И еще, где прописаны координаты иконки и текста сообщений, я хочу их опустить чуть ниже, вместо полоски с артефактами?
отредактировал(а) СуперМодер: 05-01-2011 13:52 GMT3 час.
Ma$ter
Быстрый обработчик - метод, который апдейтит указанную в качестве аргумента функцию.
Устанавливается на любой геймобжект.
obj:fastcall(func, obj) -- func - это имя функции которая будет постоянно вызываться - как на апдейте эктора, только еще быстрее. Фасткалл прекращает свое действие как только функция func вернет true - очень удобно для снятия фасткалла с объекта.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Что за вылет
Description :
Arguments : LUA error: ...w of chernobyl\gamedata\scripts\death_manager.script:32: attempt to perform arithmetic on a nil value
Horrible area modВидео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
Подскажите пожалуйста, вот я хочу чтоб в гулаге данную раблту брал только тот НПС у которого есть РПГ и как мне это реализовать? Вот код из скрипта, понял что нужно добавить predicate но как определить что у НПСа есть РПг не соображу ...
Dark Prince, кидание болтами если не ошибаюсь было в моде "Исполнитель желаний", можешь в него поиграть!
Кто знает, почему при использовании файла all.spawn, начинает виснуть игра. Вобщем я заспавнил монстров, оружие, бронижелеты, артефакты, на 3 первых локациях, попытался в темной долине, но как только подходишь к месту спавна, игра зависает, не вылетает, а именно зависает, это при настройках графики "средне", статичное освещение. Видеокарта выше среднего...NVIDIA GTS 250 Может аллспавн не выдерживает более какого то количества сверх меры??? Или он заглючил?
Внатуре пацаны, гаси их... Как сделать НПС бессмертным...
Логика в ТЧ!
Здесь нарисована цифра четыре "8", если вы видите восемь, то вам нужно к нам...
В меню инвентаря, при выборе артефакта, перед описанием самого арта показываются его параметры (защита от огня, радиации и т.д.). Как сделать чтобы параметры костюмов тоже там показывались.
Все секции для описания параметров артов я нашел - af_params.ltx, а для костюмов что-то не могу подобрать
отредактировал(а) WinCap: 06-01-2011 01:24 GMT3 час. У меня есть ВСЁ!
Stalk15
НЕ стоит засорять глобальное пространство им**5007b67681f3126adde4**ion GetTable()
return all_items
end
[/code]
И теперь можешь ей пользоваться из любого файла просто вызвав твой_файл.GetTable()
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
помогите.. у меня версия1.004 почему когда я обновил патчем до 1.004 у меня требует диск???
Ошибка
вставте диск STALKER DVD в перивод и нажмите "Проверить". и тд....
что за Х???? как быть.:gamer:
Пытаюсь поставить итем на клавишу 8. Удалил ПДА из слота, изменил скрипт добавления новых слотов так, чтобы фэйк_пда был связан с этим итемом (вместо пда). В общем, нажимаю 8, и ничего не происходит. Такой вопрос: 8 клавиша вообще активна?
Вот, блин. Ладно, спасибо.
отредактировал(а) SkyLoader: 06-01-2011 13:23 GMT3 час.
Stalk15
Ну во первых доступ к локальным переменным в Lua несколько быстрее, чем к глобальным.
К тому ж глобалки хранятся в отдельной фиксированной области памяти, созданной компилятором специально для этого и занимают ее в течение всего времени выполнения программы, а не только тогда, когда они необходимы.
Я правда не знаю занимают ли они больше памяти чем "замороженные" (внешние) локальные переменные и как хранятся последние.
В общих случаях везде рекомендуется избегать излишнего использования глобальных переменных.
К тому ж наличие в коде большого числа глобалок может легко привести к ошибкам в программе из-за побочных эффектов - например случайное изменение значения переменной где-то в другой части программы из-за создания одноименной глобальной переменной.
добавлено спустя 5 минут
SkyLoader
Разумеется нет. У тебя она в оригинале хоть раз работала? У меня нет. Так же как и прочие после 6-ки.
отредактировал(а) erlik: 06-01-2011 13:13 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
#erlik :
НЕ стоит засорять глобальное пространство имен без сильной необходимости.
Не из-за "вредности", а справедливости ради...
В данном случае в новом модуле таблицу лучше задать глобально а не через функцию.
И соответственно доступ к ней <имя модуля>.<имя таблицы>
Задавая функцию, ты всё равно задаёшь глобальное имя.
Так что что так, что эдак в глобальной таблице модуля должно появиться поле.
Так зачем задавать функцию, при обращении к которой будет считываться локальная таблица, и тем самым использовать бОльшую память.
Чтобы не быть голословным :
--- Использование с функцией :
память до >>> 31.2890625
память после >>> 31.3896484375
--- Использование глобальной таблицы :
память до >>> 31.0693359375
память после >>> 31.1728515625
Ну это всё так... теория
Как сказывается на скорости не проверял.
отредактировал(а) Gun12: 06-01-2011 13:28 GMT3 час. Не стань номинантом премии Дарвина.
Gun12
Ну разница на мой взгляд незначительная, а бывалые программеры никогда не советуют плодить сущности (глобалки) без очень большой нужды(причину я указал).
Ну и вопрос скорости доступа остался открытым - это ты не проверил.
К тому же есть другой вариант: цитирую
"Если требуется интенсивный доступ к глобальной таблице или функции, лучше завести локальную, присвоить ей значение глобальной и только потом начинать использовать. "
Table ={1,2,3,4,5}
function Use()
local t = Table
for i=1, #t do
end
end
пользуемся в файле значением t, а для доступа извне обращаемся к Table.
"Эта техника не несет накладных расходов на копирование, так как в Lua данные таких типов копируются как ссылки, а не как значения."
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Можно и я внесу своё мнение? :-)
Таблица, как таковая может иметь значительные размеры, а соответственно может занимать гораздо больше памяти, чем функция которая её вызывает.
Исходя из этого, таблицу лучше задать локальной. А читать её извне уже при помощи функции, которая в глобальном пространстве почти ничего не занимает.
Одно дело, когда таблица не значительная (около десятка ключей), другое дело когда таблица колосальная (сотни, а то и тысячи ключей). Такую таблицу делать глобальной, както не лаконично. А если ещё и значения имеют тип "string"....
отредактировал(а) singapur22: 06-01-2011 14:33 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.