|
|
|
Канал X2: The Threat: «Всем скриптописателем. Оптимизация внутренних скриптов.» |
|
Нужен ли этот скрипт? |
Да нужен, буду учавствовать в создании. |
|
28% |
[ 4 ] |
Да нужен, но в создании учавствовать не буду (разные причина). |
|
42% |
[ 6 ] |
Нет не нужен |
|
28% |
[ 4 ] |
|
Всего проголосовало : 14 |
|
|
|
Варсик
545 EGP
    Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
Вот сама идея: На данный момент раждый торговый корабль, который что-то привозит на станцию крутит свой скрипт, причём с НПС станций корабль уходит только, если там меньше 10% ресурса. Есть предложение: крутить один скрипт от станции, которая будет определять необходимость товара (оставить те-же 10%) и в зависимости от надобности - посылать транспорты, или ещё чего-нибудь.
Плюсы: вместо 3-4 скриптов на одну станцию, получается 1, но чуть более продолжительный.
Минусы: Писать надо.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Vitalii
955 EGP
     Рейтинг канала: 1(3) Репутация: 249 Сообщения: 7214 Откуда: Тула Зарегистрирован: 13.08.2002
 |
|
нихт не понял...
_________________ Связь - это как воздух, незаметна, пока не испортишь. |
|
|
XenonTomb
250 EGP
   Рейтинг канала: 2(16) Репутация: 66 Сообщения: 867 Откуда: Николаев, Украина Зарегистрирован: 17.03.2004
 |
|
А, это типа не каждый корабль чиво-то делает (выполняет свой скрипт), а сама станция управляет закупками/продажами в зависимости от потребностей. Я правильно понял?
_________________ Будут предложения - присылайте на расчетный счет :) |
|
|
Romeo-must-die
271 EGP
   Репутация: 37 Сообщения: 1054 Откуда: не с Бетельгейзе Зарегистрирован: 04.01.2004
 |
|
Только как кораблю сказать, что он должен куда-то полететь...
_________________ Смотри сквозь кретина |
|
|
XenonTomb
250 EGP
   Рейтинг канала: 2(16) Репутация: 66 Сообщения: 867 Откуда: Николаев, Украина Зарегистрирован: 17.03.2004
 |
|
По задумке ему ничего не нужно говорить - за него решает станция, да и можно использовать только один быстрый транспорт на все ресурсы. В принципе, наверно такой скрипт написать можно, но кто возьмется... Опять же - что, торговлю НПЦ тоже менять надо? Этож какой хаос будет...
_________________ Будут предложения - присылайте на расчетный счет :) |
|
|
Grey Wolf
500 EGP
    Рейтинг канала: 2(17) Репутация: 115 Сообщения: 1677 Откуда: Ростов-на-Дону Зарегистрирован: 31.03.2003
 |
|
Все торговцы НПС используют торговый скрипт, в аргументах которого уже есть, куда лететь и что покупать. Кто именно эти аргументы выбрал и в скрипт подставил - ХЗ. В стандартных скриптах этот "выборщик" не присутствует, прячется где-то в тени.
Если на станции НПС повесить скрипты, которые начнут гонять корабли по своему усмотрению, кол-во скриптов только увеличится! Поскольку невозможно отменить работу уже существующей системы, которая гоняет корабли НПС. Наоборот, придется потратить некоторые усилия на перехват команд, пусть и усилия не сложные.
Можно оптимизировать экономику НПС, несколько усложнив скрипты, но я так понял, желание как раз добиться обратного результата?
_________________ Быстро выпитая рюмка не считается налитой |
|
|
Dimaxx
1016 EGP
      Рейтинг канала: 1(5) Репутация: 204 Сообщения: 5812 Откуда: Северодвинск Зарегистрирован: 26.06.2002
 |
|
Не знаю, получится ли? Ведь игра сама знает какие скрипты когда запускать. А ты предлагаешь заменить несколько одним. И как игра будет знать, что этот скрипт заменяет все?
_________________ "Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс |
|
|
Варсик
545 EGP
    Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
to XenonTomb Да правельно.
to Grey Wolf Всё гораздо смешнее: Если перебить комманды, тоесть заменить их, на свои, то всё получиться. Пример: вот есть у нас !trade.loop.getwarebest - это перевод на другой скрипт и т.д. А если мы возьмём и из него удалим строчку вызово этого скирипта, то... он не вызывается, а следовательно нет цикла.
to Dimaxx в init. к станции пишем на выполнение скрипт, и он работает для всёх станций. а все транспорты выполняют только команду !trade.getwareandreturnhome, причём она вызывается через START, то-есть без ожидания завершения. Так один скрипт может породить несколько.
По моему представлению придётся перебить практически все торговые скрипты, но кажется оно того стоит.
ЗЫ: Dimaxx, я слышал, что ты перебивал скрипты для ХТ, можно взглянуть (ссылочку там, или давай я тебе на PM своё мыло отправлю).
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Варсик
545 EGP
    Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
Механика главного скрипта такова:
Перед основным циклом берём кол-во ресурсов на станции(оно не может меняться при работе станции). В главном цикле определяем: нужно ли купить какой-нибудь товар, если надо(для НПЦ - его меньше 10%), то ищем подходящий корабль на станции, который к ней приписан.(здесь первая проблема: если искать только среди TS - то невозможно использовать М3-5 для доставки грузов, а если все - НПЦ сойдут с ума) И если найден товар для покупки и транспорт, его перевозящий, то ищем станцию, которая продаст этот товар и запускаем скрипт !trade.getwareandreturnhome для данного корабля, ресурса и станции. А в массиве отправленных транспортов указываем, что за таким ресурсом уже летят (проблема №2: как сказать, что за ресурсом уже сгоняли? То есть обнулить значение этого массива).
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Варсик
545 EGP
    Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
XenonTomb : |
А, это типа не каждый корабль чиво-то делает (выполняет свой скрипт), а сама станция управляет закупками/продажами в зависимости от потребностей. Я правильно понял?
|
Пока только закупками.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
Всё гораздо смешнее: Если перебить комманды, тоесть заменить их, на свои, то всё получиться. Пример: вот есть у нас !trade.loop.getwarebest - это перевод на другой скрипт и т.д. А если мы возьмём и из него удалим строчку вызово этого скирипта, то... он не вызывается, а следовательно нет цикла
|
Что еще смешнее, NPC не пользуются !trade.loop.getwarebest Т.е. вообще! И команда Get Ware Best на них никогда не выполняется! А выполняется сразу !trade.getwareandreturnhome.
Так что слушай, что тебе опытные люди говорят:
Grey Wolf : |
Все торговцы НПС используют торговый скрипт, в аргументах которого уже есть, куда лететь и что покупать. Кто именно эти аргументы выбрал и в скрипт подставил - ХЗ. В стандартных скриптах этот "выборщик" не присутствует, прячется где-то в тени.
|
Warstone : |
в init. к станции пишем на выполнение скрипт, и он работает для всёх станций.
|
Станции не имеют своих персональных init-скриптов. Любой созданный пользователем init-скрипт есть ни что иное как 1 глобальный процесс, запущенный на null, а вовсе не на станции.
Warstone : |
Плюсы: вместо 3-4 скриптов на одну станцию, получается 1, но чуть более продолжительный.
|
Ты в корне не прав. Получится не 1, а те же 3-4 скрипта + 1
На станциях NPC стандартно не запущено ни одного скрипта! Движек игры периодически кидает каждому транспорту, приписанному к фабрике, команду Get Ware (которая запускает скрипт !trade.getwareandreturnhome). Транспорт NPC делает 1 рейс и дальше ждет.
В предлагаемом тобой варианте, придется добавить на каждую фабрику NPC по 1 скрипту, который в свою очередь будет посылать каждый транспорт под управлением того же !trade.getwareandreturnhome.
Т.е. реально ты значительно увеличишь нагрузку на процессор своим навороченным скриптом на фабриках NPC. А отключить стандартный механизм отправки транспортов NPC за ресурсами невозможно, т.к. он вовсе не скриптами реализован, а в коде игры (думаю этот код от ХТ не отличается).
Короче, назови мне хоть 1 преймущество твоей "оптимизации"
|
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
Vitalii : |
нихт не понял...
|
Аналогично .
Нах скрипт на станцию вешать, когда можно повесить в цикле на 4-5 станций одну игуану к примеру(на ХЛ - еще что-нибудь), а станции задавать в качестве параметров при активации скрипта-команды и все.
З.Ы. Главные приемущества - скорость работы, малый размер, можно полностью переписать с поправками базовые скрипты Getware зациклить на фабрики и на сбор товара, а не покупку.
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
ScHunter
451 EGP
   Рейтинг канала: 1(1) Репутация: 99 Сообщения: 2565 Откуда: Germany, Augsburg Зарегистрирован: 30.06.2004
 |
|
Цитата: |
Минусы: Писать надо.
|
допустим ситуацию
у меня завод по производству 125Mw щитов.
и как он будет работать если они будут покупать ресурсы когда их меньше 10%. Для этого завода они должны быть 100% всегда
Или я чтото путаю?
|
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
ScHunter : |
Или я чтото путаю?
|
Вот втом то и дело, что не путаешь, - респект. Когда ты только завод построил, он должен наполнится ресурсами для цикла.
2 Warstone
Надо не 10% ресурсов, а 100% ресурсов для 1 цикла производства, непомню, но кажись такие функции есть, к-е возвращают количество ресурся для 1 цикла.
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
Варсик
545 EGP
    Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
to CooL_SnipeR Я взял за основу егосовтовский скрипт, там так и написанно (к сожалению не покажу парсера нет). Может я чего не понял...
to akm А если перебить скрипт GetWare??? Ты об этом подумал...
Цитата: |
Станции не имеют своих персональных init-скриптов. Любой созданный пользователем init-скрипт есть ни что иное как 1 глобальный процесс, запущенный на null, а вовсе не на станции.
|
Этот вопрос я ещё не решил.
Цитата: |
На станциях NPC стандартно не запущено ни одного скрипта! Движек игры периодически кидает каждому транспорту, приписанному к фабрике, команду Get Ware (которая запускает скрипт !trade.getwareandreturnhome). Транспорт NPC делает 1 рейс и дальше ждет.
|
А как он его бросает, через сигнал???(тогда своим подменим), или ещё как?
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
Варсик
545 EGP
    Репутация: 117 Сообщения: 4041 Откуда: Москва Зарегистрирован: 22.12.2002
 |
|
И вообще кардинатьное решение - Убить нах все торговые скрипты, и написать свои.
_________________ WARNING: By reading this post you accept that this post is genius. |
|
|
XenonTomb
250 EGP
   Рейтинг канала: 2(16) Репутация: 66 Сообщения: 867 Откуда: Николаев, Украина Зарегистрирован: 17.03.2004
 |
|
Тогда НПЦ может стать серьезным конкурентом. Может это и к лучшему.
_________________ Будут предложения - присылайте на расчетный счет :) |
|
|
Strange®
1078 EGP
   Рейтинг канала: 1(5) Репутация: 225 Сообщения: 3005 Откуда: Киев Зарегистрирован: 26.07.2002
 |
|
XenonTomb : |
Тогда НПЦ может стать серьезным конкурентом. Может это и к лучшему.
|
Это как раз к лучшему! Одновременно снизить тормоза и повысить экономический интеллект НПС! Если это получится...
_________________ Жизнь прекрасна! Главное - правильно подобрать антидепрессанты :) |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Цитата: |
А как он его бросает, через сигнал???(тогда своим подменим), или ещё как?
|
COMMAND_GET_WARE, т.е. подменить своим не вопрос. Просто все равно надо по 1 скрипту запускать на каждом транспорте. И стандартный !trade.getwareandreturnhome сравнительно простенький скрипт - оптимизировать там особо нечего, так что
Цитата: |
Одновременно снизить тормоза и повысить экономический интеллект НПС
|
не получится
Уже в 3й раз повторяю: решение кому лететь, за чем лететь и куда лететь для NPC прининимает не скрипт, а движек игры. И любая ваша "оптимизация" будет дополнительно грузить проц. Другое дело
XenonTomb : |
Тогда НПЦ может стать серьезным конкурентом. Может это и к лучшему.
|
Есть имхо здорово.
Смотреть на то как НПЦ "торгуют" честно говоря больно. Работает батареечница значит, работает. Никто не покупает. Заполняется она эдак до 80-90% и народ начинает хавать батарейки на перебой, 4000, 3000, 2000, 1000, 100. Цена максимальная, батареек жалкие крохи, а на этот СПП продолжают тянутся караваны. Выгребают жалкие 100 батареек. Только проходит 1 цикл и появляется 66 - выгребают их. И здоровенный транспорт с чувством полного удовлетворения везет эти 66 батареек домой и порой за несколько секторов
Почему все так работает оно впринципе очевидно. Все будут только рады это пофиксить. Я лишь придирался к "преймуществам", описанным в первом посте и весьма скудному описанию идеи. Вот сейчас уже что-то вырисовывается.
|
|
|
Dimaxx
1016 EGP
      Рейтинг канала: 1(5) Репутация: 204 Сообщения: 5812 Откуда: Северодвинск Зарегистрирован: 26.06.2002
 |
|
Никаких скриптов я не перебивал - это баг.
_________________ "Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс |
|
|
|
|
|
Канал X2: The Threat: «Всем скриптописателем. Оптимизация внутренних скриптов.» |
|