You are not logged in.
Открылся смысл опкода
03E3: unknown_texture_stuff 1
Он используется в паре с опкодами, которые создают текстуры на экране(типа стрелки в танцах) и улучшает качество текстур.
например:
03E3: unknown_texture_stuff 1 038D: create_texture 2 position 550.0 360.0 size 191.25 170.0 RGBA 255 255 255 255
Объяснить довольно трудно, это легче увидеть, поэтому я сделал два скрина. "с этим опкодом" и без.
"Без"
"С"
З.Ы. и вроде этот опкод надо применять перед каждым созданием текстуры
03E3: unknown_texture_stuff 1 038D: create_texture 2 position 550.0 360.0 size 191.25 170.0 RGBA 255 255 255 255 03E3: unknown_texture_stuff 1 038D: create_texture 3 position 550.0 360.0 size 191.25 170.0 RGBA 255 255 255 255
Радио - это CODE, через скм не правится.
как же так? а радио мод? через скм, когда надо войти-выйти и прочее? ведь включается. а как же тема "Выполняем ассемблерный код из main.scm" ? если это только для памяти, то зачем асм-код, года можно без него память менять с патчем? Seemann, просвети тёмную душу, пожалуйсто
Seemann, раскажи, пожалуйсто, как через .скм менять ЕХЕ? я тут хотел попробовать через мэйн включить на полиц. ранчере радио, но что-то никак не получается... если можно, раскажи как это сделать? сколько ни читал статьи и форум - ничего не понял... надо начинать с малого, чтоб вникнуть в суть...
еще хотел спросить - есть в СА опкод заставляющий спавнится актёрам одного ID'а? тоесть как в вайс-сити -
03DF: all_random_peds $1510
Если тебе (или кому-то еще) действительно интересно, могу дать стартовую точку для распутывания цепочки: процедура загрузки файла carmods.dat по адресу 005B65A0. Вот от нее и нужно искать, где в ехе блокируется возможность наложения нитро на байк.
Спасибо, попробую порыть.
вот еще вопрос(опять связаный с байками ) можно-ли с мотоцикла вести нормальную, прицельную, стрельбу? Вот есть опкод, который разрешает "крутиться" на байке, но камера так и норовит всё время вернуться на исходную позицию. Нормально работает этот опкод только если глав-героя посадить на посажирское сидение
...
0713: actor $PLAYER_ACTOR driveby_actor -1 car -1 point 0.0 0.0 0.0 radius 5000.0 8 1 firing_rate 60
ну и вопрос - можноли как то прицеливаться с "рулевого" места?
дааа, вот совсем мне мотоциклы голову забили.. опкод то не только для байков..
скорее всего дело в модели, не хватает специальных думмисов
есть у меня байк с думисом, непомогает. Да и не причем он, думмис. Вот на квадроцикл, стандартный, нитро можно поставить(скриптом), а на нём нет думиса ug_nitro. Также. поэксперементировав, было установлено, что нитро можно ставить на самолеты(из сопл будет идти соответственый сине-желтый "огонь", хотя ускорения не будет). Seemann, раскажи как в ЕХЕ найти код, соответствующий какой-либо модели(как с установкой радио), и как определить границы одной модели, от другой. Я сам попытаюсь "разрешить" установку нитро на байки
это делается путем правки файла carmods.dat. Добавь туда модель мотоцикла и возможные модификации для него (nto_* - нитро)
Нет, если просто прописать байку нитро, то при его покупке игра выдаст ошибку и вылетит. Скриптом тоже не получается ставить нитро на байки. вывод - надо что-то подправить в ЕХЕ .
можно. назначь имени переменной ее будущий адрес командой Alloc. Например:
Alloc($new, 12)это можно добавить в любое место перед использованием переменной.
после этого можешь писать в скрипте переменную $new, но компилироваться она будет именно как $12.
Большое спасибо, Seemann, теперь всё работает
еще вопрос (извините если не в ту тему) - есть способ устанавливать на мотоциклы нитро, путем правки ЕХЕ-файла, на подобе как с радио на пожарках\коповозках\прочее ? вернее не прям устанавливать, а "разрешать", чтобы через трансфендер или .СКМ можно было устанавливать?
2flashTrash:
Define memory в Mission Builder'е не имеет никакого отношения к совместимости сейвов, обычным его редактированием ты не добьешься, чтобы сейвы работали.Насчет этой технологии (Darkpact) скажу, что на гтафорумс публиковали специальную его версию под SB. Посмотри здесь
http://www.gtaforums.com/index.php?show … &p=3881003
Всё, спасибо, с этим разобрался. теперь такой вопрос - сделал я тестовый поток, с установкой одноразового нитро на авто,
:addnitro 0001: wait 0 ms 00D6: if 00E1: player 0 pressed_key 10 004D: jump_if_false @addnitro 03C0: $new = actor $PLAYER_ACTOR car 09E9: car $new add_single_nitro 0002: jump @addnitro
долго не мог понять почему не работает, тоесть при загрузке сэйва происходит крах, и, поэксперементировав, выявил причину - это метка $new . если метку назвать цифрами, то загрузка происходит нормально и скрипт работает, а если буквами - не работает.
вот тот же поток, только метки названы по другому
:addnitro 0001: wait 0 ms 00D6: if 00E1: player 0 pressed_key 10 004D: jump_if_false @addnitro 03C0: $12 = actor $PLAYER_ACTOR car 09E9: car $12 add_single_nitro 0002: jump @addnitro
вопрос - можно ли как нибудь использовать в метках буквы? А то цифры не очень удобно...
Просто:
1) скрипт не качественно переведён под СБ
возможно, но я переводил вручную несколько раз.
Просто:
2) почитай комменты к той статье , изменения можно делать только минорные и чтобы ещё сейв старый грузился
не, почему же? я в SAMB много скриптов проворачивал этим способом. там когда пишет ошибку, что недостаточно define memory(а как известно если её увеличить, то сэйв не загрузится), то надо увеличить её(память), что бы скрипт скомпилировался удачно, а потом вернуть старое значение define memory и снова откомпилировать. САМБ естествено выдаст ошибку о недостачи памяти, но скрипт будет работать с сэйвами. можно сказать это моё ноу-хау.... будет очень обидно, если в Сани Билдере нельзя так хитро сделать(или еще как нибудь)...
так как я после долгого перерыва в скриптинге снова взялся за него, то решил перейти с SAMB на Sanny Builder. я пользовался вот этим методм http://missions.gtamaps.net/readarticle … cle_id=138 чтоб продолжать игру с сейва с новым скриптом, а не начинать каждый раз новую. попытался я использовать этот способ в Сани Билдере, сделал как написано(с поправками на СБ) - попробовал вставить скрипт спидометра(естественно переписал его на "диалект" СБ), загружаю игру - вылет. написал маленький скрипт с обращением к памяти - работает... такое ощущение, что "длинные" скрипты не работают со способом выше по ссылке... в SAMB проблема решалась с помощью deffine memory, в самом начале мэйна, а в Санни Билдере - я define memory не нашел....
вобщем можно ли как то в СБ сделать так, чтоб не начинать каждый раз новую игру? а то уж очень не хочется возвращаться к SAMB..
надеюсь не очень заумно\занудно всё написал...