Перейти к контенту

Рекомендуемые сообщения

5 минут назад, Libery сказал:

Моды это как хобби

Если меня сейчас поволочёт, модераторы переместят к чертям это.  Я думаю, с моддингом и спортом можно провести параллели. Это как хобби, к этому есть привыкание. Застойное состояние снижает интерес, а успехи вдохновляют ещё больше. Понятно, что во всём сам не разберёшься. Тебя подталкивают, а дальше сам. В итоге ты благодарен за помощь, но успех вдвойне приятен, потому что "дальше сам".

Тебе вот такое посоветовали

Скрытый текст

if item:clsid() ~= clsid.obj_bolt and item:clsid() ~= clsid.device_pda then -- пример для болта и ПДА
         actor:transfer_item(item, box)

    end

А следующий твой пост без этого. Выходит, ты не использовал? Как тогда оно будет работать?

  • Согласен 2

Здесь могла быть ваша реклама.

Ссылка на комментарий
Цитата

Моды это как хобби

Почему "как". Моддинг, это хобби и есть.

Вот только, похоже кому-то надо вспомнить, что такое "хобби". Это когда человек делает то, что ему интересно, сам. Находит информацию, иногда труднодоступную. Находит ресурсы, иногда не просто добываемые. И делает собственными руками, то что ему хочется.

Что такое в данном контексте этот форум. Место обмена информацией. Кому-то нужна инфа - здесь он ее получает. Это не стол заказов, сюда не надо приходить с заявлениями "сделайте мне".

Только что, Libery сказал:

тебя не должны заставлять это делать или отвечать на те или иные вопросы.

А кто заставляет?

Если не хочешь делать то что делаешь - ну, не делай. Но ты же пришел с вопросами "как сделать" - и в ответах будут рекомендации, что делать. Сам же об этом спрашивал.

На вопросы тоже можно не отвечать. Можно сказать просто, что мол, я

Только что, Libery сказал:

Пробывал

Но вот не получилось, а почему, где, что не получилось - я вам не расскажу, логов никаких не дам, код не покажу, не хочу отвечать на ваши вопросы дурацкие.

Ну не хочешь - не рассказывай это все. Никто же не заставляет. Просто задумайся, а как тогда форумчане должны догадаться, чем тебе помочь? Ясновидящие в дефиците. Где у тебя не-получилось и почему, мы не знаем.

Ты когда такси вызываешь, к примеру. Тебя тоже заставляют говорить, куда ехать, а ты не хочешь? А так хотелось бы просто сесть и сказать таксисту "вези меня!", не говоря, куда. Он же отвезет конечно, да? у него работа такая.

  • Нравится 3
  • Согласен 3

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 5.7ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Здрасьте.

 

ЧН 1.5.10, расстановка меток NPC в [sim_squad_generic.script].

 

Задача: скрыть метки отрядов противника при переключении статуса нейтрал/враг.

Решение: добавить проверку по имени метки – if not string.find(spot, "enemy") …

Результат: метка обстрелянного отряда скрывается, но метки соседних отрядов остаются видимыми (и желтыми), хотя участники этих отрядов уже активно стреляют по ГГ.

В указанном скрипте есть проверка "при наличии лидера отряда проверять отношение ГГ к нему". Отряд не был обстрелян, лидер у него точно есть и, судя по метке, остался нейтральным, но атакует как свидетель нападения.

 

Как принудительно сделать такой отряд враждебным, чтобы скрыть метку?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

@Norman Eisenherz, game_relations.set_squad_goodwill(squad_id, "enemy").

И вообще, стоит поизучать этот модуль и его применение в других скриптах и логике.

Ссылка на комментарий

@Kirgudu Как определить, что отряд стал враждебным и, возможно, уже начал стрелять по ГГ, оставаясь при этом на нейтральном отношении? Какой параметр отряда меняется, когда отряд становится свидетелем нападения?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

@Norman Eisenherz, достаточно определить, что командир отряда стал враждебным, ведь метка отряда вешается на него.
См. commander:general_goodwill(db.actor) в модуле sim_squad_generic.script (commander определяется там же) и дальнейшее использование этого показателя. При определённых его значениях можно вызывать self:hide() / self:show(), что приведёт к нужному результату.

Изменено пользователем Kirgudu
была ошибка в названии метода
Ссылка на комментарий

Вот именно там и смотрю, и именно эта проверка при явном наличии командиров выдает для соседних отрядов отношение "нейтрал".

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Всем здравия. Имеется вопросик : можно ли нанести хит НПСу находясь оффлайн от него. Например на другой локе. СИД у НПСа есть.

Пробовал так, но не сработало, только находясь в зоне алайфа убивает.

function hit (actor, npc)
    local source = nil
    local sim = alife ()
    if sim then
       local se_obj = sim:story_object (9450573052- СИД)  
       if se_obj then
          source = level_object_by_id(se_obj.id)
       end
    end
    if source == nil then
        return
    end
    local h = hit ()
    h.power = 2000
    h.direction = vector():set( 1, 0, 0 )
    h.impulse = 60
    h.draftsman = source
      h.type = hit.fire_wound
    source:hit (h)
end

 

Есть ли вообще такой способ ? Гугл читал, форумы курил. Не нашёл ничего.

Спасибо.

"Кругом зомби.....у меня кончаются патроны...."

Ссылка на комментарий

@BFG

Хит возможен только по клиентскому объекту, а в оффлайне его нет. Пробуй через установку health в 0.

