Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Скриптописание - делимся опытом, задаем вопросы | страница 114
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 114 из 136
На страницу: Пред.  1, 2, 3 ... 113, 114, 115 ... 134, 135, 136  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X3: Reunion » Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы»
Chem
 780 EGP


Скрипт-мастер
Рейтинг канала: 15(2610)
Репутация: 248
Сообщения: 4751
Откуда: Киев
Зарегистрирован: 08.01.2007
А карта для чего ?

добавлено спустя 16 секунд:
А сюжет (который уже в обже)
_________________
Умножим энтропию на 0 :-)

Последний раз редактировалось: Chem (14:35 11-10-2008), всего редактировалось 1 раз
    Добавлено: 14:35 11-10-2008   
Xenon J
 1007 EGP


Модератор
Рейтинг канала: 11(1675)
Репутация: 160
Сообщения: 3390
Откуда: Ксенонский сектор 472
Зарегистрирован: 30.03.2007
BORON FRIEND :
Я зол Такая полезная вещь для моддеров и никто ей не пользуется!
По той простой причине что он для версии 1.4, а на дворе 2.5 Улыбка
AlexYar :
И кому-то повезло её перехватить до того момента, как я снял патч "с конвейера"
К сожалению, нам с z_m_a не повезло. А так очень полезная команда, для миномета например. И если б ещё мина в удаленном секторе взрывалась... Ну...
_________________
Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз

Последний раз редактировалось: Xenon J (17:05 11-10-2008), всего редактировалось 1 раз
    Добавлено: 16:06 11-10-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
z_m_a :
А вот как устанавливались мины, например, в New Income. Срабатывают. Скриптов на них нет. Принадлежат пиратам. Как их создали? Или такие можно установить только при создании карты или начале новой игры.


Да, эти мины установлены на карте. При старте новой игры при считке карты ф-ии построения карты в обже активируют мины.

z_m_a :
Или все-таки есть способ поставить скриптом активированную мину


Без ext-патча нет такого способа.

Xenon J :
По той простой причине что он для версии 1.4, а на дворе 2.5


Ну, вообще-то, последняя версия была для 2.0.02. И кому-то повезло её перехватить до того момента, как я снял патч "с конвейера" Гы-гы
    Добавлено: 16:55 11-10-2008   
z_m_a
 105 EGP


Рейтинг канала: 7(635)
Репутация: 20
Сообщения: 264
Откуда: Подмосковье
Зарегистрирован: 23.07.2007
Xenon J :
А так очень полезная команда, для миномета например.
Активированнык мины в удаленном секторе взрываются(я не использовал чтобы игру не нагружать, все равно удаленный бой условен). Для подрыва скриптом проблем тоже вроде нет. Вывернемся. Подмигиваю А для миномета она не нужна(это только если мины устанавливать заранее нужно, но получается что Tерн в ХТМ бесполезен - неужели никто не пробовал Совсем запутался... ).
    Добавлено: 20:48 11-10-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
z_m_a :
Активированнык мины в удаленном секторе взрываются


В удаленном секторе проверка на близость объектов-целей производится раз в 30 секунд. За это время цель может не приближаясь к мине проскочить её, шанс детонации приближается к нулю Улыбка В удаленке корабли не летают, а "скачут" с частотой прыжка так же раз в 30 секунд Улыбка

Такие мины, как есть в х3, вообще лучше в миноукладчиках и минометах не использовать. Слишком тормозно реализовано.
    Добавлено: 22:49 11-10-2008   
z_m_a
 105 EGP


Рейтинг канала: 7(635)
Репутация: 20
Сообщения: 264
Откуда: Подмосковье
Зарегистрирован: 23.07.2007
AlexYar :
Такие мины, как есть в х3, вообще лучше в миноукладчиках и минометах не использовать. Слишком тормозно реализовано.
Можно, если осторожно. Подмигиваю Подрывать самому. Подтормаживает, но не критично. Зато эффектно. Гы-гы
Пример1
Пример2
    Добавлено: 23:45 11-10-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
z_m_a :
Можно, если осторожно.


Ну, в единичном использовании да, а в массовом - нерационально Улыбка

