Все посты %s в %S - AMK Team
Перейти к контенту

[CoP] Ковыряемся в файлах


Halford

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

@Rozben, чтобы генератор псевдослучайных чисел нормально заработал, надо где-нибудь на загрузке вызвать math.randomseed(device():time_global())

Либо os.time()..

А чтобы не повторялось, можно сделать что-то вроде этого:

function update_spam()
  local t = {}
  for a=1, #news do
    if tmp[i] == nil then
      t[#t+1] = a
    end
  end
  if #t == 0 then
    t = news
    tmp = {}
  end
  local i = t[math.random(#t)]
  tmp[i] = true
  
  actor:give_game_news(news_caption, news[i], news_icons[i], 0, 10000)
  xr_sound.set_sound_play(actor:id(), "pda_alarm")
end
Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

Игра вылетала на загрузке

Пардон, писал в спешке. Выше функции надо добавить:

local tmp = {}

Это таблица для хранения индексов уже отправленных сообщений.

И в самой функции исправить:

for a=1, #news do

if tmp[a] == nil then

t[#t+1] = a

end

end

Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
@KitkaT.Net, у предметов на классе ПДА обязательно должен быть родитель. Т.е. он должен находится в инвентаре нпс. Сделай на классе II_ATTCH.
  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

сколько реальных секунд в минуте игровогo времени?

Игровое время считается от реального умножением на тайм-фактор (файл alife.ltx, параметр time_factor).

Например, в чистой игре он равен 10. Значит, в одной реальной секунде: 1*10 = 10 игровых.

Ну, а чтобы обратно посчитать, нужно, соответственно, поделить:

1 минута игрового времени = 60 сек./10 = 6 реальных секунд.

Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
@BoBaH_671, с этой логикой непись не будет стрелять в объект со story_id. Он просто отыграет анимацию, направив оружие на объект. Имитацию выстрела можно сделать скриптом, вызвав функцию, например, из этой же логики по таймеру.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Bandito , напрвление взгляда нпс определяет его логика.

А у гг - может, забыл поменять значения в апдейт-части пакета.

Изменено пользователем naxac
  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@XMODER , ты обращаешься к переменной класса, которой значение нигде не присвоено. Либо делай так:





self.l1p1 = xml:Init3tButton("main_frame:l1p1", self.main_frame)

self:Register(self.l1p1, "l1p1")

Этим ты создашь нужную переменную (self.l1p1)

Либо можно обойтись без неё:





function window_gui:l1p1_button_clicked()

  if not has_alife_info ("get_new") then

    off_message()

  elseif has_alife_info ("get_new") then

    on_message()

  end

  local btn = self:GetButton("l1p1")

  btn:Enable(false) -- хм?

  self:HideDialog()

end

Хотя не понимаю, нафига дизаблить кнопку, сли сразу после этого окно полностью закрывается)

  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@t3wm0n, костюмы тут вообще не при чем. Пулестойкость и т.д. у каждого нпс зависит от того, какие параметры прописаны в юзердате модели.

  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Aizen Rayden, в неверном порядке распаковал архивы. Архив, в имени которого есть patch нужно распаковывать последним. И необязательно пихать всю gamedata в папку с игрой, можно только измененные файлы, сохраняя пути.

Изменено пользователем naxac
  • Спасибо 1
  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Дмитрий Зверев, возможно тут:

on_timer2 = 2500| %=stop_postprocess(111)%

Логика отключается. Попробуй изменить так:

 

[remark@balagur_to_zombie_work_suicide]

anim = zat_b22_medic_suicide
target = story|actor
danger = danger_condition@balagur_to_zombie_work
combat_ignore_cond = true
on_timer = 2500|  %=stop_postprocess(111)%| 10000| %=run_postprocess(black:333)% remark@balagur_to_zombie_work_after_suicide
meet = no_meet

Изменено пользователем naxac
  • Спасибо 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@CortezAs02, это тебе лучше к авторам мода обратиться. Раз такая трабла с самого старта игры, то 100% должен быть патч или фикс какой-нибудь.

А по вылету - какая-то ошибка в функции start_game_callback в _g.script, либо в файлах или функциях, которые из неё вызываются.

  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение

@Firestarter, примерный алгоритм:

• получаешь визуал непися (npc:get_visual_name());

• спавнишь в него броник, соответствующий его визуалу (для этого, наверное, лучше сделать таблицу типа [имя_модели] = секция броника);

• используя таймер или каллбэк на выход в онлайн (client_spawn_manager) через некоторое время после спавна получить клиентский объект броника и задать ему состояние.

 

Это, наверное, сейчас в каждом моде имеется - подсмотри, как сделано, в том же АМК.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub/Тема на AP-PRO

naxac.gif

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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