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

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


Svoboда

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

Добрый день

В секции с бронёй есть такие строки:
additional_inventory_weight =  0
additional_inventory_weight2 = 0

Скажите, можно как-то присвоить им значение скриптом?
очень нужно, спасибо

God save Hatsune Miku!

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


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

Помогите с проблемой (ТЧ)

у меня есть локальная переменная text, в которой содержится текст
Как его сравнить с текстом, который находится в 
<string id="test">
<text>текст, с которым нужно сравнить</text>
</string>
что-то типа 
if text == *тут ссылка на string id* then 
как сослаться на этот текст? 

Я, конечно, могу сравнивать напрямую
If text == "test text" then
Но это работает только для английского текста, русский текст, написанный в скрипте он переводит в какую-то нечитаемую ересь

God save Hatsune Miku!

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


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

Подскажите, как добавить новую кнопку в пда?  Делаю по аналогии с кнопкой "центр на меченом", но кнопки не появляется. Пробовал удалить секцию кнопки "центр на меченом", но вылета не было, просто кнопка не появилась. Значит - её нигде не требуют. Но моя кнопка даже с готовой секцией не появляется. Неужели это тоже движковая тема? Всем спасибо

 OBNs8aTWS9M.jpg?size=1158x236&quality=96

God save Hatsune Miku!

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


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

Доброго времени суток, подскажите функцию для открытия окна торговли, для ТЧ.
(чтобы торговля, к примеру, открывалась после фразы "Имею желание поторговаться")

(оригинальная function trade_init(seller, buyer) - работать отказывается)

God save Hatsune Miku!

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


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

Всем привет

 

Как узнать имя нпс, кто его убил и чем? на выходе хочу получить что-то типа "вы убили волка ножом"

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

God save Hatsune Miku!

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


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

Как определить от какого оружия умер нпс? 

Конструкция, типа: 

function name()
  local wpn = db.actor:active_item()
  if wpn and wpn:section()=="grenade_f1" then
    return true
else
    return false
  end
end

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

God save Hatsune Miku!

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


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

@AndreySol так ведь в ней содержится объект, который убил, т.е. актор, а не оружие, из которого он это сделал

upd: что-то я не проснулся ещё.

who:active_item():section()

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

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

God save Hatsune Miku!

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


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

@Zander_driver С первым пунктом более менее разобрался, а как получить тип хита, от которого умер нпс?

upd: такое чувство, что решение где-то близко, а я его не вижу. Вдвойне интересно

God save Hatsune Miku!

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


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

@AndreySol А хит оружия ,которое в руках, без правки движка получить можно? 

 

upd: да, можно

Кажется, с ума сойду быстрее, чем определю как отследить тип хита, от которого умер нпс :biggrin:

Пойду дальше пытаться, будут идеи - не стесняйтесь, пишите:3

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

God save Hatsune Miku!

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


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

@_Sk8_AsTeR_ емнип, секции таких персонажей в файлах character_desc_локация, начинаются с "sim_", попробуй начать поиски отсюда

God save Hatsune Miku!

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


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

@UriZzz function motivator_binder:before_hit_callback(p_s_hit, p_ignore_flags)
А вот как с этим работать - ума не приложу, пытаюсь по маленьку, но безрезультатно. 
Нашёл в тырнетах где данный калбек используется, но там все на ОГСЕ разрабатывается, чую - что должен был способ на чистом ХЕ узнать тип хита, но тут я нуб)
Когда нибудь да разберусь)

God save Hatsune Miku!

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


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

@UriZzz в тех скриптах, используется то, чего нет в ЕХ, что печально)

God save Hatsune Miku!

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


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

@UriZzz например: 

function motivator_binder:before_hit_callback( p_s_hit, p_ignore_flags )
  self.last_hit_data = read_hit_data( p_s_hit )

read_hit_data() - из ogse.dll

@Zander_driver в том то и дело, что в огсе он вытаскивается тем, чего нет в ХЕ

https://github.com/dsh2dsh/op2ogse/blob/3f7514f804eaf1dc875cc3ce8513d8537dd53bc2/gamedata/scripts/xr_motivator.script#L673

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

