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

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

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

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


Рейтинг канала: 3(31)
Репутация: 19
Сообщения: 302
Откуда: Оттуда
Зарегистрирован: 06.03.2007
Все, нашел сам, спасибо, просто перерыл весь форум-не нашел, оказывается в факе.. Улыбка)
_________________
Лучшая отвертка-это молоток..
    Добавлено: 21:32 28-11-2007   
Proteus
 88 EGP


Рейтинг канала: 5(113)
Репутация: 35
Сообщения: 443
Откуда: Латвия
Зарегистрирован: 17.03.2007
AlexYar :

001 $gvarname = 'test001.setup'
002 if not get global variable: name=$gvarname
003 set global variable: name=$gvarname value=1
004 @ START $null -> call script 'test001.control' :
005 end
006 return null

Возник вопрос по поводу этого примера для школьников. Я все 3 файла облазил и никак немогу понять сколько раз сработает программа в целом. Запустится один и отключиться или при каждой загрузке будет запукатся и заного срабатывать?
Если после того как скрипт отработает, я установлю глобальную переменную в 0 то скрипт запустится вновь, или мне в конце скрипта нужно глобальную переменную "убить" чтоб setup запустил весь цикл заного? Если "убить" то как это лучше зделать? Я надеюсь я внятно объяснил что я имею в виду, а то мой русский язык оставляет желать лучшего.
_________________
На пыльных тропинках далёких планет останутся наши мозги.
    Добавлено: 23:29 28-11-2007   
AlexYar
 1916 EGP


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

Зарегистрирован: 26.10.2003
Proteus :
немогу понять сколько раз сработает программа в целом. Запустится один и отключиться или при каждой загрузке будет запукатся и заного срабатывать?


Сработает всего один раз. После чего значение глоб.переменной станет равной 1 и она не даст в следующий раз повторно запустить скрипт:

004 @ START $null -> call script 'test001.control' :

Proteus :
Если после того как скрипт отработает, я установлю глобальную переменную в 0


Зачем? Эту переменную больше трогать нельзя. Она для того и создана, чтобы не допустить повторного срабатывания Улыбка
    Добавлено: 02:11 29-11-2007   
Lars
 440 EGP


Суровый помор
Рейтинг канала: 1(5)
Репутация: 77
Сообщения: 2450
Откуда: Архангельск
Зарегистрирован: 28.03.2007
Можно ли как нибудь сменить расу владельца какого-либо объекта (напр. станции, корабля)?
_________________
"Мозги... нам нужны мозги!"(с) "Живые мертвецы"
    Добавлено: 10:06 29-11-2007   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
Lars :
Можно ли как нибудь сменить расу владельца какого-либо объекта (напр. станции, корабля)?

Попробуй эту:
Код:
<RefObj> set owner race to <Var/Race>

· Команда позволяет назначить объекту <RefObj> владельцем расу <Var/Race>. Объектом может быть станция, корабль все что имеет расовую принадлежность. 

· По-идее можно использовать для эмуляции захвата. Однако если таким образом захватывать станцию, следует позаботиться о приписанных к станции кораблях, т.к. после изменения расы владельца, приписанные корабли по прежнему будут считать эту станцию базой приписки, несмотря на то, что база принадлежит теперь другой расе.
    Добавлено: 12:45 29-11-2007   
AKRAFT
 55 EGP


Рейтинг канала: 3(33)
Репутация: -6
Сообщения: 154
Откуда: Россия, Новороссийск
Зарегистрирован: 14.08.2007
Expert :
Andrei [<>Ace] :
Ну тогда можешь найти в установочном скрипте глобальную переменную, котора прикравает твои хоткеи от размножения, и в null ее загнать.

Тоже выход Гы-гы
Главное, после экспериментов с русификацией не забыть всё вернуть на место Подмигиваю

Я нашел выход и проще сделал. Без всяких переустановок.
Просто посмотрел файл 7333.xml, на который дают ссылку Рид-тексты. Ведь они под номерами(**333-1, **333-2 и т.д.). Сопоставил их номера с описанием в файле, узнал какой команде каждый из них соответствует и задал их себе так, как мне нравится. И не парюсь... Во как! Подмигиваю
И деньги целы и время сэкономлено.
_________________
Тщеславие - это один из наиболее любимых мной Грехов!

