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

[SoC] Ковыряемся в файлах

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

Stalk15

006 -- это не айди волка!, а его сид.

верно подмечено - не пошли на пользу все наши уроки товарисчу на СП. :-)

Stalk15

надо использовать

level_object_by_sid( sid объекта )

Ссылка на комментарий

erlik (Garry_Galler)

если не секрет что ты пытаешься сделать-то? (я про виджеты и всё то что ты делаешь :russian_ru: )

 

 

Каким образом НПС реагируют на игру гитары другого НПСа?
это логика или скрипт?
Что я имею в виду: когда нпс играет на гитаре, то другие(другой) оценивает его игру либо "+"(похвала;пример:"Ну, ты мастер" либо"-"(недовольство;пример:"Кончай уже, Рихтор...!", как это происходит?

 

 

Garry_Galler я уже исправился (просто скопипастил не то :crazy:)

по поводу что делаешь... О_О чё за пушка-то такая? (или просто апдейд ремонт и т.п.? )

Изменено пользователем ФеНиКс
87728-stalker.gif
Ссылка на комментарий

ФеНиКс

id_by_sid(006)

эта функция из _G возвращает айди серверного объекта по его сиду. Здесь она ни к месту.

---------------------------------------------------------------------------------------------------------------

Что я делаю?

Виджет является визуальными кнопками настройки параметров моей пушки.

--------------------------------------------------------------------------------------------

Да нет же -меню ремонта\апдейта - это на будущее(возможно) (это то что ты видел на СП). А этот виджет для моей гравипушки - для ее настроек прямо в инвентаре(так удобнее чем каждый раз в скрипте править при старте игры).

Изменено пользователем Garry_Galler
Ссылка на комментарий

Stalk15

я бы ещё добавил проверку на расстояние вот так:

 

function on_talk()
  local npc = level_object_by_sid(006)
    if npc:position():distance_to(db.actor:position()) < 3 then
db.actor:run_talk_dialog(npc)
end
end

 

----------------

Garry_Galler

А, теперь понял!=) Прикольная штука однако=)

Изменено пользователем ФеНиКс
87728-stalker.gif
Ссылка на комментарий

ФеНиКс, Garry_Galler

Теперь заработало.

P.S

Garry_Galler

Я запутался.На СП вы мне говорили, что Sid, например Волка, = 6.Хотя может я и ошибаюсь...

верно подмечено - не пошли на пользу все наши уроки товарисчу на СП. :-)

Ну почему не пошли, я немного разобрался с клиентскими и северными обьектами и седня впервые сам дописал строку в функцию, правда не в то место, но.. :)

 

 

 

---------------------------------------------------------------------------

ФеНиКс

я бы ещё добавил проверку на расстояние вот так:...

Да я рестриктором воспользуюсь :)

А строка

 if npc:position():distance_to(db.actor:position()) < 3 then

проверяет дистанцию от всех НПС, я правильно понял?

Изменено пользователем Stalk15
Ссылка на комментарий

Stalk15

приведенный пример проверки дистанции в данном случае проверяет дистанцию только от ГГ и до Волка.(конкретного NPC определенного по сиду)

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Разумеется сам метод можно использовать для проверки дистанции от кого\чего до кого\чего угодно - предварительно получив ссылку на юзердату объекта\объектов.

 

сид волка - это и есть 6 (006) - разницы между таким написанием и тем что в скобках никакой - простой разрабы для нумерации сидов в game_story_ids добавляли два нуля или один ноль. Они никакого значения не имеют.

Изменено пользователем Garry_Galler
Ссылка на комментарий

Garry_Galler

 

Я думал Stalk15 имеет в виду вообще, а не в данном скрипт, а так эта проверка используется для всего. (по моему)

Исправь если я не прав.

 

87728-stalker.gif
Ссылка на комментарий

Stalk15, Нет. Это строка проверяет расстояние от одного объекта до ГГ.Чтобы проверять всех НПС нужно воспользоваться циклом или вписать в нужную функцию в xr_motivator.script

А если честно сказать, то это бредовая идея. В чём смысл?

А если будет скажем 3 нпса на расстоянии от ГГ меньше 3?Сможешь ли ты это контролировать?- Ответ нет, не сможешь.Так зачем терять время на никому не нужную "псевдофичу",тем более реализованную не в полной мере?