Сам косяк зарыт глубоко в строении иксов в неправильной организации объектов (кораблей/станций), в результате чего поиск любой цели для мины связан с перебором всех объектов, которые могут быть целью. А если следить за дистанцией ближайшего объекта нужно постоянно, то поиски идут в цикле, причем с малой задержкой (для активного сектора).
Тормоза при такой организации просто неизбежны.

А другую организацию не сделать, потому что глубоко порылся второй косяк Гы-гы Это устаревшая сигнально-скриптовая система, которая для хбтф еще как-то прокатывала, а с резким увеличением кол-ва и типов кораблей в х3 уже становится огромной обузой и препятствием для нормальной навигации и поиска.

Почему Егософт до сих пор ничего не сделал в этом направлении - непонятно, ведь решение таких и подобных косяков очень простое.
    Добавлено: 01:13 12-10-2008   
kalyanov
 84 EGP


Рейтинг канала: 5(126)
Репутация: 28
Сообщения: 34
Откуда: Беларусь, Могилев
Зарегистрирован: 03.06.2008
Народ.
1.Как программно можно узнать:запущен ли глобальный скрипт или не запущен ?
2. Что можно сделать с PID, кроме как получить его (get PID) ?
    Добавлено: 22:17 30-10-2008   
Арманкессилон
 1740 EGP


Модератор
Рейтинг канала: 9(1184)
Репутация: 346
Сообщения: 13122
Откуда: Ставрополь
Зарегистрирован: 16.08.2007
1. Заходишь в редактор и смотришь global script tasks.

добавлено спустя 12 минут:
2. Не помню. Но, как минимум, можешь потом это значение писать в сообщениях. Можешь имя из него сделать - да как фантазия позволяет Подмигиваю
_________________
Все астероиды не пересчитать!

Последний раз редактировалось: Арманкессилон (09:56 31-10-2008), всего редактировалось 1 раз
    Добавлено: 09:56 31-10-2008   
kalyanov
 84 EGP


Рейтинг канала: 5(126)
Репутация: 28
Сообщения: 34
Откуда: Беларусь, Могилев
Зарегистрирован: 03.06.2008
Арманкессилон :
1. Заходишь в редактор и смотришь global script tasks.
"Программно"
Арманкессилон :

2. Не помню. Но, как минимум, можешь потом это значение писать в сообщениях. Можешь имя из него сделать - да как фантазия позволяет Подмигиваю
1. Можно ли "убить" процесс, зная его PID ?
2. Можно ли узнать работает ли еще процесс с таким-то PID ?
    Добавлено: 09:16 02-11-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
1. Можно убить и не зная ПИД.
2. Можно узнать и не зная ПИД.

Улыбка

Уже давно используется трюк с автообновлением глобальных скриптов, которые крутятся в цикле на постоянке.
ПИД-ом лучше сразу не заморачиваться, а придумать какой-то флаг смены версии (глоб.переменная, значение в файле-описателе и прочее) и по нему заставлять скрипт убивать самого себя с последующим вызовом обновленной копии (через "переходник").

Точно так же можно и узнавать, работает нужный тебе скрипт, или не работает. Например, в глоб.переменной выставлять нужный флаг.


Насчёт конкретно по ПИДу убивать - не помню скриптовой команды kill task , нету такой вроде. А без неё глобальные скрипты не прибить, кроме как только из самих себя.
    Добавлено: 12:05 02-11-2008   
X3-Protector
 180 EGP


Рейтинг канала: 5(166)
Репутация: 20
Сообщения: 634
Откуда: Новосибирск
Зарегистрирован: 26.07.2008
kalyanov :
1. Можно ли "убить" процесс, зная его PID ?
2. Можно ли узнать работает ли еще процесс с таким-то PID ?
Я же тебе давал свой скрипт как пример - пади не стал смотреть, или не понял чего.
Там конкретное самоуничтожение происходит, процесса и всех следов деятельности, если в $Power.Config.Command при проверке окажется значение 0, а это значение при активации UnInstall заносится в локальную переменную каждого корабля на котором запущен скрипт. С глобальным точно так же, если в глобальной переменной при проверке есть нечто особенное, например "STOP"/"UPDATE"/"DELETE", то выполнение скрипта можно легко перенаправить на подготовку к удалению, тоесть все дела на дефолт или там короче как надо, а после чего он самоликвидируется из глобального стека. В моём случае 1220 стек корабля, но я же его не просто вытряхивал из стека, иначе были бы последствия с количеством апгрейдов на корабле Гы-гы, я так неподумав сначало сделал, а потом только замутил "самоунинсталл" Подмигиваю...
... Добавлено 10.11.2008
Господа скриптеры, у меня такой вопрос, и ответ на него нужен чёткий и ясный, обязательно аргументированный и подкреплённый реальными фактами, и пожалусто без пустой фантазии и ссылок на неподтверждённые слухи, темболее намёков на самостоятельное выяснение истины - физически нет такой возможности, давно бы уже всё выяснил сам.
 Какие могут быть не хорошие последствия в памяти после такого кода?   (кликните здесь для просмотра)
