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

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

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

   Страница 9 из 9
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9 | Все страницы
Поиск в этой теме:
Канал X3: Reunion » Модовый и скриптовый отсек X3: Reunion: «Добавляем новые команды в скрипт редактор»
AlexYar
 1849 EGP


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

Зарегистрирован: 26.10.2003
Есть спецы по составлению хелпов (файлов hlp или chm с поиском и удобным содержанием) ? Надо бы для Ext-патча сделать удобный хелпер по новым командам и опциям, а то сам перечитал свой ридмишник - и ничего не понял Совсем запутался... Гы-гы

Как-то там скомкано всё, в кучу малу.
    Добавлено: 19:38 11-06-2010   
AlexYar
 1849 EGP


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

Зарегистрирован: 26.10.2003
По поводу новой денежной системы в патче...

 Cкрытый текст   (кликните здесь для просмотра)
Начиная со следующей версии, как я уже говорил, игрок сможет иметь на своём счету до 4-ёх квинтилионов кредитов, т.е. потолок увеличивается в 2 млрд.раз. Вследствие чего появятся некоторые изменения в денежной системе и дополнительные команды для крупных переводов.

Новая система денег позволит моддерам увеличить цены на корабли и станции, а так же некоторые товары, позволяя масштабировать у игрока ощущение, что он строит именно империю, а не какой-то захудалый кооператив "умелые руки" Хы...
Всё-таки 2 млрд. денег в наше время это сущие копейки, тем более для олигарха.

Вцелом, совместимость со старыми скриптами останется, так как миллиардные денежные переводы в стандартной игре и известных мне модах не производятся. Будут и некоторые нововведения.

Главное помнить, что все станции (нпс и игрока), а так же сумма одного денежного перевода между игроком и ними, по прежнему имеют ограничение в 2 млрд, поэтому нет смысла задирать цены на товар так сильно, что игроку придётся покупать нужное количество в несколько приёмов (а это сделать легко, так как возможность увеличения складов станций так же будет в новом патче). Проблемы могут быть, если неписи повезут товар игроку (я не помню, в скриптах неписей есть проверка на кол-во денег на станции игрока перед тем, как считать кол-во товара, которые они ему повезут, или нет? Если есть, тогда проблем не будет, потому что более 2 млрд. они не увидят).

Вобщем, размеры денежных переводов вырастут по-любому, если моддер решит увеличить размеры станционных складов. Простой пример: увеличиваем склад дока оборудования в 100 раз или делаем его постоянным для всех типов товаров (зависит от настроек в файле конфигурации, можно увеличить в N раз, оставив зависимость от релвала, а можно сделать поровну на все товары, как в штабквартире игрока) в размере 50.000. Представим, что склад пустой, а у игрока на станции есть 10.000 штук Г-ППЦ Улыбка Теперь представим, что непись полетел закупать у игрока все его пушки (повёз игроку деньги). Считаем сумму сделки... Если стоимость товара до двух млрд. - хорошо (если на счету станции ноль руб.), если стоимость товара более 2 млрд. - значит излишек денег улетит в трубу (осядет в кормане неписёвого пилота Гы-гы), если не поправить стандартные скрипты торговли, дополнив к проверке пустого места на складе проверку остатка на счёте станции средств до 2 млрд. Это, кстати, актуально и для оригинальной игры, там тоже деньги улетают в трубу, если на станции переполнен счёт, такая проверка тоже бы не помешала.

Надеюсь тут понятно.

Вобщем, можно вообще не учитывать новую систему средств в скриптах, если так хочется, от этого ничего не изменится.

Но если моддер захочет написать скрипты свои, например - "bank of universe", где у игрока будет принимать миллиарды на хранение под проценты, то для этого сделаны дополнительные команды, которые позволяют переводить средства сразу целыми миллиардами (чтобы в цикле не переводить 1.000.000 раз по 2 млрд., завесив игру, можно просто дать команду "AddBillion 2.000.000", т.е. переведём сразу 2 миллиона миллиардов Улыбка).


Как всё выглядит в механике.

У игрока теперь не один счёт, а три:

1. Обычный счёт.
2. Буферный счёт.
3. Резервный счёт.


Обычный счёт - это обычный стандартный, который используется для стандартных денежных переводов (например - в меню торговли верфи или станции). Так же все неписи видят, как и раньше, только его.
Этот счёт имеет планку в 2 млрд.
Чтобы узнать кол-во денег на этом счету - пользуемся стандартной скриптовой командой get player money.
Разница со старой системой в том, что при добавлении на него денег сверх 2 млрд-ов эти деньги не пропадут.

