Пользователей: 1
Гостей: 846
Всего: 847

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

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









Автор Сообщение
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
06-01-2011 15:21 GMT3 час. #1412472   
Gun12

Твоя цитата применяется тогда, когда ты ВЫЗЫВАЕШЬ модуль из какого либо файла.

Необязательно.
Я лишь имел в виду что Stalk15 со своей таблицей может поступить двояко: либо создать функцию ее возвращающую(расходы по памяти в данном случае ничтожны и значения не имеют) либо объявить ее как глобальную (тем самым оставим к ней доступ извне), но пользоваться ей в самом модуле\файле как локальной (чтобы не потерять на скорости доступа ). И все - а уж выбирать конкретный вариант ему.
...В общем думаю не стоит нам засорять топик "умным" трепом для форума значения не имеющим.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-01-2011 15:46 GMT3 час. #1412485   
erlik
Не соглашусь с незначительностью подобного "трепа" для форума и для неопытных модмейкеров.
Конечно для мелких поделок подобное не важно, но для серьезных модов - немалознАчимо, ИМХО.

Суть применения локальной или глобальной в контексте данного топика двояка:
а) Есть возможность применять одни и те же имена переменных в одних и тех же модулях и пр ... (упрощенно).
б) Экономия ресурсов игры. Логальные переменные очищаются финализатором LUA по мере окончания их использования (упрощенно), что высвобождает память/стеки. Глобальные же таблицы, попав в память - там и сидят ...
Если взять пример Stalk15, то (как я понимаю) данная таблица применяется для неких диалогов бартера (иль подобного), которые относительно редки. Брать таблицы из памяти/кешей или из кодов модулей - для диалогов не имеет значения и не снижает FPS'ов. А вот экономия (хотя в данном случае и небольшая) при применении локальной таблицы - налицо.
Т.о. "умный треп" сводится к выбору модмейкером по ситуации между некоторой экономией ресурсов в игре или потерей нескольких процессорных тактов ... Все это конечно не может иметь однозначных ответов.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
06-01-2011 16:56 GMT3 час. #1412520   
Можно ли проверить, произошло сохранение или нет? А также, можно ли удалить файл с сохранением? (используя getFS())


Artos, спасибо огромное!

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

Хочешь работать нормально, работай один!
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-01-2011 17:12 GMT3 час. #1412534   
SkyLoader
Удалить без проблем: getFS()):file_delete("$game_saves$", sFileFullName), только предварительно следует проверить наличие удаляемого файла.
Произошло ли сохранение тоже можно проверить по наличию в папке сохранок соответствующего файла. Для квиков и/или авто- сохранок придется проверять дату ...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
06-01-2011 17:42 GMT3 час. #1412561   
Животрепещущий вопрос: как сохранить ссылку на конкретную функцию(она передается как аргумент в другую функцию), чтобы затем можно было эту функцию по этой ссылке вызвать.
Поясню подробнее: в некую функцию() передается для вызова в нужное время другая функция\функции и требуется сохранять ссылки на них дабы после перезагрузки игры не потерять возможность вызывать их.)
Вызвать функцию по имени (сохранив его в таблице как строку) не совсем то:
this["my_func"]() - так без проблем вызовется функция из данного файла. А если она нахо

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

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
06-01-2011 18:20 GMT3 час. #1412600   
erlik
Что-то непонятна твоя заминка с ссылками на функции.
И модули и функции имеют имена (строки). Зная их всегда можно вызвать из нужного модуля нужную функцию.
Конструкция типа: Func = _G[sModuleName][sFuncName] давно применяется разрабами игры в том же 'xr_logic.script' при разборе конфигов логики ...
Сохраняй где удобно имена-стринги sModuleName и sFuncName и вызывай их в удобное время ...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Mr House
    
Посты: 23
Откуда:
Возраст:
06-01-2011 21:10 GMT3 час. #1412739   
Не подскажите ктонибудь где раздобыть распаковщик ресурсов 1472 билда?


Набор в команду Big-Bang Team. Связаться со мной можно по асе 603426130 или пм на сайте.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
06-01-2011 22:46 GMT3 час. #1412830   
Mr House
А разве это не **5001b67681f3126adde4**acked
pause[/code]
вместо gamedata.xp0 название архива из билда.
У меня 1472 нет - но прочие билды этим батником на ура распаковываются.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Mr House
    
