|
|
|
Канал X2: The Threat: «Corsar mod» |
|
Как вам идея? |
Мне нравится. |
|
70% |
[ 21 ] |
А мне паралельно. |
|
26% |
[ 8 ] |
Ерунда какае-то кому это надо. |
|
3% |
[ 1 ] |
|
Всего проголосовало : 30 |
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
Мне почему-то всегда нравились пираты... Я решил сделать мод добавляющий сюжетную динию за пиратов. Вот первая наработка хочется чтоб оценили и посоветовали.
Что есть. Новая модель ID
Масс драйвер заменён на пусковую установку гравитонных торпед. Заменена модель Самого ствола и модель Пули. Стреляет медленно летит медленно но корпус выносит неплохо. Усилены все кионные эмиторы. Ослаблен ID, ослаблены все PSG. Добавлен новый корабль Пиратский посейдон. Пока тока скриптом можно посмотреть это будет сюжетный корабль. Изменены характеристики ракет.
Планируется:
Сюжетка за пиратов. Пиратский М6 пиратская верфь, док оборуждования. Корабль "Стервятник" - это ТС с небольшим трюмом, одной фронтальной пушкой "Mobile drilling system" и двюмя турелями для защиты т.к. впереди будет стоять тока дрель. Предназначен для разработки астероидов. Составит конкуренцию обычному ТС в честь его цены и турелей. И ещё что в голову взбредёт.
Вопросы:
1. Насчёт скриптов для того чтоб миссию давали только один раз использовать глабальные переменные? 2. Как перехватить кол-во болтающегося в космосе груза? Нужно чтоб созджать нового дрона.
2. Вот насчёт пушкок. В Тлазерс прописал пушку, и в Тшипс с помощью Х2Едитора добавил её в кокпит. Но она не может быть использована, а если в доступных оставить только её, тогда её можно использовать. А как прописать новую пушку чтоб она могла быть использована вместе с другими.
http://crazy-lazy-Ссылки на narod.ru запрещены! Используйте пожалуйста другие, более нормальные хостинги./mod.rar Вот то что пока есть, просьба посмотреть и сказать своё мнение.
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
Tension MAN
1220 EGP
     Рейтинг канала: 4(56) Репутация: 383 Сообщения: 8350 Откуда: Москва, корпус Д&Ф Зарегистрирован: 30.11.2002
 |
|
Если захочешь выложить в раздел - пиши или пока можешь его довести до ума, чтобы я не обновлял раздел каждый день
_________________ EVE-online - TensionMAN in game. |
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Нормально будет. Так, а-ля Штортбекер в ХТ + мод...
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
2 Tension MAN Не рано пока! Ещё работы непочатый край.
Вопрос. Как скриптом узнать убит ли корабль или нет?
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
if (вариабла) exists.
(В разделе "General Object Commands")
|
|
|
Deadly Fugitive
319 EGP
  Рейтинг канала: 2(13) Репутация: 79 Сообщения: 1492 Откуда: С.-Петербург Зарегистрирован: 12.01.2005
 |
|
Если идея будет реализована как надо, то интересно.
Хотя, есть скрипты позволяющие начинать игру за Хааков, пиратов и ещё что-то в этом роде. Да и, кстати, в Х3 обещают возможность такого выбора в начале игры.
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
2 XArgon
Хых вот тут то и запарв как я понимаю идёт проверка существует ли переменная. Значит должно быть иф нот чтоб узнать не существует ли... Вот смотри скрипт.
001 $plsect = [PLAYERSHIP] -> get sector
002 $class = [PLAYERSHIP] -> get object class
003 $target = $plsect -> find ship: class or type=$class race=null flags=null refobj=[PLAYERSHIP] maxnum=null with homebase=null
004 load text: id=7
005 $msg = read text: page=1 id=100
006 send incoming message $msg to player: display it=[FALSE]
007 $target -> set relation against Player to Foe
008 @ = $target -> call script '!fight.attack.object' : the victim=[PLAYERSHIP] follow in new sector=[TRUE]
009 cheekdeath:
010 @ = wait 800 ms
011 if not $target -> exists
012 $msgPIR = read text: page=1 id=101
013 send incoming message $msgPIR to player: display it=[FALSE]
014 end
015 goto label cheekdeath
016 return null
Корабль мрёт а сообщение не выкидывает... Что не так?
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Попробуй не пользоваться if not. Я лично всегда использую if и на конце else. Типа:
009 cheekdeath:
010 @ = wait 800 ms
011 if $target -> exists
012 goto cheekdeath:
013 else
014 $msgPIR = read text: page=1 id=101
015 send incoming message $msgPIR to player: display it=[FALSE]
016 end
Примерно так.
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
Всё, спасибо, разобрался. Ифнот работает, просто почему-то закливалось на скрипте атаки, вызвал его по другому, всё нормально. Набил вторую миссию а она не сохранилась. Вот блин всётаки больше у меня к 3д душа лежит чем к скриптописанию, но да ладно набью заново.
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Не сохранилась? Типа, "ошибка в строке №"? Да просто повнимательнее с end. Ещё, не указывай в find-ах и командах типа таких точный объект. Только тип объекта, и другие признаки. А то скрипт при попытке исполнения удалится (вообще!). Знаю на собственном опыте...
ЗЫ. А вообще идея хорошия. Мне вообще нравится идея создания "сюжетных", или "миссионных" скриптов...
Если что надо, ещё спрашивай.
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32759
Зарегистрирован: 26.10.2003
 |