God save Hatsune Miku!

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


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

@_Sk8_AsTeR_ По идее, в алл спавне в секции нпс пишешь 
 

[smart_terrains]
имя_гулага = true
END

и в случае свободных мест в том же гулаге, нпс=а должно в него затянуть

God save Hatsune Miku!

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


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

Такой вопрос, вешаю на худ имя нпс: 

 hud:AddCustomStatic("hud_name"):wnd():SetTextST(victim:character_name())

и тут же вешаю ещё один худ
hud:AddCustomStatic("hud_static") -- это картинка.

 

эти два худа hud_name  и hud_static конечно же прописаны в ui_custom_msgs, и координаты им прописаны. но вот в чём проблема, мне нужно, чтобы выводилось "имя нпс + рядом картинка", а имя нпс может быть разных размеров, и фиксированные координаты не подойдут. Может быть, вешая худ, можно указать его координаты? чтобы при любой длине имени нпс картинка была рядом с ним? Спасибо

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

God save Hatsune Miku!

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


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

@AndreySol нет, нужно именно имя + картинка, причем в зависимости от условий картинка либо будет, либо нет, а имя будет всегда. 

God save Hatsune Miku!

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


Ссылка на сообщение
(изменено)
22 часа назад, Colder сказал:

Возможно ли скриптово отследить удар ножом (ТЧ)

Попробуй просто отследить, что на момент получения целью урона, в руках у гг был нож. 

local wpn = db.actor:active_item()
if wpn and wpn:section()=="wpn_knife" then
*твои действия*
end


 

Вопрос касательно ТЧ. 
Есть у меня переменная, по умолчанию объявлена как 

local energia = 10

Есть предмет, использующий энергию - при каждом использовании тратится одна, то есть, без подзарядки у меня всего 10 использований. Но как только я делаю сейв-лоад, переменная снова становится равной 10, что даёт ещё 10 использований. Как "сохранить" текущее значение переменной? 
Спасибо

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

God save Hatsune Miku!

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


Ссылка на сообщение
10 минут назад, ted.80 сказал:

Очень не правильно - что-то подобное пробовал очень давно - поясню: 

если выстрелить из рпг или подствольника ну или гренку кинуть,

и переключиться на нож - то твой скрипт покажет что урон нанесён ножом,

Увы даже на костыль не тянет

 

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

  • Смешно 1
  • Сомнительно 1

God save Hatsune Miku!

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


Ссылка на сообщение
(изменено)
1 час назад, ted.80 сказал:

"Молодец" - что ещё сказать, только задавали вопрос ни как налюбить игру - а как отловить именно удар ножом

так что твой совет весьма сомнителен

 

Окей, вот тебе подробный "туториал" как это сделать. 
1. подключить X-ray Extensions

2. подключить OGSE.dll

3. подключить каллбек before_hit

4. 

function motivator_binder:before_hit_callback(p_s_hit, p_ignore_flags)
 self.last_hit_data = read_hit_data(p_s_hit)
 local who = level.object_by_id(self.last_hit_data.who_id)
 
  if who:id() == db.actor:id() then
    local wpn = level.object_by_id(self.last_hit_data.weapon_id)
    weapon_kill = wpn:section()
	end
end

5.  Теперь переменная weapon_kill хранит себе название оружия, которым был убит нпс. То есть в ней всё равно будет храниться, допустим, grenade_f1, даже если ты кинул гранату и быстро достал нож. 
6. а дальше все просто
 

if weapon_kill=="wpn_knife" then
*что-то делается*
end

7. В принципе, всё довольно просто.  
А используя оригинальные возможности, лучше тех вариантов, которые предложил я и товарищ Norman Eisenherz  не придумаешь. 

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

God save Hatsune Miku!

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


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

@ted.80 чет туплю жестко, сплошные вылеты ловлю. 
где вставить этот кусок? 
Можно ли переменную сделать глобальной? (Для использования в других скриптах небоходимо)

God save Hatsune Miku!

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


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

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

AMK-Team.ru

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