Последний раз редактировалось: AKRAFT (13:16 29-11-2007), всего редактировалось 1 раз
    Добавлено: 13:14 29-11-2007   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
Код:
<RefObj> set owner race to <Var/Race>

• Команда позволяет назначить объекту <RefObj> владельцем расу <Var/Race>. Объектом может быть станция, корабль все что имеет расовую принадлежность.

· По-идее можно использовать для эмуляции захвата.


Я вот что подумал. Эмуляция эмуляцией если раса меняется не на расу игрока.

Корабли после создания подключаются к расовой логике. Логика всех рас, для однотипных кораблей, примерно одинаковая, но никак не совпадает с логикой игрока (надеюсь Подмигиваю ).

Наверно после смены расы на расу игрока, следует отключать корабль от расовой логики, чтобы избежать проблем?

Эксперемент:
Создавал два истребителя разных рас, но не давал им никокого задания. Через n-ое количество мс. карабли самостоятельно приходили в движение.
Если тем же скриптом создавал корабли и отключал их от расовой логики, они оставались неподвижными.
При смене расы на расу игрока этой командой - чьей логики будет он подчиняться?
    Добавлено: 18:12 29-11-2007   
Bob_Koh
 61 EGP


Рейтинг канала: 3(31)
Репутация: 4
Сообщения: 125
Откуда: Хмельник
Зарегистрирован: 15.10.2007
Andrei [<>Ace] :
Код:
<RefObj> set owner race to <Var/Race>
• Команда позволяет назначить объекту <RefObj> владельцем расу <Var/Race>. Объектом может быть станция, корабль все что имеет расовую принадлежность.
· По-идее можно использовать для эмуляции захвата.

Я вот что подумал. Эмуляция эмуляцией если раса меняется не на расу игрока.
Корабли после создания подключаются к расовой логике. Логика всех рас, для однотипных кораблей, примерно одинаковая, но никак не совпадает с логикой игрока (надеюсь Подмигиваю ).
Наверно после смены расы на расу игрока, следует отключать корабль от расовой логики, чтобы избежать проблем?
Эксперемент:
Создавал два истребителя разных рас, но не давал им никокого задания. Через n-ое количество мс. карабли самостоятельно приходили в движение.
Если тем же скриптом создавал корабли и отключал их от расовой логики, они оставались неподвижными.
При смене расы на расу игрока этой командой - чьей логики будет он подчиняться?

А у каких рас есть расовая логика? И можно об этом поподробнее, то есть ее составляющие!
    Добавлено: 20:05 29-11-2007   
Proteus
 88 EGP


Рейтинг канала: 5(113)
Репутация: 35
Сообщения: 443
Откуда: Латвия
Зарегистрирован: 17.03.2007
новый вопрос
001 $A=$B
002 $A=$B+1
003 return null
Какими способами я могу передать изменившееся значение переменной $A из строки 002 в строку 001? Если я правильно понимаю то можно $A зделать глобальной переменной и присвоить ей числовое значение, в начале скрипта считать это значение прибавить 1 и присвоить глобальной переменной новое значение, при новом запуске скрипта считается новое значение? Или есть другие способы передать изменившееся значение?
_________________
На пыльных тропинках далёких планет останутся наши мозги.
    Добавлено: 20:05 29-11-2007   
Xenon J
 1007 EGP


Модератор
Рейтинг канала: 11(1675)
Репутация: 160
Сообщения: 3390
Откуда: Ксенонский сектор 472
Зарегистрирован: 30.03.2007
Вот такой вопрос: как лучше отправить игроку сообщение: сформировать его строковой командой sprintf или же путем простого сложения переменных и текста(пробелов), особенно когда переменных больше десятка Улыбка ?
_________________
Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз
    Добавлено: 23:17 29-11-2007   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
Xenon J :
или же путем простого сложения переменных и текста(пробелов), особенно когда переменных больше десятка ?

Если не надоест - складывай. Или разбивай на строки sprintf и опять складывай но уже меньше Улыбка .
    Добавлено: 00:12 30-11-2007   
Мечтатель
 75 EGP


