Автор Тема: Новые опкоды(ваши предложения)  (Прочитано 11503 раз)

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Новые опкоды(ваши предложения)
« : Июль 03, 2017, 03:59:58 pm »
Столкнулся с проблемой, которая всё-таки вынудила меня начать писать плагин, производящий некоторые операции спецом для CarRec(на самом деле для ActRec).
И как я и думал - меня понесло куда-то не туда и теперь пишу плагин, добавляющий новые опкоды, не только для CarRec но и вообще(перенесу в опкоды кое-какие свои старые и новые задумки, типа фотокамеры, отрывания колес и т.п., а также разные вещи, которые я увидел на этом сайте(авторов укажу))...

Пока список планируемых опкодов такой(эти я по большей мере знаю, как реализовать, либо подсмотрел в разных темах на этом сайте):
опкоды CarRec, ObjRec, ActRec

get object rotation
set object rotation
get vehicle rotation
set vehicle rotation
get actor rotation
set actor rotation

is_vehicle car
is_vehicle bike
is_vehicle heli
is_vehicle boat
is_vehicle plane

альтернатива z_ground(processlineofsight)

съемка скриншотов без hud и прочих надписей

детач компонентов авто(пока не уверен, но возможно выйдет сделать не только для колес)

поворот компонентов авто(не 100%)

разбивание разбиваемых объектов(типа стекла)

атач/детач различных entity к другим, в т.ч. - к костям

repair car completely

remove actor bodypart?(не уверен)

play mpg video

enable_blur/trails

get camera direction vector

ped_say

Play_1d_Sound

Get Camera position
Get Camera direction

get angle from vector XYZ store to XaYaZa

Сделано:
0E10: rotate_actor $PLAYER_ACTOR boneindex 5 angles 0.0 0.0 0.0 blending_time 500 freeze_time 2000 release_time 1000
0E11: store_actor $PLAYER_ACTOR boneindex 5 global 1 rotation_to 1@ 2@ 3@
0E12: store_actor $PLAYER_ACTOR boneindex 5 global 1 position_to 4@ 5@ 6@

Не удалось/не знаю, как сделать(FAIL):
play_3d_sfx

Пишите, если есть какие идеи новых опкодов. Если мне будет по силам - реализую.
« Последнее редактирование: Июль 12, 2017, 06:44:14 pm от Shagg_E »

Оффлайн ilufir

  • Прохожий
  • *
  • Сообщений: 73
  • Репутация: +2/-0
  • Я пытался
    • Просмотр профиля
Re: Новые опкоды(ваши предложения)
« Ответ #1 : Июль 08, 2017, 11:33:33 pm »
вау, выглядит неплохо. еще бы создать возможность без геморроя проигрывать свою анимацию...

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Новые опкоды(ваши предложения)
« Ответ #2 : Июль 12, 2017, 06:40:01 pm »
Ого! Не заметил, что есть ответ в теме :o
вау, выглядит неплохо. еще бы создать возможность без геморроя проигрывать свою анимацию...
Это уже запилили:
Код: Text
  1. 0673: play_animation on actor $PLAYER_ACTOR animgroup 61 anim 512 blendfactor 30.0 // play dance animation from cj_dance
нужно лишь помимо CLEO 2 поставить один плагин.

СПИСОК ОБНОВЛЕН!
Если у вас есть идеи, как можно реализовать вещи из списка FAIL - помогите плиз.

Но в любом случае - рассмотрю любые идеи по новым опкодам, если мне это будет под силам или список не накопится слишком огромный...

Оффлайн ilufir

  • Прохожий
  • *
  • Сообщений: 73
  • Репутация: +2/-0
  • Я пытался
    • Просмотр профиля
Re: Новые опкоды(ваши предложения)
« Ответ #3 : Июль 18, 2017, 09:22:30 pm »
Ого! Не заметил, что есть ответ в теме :o
вау, выглядит неплохо. еще бы создать возможность без геморроя проигрывать свою анимацию...
Это уже запилили:
Код: Text
  1. 0673: play_animation on actor $PLAYER_ACTOR animgroup 61 anim 512 blendfactor 30.0 // play dance animation from cj_dance
нужно лишь помимо CLEO 2 поставить один плагин.

СПИСОК ОБНОВЛЕН!
Если у вас есть идеи, как можно реализовать вещи из списка FAIL - помогите плиз.

Но в любом случае - рассмотрю любые идеи по новым опкодам, если мне это будет под силам или список не накопится слишком огромный...
все равно не особо удобно, потому что приходится узнавать какие-то там номера, ставить плагины на подгрузку своих ifp...

