|
|
Модератор форума: GUNNER161, Panikaha |
Форум РЕДАКТОР - ArmA 3 Скрипты Проблемы DiaryRecord (и способы решения) |
Проблемы DiaryRecord |
› Суббота
› 05.03.2016
› 14:40
› Сообщение #
вынесу отдельно
|
› Суббота
› 05.03.2016
› 14:45
› Сообщение #
можно ли делать добавлять записи к уже имеющимся разделам в дневнике?
Пытаюсь сделать систему сбора денег с трупов и соотв. записями в дневнике. Все работает, но появляется новый раздел с указанным именем, и туда пишется добыча. Инит: _money=50; player setVariable ["Money", _money]; _log_briefing = player createDiaryRecord ["Diary", [localize "SDAYS_privacy_title", localize "SDAYS_privacy"+ format[" %1",player getVariable ["Money", _money]] + "€"]]; Запись по ограблении: (_add -сколько снято с трупа) _money = player getVariable ["Money", 0]; _money = _money + _add; player setVariable ["Money", _money]; player createDiaryRecord ["Diary", [localize "SDAYS_privacy_title", " Депозит: +" + _add + "€ С учетом завалявшегося: " + _money + "€"]; if (true) then {hint format["Добыто %1%2", _add,"€"]}; В общем, получается так: А хочу, чтоб писалось сюда |
› Суббота
› 05.03.2016
› 14:47
› Сообщение #
Создание разделов и Добавление текста в них выглядят так
|
› Суббота
› 05.03.2016
› 14:50
› Сообщение #
Для замены старой записи новой нужно действовать через контролы.
полный список контролов карты. - формат - [idc = , type = ] [[2,11],[63,11],[64,11],[65,11],[66,11],[67,11],[68,11],[69,11],[70,11], [71,11],[72,11],[102,81],[103,15],[106,15],[1001,5],[1002,5],[1003,9], [1013,15],[1125,13],[1201,11],[1202,11],[2302,15],[2350,15]] получено скриптом Код disableSerialization; _dc = findDisplay 12; _ms = []; for "_a" from 1 to 10000 do { _n = ctrlType (_dc displayCtrl _a); if (_n > 0) then { _ms set [count _ms, [_a, _n]]; }; }; |
› Суббота
› 05.03.2016
› 15:00
› Сообщение #
по описанию
https://community.bistudio.com/wiki/Dialog_Control определяем, что нужны тип 5 и 9. вот они по порядку и идут [1001,5],[1002,5],[1003,9] для проверки вешаем хандлеры - даблКлик disableSerialization; _dc = findDisplay 12; (_dc displayCtrl 1001) ctrlSetEventHandler ["MouseButtonDblClick","hint str _this"]; (_dc displayCtrl 1002) ctrlSetEventHandler ["MouseButtonDblClick","hint str _this"]; (_dc displayCtrl 1003) ctrlSetEventHandler ["MouseButtonDblClick","hint str _this"]; |
› Суббота
› 05.03.2016
› 15:15
› Сообщение #
Пока непонятно, как это прикрутить к замене записи. И как определить нужную запись
|
› Суббота
› 05.03.2016
› 15:28
› Сообщение #
средняя колонка - контрол 1002. Это ЛистБокс. для получения данных клика используем
https://community.bistudio.com/wiki/User_Interface_Event_Handlers LBSelChanged Цитата disableSerialization; _dc = findDisplay 12; (_dc displayCtrl 1002) ctrlSetEventHandler ["LBSelChanged"," if ( ((_this select 0) lbText (_this select 1)) == 'ТЕКСТ') then {}; "]; так получается текст кликнутой строки. |
› Суббота
› 05.03.2016
› 16:28
› Сообщение #
а вот с выводом текста в контрол 1003 , тип HTML - появилась проблема.
Диалог его контролирует постоянно, заполняя своим текстом, попытка стереть или заменить текст тутже пресекается. Нужно делать своё окно с текстом. |
› Суббота
› 05.03.2016
› 16:40
› Сообщение #
Хорошо, но почему тогда, когда в скрипте ограбления создается новая запись
Код player createDiaryRecord ["Diary", ["Мародерство", "Депозит: + _add + "€<br/>С учетом завалявшегося: " + _money + "€"]]; Сообщение отредактировал andrucio - Суббота, 05.03.2016, 16:41
|
› Суббота
› 05.03.2016
› 16:52
› Сообщение #
Но если после Главы "Мародерство" создать ещё одну с другим название, а потом сделать запись в "Мародерство",
то появляется ещё одна Глава "Мародерство". мне кажется это Бисы напортачили. сопсна. имеено с этим у тебя проблемы назавём это ........РАЗДЕЛ.......................ГЛАВА...........................................СТРАНИЦА Скрипт Бисов не проверяет весь ЛБ , а только первую строку. |
› Суббота
› 05.03.2016
› 17:05
› Сообщение #
после Главы "Мародерство" создать ещё одну с другим название, а потом сделать запись в "Мародерство",то появляется ещё одна Глава "Мародерство". В общем, если subject (или титл, если есть) последней созданной скриптом записи будет совпадать с титлом добавляемой, то новая добавится к старой. Это по результату одного обыска трупа. было 50, добавилось 18. Ну тоже неплохо. Единственный минус - запись будет первой в листе-журнале (а не последней) Прикрепления:
7426719.jpg
(24.0 Kb)
Сообщение отредактировал andrucio - Суббота, 05.03.2016, 17:07
|
› Суббота
› 05.03.2016
› 17:19
› Сообщение #
Есть выход такой. Вместо страницы сделать Свой Титл. Создавать только Раздел, и Ханделер к нему.
При клике на Раздел выводить титл. |
| |||
| |||
Чат сайта |