Буферный счёт - на него переводятся все излишки с основного счёта. Как только набирается полный миллиард - он переводится с буферного счёта на резервный счёт.
Буферный счёт служит для того, чтобы при наличии денег у игрока более 2 млрд - на основном счёте всегда лежало 2 млрд. для максимальной возможности закупок.

Резервный счёт - на нём хранятся полные миллиарды. Очередной миллиард сюда переведётся только тогда, когда на основном и буферном счету игрока будет 3 миллиарда в сумме (2 основной, 1 буферный). Отсюда будет взят миллиард и переведён на буферный счёт, если средств на буферном не хватит для поддержания на основном ровно 2 млрд.

Пример:

Основной - 2.000.000.000
Буфер - 0
Резервный - 100.000.000.000

Игрок купил белые тапочки за 100 рублей.
На основном стало: 1.999.999.900

Компенсируем счёт, добавив на основной обратно 100 рублей.
Для этого берём с буферного, но на нём ноль, поэтому с резервного переводим в буферный 1 млрд., затем с буферного 100 руб. на основной. В итоге получается:

Основной: 2.000.000.000
Буферный: 999.999.900
Резервный: 99.000.000.000

Всё это игра сделает автоматически. Я это написал только для того, чтобы скриптеры и моддеры понимали принцип работы системы, если хотят ввести расширенные денежные переводы своими скриптами. Для этого будут команды (три, одна старая, две новые), позволяющие узнать кол-во средств на каждом из трёх счетов, а так же команды (две, одна старая, одна новая), позволяющие работать с основным и резервным счетами напрямую (одна для стандартных сделок суммами до 2 млрд., вторая для переводов целых миллиардов).


В меню игрока сумма средств показывается как есть по факту (все его средства в сумме на основном, буферном и резервном счетах), с цветовой подсветкой целых квинтилионов, целых миллионов, тысяч и единиц миллиардов. Т.е. примерно так:

Player Account = 4.000.000.000.000.000.000 Cr.

Расцветку каждый моддер может изменить на такую, какую захочет, либо вообще её убрать.



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



зыж Если чего непонятно - спрашивайте сразу, потом в описание включу актуальные вопросы.
    Добавлено: 01:14 12-06-2010   
Ark
 50 EGP


Рейтинг канала: 2(18)
Репутация: 0
Сообщения: 25
Откуда: Омск
Зарегистрирован: 08.04.2010
Ить... Пока поезд не ушёл )
А можно в активном секторе при формировании SIGNAL_ATTACKED "сообщать кораблю", чем это его приложили? Лучший способ, на мой взгляд, локальная переменная с фиксированным именем, в которую помещается ware type оружия или ракеты. Таран = null.

...Это я думал над алгоритмом боевого маневрирования (в данном случае определения, когда стоит уходить в маневр уклонения, а когда нет) и столкнулся с тем, что такое определение более-менее адекватно возможно лишь когда у врага одна - носовая - турель, и в предположении, что это именно пушечное попадание. Ведь у меня нет значений щита и хулла ДО попадания. Расстроен А выстрел AIRE от торпеды в борт вообще не отличить... Ой, не могу!..

Тогда скриптёр попутно сможет задействовать этот же сигнал, чтоб корабли крутило и валяло в стороны при очень мощных ударах, соответствующие "команды механики" в 2.5Ext есть.
    Добавлено: 12:37 12-06-2010   
AlexYar
 1849 EGP


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

Зарегистрирован: 26.10.2003
Ark :
соответствующие "команды механики" в 2.5Ext есть.


В 2.5Ext есть и команды стрейфа для неписей, но их почему-то никто до сих пор не увидел Улыбка Они есть там ещё со времён патчей DarthRevan`а (set glide).
Т.е. в некоторых случаях логичнее не крутить корабль дефенсмувом, а просто "сместить" его стрейфом в сторону, перепендикулярную линии между этим кораблём и врагом, который стреляет (attacker), тогда остальные снаряды очереди пройдут мимо.
Ещё можно научить корабль стрейфом болтаться в разные стороны, если враг близко и висит на хвосте, тогда враг не сможет прицелиться (а если будет стрелять - промахнётся).


Ark :
Лучший способ, на мой взгляд, локальная переменная с фиксированным именем, в которую помещается ware type оружия или ракеты


Можно добавить аргумент, передаваемый в скрипт сигнала SIGNAL_ATTACKED (если его там нет до сих пор), можно и через локальную сделать. Сейчас мельком глянул - передачу субтипа пушки сделать можно, насчёт ракет и тарана - не уверен. Не помню какого формата второй аргумент в ф-ии TSHIP.AttackedBy().

добавлено спустя 44 минуты:
Кстати, проверить легко - можно-ли определить попадание ракеты и тарана, или нельзя. Для этого задаёмся вопросом - можно-ли захватить врага ударом корпуса или попаданием ракеты, или нет.
Обработка идёт в одной ф-ии за счёт одних и тех же данных.

Я, кстати, сам не помню, ракетой можно захватить в х3 или нет? Подозрение.
В ХТ точно можно было Улыбка

Последний раз редактировалось: AlexYar (15:45 12-06-2010), всего редактировалось 3 раз(а)
    Добавлено: 15:45 12-06-2010   
Ark
 50 EGP


Рейтинг канала: 2(18)
Репутация: 0
Сообщения: 25
Откуда: Омск
Зарегистрирован: 08.04.2010
Про добавление аргумента подумал, но хз, как с совместимостью будет. Существующие-то скрипты-обработчики 2 аргумента получают:

Код:

1: attacker , Var/Ship/Station , 'the attacker'
2: action , Var/Number , 'action'


Проигнорируют ли они "лишний" 3-й полученный аргумент? Если да, то лучше через аргумент. Если нет, то через переменную.

Насчёт сдачи врага после ракеты или тарана - не встречал такого (хотя я во-первых, мало пользуюсь ракетами, во-вторых, мало дерусь "своими руками" - масштабные сражения либо покадрово смотрю, либо они проходят в удалёнке. "Экономист", короче).

С другой стороны, NPC агрятся и от тарана, и от попадания ракеты, и от попадания снаряда. То есть скорее всего можно всё перехватить.

upd
Цитата:
научить

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

Последний раз редактировалось: Ark (16:25 12-06-2010), всего редактировалось 1 раз
    Добавлено: 16:01 12-06-2010   
Xenon J
 948 EGP


Модератор
Рейтинг канала: 11(1674)
Репутация: 161
Сообщения: 3270
Откуда: Ксенонский сектор 472
Зарегистрирован: 30.03.2007
AlexYar :
Ещё можно научить корабль стрейфом болтаться в разные стороны, если враг близко и висит на хвосте, тогда враг не сможет прицелиться (а если будет стрелять - промахнётся).
Все эти ухищрения пойдут густым лесом, если у игрока будет лучевое оружие типа КЕ Гы-гы И рулить будет только оно(или типа него - силовухи или РВЕ), а всё остальное уйдет в хлам Улыбка
AlexYar :
Я, кстати, сам не помню, ракетой можно захватить в х3 или нет?
Дык глянь анализ захвата Уликсом в БД - вроде нельзя. Улыбка
_________________
Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз
    Добавлено: 16:04 12-06-2010   
AlexYar
 1849 EGP


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

Зарегистрирован: 26.10.2003
Ark :
Проигнорируют ли они "лишний" 3-й полученный аргумент?


Да, скрипты игнорируют. Обычно в служебные скрипты х3 передаётся больше аргументов, чем используется в скриптах.

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

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

Xenon J :
Все эти ухищрения пойдут густым лесом, если у игрока будет лучевое оружие типа КЕ И рулить будет только оно


Во-первых, силовухи и КЕ с ПБЕ рулят и так. В этом плане ничего не изменится.
Во-вторых, алгоритм упреждения на прицеле игрока не учитывает стрейф непися.... Поэтому игроку придётся отключать автоупреждение и целить вручную, иначе он будет лупить в пустоту Улыбка
    Добавлено: 16:22 12-06-2010   
AlexYar
 1849 EGP


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

Зарегистрирован: 26.10.2003
Всё обсуждение переносится в новую тему.
    Добавлено: 01:20 13-06-2010   
Executor
 1860 EGP


Рейтинг канала: 6(308)
Репутация: 522
Сообщения: 9024
Откуда: Менск. Беларусь.
Зарегистрирован: 09.05.2001
Тогда эту тему закрываю. Если она кому-нибудь понадобится, пишите в приват модераторам канала.
_________________
Император Всея Галактики, Прилегающих Туманностей, Комет И Астероидов, А Также Планеты Ракксла, Буде Она Все-Таки Обнаружится :)
    Добавлено: 14:08 13-06-2010   
Канал X3: Reunion -> Модовый и скриптовый отсек X3: Reunion: «Добавляем новые команды в скрипт редактор»
На страницу: Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9 | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Предпочитаю грызть, а не огрызаться - HORNET Оболенский.

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