$VarList.ID = 10
while $VarList.ID
. dec $VarList.ID =
...
. skip if not $VarList == null
. . $VarList = array alloc: size= 0
. $VarCell = array alloc: size= 2
. $VarCell [ 0 ] = $VarName
. $VarCell [ 1 ] = $VarData
. append $VarCell to array $VarList
. * resize array $VarCell to 0
. * $VarCell = null
...
end
Закоментированные команды естественно означают то что их нет, собственно говоря в этом то вся проблема - я не знаю точно и наверняка, обязательно ли разрушать массив? Я надеюсь всё же на то, что достаточно будет его пересоздать а старая копия массива находящаяся в памяти автоматом будет разрушена скрипт-движком. Я бы даже не церемонился с этим вопросом, но мне страшно представить то, каким размером будут сохранёнки и сколько памяти будет жрать игрушка после нескольких месяцев работы такого кода, и в тоже время мне не нужны лишние движения в коде, из за чего собственно этот вопрос и встал. Откуда такое опасение? Видел как-то подобный(закоментированному) код в каком-то скрипте, с тех пор меня мучают сомнения о безполезном содержимом в памяти...
_________________
Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...
    Добавлено: 17:09 10-11-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
X3-Protector :
. skip if not $VarList == null
. . $VarList = array alloc: size= 0


Ну здесь точно ошибка. Наличие массива нужно проверять командой size of array.

А в целом, если на массив в игре не осталось ссылок, то движок игры прибьёт его в памяти.
    Добавлено: 18:21 10-11-2008   
X3-Protector
 180 EGP


Рейтинг канала: 5(166)
Репутация: 20
Сообщения: 634
Откуда: Новосибирск
Зарегистрирован: 26.07.2008
AlexYar :
Ну здесь точно ошибка. Наличие массива нужно проверять командой size of array.
Именно этот массив я вытаскиваю из локальной переменной, соответственно его размер или больше нуля, или значение равно null - я не сохраняю массив в локальной переменной если он пустой, то есть делаю проверку на длину и если длина равна 0 то в локалку записываю значение null, короче полностью удаляю локальную переменную.
AlexYar :
А в целом, если на массив в игре не осталось ссылок, то движок игры прибьёт его в памяти.
Допустим, но в какой момент, сразу после команды $VarCell = Value, или $VarCell = array alloc: size= Number, или только после return Value - в какой именно момент скрипт-движок делает проверку и чистит память от недоступных/потерянных/забытых/выброшенных массивов?
_________________
Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...

Последний раз редактировалось: X3-Protector (18:52 10-11-2008), всего редактировалось 4 раз(а)
    Добавлено: 18:35 10-11-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
X3-Protector :
то есть делаю проверку на длину и если длина равна 0


Ну так это не проверка на длину. На размер надо проверять именно командой размера массива, а не
if $array == null

Улыбка

X3-Protector :
в какой именно момент скрипт-движок делает проверку и чистит память от недоступных/потерянных/забытых/выброшенных массивов?


По идее, если во внешние (вне данного скрипта) переменные ссылки на массив не сохраняются, то после завершения работы скрипта массивы будут уничтожены. А вот если массив(ссылка) был сохранён в глобальную переменную, тогда очищать его просто необходимо, иначе сэйвы будут расти.
С локальными переменными объектов есть небольшой косяк, там при смерти объекта я не нашел в коде принудительного очищения переменных (они хранятся вне объекта, поэтому движком не уничтожаются при его смерти). И если переменные самому не очищать, то с постоянной ротацией кораблей/станций в игре замусоривание сэйвов будет неизбежно.