|
Цитата: |
009 while $target
010 @ = wait 5000 ms
011 end
012 $msgPIR = read text: page=1 id=101
013 send incoming message $msgPIR to player: display it=[FALSE]
014 return null
|
Так и короче, и логичнее. И обрати внимание на время wait , которое я поставил. В операциях такого рода меньше ставить смысла нет.
зыж Ориентировать непараллельный скрипт на корабль игрока нельзя, так как он будет выполнять вплоть до смерти игрока.
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
2 AlexYar Спасибо!
2 Xargon Блин да нет в стороке нет ошибок, простоскрипт в редакторе есть, отрабатывает, выхожу смотрю в папку скриптс а его там нету! Как от этого избавится?
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
http://crazy-lazy-Ссылки на narod.ru запрещены! Используйте пожалуйста другие, более нормальные хостинги./missions.rar
Люди, вот 2 мисси, посмотрите, и скажите нада сюжетка в таком роде или нет. А и кто не хочет запускать миссии из редактора переименуйте a.missions.start в setup.missions.start Жду отзывов.
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Сюжетки - нужны. Только ты бы лучше написал, в чём они заключаются и тонкости скрипта. Никаких проблем нету? Скрипт проверил?
А то я когда сделал дополнительную миссию к своему моду 1.2, где пираты должны были громить сектор, а ты должен сектор защищать, потом понял, что оказывается пираты висят в космосе без пушек и щитов и ничего не делают.
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
Вот тексты из 3-й мисси, скажите что вы о таких нестандартных брифингах думаете?
Это брифинг:
-Здарова, брат.
- Здарова
-Тебя посоветовали свои из триумфа бренана. Говорят тебе деньжата нужны?
- А кому они не нужны-то?
- Вот и отлично, дело в том, что у Ежа день рождения, и мы закатили гулялово. Но вот ребята начали ныть, что им не хватает слабого пола. Залети на торговую станцию в Поясе руды. Забери стриптизёршь и торт, чтоб было из чего ввылазить и что слизывать. Гы! Гы! Гы! А потом в том-же секторе на базу! Получишь три куска. Работёнка не пыльная, так что не козлись.
- Ха! А можно я установлю камеру наблюдения в трюме и скажу, чтоб отрепетировали выступление?!
- Конечно, мне не жалко.
Это когда стыкуешся с базой:
- Ты за девочками?
- Ага.
- Лады, ща погрузим. ХЫыыы.
- Тока возле пива не грузите ато выпьют всё.
- Шутник, однако, ну всё тебя уже жду на базе.
А это с пираткой:
- Здарова, брат! Ээээ, НЕ! Целоватся не будем.
- .......
- Шучю я, шучу. Где тёлки?
- В трюме гдеж им ещё быть?
- Ща пойду за ними, пить будешь?
- Не, я за рулём.
- Вот, чёрт, ладно щас прихвачу ящик для тебя.
СПУСТЯ 10 минут.- ЧТО ЗА!!! Ты что наделал? Какого лысого!
- Что такое?- Что, что, торт сгнил..... Блин!!! И тёлки тоже! Ты как это их вёз? У тебя хоть система жизнеобеспечения есть?- Ууупс..- Что значит упс? Ты может ещё и деньги хочешь?- Есцественно!- Ну, ты наглый! Блин за что? За гнилой "мясой торт"? Ну, ладно держи два куска и вывези мусор. И советую тебе "Тортик" выкинуть вместе с ним.
И модельку товара сделал Тортик, бутылки, и две ноги торчащие из торта
2 XArgon Скрипты проверял, работают.
Вопрос, как узнать есть ли в трюме определённый груз, и как его отобрать у игрока скриптом? И ещё вопрос я вот проверяю находится ли корабль на станции так:
$env=PLAYERSHIP->get enviroment
if $env=$targetBase
Но что-то мне этот метод не нравится, как правильнее?
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Цитата: |
Но что-то мне этот метод не нравится, как правильнее?
|
Что-то типа иф ПЛЭЙЕРШИП ис докед эт $targetBase. Найдёшь в General Object Commands или Flight Commands.
А проверить - в Trade Commands (вроде ещё "for Ships")
- $vol = PLAYERSHIP -> get volume of "(груз)" in cargo bay
- if vol$ = 1 (или какое там количество груза?)
- дальше делай чё те надо.
А миссию-то модифицировать надо... Проверять на наличие Cargo Lifesupport system, или наличие TP
|
|
|
-=Hed_GE_hoG=-
371 EGP
     Рейтинг канала: 1(9) Репутация: 135 Сообщения: 2528 Откуда: Минск Зарегистрирован: 11.06.2005
 |
