ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
|
» консоль а-ля терминал в иксах | страница 1 |
 |
Страница 1 из 1 |
|
|
|
Канал X3: Terran Conflict »
Модовый и скриптовый отсек X3: Terran Conflict: «консоль а-ля терминал в иксах» |
|
|
4o
64 EGP
 Рейтинг канала: 1(3) Репутация: 8 Сообщения: 111
Зарегистрирован: 16.01.2011
 |
|
я тут к вам из соседней ветки забрел. возможно у вас здесь движения больше.
задача 1. организация граф. части человеческой консоли в иксах
задача 2. описание самой консоли (типа ее написание или прикручивание существующией)
у кого есть какие мысли по поводу куда смотреть в плане реализации?
Последний раз редактировалось: 4o (19:22 20-04-2012), всего редактировалось 1 раз |
|
|
DNA78
429 EGP
     Рейтинг канала: 9(1069) Репутация: 73 Сообщения: 1268 Откуда: Кыргызстан Зарегистрирован: 12.11.2008
 |
|
4o : |
задача 1. организация граф. части человеческой консоли в иксах
задача 2. описание самой консоли (типа ее написание или прикручивание существующией)
|
В X3TC по сравнению с X3R на счёт этого всё намного проще и не нужно залазить в движок т.к. в нём уже это всё есть.
4o : |
у кого есть какие мысли по поводу куда смотреть в плане реализации?
|
Вот ссылка на список ресурсов Tutorials and Resources, а это ссылка на непосредственно интересующие тебя вопросы Create a custom menu and Custom Interface Key
добавлено спустя 11 минут:
4o : |
я тут к вам из соседней ветки забрел.
|
Cкрытый текст (кликните здесь для просмотра)
4o : |
еж меня за ногу. я прямо в замешательстве)
Код: |
a = get local var 'name' form object
printf '%s', a //returns Array (object1, object2)
wait 1 min //пока скрипт ждет, левый (точнее второй) объект убивает себя из массива
printf '%s', a //returns Array (object1) |
хорошо. так наверно $а здесь вообще-то не переменная, а сцылка на память. круто!)
хорошо. проверяем.
Код: |
a1 = array alloc size 0
append [PLAYERSHIP] to array a1
a2 = array alloc size 0
append [PLAYERSHIP] to array a2
append [PLAYERSHIP] to array a2
[PLAYERSHIP] -> set local var name '123' val a1
a = [PLAYERSHIP] -> get local var name '123'
printf '%s', a //returns Array (Galleon)
[PLAYERSHIP] -> set local var name '123' val a2
printf '%s', a //returns Array (Galleon) |
блин в матах)...что ж я наделал.....)
пробовал по-разному моделировать ситуацию...ни в какую.
я так подозреваю, что все странные сируации происходят или от кривых рук или от кривых мозгов. пока я ни того не другого не вижу (это не значит, что их нет ). какие мысли? у многочисленных присутствующих
добавлено спустя 22 минуты:
что за хрень собачья))) они там с бубном за мониором пляшут?)))
Код: |
script2 //runs on [PLAYERSHIP] and takes arg1= station
=wait 5000;
var = station-> get local var name '123';
i = get index of [PLAYERSHIP] in array $var offset -1 +1;
remove element from array $var at index i;
script1 //runs on station1
a2= array alloc size 0;
append Your Otas Custodian to array a2;
append [PLAYERSHIP] to array a2;
[THIS]-> set local var name '123' value a2;
a= [THIS]-> get local var name '123';
printf '%s', a; //returns (Your Otas Custodian, Galleon)
[PLAYERSHIP]-> start task 123 with script script2 and prio 999 arg1 = [THIS]; //other args = null
= wait 60000 ms;
printf '%s', a; //returns (Your Otas Custodian) |
чтоб меня за ногу. хорошо - ссылка. но какого хрена оно в прошлый раз не вело себя как ссылка? есть тут у меня мысль. если она правильная, то разработчики *крайне* умные люди. (ладно - нефиг их материть они в итоге все логично сделали)
сжимаем кулаки и надеемся на лучшее.
добавлено спустя 30 минут:
да. блин (здесь место для вашего мата)
постораюсь написать синхронно 2 скрипта
Код: |
script1 //on st
a2= array alloc size 0
append Otas to array a2
append [PLAYERSHIP] to array a2
[THIS]-> sel local var name '123' value= a2
a = [THIS]-> get local var name '123'
printf '%s', a //returns ARRAY (Otas, Galleon)
[PLAYERSHIP]-> start task 123 with script2 ... arg1 =[THIS]
=wait 30000 ms script2 //on [PS] takes st
=wait 5000 ms
a2 = array alloc size 0
append HCF to array a2
var = st->get local var '123'
st-> set local var name '123' value= a2
=wait 40000
printf '%s', a //returns ARRAY (Otas, Galleon)
var = st-> get local var name '123'
printf '%s', var //returns ARRAY(HCF) |
ну вот мы и получили на одном объекте две локалки с разными значениями. пятая точка подсказывает мне, что не все так страшно. хотя какбы странность на лицо. по крайней мере мое
добавлено спустя 6 минут:
после того как отработали оба скрипта запрос переменной возвращает ARRAY (HCF)
моя догадка:
пока существовал первый скрипт, в нем a была прямой ссылкой на a2 (возможно в следствие команды alloc a2). а для всях внешних пользователей существовала совершенно другая ячейка памяти '123' на объекте st. когда скрипт 1 отработал и его a2 автоматически почистилась (надеюсь, что оно так))), то осталась единственная ячейка '123' на st. хотя вопрос стоит - происходит ли в данном случае утечка.
добавлено спустя 4 минуты:
если перед вторым printf запросить a как глобальную переменную - она возвратит ARRAY (HCF). утечки скорее всего нет, но вот на хитрую логику расчитавать теперь не приходится (без того, чтобы смотреть исходники движка или читать с дизасемблера (как некоторые извращенцы, которые вызывают у меня уважение)).
добавлено спустя 2 минуты:
все понятно) хотя опять как-бы не сильно красиво. перетягивание ссылок называется) кто последний сел - того и тапки.
|
|
Прикольно Прямо таки X3 Ninja по аналогии с CSS Ninja
_________________ Очевидное-невероятное
Последний раз редактировалось: DNA78 (12:15 21-04-2012), всего редактировалось 1 раз |
|
|
4o
64 EGP
 Рейтинг канала: 1(3) Репутация: 8 Сообщения: 111
Зарегистрирован: 16.01.2011
 |
|
блабадарю за комплимент.
не ну так не интересно) я хотел создать себе проблем на пятоую точку, в ассемблере первый раз покапаться.
Последний раз редактировалось: 4o (04:20 22-04-2012), всего редактировалось 1 раз |
|
|
|
|
|
Канал X3: Terran Conflict ->
Модовый и скриптовый отсек X3: Terran Conflict: «консоль а-ля терминал в иксах» |
|
К списку каналов | Наверх страницы |
Цитата не в тему: Эффект магнита в опилках: из небытия возникает Саня-Галя, и все М - ррраз! - дружно поворачиваются в ее сторону. (наблюдения Hognar'a)
|
» консоль а-ля терминал в иксах | страница 1 |
|