Последний раз редактировалось: AlexYar (20:40 10-11-2008), всего редактировалось 1 раз
    Добавлено: 20:39 10-11-2008   
X3-Protector
 180 EGP


Рейтинг канала: 5(166)
Репутация: 20
Сообщения: 634
Откуда: Новосибирск
Зарегистрирован: 26.07.2008
AlexYar :
Ну так это не проверка на длину. На размер надо проверять именно командой размера массива, а не
if $array == null
Улыбка
Тебе весело, а я вот Ой, не могу!.. - всеравно спасибо что хочеш помоч.
AlexYar :
(они хранятся вне объекта, поэтому движком не уничтожаются при его смерти)
Я не об этом, я о том, что если в долгоиграющем скрипте постоянно создавать новые массивы используя один идентификатор $VarCell, то по логике любого программиста старый массив остаётся в памяти но не имеет на него указателя, то есть он просто хранится в памяти потому что его не удалили из памяти, но доступа уже к нему нет, та как его адрес не известен. А идентификатор переменной $VarCell, теоритически, до изменения значения данной переменной, содержал указатель на массив расположенный в памяти. Ну короче смысл всего написанного в том, что если в переменную $VarCell записать прежнее значение указателя на завалявшийся в памяти массив, то теоритически из за того что скрипт-движёк не удалил массив из памяти в момент перезаписи значения в переменной $VarCell, доступ к массиву будет полностью востановлен. А надо бы удалять массив сразу после изменения указателя на данный массив, точнее сказать перед записью в переменную $VarCell нужно сначало удалить из памяти массив, а потом присвоить новое значение переменной $VarCell.
...
 Ещё мельче   (кликните здесь для просмотра)
Я всёже надеюсь что ты меня понял, но всеравно попытаюсь разжевать ещё проще:
Идетификатор переменной $VarCell содержит указатель на область памяти($VarCell=WORD PTR DS:[SI]), в которой записан массив размером 100 байт. Потом я перезаписываю содержимое переменной $VarCell абсолютно на другой тип данных($VarCell=DWORD $02468ACE), соответственно я изменяю не сам массив размером 100 байт, а только перезаписываю 4 байтную область памяти в совсем другом месте, на которую указывает один из идентификаторов в системном массиве идентификаторов(во загнул то Совсем запутался...), в общем размер переменной $VarCell всего 4 байта, в ней либо указатель на массив, либо число, либо короче что угодно.
Так вот меня и беспокоит то, что после перезаписи всего лиш указателя $VarCell, я теряю связь с областью памяти в которой расположен теперь уже на всегда потерянный массив, который невозможно удалить применив соответствующую команду. В скрипт-движке нет команд преобразователей сегментных указателей на данные в доступной скрипт-движку памяти, как например есть в том же Паскале(Function Ptr(seg,ofs):Pointer и Addr(Var)).
...
Кароче, блин, я хочу что бы было так: Гы-гы
Создаю массив $VarCell=DB $00,$00,$00,$00,$00,$00,$00,$00...
Изменяю массив $VarCell[7]=$07...
Читаю из массива $07=$VarCell[7]...
Удаляю массив $VarCell=null...
Это всё сказка в которую очень сильно хочется верить Расстроен...
 Вот как это примерно выглядит в памяти(REAL)   (кликните здесь для просмотра)
