SCOP

SCOP

Сообщение 7.9 » 16 фев 2009, 21:03

Была тема про разные функциональные и сервисные добавления в Сталкера.
Релизы, примеры как использовать и прочее. но использовалась только для Скопа - и я её "приватизировал" - вроде никто не пострадал :)
Последний раз редактировалось 7.9 20 янв 2011, 03:10, всего редактировалось 5 раз(а).
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение 7.9 » 25 авг 2010, 10:48

обновил версию, кто пользовался версией 0.1 - перекачайте, исправлен затык в инвентаре.

SCOP. Система для считывания пространственных параметров точек
SCOP_system

Название: SCOP (пространственные координаты точек).
Авторы и cоавторы: 7.9, при участии Artos, singapur22 и erlic.
Версия: 0.2 от 24.08.2010

Описание.
Назначение мода - получение координат и дирекции 'места "упора" указателя на худе' и координат и ориентации "модели ГГ". Фиксируются координаты и направления по осям X, Y, Z и параметры level_vertex и game_vertex. Ограничение на дистанцию - 250 метров. Данные сохраняются в лог-файле.

Инструкции и разъяснения.

Установка.
1. Копируем файлы с заменой.
2. Если нет предыдущей версии, выполняем инструкции из файлов начинающихся с "!!!".
3. Если есть локации отличные от стандартных ТЧ, надо добавить их начальный и конечный гейм_вертексы. В файле "scop.script", в функции "lvid2gvid" увидите список "gvid_lmt" - делайте "по аналогии". ****

Использование.
1. Выдать себе как-нибудь предмет "scop".
2. Поместить во 2 слот.
3. Навести указатель на нужную точку.
4. Запомнить показания дальномера и активировать 2 слот.
5. Ввести показания дальномера ***
6. Ввести название записи.
7. Сохранить и незабыть забрать данные из лог-файла:
с префиксом "SCOP_ACTOR" для модели ГГ и
с префиксом "SCOP_FINGER" для точки указателя на худе.
Последний раз редактировалось 7.9 03 сен 2010, 23:17, всего редактировалось 3 раз(а).
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение 7.9 » 03 сен 2010, 22:33

Примеры использования функций из файла u.script
Назначение: сохранение данных в сохранения игры.

[Показать] Спойлер:
Функции вызываются из других скриптов (и диалогов), находятся в файле u.script, который должен присуитствовать в папке gamedata\scripts

Примеры:

1. сохранение-чтение чисел.
local tmp = 100
u.datawrite("name",0,tmp) -- запишет tmp в name
tmp = u.dataread("name") --> tmp == 100
u.datawrite("name",1,tmp) -- прибавить tmp к name
tmp = u.dataread("name") --> tmp == 200
u.datawrite("name",2,tmp) -- умножить name на tmp
tmp = u.dataread("name") --> tmp ==40000

2. Сохранение-чтение строки.
local tmp = "сто"
u.datawrite("name",0,tmp) -- запишет tmp в name
tmp = u.dataread("name") --> tmp == "сто"

3. Сохранение-чтение логики.
local tmp = true
u.datawrite("name",0,tmp) -- запишет tmp в name
tmp = u.dataread("name") --> tmp == true

4. Уничтожить запись.
u.datawrite("name",0)


5. Сохранение-чтение даты-времени.

local yy,mm,dd,hh,mn,sc,msc = game.get_game_time():get()
u.datawrite("name",0, yy,mm,dd,hh,mn,sc,msc) -- запишет "yy,mm,dd,hh,mn,sc,msc" в name
yy,mm,dd,hh,mn,sc,msc = u.dataread("name",0) -- прочитает дату-время в формат CTime из name

или так:

u.datawrite("name",0, game.get_game_time():get()) -- запишет текущую дату-время в name
local yy,mm,dd,hh,mn,sc,msc = u.dataread("name",0) -- прочитает дату-время в формат CTime из name

или так:

function test()
news_manager.send_tip(db.actor, "записали: "..tostring(u.datawrite("my_data",0,game.get_game_time():get())), 0, "trader", 2000)
news_manager.send_tip(db.actor, "прочитали упакованное: "..tostring(u.dataread("my_data")), 0, "trader", 2000)
local yy,mm,dd,hh,mn,sc,msc = u.dataread("my_data",0)
news_manager.send_tip(db.actor,"прочитали распакованное: "..yy.."."..mm.."."..dd.."."..hh.."."..mn.."."..sc.."."..msc, 0, "trader", 2000)
end

