-
Публикаций
1 082 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент ian98
-
N42 Подробнее, вот у нас есть задание, любое, от убить сталкера(сайдквест) до отключить антенны выжигателя(сюжетка). Квесты подобные сопровождаются меткой на карте, чтобы игрок знал куда ему идти. Я хочу, если один из таких квестов активный, получить координаты такой метки. На самом деле, необязательно даже выдавать координаты метки прям активного квеста(в табе), можно одного из активных. Мне кажется второе было бы легче сделать. Еще, может знаешь, как пользоваться send_event_key_press(number)? Из движка огср функция. Я пробовал так level.send_event_key_press(28), но ничего в игре не произошло. Возможно я просто не понял как это работает в принципе... Я думал и продолжаю так думать, что функция вместо игрока нажимает на кнопку. Этого бы мне и хотелось изобразить в своих задумках.
-
Prostomod это из тч, но в зп примерно также по идее можно убрать. character_community() мб вместо community(), если не сработает. клсиды могут быть разными. Если нужно на конкретном уровне, то, возможно(я скрипты пишу наугад), можно сделать условие... А вообще пофиг, можно просто три разных функции для каждого лвл, наверное хех function delete_npc() for a = 1, 65534, 1 do local sobj = alife():object( a ) if sobj and is_stalker( sobj ) and sobj:alive() and (level.name() == "zaton") not sobj:community() == "stalker" then alife():release(sobj, true) end end end function is_stalker( sobj ) return sobj:clsid() == clsid.script_stalker end
-
MawrakудностейMawraMawrakуMawrakуMawrakудностейM(лаги с телефона забейте) Автору темы. Получилось? Разобрался?
-
N42 не знаю как лучше. Где правильнее и удобнее. Если объектов к метке привязано несколько, то можно и рандомный из них. Тут я тоже не знаю просто как это работает и где почитать об этом. Ну я и не искал пока особо, если честно. Задание активное, если есть такая возможность. Координаты метки на карте никак, но на глобальной карте можно? Я не понимаю разницы между картой и глобальной картой.
-
На обычном движке, по-моему, никак. Там нельзя вязать на кнопки скрипты. Только на кнопку таб, я читал где-то, но это обманка. Да и это одна кнопка всего. А вообще, да, это должен быть перебор инвентаря. Примерно такое. Работает точно на огср двигле. Там есть специальный калбек на нажатие клавиш local obj for i = 0, db.actor:ruck_count()-1 do obj = db.actor:item_in_ruck(i) if obj and isWeapon(obj) and not obj:clsid() == clsid.wpn_grenade_rgd5 and not obj:clsid() == clsid.wpn_grenade_f1 and not obj:clsid() == clsid.wpn_binocular and not obj:clsid() == clsid.wpn_knife then -- тут можно покрасивее, но мне без подсказок не построить табличку. не помню я. я бы вообще создал в _g копию isWeapon без ножа и гранат с биноклем. Хотя вроде бы ножи и бинокли не должны быть в рюкзаке, но мало ли. db.actor:unload_magazine(obj) end end
-
I am dead можешь помочь мне его в bind_stalker подключить?) А то я как-то пробовал и вылетала игра. Ничего не получалась. Последний огср у меня движок. Ещё вопрос, может знаешь, оригинальная Вики по движку давно не обновляется с формулировкой "Знающие и так все посмотрят в диздоках". В общем, где их смотреть-то эти диздоки можно? Скачал я дебаг версию движка, это оно, это диздоки?
- 23 ответа
-
- тень чернобыля
- отследить выстрел
- (и ещё 5 )
-
I am dead а какой калбек уже готовый есть в ОГСР сегодня? Такой вопрос
- 23 ответа
-
- тень чернобыля
- отследить выстрел
- (и ещё 5 )
-
N42 Это я понял. Сейчас сделал чет типо такого. Игра не вылетает, но и не происходит с ним ничего. -- spawn function heli_spawn() local pos = db.actor:position() local miss = 50 local target = vector():set(pos.x, pos.y + miss, pos.z) spawn.heli(pos.x, pos.y + miss, pos.z, db.actor:level_vertex_id(), db.actor:game_vertex_id(), "") start_timer_aoff() end -- crash function crash() for a = 1, 65534, 1 do local sobj = alife():object( a ) if sobj and is_helicopter( sobj ) and db.actor:position():distance_to ( sobj.position ) <= 150 then local heli = sobj:get_helicopter() heli:Die() end end end function start_timer_aoff() local iTimer = time_global() + 5000 local function check_timer() return time_global() > iTimer end level.add_call(check_timer, crash) end function is_helicopter( sobj ) return sobj:clsid() == clsid.helicopter end
-
N42 пытаюсь проспавнить вертолет :( local pos = db.actor:position() local miss = 50 local target = vector():set(pos.x, pos.y + miss, pos.z) alife():create("helicopter", target, 1, db.actor:game_vertex_id()) Получаю вылет: [error]Expression : motion_ID.valid() [error]Function : CKinematicsAnimated::ID_Cycle [error]File : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\Layers\xrRender\SkeletonAnimated.cpp [error]Line : 195 [error]Description : ! MODEL: can't find cycle: [error]Arguments : $editor Получилось проспавнить через пакет. Если кому надо будет. Файл закрепил. spawn.heli(pos.x, pos.y + miss, pos.z, db.actor:level_vertex_id(), db.actor:game_vertex_id(), "") Только у вертолета вообще нет звука. Сейчас попробуем сбить. spawn.script
-
CiberZold игрокам всегда нужен один и тот же разный сюжетный мод? Я просто уточнить.
-
N42 А если мне нужно заспавнить вертолет над игроком, который будет падать. На ОГСРе на легке это можно сделать? Я просто вроде как пытался иметь дела с вертолетами. Их нужно на пути садить, заморачиваться там что-то, но это в оригинале. Вот, может знаешь, в ОГСР можно в строку заспавнить вертик и в еще одну его сбить?
