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

Скриптование


Svoboда

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

(изменено)

@losiara, а "gar_bandit_novice_wounded" - это имя профиля или имя нпс?

===========================

@losiara, да, нужно имя профиля нпс.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

как перелопатить на нет-пакеты от тов. Artos'?

А зачем? С ними это станет намного медленнее. И эта функция вполне нормальная. Только, раз это ЗП, стоит добавить в нее одну строчку

 

function get_ammo_size(obj)
  local pk = net_packet()
  pk:w_begin(0)     -- вот эту
  obj:STATE_Write(pk)
  pk:r_seek(pk:w_tell()-2)
  return pk:r_u16()  -- ammo_left
end

 

т.к. позиция чтения/записи иногда сама не ставится в начало.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

 

 

Можно ли добавлять мапспот без привязки его к какому либо объекту?

В чистой игре - нет. Я делал так: спавнил там, где надо поставить метку, рестриктор (без логики и шейпа, просто как объект) и уже на него ставил метку. И id рестриктора сохранял в пстор актёру, чтобы потом можно было удалить.

  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


Ссылка на сообщение
(изменено)
@Maksud, xr_death срабатывает и на смерть монстров, перенеси вызов в xr_motivator, в death_callback. Изменено пользователем naxac

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@TIGER_VLAD, может, так?

local delta = 0.05  -- подобрать опытным путём: чем больше, тем быстрее
function noclip_upd()
  if noclip_active == true then
    local position = db.actor:position() 
    local direction = device().cam_dir
    db.actor:set_actor_position( position:add( direction:mul( delta ) ) )
  end
end

 

  • Спасибо 1
  • Нравится 1
  • Согласен 2

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


Ссылка на сообщение
(изменено)
@Graff46, ящики, которые находятся в спавне, всегда в онлайне, т.к. у них нет флагов перехода в оффлайн в object_flags. Чтобы пофиксить - после спавна предмета и выхода его в онлайн сделай трансфер этого предмета из ящика в тот же ящик. Типа box:transfer_item(item, box). Не так давно, где-то в этой теме или в ковырялке ТЧ, это уже обсуждалось. И даже специальную функцию для спавнa в онлайновые ящики приводили. Изменено пользователем naxac
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@CRAZY_STALKER666 ,





  local can_leave = {

    wpn_knife = true,

    wpn_binoc = true,

    device_pda = true

  }

  local sim, obj = alife(), nil

  db.actor:iterate_inventory(

    function (dummy, item)

      obj = sim:object(item:id())

      if obj and can_leave[item:section()] == nil then

        sim:release(obj, true)

      end

    end,

  nil )

  • Спасибо 2

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@Jekyll , попробуй так

function ash_particle(self)
	   local victim = self.object
	   local sect = victim:section()
	   local type = { "stalker", "neutral", "dolg", "freedom", "soldier" } -- список значительно сокращен
	    for t = 1,20 do
	      if string.find( sect, type[t] ) then return end
	   end
	   local ash = particles_object("путь_до_партикла")
	   ash:play_at_pos(victim:position())
	end

  • Спасибо 1
  • Согласен 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@BossBoroda , сообщение может не появляться, если текста очень много. Или бывает такой глюк на шф разрешениях, не знаю, правда, причины.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@_Sk8_AsTeR_ , попробуй так:

function drink_vodka(fs, ss)   --в диалоге вызывается функция, если:

  if new_dialog.item_much("vodka" ,1) ~= false   --..если в инвентаре имеем хотя бы одну водку

  then

    dialogs.relocate_item_section(second_speaker, "vodka", "out")  --отдаем одну бутылочку горючки НПС через диалог (работает, у НПС появляется в инвентаре моя водка, а у меня пропадает)

    db.actor:eat(db.actor:object("vodka"))  --сами выпиваем водочку (РАБОТАЕТ, мы пьянеем и экран покачивается)

    local npc = fs:id()==0 and ss or fs

 

    if npc:object("vodka") then

      npc:eat(npc:object("vodka"))   --НПС должен выпить водку (не работает)

    end

  end

end



Хотя и это работать не будет :)

Надо сначала передавать, а потом пить актёром и неписью. Если делать всё это одновременно в одной функции, да ещё и через *:object(), то будет либо вылет по парентам, либо ещё какая фигня.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


Ссылка на сообщение
(изменено)

@_Sk8_AsTeR_, нет, и так не сработает. Раздели на два экшена из разных фраз: в первом передаём водку, во втором бухаем.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


Ссылка на сообщение
(изменено)

@_Sk8_AsTeR_, тебе же написали:

В Tuesday, September 12, 2017 в 01:37, AndreySol сказал:

перебрать все объекты в игре, которые являются сталкерами, и заполнить таблицу реально существующими(заспавненными) неписями

Только таблицу заполняй не неписями, а их именами, получить которые можно из их нет-пакетов.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


Ссылка на сообщение
(изменено)
Цитата

main function has more 200 local variables

...как бороться...?

@power-cat, написано же: главная функция имеет более 200 локальных переменных. Уменьшай их количество.

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

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@AndreySol , похоже, для спавна зверья..

Раз так много маленьких табличек и все они одинаковой структуры, то можно просто собрать их все в один большой массив.

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

@power-cat , ну и что, что не используются. Файл-то весь грузится. Если эти переменные у тебя используются один раз одной функцией, то и пихай их в эту функцию, зачем выносить за ее пределы?

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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


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

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

AMK-Team.ru

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