Посты: 23
Откуда:
Возраст:
06-01-2011 23:07 GMT3 час. #1412842   
erlik, спасибо!

добавлено спустя 1 час 17 минут

Народ кстате можете сообщить где взять мод который меняет погоду ТЧ на погоду билда 1472

отредактировал(а) Mr House: 07-01-2011 00:25 GMT3 час.

Набор в команду Big-Bang Team. Связаться со мной можно по асе 603426130 или пм на сайте.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-01-2011 00:55 GMT3 час. #1412900   
Gun12

Делайте кому как хочется. А я буду как лучше....

И все таки ты не прав в данном конкретном случае.
Конечно прав и Artos - однозначно наиболее правильный вариант выбрать сложно, однако тот факт что функция всего лишь помещается в стек (а это как ты знаешь динамическая структура - вот она есть там функция (мы ее вызвали), а вот ее уже нет там -- вытолкнула следующая) - делает более привлекательным именно этот вариант. Зато глобальная таблица будет висеть в памяти постоянно до момента выхода из программы и жрать память(который ты так дорожишь). А если как верно указал singapur22 она еще и большая и ключи в ней строковые - то очень много жрать памяти. И что же логичнее - создать маленькую функцию, которая займет (и то лишь временно - в момент своего вызова) крохотный участок стека или создать монстра, который как VIP персона будет требовать постоянного внимания? А то что каждое обращение к глобальной таблице автоматически ПОМЕЩАЕТ ее в стек - это ты учел? Это получается что она там и сям - и везде требует ресурсов. Вывод на мой взгляд очевиден.
... Да, конечно любая функция тоже является частью глобального контекста - но не может функция на три строчки кода занимать больше памяти чем таблица на 100.

отредактировал(а) erlik: 07-01-2011 12:28 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
07-01-2011 10:23 GMT3 час. #1412946   
Смотрю, точки зрения на локальные и глобальные таблицы у всех разные:-)
Я тогда лучше буду избегать глобальных таблиц.


Новые фишки для сталкера(см. журнал)
Silver Raven
    
Посты: 415
Откуда:
Возраст:
07-01-2011 16:08 GMT3 час. #1413080   
Народ, подскажете где я накосячил?

Вобщем, тренировался в создании простых второстепенных квестов, врод**5001b67681f3126adde4**ror]Arguments : LUA error: ...ое Издание\shoc\gamedata\scripts\task_manager.script:210: attempt to index field '?' (a nil value)[/code]


Что писал:

> В misc\task_manager:
[code]

    ;----------Trader--------------------------------------------------
    ;----------AleX MOD tasks----------
    ;-----------Monster Part------------
    trader_find_monster_part_zombie_hands

    [trader_find_monster_part_zombie_hands]
    type = monster_part
    community = actor
    text = trader_find_monster_part_zombie_hands_text
    description = trader_find_monster_part_zombie_hands_descr
    parent = trader
    target = mutant_zombie_hand, 2
    reward_money = 300
    reward_reputation = +5
    reward_rank = 1
    time = 172800
    prior = 10[/code]


> В gameplay\storyline_info_taskmanager:
[code];---------Monster Part--------------
;---------trader--------------
;----------AleX MOD Tasks----------

trader_find_monster_part_zombie_hands_descr
[/code]


> В text\rus\stable_task_manager_alex_mod:
[code]


Притащить две руки зомби


Притащить две руки гражданского зомби


Тут недавно ко мне один сталкер-шаман заходил, оставил заказ на две руки гражданских зомби. Хрен его знает зачем ему эта дрянь... Вобщем, говорят у нас на Кордоне, видели несколько этих... зомби. Как только они сюда добрели - неизвестно. Ну, что берёшся?

[/code]

(зарегестрирован в localization.ltx)

отредактировал(а) Stalker_Alex333: 07-01-2011 17:17 GMT3 час.

Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
07-01-2011 16:26 GMT3 час. #1413087   
Stalker_Alex333
Я ни где не видел, что можно писать так:
target = mutant_zombie_hand, 2
Я думаю, это и есть причина твоего вылета.
Мой совет: Делай квесты лучше так, как сделано в файлах типа game_task.xml. Я всегда так делаю. Там типа возможностей больше и легче.


Stalker_Alex333

Есть ссылки на статьи, туторы?

