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

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


Halford

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

Такой вопрос: на худе отображается количество патронов для оружия, которое в руках. Это количество движком просчитывается или есть скрипт соответствующий?

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

krot32, в файле ui_hud.xml найди строку (на цифирь не смотри, главное имя текстуры):

<texture id="ui_hud_map_counter" x="352" y="5" width="56" height="63" />

Это квадратик, в котором стоит количество контактов. подставь координаты одной точки, он и проподет.

В файле maingame.xml ищи вот это (на цифирь опять не смотрим главное имя статиса):

    <static_pda_online x="190" y="22" width="30" height="25" stretch="1" light_anim="ui_pda_contacts" la_cyclic="0" la_texture="0" la_text="1" la_alpha="1">
        <texture></texture>
        <text y="8" align="c" font="graffiti19" r="238" g="155" b="23" a="255"/>
    </static_pda_online>

Это сама цифра количества контактов. Поставь здесь вместо a="255" - "а=0". Цифры не будет.

=============================

А теперь мой вопрос: Как определить какое оружие лежит в 1 и 2 слотах у ГГ

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Не, ребята вы не поняли. Как скриптом определить что именно в данный момент лежит в 1 и 2 слотах :(

================================

Что означает ошибка:

pure virtual function called

И кто-нить может рассказать вот про это : GetLocalPlayer()

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

8push5, спасибо, но уже сам разобрался. А вот вопрос на засыпку:

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

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Сталкнулся вот с такой ошибкой:

[error]Arguments     : LUA error: pure virtual function called

НЕ могу понять смысл ошибки. Это что, Лиа ругается что обращаюсь к несуществующей функции?

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Как получить игровое время понятно:

local time_h = level.get_time_hours()   --часы
local time_m = level.get_time_minutes()   --минуты

А как получить игровую дату?

get_time_days() ?

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Такой вопрос: Есть некая переменная в скриптах. надо сохранить её значение при сейве. Как это сделать. Подскажите, или носом ткните, где почитать.

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

8push5,

Спасибо! :)

А я вот что нашел на оффоруме:

Есть в xr_logic штука под название pstor. Работать можно через xr_logic.pstor_store()/xr_logic.pstor_retrieve(). Сохраняется всё в биндере игрока, причём совместимость не теряется. Только злоупотреблять с большими объёмами данных (в моей ситуации это где-то 4-6 КБ) не следует, иначе игра будет вылетать.

В твоем случае надо лезть в bind_stalker.script, что не хотелось бы делать (чем меньше вмешиваешься в чужие скрипты - тем легче адаптировать свои)

Попробую сейчас и то и другое.

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Ещё проблема... Момент потери предмета из инвенторя отследить легко, через функцию actor_binder:on_item_drop (obj). А вот как поймать момент появления предмета.... Ну никак понять не могу.....

===================

Все, понял.... Конечно через actor_binder:on_item_take (obj). Это все шутки предмета, который постоянно скриптово пропадает и появляется в инвентаре :)

Я эту функцию и использовал, но дальше на спавн предмета через скрипт внимания не обратил. А там у меня и ломалось.

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

8push5,

А ведь ни один способ по сохранению переменных у меня ни сработал....

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Ну очень меня волнует вопрос "горячих клавишь" Сделать так чтобы что-то вызывалось по последовательности "Esc"+"клавиша" - нет проблем. Здесь все понятно.

А вот просто нажатие клавиши прямо в игре. Нигде даже упоминания об этом не видел. Я понимаю так, что обработка нажатых клавишь идет через движок и добавить свое в этот процесс нет возможности? Но может быть есть способ хотя бы отследить нажатие "последней клавиши".

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Monnoroch,

Действительно, машины, как и кнопка запуска двигателя были вырезаны из финалки. А потом это все просто восстановили. Да фиг с ними, с кнопками. Где их обработку перехватить можно?

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Чтобы вывести на худ некий статис необходимо прописать следующую последовательность команд:

    volume_wnd_i_1 = CUIStatic()
    volume_wnd_i_1:SetAutoDelete(true)
    self:AttachChild(volume_wnd_i_1)
    volume_wnd_i_1:SetWndRect(-340, 367, 200,20)    --337, 200)       
    volume_wnd_i_1:SetFont(GetFontLetterica16Russian())
    volume_wnd_i_1:SetTextColor(255, 255, 255, 255)
    volume_wnd_i_1:SetText(inst)

Выведена будет одна строка. А вот как сделать, чтобы строк было не одна, а больше? Пробовал в стринговую переменную inst вводить конструкцию "\n", но она здесь не срабатывает.

================================

Johnson, стрингформат не пойдет. Мне надо четко задавать новую строку. А что за конструкция "/r"?

================================

Johnson,

Спасибо. Я такую фичу видел у Сяка в функции времени, но там это было под стрингформатом и не работало. А на чистый стринг я не пробовал. Сейчас испытаем :)

================================

Испытал :( Нифига не вышло. И "\\" пробовал и "\n\r" пробовал.

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Подскажите, кто знает:

1. а как спавнятся патроны? Пачкой? Но тогда как существует неполная пачка. Или каждый патрон в отдельности?

2. Как сделать предмет, заспавненный через скрипт, непродоваемым ни торговцам, ни неписям. Типа как флешка Стрелка.

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

SCRIPT,

спасибо, про это я знаю,но этот путь не есть хороший. А если завтра ещё торговцев добавят, опять прописывать надо.

 

8push5,

благодарствую! Как всегда четко и по делу.

 

Kostya V,

Буду обязан! Тогда сразу вопрос: а как его сделать квестовым? Мысль такая была, но сразу спросить природная стеснительность не позволила

========================

Руся, все сработало. Спасибо

Kostya V, последний вопрос соответственно снят :)

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Вот такой вопрос:

Как скриптом определить какие патроны соответствуют выбранному типу оружия?

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Ребята, я все понимаю и знаю как и где глазами смотреть. Я спрашиваю, как в скрипте это определить :) Другими словами, как в скрипте поднимать всю эту информацию из конфигов?

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

garand2k,

Я так и думал, но надеялся, что как-то проще можно...

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

8push5,

Спасибо, попробую разобраться.

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

Как определить оружие в слоте 1 знаю:

g_obj = db.actor:item_in_slot(1)

Общее количество патронов у ГГ для оружия первого слота как найти знаю:

sl = g_obj:get_ammo_total()

Количество патронов в магазине 1 слота тоже не секрет:

sl_1 = g_obj:get_ammo_in_magazine()

А вот как все тоже самое определить, но разобрав по типам патронов?

Т.е. пусть в слоте 1 имееп ПМ

Как найти сколько патронов ammo_9x18_fmj и сколько ammo_9x18_pmm?

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

НЛС-6: У каждого своя зона

_______________________________________________________________

Не ищи легких путей и не возвращайся той же дорогой

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


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

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

AMK-Team.ru

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