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

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


Svoboда

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

(изменено)

alive есть и у серверного объекта см: https://github.com/joye-ramone/xray-1.0007-origin/blob/99a20ebf9847c21d9d86151bd60acf54cdbdabdb/xr_3da/xrGame/xrserver_objects_alife_monsters_script3.cpp#L73

Но, только у cse_alife_creature_abstract

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

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


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

Не понял вопроса, db.actor вернет cse_alife_creature_actor который есть наследник cse_alife_creature_abstract 

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


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

Тьфу, под вечер глаз уже не тот.

Прочитал как alife():actor()

 

Да, db.actor клиентский. Но у него тоже вроде бы есть "alive" свойство как ужу сказали выше.

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

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


Ссылка на сообщение
5 hours ago, DoberBull said:

Желательно без правок внутри движка. Знаю, такое было в S.N.I.P.E.R, а движок там не был затронут

Это вряд ли возможно. Текст для всех меню в движке.

То есть или движок правился или это был не ТЧ.

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


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

Register не добавлять элемент в окно, а только регистрирует окно как цель для сообщений.

Как минимум нужно еще делать :AttachChild

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

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


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

То есть статик диалог уже появился?

По кнопке, у описания  

ui_button_main01

 есть все нужные текстуры _e, _t, _d, _h ?

Еще можно попробовать поменять Init для кнопки на такой

:Init("ui_button_main01", 500,200,200,50) 

 

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

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


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

Пробуй через 

:Init("ui_button_main01", 500,200,200,50) 

Вот у меня вот так вот точно работает:

    dlg = CUI3tButton()
    dlg:SetAutoDelete(true)
    dlg:SetWindowName("btn_trunk")
    dlg:SetTextST("ui_st_open_trunk")
    dlg:Enable(self.has_trunk)
    dlg:Init("ui_button_ordinary", frame_x + 5, frame_y + 40, 117, 29)
    self:AttachChild(dlg)

 

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


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

Вылет на какой строке?

Вот тут же будет вылетать если нету брони в самом начале

local slot = db.actor:item_in_slot(6)
local sect = slot:section()

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


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

И Вам не хворать.

В xml диалоги добавить тег <action> примерно вот так

<phrase id="123">
    <text>dialog_123</text>
    <action>dialogs.action</action>
</phrase>

где dialogs.action - function action(first_speaker, second_speaker, dialog_id, phrase_id) в файле dialogs.script

Как то так?

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


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

Закинь куда то текстом кусок скрипта, а лучше весь файл.

По картинкам сложнее гадать. Может там опечатка где. В слове price точно с - латинская?

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


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

Я потому и просил залить куда то сам файл.

Не знаю так ли и есть или это форму ломает, но у меня в "price" есть какой то непечатный символ

https://i.imgur.com/JU58Jnu.png

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


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

Я не вижу проблем со скриптом. Так же проверил через lua online - первый метод прекрасно находит цену.

В чем именно ошибка? Если вылет - закинь полный лог.

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


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

Так это у тебя не price nil, а nv, какой то левый, потому nv_type[nv] - nil и уже при вызове .price получаем ошибку.

Уверен что там phrase_id такой как есть в таблице?

Для precondition диалога в 4 параметр будет приходить phrase_id только что сказанной фразы, а не той, для которой проверка вызывается

Но, phrase_id фразы для которой вызывается проверка будет в 5 параметре.

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

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


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

Можно проще

local is_running = get_actor_obj():is_actor_sprinting()

if is_running then

end

Spoiler

.def("is_actor_normal",                        &CActor::is_actor_normal)
.def("is_actor_crouch",                        &CActor::is_actor_crouch)
.def("is_actor_creep",                        &CActor::is_actor_creep)
.def("is_actor_climb",                        &CActor::is_actor_climb)
.def("is_actor_walking",                    &CActor::is_actor_walking)
.def("is_actor_running",                    &CActor::is_actor_running)
.def("is_actor_sprinting",                    &CActor::is_actor_sprinting)
.def("is_actor_crouching",                    &CActor::is_actor_crouching)
.def("is_actor_creeping",                    &CActor::is_actor_creeping)
.def("is_actor_climbing",                    &CActor::is_actor_climbing)
.def("is_actor_moving",                        &CActor::is_actor_moving)

 

  • Спасибо 1

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


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

Такое через выдачу инфо поршня и его проверку в предусловии делается.

  • Согласен 1

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


Ссылка на сообщение
2 minutes ago, Дмитрий Зверев said:

физического объекта

Это что такое в вашем понимании?

Привязать например к артефакту или аптечке можно - просто регистрируем скриптовый класс новый (если еще нету) для нужного класса предметов и делаем примерно тоже, как spawner обрабатывается в se_stalker

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


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

Понял, lа, так доже будет работать. Я делал для ящиков и прочего. 

В целом, (насколько я видел) обработка [spawner] это чисто скриптовая фишка - пока условие не выполнено - объекту нельзя переходить в online

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

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


Ссылка на сообщение
7 minutes ago, DoberBull said:

я поставлю одну из анимок смерти ЗП

В ЗП есть отдельные анимации для смерти?

А как там они работают? Может проще их перенести в движок?

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


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

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

AMK-Team.ru

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