На самом сталкер-вики и есть.

отредактировал(а) Stalk15: 07-01-2011 16:58 GMT3 час.

Новые фишки для сталкера(см. журнал)
Silver Raven
    
Посты: 415
Откуда:
Возраст:
07-01-2011 16:36 GMT3 час. #1413093   
Stalk15

Я тоже поначалу подумал, что дело в target = mutant_zombie_hand, 2, но после изменения этой строки (к примеру на target = mutant_flash_eye) вылет не исчез, значит дело не в ней...

З.Ы. Что касается game_task - я с ним никогда не работал, можно поподробнее?
(Есть ссылки на статьи, туторы?)


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-01-2011 17:08 GMT3 час. #1413111   
Stalker_Alex333
Файлы текстов регистрируются в localization.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Silver Raven
    
Посты: 415
Откуда:
Возраст:
07-01-2011 17:16 GMT3 час. #1413116   
erlik

ОЧепятка вышла, текст зарегестрированн в localization.ltx

system.ltx, написал по привычке...:-G


FLIKER
    
Посты: 1047
Откуда: Краснодар
Возраст: 30
07-01-2011 18:00 GMT3 час. #1413139   
Вот тут проблема, помогите пожалуйста..
**5001b67681f3126adde4**72348,-291.97155761719),39584,3362)
end
[/code]

Вот куда он должен телепортироваться.
[code][m_teleport_1]:zone_teleport
teleport = standart
script_binding = bind_mteleport.bind
;Параметры нашего телепорта
radius = 2
;Высота захвата телепорта
z_radius = 2

;Куда телепортируемся (телепортация всегда идет в пределах карты)
poz_x = -43.131736755371
poz_y = 2.9149107933044
poz_z = -241.6568145752

; Угол зрения при появлении. Если параметра нет то не меняется.
rotate = 1.5[/code]

Проблема в том, что телепорт появляется, но не куда не телепортирует.


Arist
    
Посты: 310
Откуда: Москва
Возраст:
07-01-2011 18:46 GMT3 час. #1413155   
FLIKER
Так как я не разбираюсь в скриптах,то вынужден делать многое,в том числе и телепорты,через all.spawn:
alife
; cse_abstract properties
section_name = space_restrictor
name = red_forest_teleport
position = -142.848251,1.527067,-270.765198
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 3238
distance = 0
level_vertex_id = 7205
object_flags = 0xffffff3e
custom_data = < [logic]
active = sr_teleport

[sr_teleport]
point1 = red_forest_teleport_walk
look1 = red_forest_teleport_look
timeout = 0
END

; cse_shape properties
shapes = shape0
shape0:type = box
shape0:axis_x = 10.2892761230469,0,0
shape0:axis_y = 0,1.77579963207245,0
shape0:axis_z = 0,0,49.7970733642578
shape0:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3
way
[red_forest_teleport_look]
points = p0
p0:name = wp00
p0:position = -165.875092,0.980694,-312.843903
p0:game_vertex_id = 3237
p0:level_vertex_id = 4591

[red_forest_teleport_walk]
points = p0,p1
p0:name = wp00
p0:position = -166.790009,0.979049,-310.610046
p0:game_vertex_id = 3237
p0:level_vertex_id = 4505
p0:links = p1(1)

p1:name = wp01
p1:position = -165.875092,0.980694,-312.843903
p1:game_vertex_id = 3237
p1:level_vertex_id = 4591

А через скрипт,на wiki написано,что нужно ещё сделать апдейт в bind_stalker,вот из мап пака телепорты КостиV:

bind_restrictor.actor_update(delta)

-- Апдейтим наш телепорт
bind_mteleport.actor_update(delta)
И ещё,в этом же файле:function actor_binder:net_spawn(data)
death_manager.init_drop_settings()

-- kostya_level --
spawn_teleport.spawn_teleport_exit()
spawn_teleport.spawn_teleport_hospital()

Возможно ты это забыл.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
07-01-2011 18:50 GMT3 час. #1413156   
Stalker_Alex333
Тогда непонятно в чем дело.

FLIKER
Телепорты от Imp'a?
Есть там такой глюк,что они иногда не срабатывают.
Ошибка по моему здесь(в биндере телепорта):
-- Телепорт запущен
if ( time_global() <= s.time ) then --нужно заменить знак < на >
-- Если время отведенное на показ спецэфектов
-- прошло, производим телепортацию
teleportate(s.poz_x,s.poz_y,s.poz_z)