Оффлайн kenking

  • Новичок
  • **
  • Сообщений: 237
  • Репутация: +16/-0
    • Просмотр профиля
Re: Новые опкоды(ваши предложения)
« Ответ #4 : Июль 20, 2017, 06:43:01 am »
Но в любом случае - рассмотрю любые идеи по новым опкодам, если мне это будет под силам или список не накопится слишком огромный...
Как вариант - взять за основу те опкоды, что были добавлены в клео для SA и в плагине от DK NewOpcodes. Из них уже выбрать те, что в принципе можно реализовать для VC, а из них соответственно те, что сможешь сделать.

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Новые опкоды(ваши предложения)
« Ответ #5 : Июль 20, 2017, 12:26:01 pm »
все равно не особо удобно, потому что приходится узнавать какие-то там номера, ставить плагины на подгрузку своих ifp...

Я пишу альтернативу стандартной вайсовской системе анимаций. Думаю, она-то и станет удобной альтернативой(для конечного игрока).
Скриптеру нужно будет любым способом воспроизвести свою анимацию(например - заменить любую существующую), потом "записать" свою анимацию или вообще любое действие(по принципу "CarRec") специальным опкодом и получить на выходе файл анимации нового формата, который можно будет просто закидывать в любую папку и использовать оттуда уже без всяких ограничений.
Возможно, в далеком будущем даже запилю скрипт для 3ds max-а, при помощи которого можно будет обойтись без "записи" в игре.

Но в любом случае - рассмотрю любые идеи по новым опкодам, если мне это будет под силам или список не накопится слишком огромный...
Как вариант - взять за основу те опкоды, что были добавлены в клео для SA и в плагине от DK NewOpcodes. Из них уже выбрать те, что в принципе можно реализовать для VC, а из них соответственно те, что сможешь сделать.

Да, видел - это как раз из разряда
Цитировать
или список не накопится слишком огромный

 ;D
Пару идей оттуда взял(типа получение даты и времени винды, стрельба пулями/взрывчаткой, получение вектора нормали кола), но остальное - очень специфичные вещи, которые только зря отнимут у меня время, и никому не пригодятся. Например - работа с матрицами/кватернионами(добрая треть опкодов). Это дает большую свободу скриптеру, но я решил всё упростить.
У меня вместо этого будет лишь
get object rotation
set object rotation
get vehicle rotation
set vehicle rotation
get actor rotation
set actor rotation
в градусах(и то же самое для компонентов педов/авто). И никаких проблем для рядового скриптера с его рядовыми проблемами.
Аудио опкоды у меня будут, но пока хз какие(еще не знаю, какую аудио библиотеку буду юзать - сейчас не до этого)...
« Последнее редактирование: Июль 20, 2017, 01:20:21 pm от Shagg_E »

Оффлайн GHOST

  • Прохожий
  • *
  • Сообщений: 73
  • Репутация: +14/-0
  • RUS-CASA (2008 - 2010)
    • Просмотр профиля
Re: Новые опкоды(ваши предложения)
« Ответ #6 : Июль 21, 2017, 09:57:56 am »
Shagg_E сможешь такое реализовать в своем плагине? - http://www.gtagarage.com/mods/show.php?id=22350
Друга нельзя купить, но его можно продать...

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Новые опкоды(ваши предложения)
« Ответ #7 : Июль 21, 2017, 11:46:50 am »
Shagg_E сможешь такое реализовать в своем плагине? - http://www.gtagarage.com/mods/show.php?id=22350

Хмм, честно говоря, не совсем понимаю, как это связано с новыми опкодами...

Оффлайн egor230

  • Новичок
  • **
  • Сообщений: 183
  • Репутация: +7/-0
    • Просмотр профиля
    • Mr
Re: Новые опкоды(ваши предложения)
« Ответ #8 : Август 23, 2017, 06:44:01 pm »
Shagg_E, Как здорово что вы добавляете новые опкоды. Они очень и очень нужны. Иногда из нескольких оп кодов можно путём их соединения получить новый оп код. Например, нужно сначала ставить модель в очередь на загрузку, следующим оп кодом делать принудительную загрузку всех моделей стоящих в очереди. Третьим оп кодом проверять загрузилась ли модель, четвёртым оп кодом создавать эту модель и пятым выгружать из памяти. Не проще ли объединить все это в один оп код? Так будет всем проще. По методу gosub.

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Новые опкоды(ваши предложения)
« Ответ #9 : Август 23, 2017, 09:22:24 pm »
Shagg_E, Как здорово что вы добавляете новые опкоды. Они очень и очень нужны. Иногда из нескольких оп кодов можно путём их соединения получить новый оп код. Например, нужно сначала ставить модель в очередь на загрузку, следующим оп кодом делать принудительную загрузку всех моделей стоящих в очереди. Третьим оп кодом проверять загрузилась ли модель, четвёртым оп кодом создавать эту модель и пятым выгружать из памяти. Не проще ли объединить все это в один оп код? Так будет всем проще. По методу gosub.
Это будет сильная нагрузка для игры(проворачивать такое для каждой модели). И без этого игра не шибко шустрая...
Нужно наоборот - искать способы оптимизировать нагрузку. Например - лоды для педов(планирую этим заняться)

Оффлайн egor230

  • Новичок
  • **
  • Сообщений: 183
  • Репутация: +7/-0
    • Просмотр профиля
    • Mr
Re: Новые опкоды(ваши предложения)
« Ответ #10 : Август 24, 2017, 07:24:27 pm »
Shagg_E,  Вау! Спасибо за видео! Не совсем понимаю откуда тормоза? Vice City, же вышла в 2003 году. На любом компьютере нашего времени она должна летать. Восхищаюсь вашими знаниями и огромным опытом. с нетерпением жду новых видео на вашем канале. Мечтаю о видео уроках с вашим участием.
.

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Новые опкоды(ваши предложения)
« Ответ #11 : Август 24, 2017, 09:06:04 pm »
Не совсем понимаю откуда тормоза? Vice City, же вышла в 2003 году. На любом компьютере нашего времени она должна летать.

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

видео уроках с вашим участием.

Проблема видео уроков состоит в том, что если я где-то ошибусь, и мне потом на это укажут - придется переделывать всё видео, а возможно - переснимать всё заного. Тем не менее, кое-какие планы на этот счет у меня есть, но это оффтоп...
« Последнее редактирование: Август 24, 2017, 11:43:45 pm от Shagg_E »

Оффлайн egor230

  • Новичок
  • **
  • Сообщений: 183
  • Репутация: +7/-0
    • Просмотр профиля
    • Mr
Re: Новые опкоды(ваши предложения)
« Ответ #12 : Август 25, 2017, 06:42:34 pm »
 Shagg_E Спасибо большое, что вы являлись настолько занятым человеком, но всё-таки нашли мне время ответить. Выходит что эти лаги происходят из-за графического движка игры, его нужно оптимизировать. Это очень сложная

Я полностью уверен в профессионализме. Не верю, что вы можете ошибаться. У вас такой богатый опыт. С большим нетерпением жду новых видео на Вашем youtube канале. Скажите, пожалуйста, а есть база адресов памяти с подробным описанием в формате PDF а не в IDA? Было бы здорово добавить опкод, в который упрощает работу с адресами памяти, пишешь в один опкод адрес и смещения так сказать для нубов.

Оффлайн Shagg_E

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 705
  • Репутация: +24/-4
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Re: Новые опкоды(ваши предложения)
« Ответ #13 : Август 27, 2017, 12:53:36 am »
Не верю, что вы можете ошибаться

Все ошибаются

Скажите, пожалуйста, а есть база адресов памяти с подробным описанием

Раз. Два.

Было бы здорово добавить опкод, в который упрощает работу с адресами памяти, пишешь в один опкод адрес и смещения так сказать для нубов.

Тут либо придется дублировать опкоды работы с памятью для добавления этой опции(работа со смещениями), что не есть тру(будут простые дубликаты опкодов с одним единственным дополнительным параметром), либо переделывать Sanny Builder, что тоже не вариант для меня(опыта с гулькин нос, да и сурсы никто мне не даст). Для минорных изменений памяти хватает и существующих инструментов в скриптинге(лучше пусть "нубы" становятся "не нубами"), а что-нибудь более существенное всё равно пишется уже на C++, а не в SCM.
« Последнее редактирование: Август 27, 2017, 12:57:58 am от Shagg_E »

Оффлайн egor230

  • Новичок
  • **
  • Сообщений: 183
  • Репутация: +7/-0
    • Просмотр профиля
    • Mr
Re: Новые опкоды(ваши предложения)
« Ответ #14 : Сентябрь 05, 2017, 08:26:05 pm »
Shagg_E как говорил Пауло Коэльо: Зеркало отражает верно; оно не ошибается, ибо не думает. Думать — почти всегда значит ошибаться.
Эти база очень хороши, жаль нет примеров, пояснительными подробными объяснениями.
Все равно опкодов для vc не хватает, например, 0AD2, чтобы получать хендл актера, при прицеливании.
А с анимацией вообще беда, нету списка с описанием, чтобы легко было разобраться.