Изменено пользователем меченый(стрелок)
Ссылка на комментарий

Kolmogor

Обращаюсь как очень опытному скриптеру :rolleyes: - не мог бы помочь разобраться с моей проблемкой (вопрос на пред. странице по виджету в инвентарном окне).

Просто очень нужно ее решить - ведь все сделано, а какая то мелочь не хочет работать как надо.

Ссылка на комментарий

Garry_Galler, а посмотреть чужие скрипты не пробовал? В амк мы эту проблему долго решали,даже не помню решили ли :).

Просто очень нужно ее решить - ведь все сделано, а какая то мелочь не хочет работать как надо.

Это не мелочь,это головная боль ;).

А при закрытии инвентаря не пробовал удалять форму?

Изменено пользователем меченый(стрелок)
Ссылка на комментарий

меченый(стрелок)

Дак я не видел ни одного примера подходящего под моей случай.

если подскажешь код (или хотя бы мод\версия, я в моды давно не играл и свежих версий у меня нет - АМК еще версии 1.4.1) то буду очень признателен.

-----------------------------------------------------------------------------------

все доступные варианты удаления\деаттача виджета я исчерпал. Даже Artos не смог помочь (пробовал но пока результатов нет).

Ссылка на комментарий

Garry_Galler, Нет, кодом помочь не могу,так как мы тоже не решили эту проблему(и я и Колмогор думали над этим), и думаю никто(хотя...) не сделает это чисто на скриптах...

Как вариант - сделать какой-то итем,который будет выводить форму поверх инвентаря,и при нажатии какой-то кнопки будет отключатся и "разблокировать" инвентарь.

Изменено пользователем меченый(стрелок)
Ссылка на комментарий

меченый(стрелок)

ну с этим ладно (можно обойтись и без удаления - особо мешаться виджет не будет - места мало занимает в окне описания).

 

а вылет то почему после перезагрузки? у вас эта проблема была?

---------------------------------------------------------------------------------

понятно. Ну что ж будем искать :-)

Изменено пользователем Garry_Galler
Ссылка на комментарий

Garry_Galler, Да была.

После перехода между локациями при открытии инвентаря происходил вылет(хотя форма как бы была удалена перед переходом) из-за того что форма "вроде как" приаттачина. Вот как :).

PS:У меня скриптов нету, если хочешь посмотреть, напиши Энду,может скинет скрипты с формочкой для сна :).Посмотришь,может что полезного подчерпнёшь. В общем - удачи!

Ссылка на комментарий

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

 

Изменено пользователем Jurok
Ссылка на комментарий
Обращаюсь как очень опытному скриптеру :rolleyes: - не мог бы помочь разобраться с моей проблемкой (вопрос на пред. странице по виджету в инвентарном окне).

Детачишь свое окно от инвентаря в actor_binder:net_destroy или при закрытии инвентаря и все

 

меченый(стрелок),

мне кажется мы это побороли описанным выше способом :unsure:, но точню не помню :)

Ссылка на комментарий

:offtopic:

Kolmogor, привет, это я помню(про net_destroy) ,но вроде проблема не решилась :).(ключевое слово вроде)

ФеНиКс,

if not (item and item:section() == "wpn_pb") then --если у нас нет ничего,а проверка на пб уже не обязательна,
Изменено пользователем меченый(стрелок)
Ссылка на комментарий

Kolmogor

деаттачил - как раз на закрытие инвентаря - один хрен - вылет при наведении курсора на кнопки (после перезагрузки и открытии инвентаря).

local wnd
local inventory  --значения назначаются при аттаче - однократно при первом открытии инвентаря -( в другой функции)

function OnOpenInventory(info_id)
    if info_id == "ui_inventory" then
    inventory_open = true
      elseif info_id == "ui_inventory_hide" then
          if inventory  and wnd then
           inventory:DetachChild(wnd)
         end 
        inventory_open = false
    end
end

Изменено пользователем Garry_Galler
Ссылка на комментарий

Вот у меня есть значения: x,y,z,lv, gv, dx, dy, dz, level_name. Как мне их все сохранить и вызвать в нужный момент все сразу?

Вопрос так сказать к скриптёрам.

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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

AMK-Team.ru

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