Иначе получается, что если биндер проморгал когда time_global() ==s.time то условие тупо не выполняется так как значение time_global() по любому уже больше, чем s.time.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
07-01-2011 20:44 GMT3 час. #1413225   
**5001b67681f3126adde4**

Что значит в этой функции вообще while?


новиков сергей
Спасибо.

отредактировал(а) Stalk15: 07-01-2011 22:59 GMT3 час.

Новые фишки для сталкера(см. журнал)
новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
07-01-2011 21:21 GMT3 час. #1413260   
while - это цикл. В данном случае
Пока table.getn (t) больше 0
делать это - table.remove (t, table.getn (t))


создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
07-01-2011 22:35 GMT3 час. #1413341   
Короче я хочу перенести из ЗП в ТЧ текстолитовые платы, коробку с транзисторами и пр. фигню, которою надо было Азоту притащить.
Так вот, достаточно ли тупо скопировать модели, текстуры и прописать эту модель некоторому объекту?


новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
07-01-2011 22:49 GMT3 час. #1413352   
Да, этого должно хватить.
P.S. Сначала бы попробовал, а потом спрашивал. Дело то пяти минут, подменить болт нужной моделью и посмотреть в игре


создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
Skay 815
    
Посты: 4
Откуда: Воркута
Возраст: 27
07-01-2011 22:53 GMT3 час. #1413357   
А как изменить имя гг и остальных человечков?
Там где написано имя, группировка, отношение, как там сменить картинку?
Помогите плиз!8-(


karavan
    
Посты: 940
Откуда:
Возраст:
07-01-2011 23:00 GMT3 час. #1413362   
Mehanik Yar Не знаю насчет "текстолитовых плат" и пр, но для того что бы перенести двери я их прогонял через СДК 0.4, возможно с физическими обьектами тоже нужно перегонять через СДК.
Попробуй, если не получится то тогда без Милки и СДК 0.4 не обойтись.

Skay 815 Читай FAQ. :-)


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
07-01-2011 23:54 GMT3 час. #1413407   
И еще вопрос, возможно ли отрезать кусок от модели, ну например от крана, и сделать этот кусок отдельной моделью, ну и в предметах прописать?


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
08-01-2011 00:39 GMT3 час. #1413422   
Существует ли возможность проверить установлен ли на данный объект fastcall?
... Принцип установки фасткалла как мне кажется такой: существует некая таблица (то ли в движке, то ли еще где) ключи которой - id объектов переданных методу set_fastcall(), а поля - ссылки на функцию, которую нужно вызывать(также передается в set_fastcall как аргумент). Эта таблица постоянно итерируется и каждая функция вызывается в порядке итерации. Но вот как получить к ней доступ, чтобы узнать есть ли уже в ней ключ соответствующий айди определенного объекта?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
СидырыЧЪ
    
Посты: 208
Откуда:
Возраст: 30
08-01-2011 00:46 GMT3 час. #1413423   
Можно ли поставить эти значения отдельно для монстров и отдельно для нпс? Файл se_respawn.

local idle_spawn_preset = {
seldom = 300,
medium = 300,
often = 300

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

Mehanik Yar
Да, если ты имееш ввиду не те модельки, которые считаются объектом карты. А так 3D Max в помощь.

отредактировал(а) СидырыЧЪ: 08-01-2011 00:49 GMT3 час.

Horrible area mod Видео в журнале
--------------------------------------------------------------------
Важнейшая задача цивилизации - научить человека мыслить
WinCap
    
Посты: 6
Откуда: Бийск
Возраст: 40
08-01-2011 02:26 GMT3 час. #1413442   
Народ, подскажете.

Как узнать "сытость" ГГ?
В db.actor


У меня есть ВСЁ!

Кроме совести и денег.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
08-01-2011 03:27 GMT3 час. #1413452   
1)Давно мучает вопрос: что происходит со скелетом после ломания? Секция целого скелета теряется. Так какие же секции образуются на месте скелета?


2)Какие методы есть в Lua, чтобы узнать реальные дату и время?

отредактировал(а) SkyLoader: 08-01-2011 03:51 GMT3 час.

Хочешь работать нормально, работай один!


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


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

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