Рейтинг канала: 5(188)
Репутация: 39
Сообщения: 357
Откуда: Киев
Зарегистрирован: 08.06.2007
Уважаемые знатоки внимание вопрос.

Можно ли изменить цвет корабля не прибегая к моддингу. В ШК есть такая команда. Можно ли ее перехватить или запустить выполнение не в ШК. Кто знаком с физикой этого процесса поделитесь. Подмигиваю
_________________
Наука движется настолько быстро, что самые оптимистические прогнозы могут оказаться устаревшими!
    Добавлено: 10:41 30-11-2007   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
Мечтатель :
Можно ли изменить цвет корабля не прибегая к моддингу.

Нет.

Proteus :
новый вопрос

Извини. Раз за разом перечитываю вопрос и не понимаю о чем ты спрашиваешь. Подождал - кто другой ответит.
Может попробуешь яснее иззложить суть вопроса?

Bob_Koh :
А у каких рас есть расовая логика? И можно об этом поподробнее, то есть ее составляющие!

"Каждый созданный в игре объект не принадлежащий игроку, подключается ко встроенной логике расы владельца, которая и берет дальнейшее управление объектом в свои руки." - DragonP

Последний раз редактировалось: Andrei [<>Ace] (14:42 30-11-2007), всего редактировалось 1 раз
    Добавлено: 14:27 30-11-2007   
WhiteWolf
 55 EGP


Рейтинг канала: 2(13)
Репутация: 0
Сообщения: 53

Зарегистрирован: 24.10.2007
Интересно, если глобальная/локальная переменная является массивом
то команды set global variable: name=<Var/String> value=<Value> и <RetVar/IF><RefObj> get local variable: name=<Var/String> вернут также ссылку на массив как $Array1 = $Array2 или же создадут копию массива?
И еще как получить максимальные индексы в массиве типа Array [X][Y] или размер массива по Х и размер массива по Y?
    Добавлено: 14:42 30-11-2007   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
WhiteWolf :
вернут также ссылку на массив как $Array1 = $Array2 или же создадут копию массива?
И еще как получить максимальные индексы в массиве типа Array [X][Y] или размер массива по Х и размер массива по Y?

Читать здесь обзац "Дополнения по массивам". Внимательно читать.

WhiteWolf :
вернут также ссылку на массив как $Array1 = $Array2 или же создадут копию массива?

Вернет ссылку, массив нужно копировать в другую переменную, если хочешь сохранить старый.

Последний раз редактировалось: Andrei [<>Ace] (14:53 30-11-2007), всего редактировалось 3 раз(а)
    Добавлено: 14:48 30-11-2007   
Мечтатель
 75 EGP


Рейтинг канала: 5(188)
Репутация: 39
Сообщения: 357
Откуда: Киев
Зарегистрирован: 08.06.2007
Andrei [<>Ace] :
Нет.


Нет, это потому что ты такой команды не нашел в скрипт редакторе. Правильно? Улыбка

Но иногда можно попытаться найти какие то изощрения. Например понадобилось мне в одном скрипте сделать горящую станцию. Такой команды ведь нету в скрипт редакторе. Правильно? Хы... Как я вышел из этой ситуации. Очень просто создал такую же станцию, по тем же координатам и сразу же
<RefObj> destruct: show no explosion=FALSE
Загоняешь в цикл на 8 секунд повторения и, вуаля горящая и взрывающаяся станция.

Ты бы объяснил как в ШК происходит процесс перекраски, это чисто екзешник надо править или что то еще захватывает. Ато так демонстративно. Нет и все. Улыбка

AlexYar :
Обычная ф-ия в обже. В оригинальной игре недоступна. Если не забуду - сделаю такую скрипткоманду в 2.0.02ext_b8 патче


Вау, супер будем ждатьмс... Улыбка
_________________
Наука движется настолько быстро, что самые оптимистические прогнозы могут оказаться устаревшими!

Последний раз редактировалось: Мечтатель (16:45 30-11-2007), всего редактировалось 2 раз(а)
    Добавлено: 15:18 30-11-2007   
AlexYar
 1916 EGP


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

Зарегистрирован: 26.10.2003
Andrei [<>Ace] :
"Каждый созданный в игре объект не принадлежащий игроку, подключается ко встроенной логике расы владельца, которая и берет дальнейшее управление объектом в свои руки." - DragonP


Для х3 ситуация совершенно иная, нежели была в х2.

Но сходятся они в одном - при создании корабля скриптом, если у него раса не "игрок", и если расовая логика не отключена - игра через небольшой промежуток времени запустит на нём команду по-умолчанию (start task).
В х2 команды были все известны. Например TS без приписки полетит на ближайшую верфь своей расы и будет там сидеть, TS с припиской полетит на станцию приписки, TS с припиской и созданный на станции приписки будет через какое-то время подхвачен станцией для снабжения, если нет других кораблей такого класса в списке "приписанных". Боевые истребители и бигшипы получат команду "убивать всех врагов". И т.д.

В х3 всё совершенно по-другому и собственноручное создание новых кораблей с неотключенной расовой логикой приведёт только к багам, так как старая расовая логика (х2-шная) доломана не до конца. В х3 корабли добавляются не скриптами, а с помощью файла Jobs.txt.

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

Мечтатель :
Ты бы объяснил как в ШК происходит процесс перекраски


Обычная ф-ия в обже. В оригинальной игре недоступна. Если не забуду - сделаю такую скрипткоманду в 2.0.02ext_b8 патче Улыбка
    Добавлено: 16:04 30-11-2007   
WhiteWolf
 55 EGP


Рейтинг канала: 2(13)
Репутация: 0
Сообщения: 53

Зарегистрирован: 24.10.2007
Andrei [<>Ace] :
Вернет ссылку, массив нужно копировать в другую переменную, если хочешь сохранить старый.
Т.е. получается оптимально даже для того, чтобы сохранить единственное значение в глобальную/локальную переменную достаточно будет создать массив из одного элемента. Тогда не потребуется непосредственной перезаписи значения глобальной/локальной переменной, а также после изменений размера массива?
    Добавлено: 16:40 30-11-2007   
Andrei [<>Ace]
 303 EGP


Рейтинг канала: 6(416)
Репутация: 108
Сообщения: 766
Откуда: Беларусь, Салiгорск
Зарегистрирован: 29.03.2006
WhiteWolf :
Тогда не потребуется непосредственной перезаписи значения глобальной/локальной переменной, а также после изменений размера массива?

Смотри сам. Лучше презапиши. Стремно это работает. Я и массивы перезаписываю.
    Добавлено: 16:46 30-11-2007   
WhiteWolf
 55 EGP


Рейтинг канала: 2(13)
Репутация: 0
Сообщения: 53

Зарегистрирован: 24.10.2007
Andrei [<>Ace] :
WhiteWolf :
Тогда не потребуется непосредственной перезаписи значения глобальной/локальной переменной, а также после изменений размера массива?

Смотри сам. Лучше презапиши. Стремно это работает. Я и массивы перезаписываю.

Может есть конкретные моменты когда Стремно это работает,и собрать статистику чтобы выявить баги? Учитывая, что движок Х3 использует невытесняющую многозадачность, то и коллизий одновременного доступа к ресурсам не должно быть, или я не прав? И заблудился в трех березах (может стеки в Х3 относительно друг друга работают всетаки в режиме вытесняющей многозадачности)?

AlexYar :
Т.е. любой корабль, который создаётся скриптом, обязательно должен быть отключён от расовой логики, иначе его действия предсказать будет невозможно.

Ну вот лично я не уверен, что при скриптовом создании объекта какой-либо рассы в каком-нибудь стеке X этого объекта не запускается какая-нибудь гадость не вычещаемая отключением расовой логики Расстроен Об этом можно спросить только у тех, кто обжи глубоко копает, например у тебя Улыбка

Последний раз редактировалось: WhiteWolf (20:29 30-11-2007), всего редактировалось 2 раз(а)
    Добавлено: 17:42 30-11-2007   
Канал X3: Reunion -> Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы»
На страницу: Пред.  1, 2, 3 ... 65, 66, 67 ... 134, 135, 136  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Не все астероиды летают в поясе астероидов...

  » Скриптописание - делимся опытом, задаем вопросы | страница 66
Каналы: Новости | 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