ADDRES
DTYPE
COUNT
RECORD
Что примерно это значит
0000:0000 00 00 00 00ID_ARRAY Условный адрес массива идентификаторов в скрипт-движке
0000:0000 00 00 01 00ID_ARRAY[0].Ptr=(Pointer=0001:0000)
0000:0004 56 61 72 4C 69 73 74 00ID_ARRAY[0].Str=(CharStr='VarList')
0000:000С 08 00 01 00ID_ARRAY[1].Ptr=(Pointer=0001:0008)
0000:0010 56 61 72 43 65 6C 6C 00ID_ARRAY[1].Str=(CharStr='VarCell')
0001:000004 0001 0000 00 02 00ID_ARRAY[0].Ptr^$VarList=(Pointer=0002:0000)
0001:000804 0001 0010 00 02 00ID_ARRAY[1].Ptr^$VarCell=(Pointer=0002:0014)
0002:000004 0004 0000 00 03 00ID_ARRAY[0].Ptr^$VarList^[0]=(Pointer=0003:0000)
0002:0008 0A 00 03 00ID_ARRAY[0].Ptr^$VarList^[1]=(Pointer=0003:000A)
0002:000C 12 00 03 00ID_ARRAY[0].Ptr^$VarList^[2]=(Pointer=0003:0012)
0002:0010 1A 00 03 00ID_ARRAY[0].Ptr^$VarList^[3]=(Pointer=0003:001A)
0002:001404 0004 0022 00 03 00ID_ARRAY[1].Ptr^$VarCell^[0]=(Pointer=0003:0022)
0002:001C 2A 00 03 00ID_ARRAY[1].Ptr^$VarCell^[1]=(Pointer=0003:002A)
0002:0020 36 00 03 00ID_ARRAY[1].Ptr^$VarCell^[2]=(Pointer=0003:0036)
0002:0024 42 00 03 00ID_ARRAY[1].Ptr^$VarCell^[3]=(Pointer=0003:0042)
0003:000001 0006 0041 72 67 6F 6E 00ID_ARRAY[0].Ptr^$VarList^[0]^=(CharStr="Argon")
0003:000A04 0001 00E8 03 00 00ID_ARRAY[0].Ptr^$VarList^[1]^=(LongInt=1000)
0003:001204 0001 00E8 6E 03 00ID_ARRAY[0].Ptr^$VarList^[2]^=(LongInt=225000)
0003:001A04 0001 00FF FF E4 44ID_ARRAY[0].Ptr^$VarList^[3]^=(LongInt=-7100)
0003:002204 0001 0000 00 00 00ID_ARRAY[1].Ptr^$VarCell^[0]^=(LongInt=1000)
0003:002A01 0008 0043 6C 61 73 73 54 4C 00ID_ARRAY[1].Ptr^$VarCell^[1]^=(CharStr="ClassTL")
0003:003601 0008 0043 6C 61 73 73 4D 31 00ID_ARRAY[1].Ptr^$VarCell^[2]^=(CharStr="ClassM1")
0003:004200 0000 00ID_ARRAY[1].Ptr^$VarCell^[3]^=(null)
Дык куда деётся содержимое массивов, уничтожается сразу после изменения $VarCell или навсегда остаётся безхозным после утраты указателя, пока скрипт работает? Скорей всего просто теряется в дебрях сегментов памяти(тут мы вспоминаем цитату из фильма "Я робот" - У них появляются секреты, им снятся сны), потому что кто-то поленился и сделал так как сделал, надеюсь это всё в ОБЖах спрятано и есть хоть малейший шанс исправить этот касяк.
_________________
Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...

Последний раз редактировалось: X3-Protector (02:00 11-11-2008), всего редактировалось 4 раз(а)
    Добавлено: 22:24 10-11-2008   
AlexYar
 1916 EGP


Рейтинг канала: 13(2096)
Репутация: 325
Сообщения: 32766

Зарегистрирован: 26.10.2003
X3-Protector :
если в долгоиграющем скрипте постоянно создавать новые массивы используя один идентификатор $VarCell, то по логике любого программиста старый массив остаётся в памяти но не имеет на него указателя, то есть он просто хранится в памяти потому что его не удалили из памяти, но доступа уже к нему нет, та как его адрес не известен


Ну опять же теоретически, чтобы избежать захламления памяти, нужно после записи массива, или значения в массив, сделать прерывание (поставить wait).
И всё. Во время прерывания скрипт остановится, и память будет очищена от всех массивов с потерянными ссылками.

А если ещё точнее хочешь услышать, то спроси у CheckerTwo.

А по ассемблерному мне не надо писать, я в нём не шпрехаю Улыбка
    Добавлено: 22:44 10-11-2008   
X3-Protector
 180 EGP


Рейтинг канала: 5(166)
Репутация: 20
Сообщения: 634
Откуда: Новосибирск
Зарегистрирован: 26.07.2008
AlexYar :
Ну опять же теоретически, чтобы избежать захламления памяти, нужно после записи массива, или значения в массив, сделать прерывание (поставить wait).
И всё. Во время прерывания скрипт остановится, и память будет очищена от всех массивов с потерянными ссылками.
О, это то что нужно - огромное тебе СПАСИБО, пока что будем считать что теория является действительностью!!! Улыбка
AlexYar :
А если ещё точнее хочешь услышать, то спроси у CheckerTwo.
М-м-м, я спрошу как нибудь Подозрение..
AlexYar :
А по ассемблерному мне не надо писать, я в нём не шпрехаю Улыбка
За то я в Сях не "шпрехн дзю дойч", вообще, даже ни разу в глаза не видел Подмигиваю...
_________________
Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...

Последний раз редактировалось: X3-Protector (01:53 11-11-2008), всего редактировалось 2 раз(а)
    Добавлено: 01:39 11-11-2008   
kalyanov
 84 EGP


Рейтинг канала: 5(126)
Репутация: 28
Сообщения: 34
Откуда: Беларусь, Могилев
Зарегистрирован: 03.06.2008
X3-Protector :
мне страшно представить то, каким размером будут сохранёнки и сколько памяти будет жрать игрушка после нескольких месяцев работы такого кода
Я тоже раньше задавался этим вопросом.
AlexYar прав.
AlexYar :
если на массив в игре не осталось ссылок, то движок игры прибьёт его в памяти.

Я проверял это следующим образом:
1. Создал массив;
2. Накачал в него оочень много данных (можно в цикле пихать любой мусор);
3.Сохранил в сохраненку (убедился что сохраненка увеличилась на несколько мегабайт);
4. массив = null или массив = array alloc... или массив = 5;
5. сохранил(убедился что сохраненка занимает мало места).

P.S.: ГТ пишешь ? Подмигиваю
    Добавлено: 04:40 11-11-2008   
X3-Protector
 180 EGP


Рейтинг канала: 5(166)
Репутация: 20
Сообщения: 634
Откуда: Новосибирск
Зарегистрирован: 26.07.2008
kalyanov :
(убедился что сохраненка занимает мало места)
Спасибо за помощ, теперь я знаю точно - я видел в неком скрипте самый что нинаесть лишний код, который написал некий скриптер, который собственно говоря не знает что к чему и разобраться не счёл нужным, и тому подобное из за чего такой скриптер как я и ты парили голову над этой безсмыслецей - в результате тебе респект, а тому скриптеру наоборот, антиреспект Совсем запутался....
kalyanov :
P.S.: ГТ пишешь ?
Ну-у-у-у-у Ну..., как тебе сказать Я не при чем..., я сейчас занимаюсь одной очень интересной альтернативой, в общем мне как-то пока некогда, ну и всё такое - короче я интерпритатор команд пишу, кстати очень умный и функциональный, и хочу его сделать максимально идеальным с точки зрения эффективности кода и потребления памяти, плюс его синтаксические свойства и возможности плод моего давнего но пока невоплощённого изобретения. Когда увидеш моё творение, то понастоящему убедишся в том что скрипт-движок позволяет очень многое, даже не смотря на то что в нём многого пока не достаёт.
 Ну и немного из раздела фантастики Хы...   (кликните здесь для просмотра)
Например нет такой команды, из за чего приходится изобретать сложный велосипед:
get value from: maintype=<Var/Number> subtype=<Var/Number> ID code=<Var/String>
Я сейчас составляю скриптовую альтернативу этой команды, которая будет из строки в специальном формате возвращать указатель на товар, сектор, корабль, станцию, контейнер, астероид и всё всё всё что имеет maintype, subtype, или ID code, или всё вместе, или взаимозаменяемо, или просто даже по соответствию типов аргументов для поиска. Короче, максимум три идентифицирующих строковых аргумента, замудрённая обработка данных и результат равен ожидаемому значению, при этом туда и обратно - это лиш малая часть возможностей будующего интерпритатора команд Подмигиваю...

_________________
Я давно уже не в форме, я уже совсем не тот, но не стоит делать вызов, я прославленный пилот...
    Добавлено: 11:59 12-11-2008   
Канал X3: Reunion -> Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы»
На страницу: Пред.  1, 2, 3 ... 113, 114, 115 ... 134, 135, 136  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Нервная система в прекрасном состоянии, заводится с пол-оборота...

  » Скриптописание - делимся опытом, задаем вопросы | страница 114
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18