--При записи-чтении даты-времени, есть одна особенность - обнуляются милисекунды.
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение 7.9 » 06 сен 2010, 03:06

Тем кому SCOP как инструмент понравился, предлагаю потестировать следующую версию.
Бета тест 1 версии 0.3.

Добавлены для тестирования:

1. Функция проверочного спавна.
Добавлена кнопка: "посмотреть", при нажатии которой будет произведена попытка АИ-зависимого спавна тестового предмета в указанную точку. При повторной активации "устройства" - предмет будет удалён и можно будет пробовать ещё раз.

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

http://file.qip.ru/file/eRwPJm2g/SCOP_0_3_test_1.html
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение Romich » 06 сен 2010, 07:44

7.9, а для ЗП когда будет? или эта подходит?
Romich
 
Сообщения: 393
Зарегистрирован: 26 мар 2010, 19:26

Re: Сервисные добавления.

Сообщение 7.9 » 06 сен 2010, 09:22

Следующий шаг - ЗП. Может даже сегодня вечером.
Эта, на ЗП не заработает.
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение Romich » 09 сен 2010, 22:35

7.9 писал(а):....предлагаю потестировать следующую версию.

.... Добавлена кнопка: "посмотреть", при нажатии которой ......

происходит вылет :)
Код: Выделить всё
FATAL ERROR

[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: d:\games\stsoc\gamedata\scripts\scop.script:148: attempt to index global 'u79' (a nil value)

stack trace:

наверное, функция спавна не допилена до конца... таки жду версию на ЗП...
Romich
 
Сообщения: 393
Зарегистрирован: 26 мар 2010, 19:26

Re: Сервисные добавления.

Сообщение 7.9 » 09 сен 2010, 23:19

Закомментируй 148 строку, или, если в редакторе нет нумерации строк, поиском найди строку с символами u79 (она там одна такая) и закомментируй её (два тире в начале строки) - это забытый отладочный вывод. А ещё лучше - удали её, только не "прихвати" чего-нибудь вместе с ней.

Для ЗП - будет, я помню, с предметом-основой разберусь - и перенесу. В ЗП класс II_ATTCH не так как в ТЧ "работает" - перенесу на класс оружия, там надо другое управление сделать.
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение 7.9 » 11 сен 2010, 14:59

Вот, даже не понял почему заработало :)
Сейчас понимать некогда, сейчас нужна ловля багов и неудобств.

Бета тест 1 версии 0.3 для S.T.A.L.K.E.R.: Call Of Pripyat

Добавлены для тестирования:
1. Функция проверочного спавна.
Добавлена кнопка: "посмотреть", при нажатии которой будет произведена попытка АИ-зависимого спавна тестового предмета в указанную точку. При повторной активации "устройства" - предмет будет удалён и можно будет пробовать ещё раз.
2. Функция считывания геймвертексов.
При установке и при подключении новых локаций больше не требуется редактирование таблицы геймвертексов в скрипте. Никакие специальные адаптации больше не потребуются.

SCOP_for_COP_03beta1.7z
(6.13 Кб) Скачиваний: 250


В этом варианте, есть старый затык в инвентаре (когда предмет ложится в слот) - выход через "ESC", потом всё нормально, потом исправлю.
всё легко
Аватара пользователя
7.9
Теоретик Зоны
 
Сообщения: 787
Зарегистрирован: 01 сен 2008, 20:28

Re: Сервисные добавления.

Сообщение Romich » 12 сен 2010, 17:36

Затестил на Хоббите.
В целом работает, но как-то странно.
1. В Хоббита до этого вставил и док_вьювер, так вот, меняешь во втором слоте док на скоп и все... появляются поля для ввода цифр от скопа и вылет. Ругань идет на скрипт док_вьювера почему-то
Код: Выделить всё
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : d:\games\stcop\gamedata\scripts\doc_viewer.script:46: attempt to index upvalue 'st' (a nil value)

Непонятно в общем....
2. Убрал док_вьювер, вылезло другое - если использовать скоп, и после ввода цифр нажать "Показать", то все работает, а вот стоит внести цифры и название, а потом нажать "Сохранить", всё, "прибор" перестает действовать :) он в слоте, но по кнопке "2" ничего не происходит... полей для ввода значений не появляется.... Смена содержимого слота ни к чему не приводит....
ЗЫ а, забыл, папку config На configs исправить надо бы :)
Romich
 
Сообщения: 393
Зарегистрирован: 26 мар 2010, 19:26

След.

Вернуться в Общая (Common)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron