[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder (Вы можете получить ответы на вопросы по SB)
Вопросы по скриптингу Sanny Builder
wmysterio
Администраторы
Скриптер
22.11.11 21:52
Offline
Если у вас возник вопрос по скриптингу Sanny Builder, обращайтесь! Мы постараемся решить вашу проблему wink Это ещё не значит, что все прям бросятся решать во чтобы то не стало, но ответ вы сможете вы получить как вариант решения или как невозможность или сложность решения.
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ! ПРОСЬБА КОД СКРИПТОВ ПОМЕЩАТЬ В КОНСТРУКЦИЮ КОДА:

или

Также указывайте полный код скрипта, иначе причина ошибок может быть и не выявлена.
Прикрепления: 0248203.png(0.9 Kb) · 9085525.png(0.2 Kb)

wmysterio
Администраторы
Скриптер
16.01.14 16:07
Offline
JIEXAH949, скомпилировал этот код. игра работает, только машина бесится smile

Возможно вылетает из за того, что не было
Код
{$CLEO}
0000:
в начале скрипта. В таком случаи нужно восстановить прежний мейн

Slivkin-Sergey
Модераторы
16.01.14 16:14
Offline
Ага, спасибо, попробую сейчас. Ещё вот вопросик. Думаю, ни для кого не секрет, что scmpath в силу технических ограничений можно применять максимум к одному актёру/транспорту одновременно, т.к. для второго маршрута нужно его очищать (путь).

Вот, собственно, и вопрос: как заставить несколько актёров идти по маршрутам?

Добавлено (16.01.14, 15:14)
---------------------------------------------
Создать AS_pack с несколькими goto подряд можно, но получается фигня какая-то: на каждом вэйпоинте актёр на полсекунды где-то останавливается, и потом продолжает движение.


JIEXAH949
Пользователи
16.01.14 17:55
Offline
Цитата wmysterio ()
в начале скрипта. В таком случаи нужно восстановить прежний мейн

Хм. У меня почему то всеравно вылет. Скинь свой код. Сейчас попробую запустить без него

Добавлено (16.01.14, 16:51)
---------------------------------------------
Вылет не из-за него. Похоже из-за C-Hud'a. Просто я играю в сампе обычно, а так клео проверяю в сингле

Добавлено (16.01.14, 16:55)
---------------------------------------------
Что-то совсем не то получилось) Ладно можно еще спавн машины убрать, но я хотел сделать высокую гидравлику у машины. А не вышло( Помогите кто нибудь


Slivkin-Sergey
Модераторы
16.01.14 19:06
Offline
По моему вопрос - отбой. Оказывается, scmpath даже после самоочистки продолжает действовать на актёра.

HYPERMUV
Проверенные
19.01.14 16:38
Offline
Ребят помогите, нужно задать машине угол по всем осям, например я смотрю в низ машина должна тоже смотреть вниз, какой угол камеры короч такой и машины, мне нужно именно по всем осям!!!
Знаю то, что вроде что то с косинусами синусами надо вроде делать, а потом вроде опкодом 07DA: set_car 46@ rotation_velocity_XYZ 0.0 -0.35 0.2 through_center_of_body
или
07DB: set_car 189@ rotation_velocity_XYZ 3.5 7.3999 8.1003 through_center_of_mass
Помогите пожалуйста!!!

wmysterio
Администраторы
Скриптер
20.01.14 14:48
Offline
Цитата JIEXAH949 ()
Вопрос. Как сделать высокую гидравлику? Делал так и выходила ошибка.
Ну как минимум здесь проверка неправильная:
Код
car.HasHydraulics($Player_actor)
Здесь идёт передача актёра(CJ) в качестве параметра, а не машины smile

HYPERMUV
Проверенные
20.01.14 15:34
Offline
wmysterio, помоги пожалуйста
Код
Ребят помогите, нужно задать машине угол по всем осям, например я смотрю в низ машина должна тоже смотреть вниз, какой угол камеры короч такой и машины, мне нужно именно по всем осям!!!  
Знаю то, что вроде что то с косинусами синусами надо вроде делать, а потом вроде опкодом 07DA: set_car 46@ rotation_velocity_XYZ 0.0 -0.35 0.2 through_center_of_body  
или  
07DB: set_car 189@ rotation_velocity_XYZ 3.5 7.3999 8.1003 through_center_of_mass  
Помогите пожалуйста!!!

wmysterio
Администраторы
Скриптер
20.01.14 16:46
Offline
HYPERMUV, насколько я знаю, опкоды, которые ты написал отвечают за скорость по осям, а не за углы поворота. За все углы отвечает опкод 07C6.
Вот пример:
Код
{$CLEO}
wait 0
model.Load(#STRETCH)
038B: load_requested_models       
0@ = car.Create(#STRETCH, 2493.9373, -1658.2904, 15.3532)
model.Destroy(#STRETCH)
car.LockInCurrentPosition(0@) = true // заставляем зависнуть транспорт в воздухе
07C6: set_car 0@ axis_angle_relation_to 180.0 0.0 0.0 -0.15 // поворачиваем
0A93: end_custom_thread
Машина будет висеть на боку.
180.0 0.0 0.0 - оси X, Y и Z
-0.15 - действие похоже как по оси Y

На счёт косинусов и синусов я не знаю, ни черта не понимаю в тригонометрии

HYPERMUV
Проверенные
20.01.14 18:32
Offline
wmysterio, спасибо, что-нибудь попробую.
Цитата wmysterio ()

На счёт косинусов и синусов я не знаю, ни черта не понимаю в тригонометрии

Я, кстати, тоже.

Добавлено (20.01.14, 17:32)
---------------------------------------------
wmysterio, я тут потестил короче:
Код
068D: get_camera_position_to 10@ 11@ 12@   
068E: get_camera_target_point_to 20@ 21@ 22@   
0063: 10@ -= 20@ // (float)   
0063: 11@ -= 21@ // (float)   
0063: 12@ -= 22@ // (float)   
//02F8: get_car 0@ Z_angle_cosine_to 7@   
//02F9: get_car 0@ Z_angle_sine_to 8@    
07C6: set_car 0@ axis_angle_relation_to 10@ 11@ 12@ 0.0 // ïîâîðà÷èâàåì

С машиной всё нормально, поворачивает туда же, куда и камера, но машина почему-то перевёрнута + при любом угле (хоть перевернута, хоть не перевернута) она всё время начинает загораться.
Мне бы хотя бы перевернуть машинку, а починкой я справлюсь. Не поможешь?
Отредактировал Slivkin-Sergey - Вторник, 21.01.14, 11:58

SINGER
Проверенные
20.01.14 20:57
Offline
Кстати есть еще одна идея!
Можно сделать так, чтобы в миссиях пожарника можно было тушить не только машины, но и здания?

Добавлено (20.01.14, 19:57)
---------------------------------------------
1. SINGER
2. Открытие всех городов и магазинов!
3. Ребята, помогите!
Сделайте кто-нибудь MAIN-мод, который откроет все мосты и ЖД-пути во весе города с самого начала игры + откроет все магазины, бутики, СТО, тюнинг-салоны и т.д. В общем все заведения которые можно посетить или завести туда автомобиль, ну вы поняли... надеюсь. Больше никаких нововведений, кроме перечисленных, не нужно!
Жду ответа.
ПРОШУ ВАС ПОМОГИТЕ!
4. Желательно wmysterio, но буду благодарен каждому, кто откликнется на мой зов!
Если кто-то сделает этот скрипт я буду неделю делать вот так: tongue


wmysterio
Администраторы
Скриптер
20.01.14 20:58
Offline
HYPERMUV, ну, это из-за вычитания. Уходят значения в минус и тачка переворачивается. Я посмотрю этот скрипт, может решу задачу.
Отредактировал Slivkin-Sergey - Вторник, 21.01.14, 11:59

wmysterio
Администраторы
Скриптер
20.01.14 21:00
Offline
SINGER, раз просишь, то посмотрю, что можно сделать. Возьму очищенный мейн за основу, а там будет видно.

А чем тебе не угодил очищенный мейн???там же все возможности открыты, вырезаны все сюжетные миссии.

SINGER
Проверенные
20.01.14 21:28
Offline
Цитата wmysterio ()
вырезаны все сюжетные миссии.

Вот этим он мне и не угодил...

Добавлено (20.01.14, 20:28)
---------------------------------------------
Кстати спасибо, что ответил на мою просьбу.


wmysterio
Администраторы
Скриптер
20.01.14 22:08
Offline
Цитата SINGER ()
Вот этим он мне и не угодил...
Оставить возможности не затронув миссий не получится, так как после прохождения миссий они открываются используя глобальные переменные. Возможно может получится, путём подмены в возможностях этих переменных, но это будет долго.

SINGER
Проверенные
20.01.14 22:22
Offline
Ладно, я уверен у тебя и так дел полно. Дай пожалуйста ссылку на чистый МАИН.
Кстати идею об игре на гитаре придержи. Я попытаюсь найти ребят которые смогут сделать нужную нам анимацию.

wmysterio
Администраторы
Скриптер
20.01.14 22:31
Offline
Цитата SINGER ()
Дай пожалуйста ссылку на чистый МАИН.
Вот ссылка.
У меня времени и правда маловато, но окончательно не отказываюсь. Когда смогу, то конечно попробую сделать.
Цитата SINGER ()
Кстати идею об игре на гитаре придержи. Я попытаюсь найти ребят которые смогут сделать нужную нам анимацию.
Если анимацию будет, то это намного облегчит задачу

SINGER
Проверенные
21.01.14 01:36
Offline
Цитата wmysterio ()
У меня времени и правда маловато, но окончательно не отказываюсь. Когда смогу, то конечно попробую сделать.

Спасибо огромное.

Добавлено (21.01.14, 00:25)
---------------------------------------------

Цитата wmysterio ()
Если анимацию будет, то это намного облегчит задачу

Буду как-то решать эту проблему.

Добавлено (21.01.14, 00:36)
---------------------------------------------

Цитата wmysterio ()
конечно попробую сделать.

Слушай, может быть это поможет. есть такая игра Цивилизация 5, ты наверняка о ней знаешь. Так вот. Я хотел сделать так, чтобы развитие технологий не превышало средневековье. И сделал! просто последняя миссия повторяется бесконечно. Я перенес параметр этой технологии, на ту, что мне нужна. Эта технология начала изучаться бесконечно. Далее я закрыл все не нужные технологии и у меня получилась цивилизация исключительно в средневековье!
Может быть здесь нужно сделать тоже самое. Перенести параметры открытия городов в самое начало или поставить после первой миссии, а этот же параметр, удалить там, где он был раньше. То есть выполнив миссию после которой откроется второй город не произойдет ничего, потому что параметр открытия города стоит вначале или после первой миссии, а здесь он удален.
В общем черт его знает, как сделать.
Но сразу говорю. Когда я создавал учебник по моддингу игры СТАЛКЕР, я спрашивал у многих иминитых модмейкеров как сделать так, чтобы один предмет (к примеру аптечка) можно было использовать несколько раз. Мне говорили не майся дурью, это нужно прописать кучу скриптов. Или движок не поддерживает. Они оказались не правы. Я поменял всего лишь одну цифру и аптечка использовалась столько раз сколько я хотел.
Я клоню к тому, что здесь должен быть какой-то выход. Я бы сам с удовольствием занялся бы поиском решения этой проблемы, но мне придется изучать скриптинг МАИН с нуля. Поэтому проще попросить помощи у профессионалов. Хитро, не правда ли? happy

HYPERMUV
Проверенные
22.01.14 18:28
Offline
Мне помогли на офф.форуме сб
Сделали по матрицам
Решение:
Код
0AB1: @SetCarRotationFromCamera 1 car 0@ //Вызов функции 0@ = в данном случае машина

//Функция
:SetCarRotationFromCamera
0A97: 1@ = car 0@ struct // Можно использовать для объекта, object struct
1@ += 0x14
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
2@ = 0xB6F99C // Адрес матрицы камеры

// Первые три значения инвертируем, т.к. матрица камеры немного не такая, как у машины
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
3@ *= -1.0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 4
2@ += 4
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
3@ *= -1.0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 4
2@ += 4
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
3@ *= -1.0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 8
2@ += 8
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 4
2@ += 4
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 4
2@ += 4
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 8
2@ += 8
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 4
2@ += 4
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
1@ += 4
2@ += 4
0A8D: 3@ = read_memory 2@ size 4 virtual_protect 0
0A8C: write_memory 1@ size 4 value 3@ virtual_protect 0
0AB2: ret 0
//by Voron295
Отредактировал HYPERMUV - Среда, 22.01.14, 18:31

Drs36
Проверенные
23.01.14 15:42
Offline
Вопрос по скрипту в vice city ?

Сделал скрипт на охрану,но есть проблема надо убрать эту длинную полосу в строке guard health и сделать нормальную.

Код
thread '1GUARD'         
       
    :1GUARD_10
    Model.Load(#RUGER)
    Model.Load(#ARMY)
       
    :1GUARD_19
    wait 0         
    if         
    05EE:  key_pressed 51 //VK_...         
    jf @1GUARD_19         
    04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 1.0 0.0 0.0         
    $4647 = Actor.Create(CivMale, #ARMY, 1@, 2@, 3@)
    01B2: give_actor $4647 weapon 27 ammo 9999 // Load the weapon model before using this         
    011A: set_actor $4647 flags 64         
    actor.Health($4647)= 500
                  
    03C4: set_status_text_to $4647 1 'TEXT4'          
       
    01DF: tie_actor $4647 to_player $PLAYER_CHAR         
    02E2: set_actor $4647 weapon_accuracy_to 100         
       
    :1GUARD_142
    wait 0         
    if         
           Actor.Dead($4647)
    jf @1GUARD_142         
    Actor.DestroyWithFade($4647)
    wait 10         
    jump @1GUARD_10


Добавлено (23.01.14, 14:42)
---------------------------------------------
Вопрос по gta3 ?

Есть ли опкод который делает машину тяжелее
Отредактировал Drs36 - Четверг, 23.01.14, 15:38
Прикрепления: Guard.fxt(0.0 Kb) · 4953547.jpg(99.5 Kb)

SanKing
Друзья
23.01.14 19:31
Offline
Drs36, уже был похожий вопрос. Вот ссылка.

Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder (Вы можете получить ответы на вопросы по SB)
Поиск: