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

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


Svoboда

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

Всем здравия! Возник вопрос, спавню скриптом итем и хочу поставить на него метку, но не отлавливается его id, где я ошибся?

local taynik_tbl = {"rykzak", "konteiner", "yashik"}


local taynik = taynik_tbl[math.random(#taynik_tbl)]
local taynik_id = taynik.id
alife():create(taynik, vector():set(-660.22509765625,19.935060501099,72.809051513672), 125131, 314)
level.map_add_object_spot_ser(taynik_id, "ui_pda2_actor_box_location" , "DEBAG")

 

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

Вернулся получается...

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


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

Подскажите пожалуйста, как можно повесить метку на way point?

Вернулся получается...

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


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

@Struck, А мне так и нужно)) Я в точку вей поинта спавню объект, а вот как на все это дела повещать метку не знаю)

Вернулся получается...

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


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

Возникла такая проблема, не могу удалить два одинаковых предмета из инветаря, пробовал так:

xr_effects.remove_item(db.actor, nil, {"section"})


xr_effects.remove_item(db.actor, nil, {"section"})

 

и так:

for i=1, 2 do
xr_effects.remove_item(db.actor, nil, {"section"})
end

 

 

Удаляется только один.

 

И это воистину удивительно, что удаляется хотя-бы один. Ибо сколько не искал в xr_effects удаление предметов, но так и не обнаружил. dc

Стандартная функция в Зп.

--Функция отнятия предмета у игрока
function remove_item(actor, npc, p)
if (p and p[1]) == nil then abort("Wrong parameters in function 'remove_item'!!!") end
local item = p[1]

local obj = db.actor:object(item)
if obj ~= nil then
alife():release(alife():object(obj:id()), true)
else
abort("Actor has no such item!")
end
news_manager.relocate_item(db.actor, "out", item)
end

 

 

Телепаты, вообще-то, в отпуске. Это во-первых.

Во вторых, ну и зачем, если можно сразу написать local obj = db.actor:object( секция );
obj  = obj and alife():object(obj:id(); if obj then alife():release( obj, true ) end ?

 

В третьих, логично. По тому как actor:object() два раза подряд вернет один и тот же предмет.

если надо удалять сразу несколько, то делать через iterate_inventory()/inventory_for_each()  - сформировать список подходящих по секции, затем удалять. dc


Принято, понято, спасибо) (отблагодарил бы кнопочкой, но сообщение вроде как мое).

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

Вернулся получается...

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


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

Подскажите пожалуйста, как отловить в кого стреляет\выстрелил ГГ? 

Вернулся получается...

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


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

, Проще? А если Cop?)

Вернулся получается...

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


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

@makdm, На сколько я понял, проблема в том, что бывает такое, что у "глючного" объекта совпадают координаты с левелченджером и это вызывает вылет при загрузке сейва.

Вернулся получается...

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


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

@macron, Почистите лс, что бы можно было вам писать сообщения.
P.s Извините за такой флуд, пост под снос.

Вернулся получается...

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


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

Ну у меня есть мысль, можно же получить этот самый parent_id?

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

Вернулся получается...

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


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

@Карлан, Я просто боюсь ерись сморозить, ну да ладно. Можно ли так, перед сохранением проверить не совпдает ли parent_id объекта с id левелчейнджера и если совпадает то удалять объект?
 

  • Нравится 1

Вернулся получается...

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


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

Насколько я знаю таблицу pstor'ом не записать, как тогда возможно записать ее в сохранение? Заранее спасибо.

 

http://www.amk-team.ru/forum/index.php?showtopic=13078&p=897169

dc

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

Вернулся получается...

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


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

Все Добрый День. Возник такой вопрос: вот у предметов существует контекстное меню("использовать", "выбросить"), можно ли добавить в это меню свой пункт?

Изменено пользователем vampirnik77
  • Полезно 1

Вернулся получается...

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


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

И такой еще вопрос, как можно сделать, что бы функция отрабатывалась в следующем апдейте, тоесть вызов происходит в апдейте 1, а отрабатываеться функция в апдейте 2

Вернулся получается...

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


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

Добрый Вечер! Такой вопрос, поставил комплект модулей от Артоса(качал с этого поста жмак), вроде все нормально, но игра при сохранении вылетает.

! Cannot find saved game ~:bind_stalker:save:size=[18]

! Cannot find saved game ~:se_stor:save_storehouse:size=[0/<nil>]:  (>)

FATAL ERROR

[error]Expression : !m_error_code
[error]Function : raii_guard::~raii_guard
[error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
[error]Line : 748
[error]Description : ....r - call of pripyat\gamedata\scripts\se_stor.script:156: attempt to index local 'pk' (a nil value)


stack trace:



Я подумываю на то, что сохраняюсь не на оригинальном уровне. Может нужно куда-то записывать имена уровней?
 

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

Вернулся получается...

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


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

@Kirgudu, Вопрос снят. Не прописал что нужно в class_registrator

  • Нравится 1

Вернулся получается...

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


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

Здравствуйте. Такая проблема, не могу прочитать custom_data объекта, использую m_netpk. Подскажите пожалуйста в чем проблема.

local bla = "kgsdglsgmsmgksgnbmsdjngsgmsko"
function Create_Art()
  local spawn_section = "af_cristall_flower"
	local pos,dir = db.actor:position(),db.actor:direction()
	local lvid,gvid = db.actor:level_vertex_id(),db.actor:game_vertex_id()
	local sobj = alife():create(spawn_section, pos:add(dir), lvid, gvid)
    local pk = get_netpk(sobj) --/ запрос пакета
    --/ если получен доступ к  пакету
      local data = pk:get() --/ считываем параметры в таблицу
	  local description = pk:dumpDesc()
		news_manager.send_tip(db.actor, description)
      --/> заполняем параметры
      if bla and type(bla) == 'string' then
		news_manager.send_tip(db.actor, "STRING WRITE!")
        data.custom_data:setString(bla)
      end
	  data.condition = 5
      pk:set(data) --/< запись
	   news_manager.send_tip(db.actor, "DONE!")
	   test.take_artefact(sobj) --\И тут же считываю, если менять например condition, то читаеться все нормально
end

-- перечень артефактов, которые бьются
local hit_art_list = {
    [clsid.art_bast_artefact]	= true,
    [clsid.art_black_drops]	= true,
    [clsid.art_dummy]		= true,
    [clsid.art_electric_ball]	= true,
    [clsid.art_faded_ball]	= true,
    [clsid.art_galantine]	= true,
    [clsid.art_gravi]		= true,
    [clsid.art_gravi_black]	= true,
    [clsid.art_mercury_ball]	= true,
    [clsid.art_needles]		= true,
    [clsid.art_rusty_hair]	= true,
    [clsid.art_thorn]		= true,
    [clsid.art_zuda]		= true,
    [clsid.artefact]		= true,
    [clsid.artefact_s]		= true,
}

function take_artefact(obj)
news_manager.send_tip(db.actor, "FAZA2")
        local pk = get_netpk(obj)
			local data = pk:get() --/ считываем параметры в таблицу
			local custom  = data.custom_data:getString()
			local custom_data = tostring(custom)
			news_manager.send_tip(db.actor, custom_data) --\Пытаюсь вывести, приходит пустое сообщение
		end 

 

 

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

Вернулся получается...

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


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

Еще такой вопрос. Апдейт актора, сколько в нем происходит вызовов в секунду?

Вернулся получается...

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


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

Есть ли возможность скриптово положить в слот оружие\костюм?

Вернулся получается...

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


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

@Wlad777, Я был бы очень признателен, если бы вы подсказали ссылочку на xray-extensions для ЗП :) 

Вернулся получается...

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


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

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