Добавлено BFG,

Хмммм... мдааа. Спасибо большое за идею и за новые познания.

  • Спасибо 1
  • Нравится 2
Ссылка на комментарий

Доброго времени! 

Есть ли способ проверить, что ГГ из текущего активного оружия прямо сейчас целится правой кнопкой мыши?

Изменено пользователем _Sk8_AsTeR_
Ссылка на комментарий

Прошу помощи. Игра ОП-2.1, вымогатель антирадов Гарик, на входе к ремонтникам. Хотелось пересадить его на еду. Но не на одну колбасу, консерву, батон, а комплектом. например батон-колбаса- пиво, батон-консерва-водка, буттерброд-батончик-фляжка. Все фалы нашёл, текст исправил. Не соображу как прописать в скрипте три названия продукта, через запятую, через тире, что бы он забирал их за раз. Подскажите как? Строки на антирады в скрипте, выглядят так;

 

function give_antirad(first_speaker, second_speaker)
    lost("antirad", 1)
end
function antirad_have()
    return has("antirad",1)

Изменено пользователем Minya

MinyaUr.gif

Ссылка на комментарий

@Minya Как-то так:

function give_antirad(first_speaker, second_speaker)
    lost("батон", 1)

    lost("колбаса", 1)

    lost("пиво", 1)
end
function antirad_have()
    return (has("батон",1) and has("колбаса",1) and has("пиво",1))

end

Секции продуктов пропишешь как надо.

  • Полезно 1
Ссылка на комментарий

@dsh, огср, да

Огромное спасибо, скоро проверю :)

@dsh Метод работает! А есть ли способ проверить, нажал ли ГГ левую кнопку мыши, иначе говоря - выстрелил? 

Нужно скриптово отследить момент, когда ГГ, удерживая зум, выстрелит, и вызвать ф-цию в момент выстрела...

Ссылка на комментарий

Можно обратиться к движковому счетчику патронов: если active_item:get_ammo_in_magazine() и active_item:get_ammo_total() уменьшились на одну величину, это как раз выстрел.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Решил по быстрому заспавнить освещение скриптом. Использовал код из AEM (для смены освещения на арене). Всё спавниться и работает, но после сейв/лоада объекты меняют свой direction. По висячим лампам "ильича" этого не видно, а несимметричные объекты, типа настольной лампы, доставляют. Думаю, в коде нужны дополнительные манипуляции с direction и если так, то какие? Код почти без правок, добавил аргументы lvid и gvid:

Скрытый текст

function v3f(x,y,z) 
    return vector():set(x,y,z)
end

 

пример спавна

add_lamp(v3f(139.67343139648,-6.1285934448242,180.18035888672),1203772,3686,v3f(0,-1.0,0),"physics\\light\\lampa_01_on",0.8,true)

 

function add_lamp(pos, lvid, gvid, dir, visual, brightness, shadow, color)
    local light_flags = 56                
    if shadow then light_flags = light_flags + 2 end
    local packet = net_packet()
    packet:w_u16(gvid)
    packet:w_float(0.0)
    packet:w_s32(1)
    packet:w_s32(lvid)
    packet:w_s32(-70)                
    packet:w_stringZ("")
    packet:w_s32(-1)
    packet:w_s32(-1)
    packet:w_stringZ(visual)
    packet:w_u8(0)
    packet:w_stringZ("$editor")
    packet:w_u8(0)
    packet:w_u16(-1)
    if color ~= nil then
        packet:w_s32(color)
        packet:w_float(brightness)
        packet:w_stringZ("")
    else
        packet:w_s32(-1)
        packet:w_float(brightness)
        packet:w_stringZ("light\\light_omni_white_idle")
    end
    packet:w_float(14.0)
    packet:w_u16(light_flags)
    packet:w_stringZ("$editor")
    packet:w_stringZ("link")
    packet:w_float(100.0)  
    packet:w_float(0.1)    
    packet:w_float(4.0)    
    packet:w_float(0.3)    
    packet:w_stringZ("")
    packet:w_stringZ("")
    packet:w_stringZ("bone_lamp")  
    packet:w_float(1.0)            
    packet:w_stringZ("")
    packet:w_float(0.7) 
    packet:w_stringZ("bone_omni")

    local se_obj = alife():create("aem_lamp", pos, lvid, gvid)
    se_obj:STATE_Read(packet, packet:w_tell())

    if dir ~= nil then
        se_obj.direction = vector():set(dir)
    end
end

После спауна (как запланировано):

https://yadi.sk/i/Wqubj3MUGLwvhA

После сейв/лоада(повёрнута):

https://yadi.sk/d/aqF7QfAZH5y5GQ

Изменено пользователем mole venomous

Здесь могла быть ваша реклама.

Ссылка на комментарий

Здрасьте.

 

Задача: создать одноименный текстовый файл при создании сейва.

В [ui_save_dialog.script] можно отследить имя и создать свой файл при сейве через меню "Сохранить игру". Как сделать то же самое при вводе имени нового сейва через консоль?

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий
9 часов назад, Norman Eisenherz сказал:

Как сделать то же самое при вводе имени нового сейва через консоль?

Скорее всего никак. Не предусмотрен никакой кэллбэк на это действие, соответственно отследить его не получится.

Можно, наверное слепить скриптовые костыли, типа мониторинга на апдейте кол-ва файлов в папке сэйвов и реакцией на появление нового, но не уверен что это возможно.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...