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

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


Svoboда

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

@BoBaH_671 , 

Цитата

как можно отловить наведение прицела на .. объект

В X-Ray Extensions для ТЧ есть функция level.get_target_obj(), которая возвращает объект, на который наведён прицел, либо nil, если ни на что не наведён.

Функция table.sort работает только для индексированных массивов, используй их, если хочешь упорядочивать значения.

  • Спасибо 1

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

naxac.gif

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


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

@advisor890 , в ТЧ и ЧН по story_id ящика с тайнком, находящегося в онлайне:

 

function treasure_empty ( sid )				
			  local box = level_object_by_sid( sid )				
			  if box then				
			    return box:is_inv_box_empty()				
			  end				
			end

 

В ЗП тайники по-другому сделаны, надо проверять через treasure_manager.

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

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

naxac.gif

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


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

@AndrewMor ,

1. Есть движковые, которые чисто в движке и есть скриптовые, которые можно создать с помощью class_registrator.

2.  Если имеется в виду название для конфигов (ZS_BUZZ, например), то только там, да.

3. Это делается чисто скриптами. Создаём свой скриптовый серверный класс, наследованный от движкового, и привязываем его к клиентскому в class_registrator.script. Главное, чтобы из движка были экспортированы и серверный, и клиентский классы для нашего объекта. Примеры в игре есть, по ним и сделай.

4. lua_help - это файл чисто для справки, пиши туда что хочешь, а можешь вообще удалить. Константы для новых классов движок расставит сам, и они будут меняться каждый раз при добавлении новых классов. Так что особого смысла их туда писать, даже для справки, нет.

  • Спасибо 1

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

naxac.gif

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


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

@AndrewMor, да, всё. CMincer - клиентский класс, se_zones.se_zone_anom - скриптовый серверный, ZS_PORT - параметр для конфигов, zone_port_s - название константы класса в clsid для скриптов. Новая игра не нужна.

Посмотреть - вывести в лог. Например, log("clsid.zone_port_s = "..clsid.zone_port_s).

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

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

naxac.gif

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


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

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

  local obj = npc:object( "wpn_saiga_uniq" )
	  if obj then
	    local sobj = alife():object( obj:id() )
	    if sobj then alife():release( sobj, true ) end
	  end

npc - это непись, у которого забираем пушку

  local wpn = alife():create( "wpn_saiga", vector():set( 0, 0, 0 ), 0, 0, obj:id() )
	  level.client_spawn_manager():add( wpn.id, 0,
	    function( npc, id, obj )
	      npc:transfer_item( obj, npc )
	    end,
	  obj )

Тут obj - непись, которому спавним оружие.

  • Спасибо 1

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

naxac.gif

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


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

@Graff46, сделай локальную переменную, например, wnd, и потом в __init: wnd = self, а затем в Hide: wnd = nil. И проверяй по этой переменной.

  • Нравится 1

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

naxac.gif

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


Ссылка на сообщение
В 06.10.2018 в 19:24, buffy сказал:

Вроде был модуль в Сборочной, но я не нашёл

Вот есть: https://yadi.sk/d/gWefF91-bwDevA

Я его, правда, немного правил в телефоне, так что если что-то не будет работать - пиши.

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

naxac.gif

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


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

@Fenrir02, как вариант - можно фонарику написать биндер и сохранять состояние через него (методы save/load), а на нет-спавне каждый раз устанавливать сохраненное состояние. Либо сделать похожее, добавив фонарику скриптовый серверный класс и сохранять через него (методы STATE_Read/STATE_Write).

  • Спасибо 1

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

naxac.gif

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


Ссылка на сообщение
1 час назад, Graff46 сказал:

С кнопкой беда - не реагирует на нажатие...

Это у которой каллбэком функция click? Так в ней переменная класса не определена, равна нил, вот каллбэк и виснет.

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

naxac.gif

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


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

@Fenrir02, нет. Нужны и другие методы: play_hud_animation, is_actor_sprinting, get_hud_item_state.

Без них ничего работать не будет. Особенно без play_hud_animation, который, собственно, анимацию и проигрывает.

  • Спасибо 1

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

naxac.gif

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


Ссылка на сообщение
37 минут назад, Serge_888 сказал:

db.actor:active_item:play_hud_animation(system_ini():"wpn_rg6m_hud","anm_hide",true) -- ^-- почему не работает ???

Потому что должно быть

db.actor:active_item:play_hud_animation( system_ini():r_string( "wpn_rg6m_hud", "anm_hide" ), true)

40 минут назад, Serge_888 сказал:

sm_act_item:unload_magazine() -- <- не работает :-( почему? db.actor:item_in_slot(n_act_slot):set_ammo_elapsed(7) -- <- тоже не работает.

Потму что это следует делать через level.client_spawn_manager, заспавненного ствола же ещё нет в онлайне. И получается, что всё это применяется к старому, который удаляем.

  • Спасибо 1

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

naxac.gif

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


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

@_Sk8_AsTeR_, можно так примерно (для онлайновых нпс):

      local obj
	  local tbl = {}
	  for i = 1, 65534 do
	    obj = level.object_by_id( i )
	    if obj and isStalker( obj ) and obj:alive() then
	      table.insert( tbl, obj:character_name() )
	    end
	  end
	  return tbl[ math.random( #tbl ) ]
	

Либо по таблице db.storage пройтись. Для оффлайновых придется читать имя из их нет-пакета.

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

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

naxac.gif

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


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

@_ХоЗаР_, попробуй кодировку скрипта поменяй на windows-1251, и xml тоже.

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

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

naxac.gif

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


Ссылка на сообщение
В 15.12.2018 в 19:09, Dimon12321 сказал:

В Зове Чернобыля скриптовые выводы сообщений (CusMsg, game.translate_string и local message) не распознают русские символы

 

Распознают, просто надо сохранять файлы с кириллицей в кодировке  windows-1251.

  • Согласен 1
  • Полезно 1

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

naxac.gif

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


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

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

AMK-Team.ru

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