|
Неа, не надо, ато не окачурятся, мне просто захотелось чего-то немного необычного А за совет спасибо. А как груз отобрать-то? Тока вот команда <RetVar/IF> <RefObj> is docked и где указание к чему он пристыкован? Тока если проверять сначала пристыкован ли он, потом проверять enviroment и сравнивать с таргет бэйс, а одной командой никак?
_________________ Пришлёл, задрал майку. Ушёл не отодрав ни майку ни зайку (с) |
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32759
Зарегистрирован: 26.10.2003
 |
|
-=Hed_GE_hoG=- : |
$env=PLAYERSHIP->get enviroment if $env=$targetBase
|
Так правильно. Только задержку цикла делай где-нить секунд 5, не чаще.
XArgon : |
- $vol = PLAYERSHIP -> get volume of "(груз)" in cargo bay
|
Ни в коем случае! Команда вернет место занимаемое грузом, а не его количество! Т.е. при 5 единиц груза размером 5 XL команда вернет 25.
Для определения количества служит другая команда -
get amount of "(груз)" in cargo bay
-=Hed_GE_hoG=- : |
Неа, не надо, ато не окачурятся, мне просто захотелось чего-то немного необычного
|
Дык тебе и говорят, что нестыковка миссионная получится, если у игрока будет стоять система жизнеобеспечения, а по миссии ему скажут, что её у него нет
Это только на первый взгляд миссии кажутся простыми, а на самом деле на каждую миссию надо штук 50 проверок городить, чтобы все возможные обходные пути отрезать. В итоге получается, что на миссию, которую игрок может пройти за _минуту_, скриптописатель может потратить на её написание и отладку несколько НЕДЕЛЬ!
-=Hed_GE_hoG=- : |
А как груз отобрать-то?
|
Добавить отрицательное число. "add -200 units of Батареи" к примеру.
-=Hed_GE_hoG=- : |
а одной командой никак?
|
Можно. См.выше.
|
|
|
XArgon
1425 EGP
        Рейтинг канала: 2(11) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Цитата: |
get amount of "(груз)" in cargo bay
|
Ой, точно! Сорри, просто опечатался...
А если хорошо соображать, можно нормальную миссию и за часик сделать.
Цитата: |
"add -200 units of Батареи" к примеру.
|
(доканчиваю мысль ) А если груза количество непостоянное (например миссия - нужны людям батарейки, сколько - неважно.)
То можно:
001 $amo -> get amount of ware 'Energy Cells' in cargo bay
002 $am1 = $amo * -1
003 = [PLAYERSHIP] -> add $am1 units of 'Energy Cells'
AlexYar, я правильно мыслю? Можно делать такие математические функции?
И так же с помощью величайшей из скриптовых команд <RetVar>=<Expression> можно задать количество денег, зависящее от количества груза... Я прав?
Ех ты! Мне прямо понравилось... Вообщем вот так.
Зы, Хед ге хог, можешь к своему моду мой скрипт пристегнуть - Дрон-камикадзе. Интересно кстати. Смотри в теме "Собрание скриптов пилотов".
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 6(445) Репутация: 325 Сообщения: 32759
Зарегистрирован: 26.10.2003
 |
|
XArgon : |
002 $am1 = $amo * -1
|
Можно сразу так:
002 $x = - $x
Т.е. сразу вставить минус перед переменной. Умножать на -1 не надо.
XArgon : |
А если хорошо соображать, можно нормальную миссию и за часик сделать.
|
Хотя, что считать "нормальной" миссией, и как "хорошо" надо соображать для этого?
И учти, что _каждый_ добавляемый тобой скрипт в игру потребляет ресурсы этой игры, коих и так нету нифига свободных, а это значит, что каждый новый скрипт всегда добавляет тормозов игре. Это аксиома типа
Отсюда следует вывод, что скриптеру следует уделять особое внимание _оптимизации_ скриптов, т.е. _заранее_ её вкладывать в алгоритм. Иногда один скрипт пока набиваешь - постоянно находятся всё новые пути оптимизации, в итоге скрипт полностью переделываешь или доделываешь раз по пять-десять. Потом пока тестишь скрипт и отлаживаешь - находятся новые ляпы и ошибки.
Некоторые ошибки находятся только через какое-то время и сразу не видны. Поэтому я и рекомендовал (а первым идею озвучил акм) сразу в скрипты закладывать возможность отсечки, иначе исправить потом ошибку в цикличных глобальных скриптах будет невозможно, и сейвы игроков будут запороты (а они этого очччень сильно не любят).
Подводя итог всей этой писанине можно сказать, что нормальную, безглючную, оптимизированную и полностью работоспособную миссию за час не написать ну никак
|
|
|
|
|
|
Канал X2: The Threat: «Corsar mod» |
|