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

или

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

Внимание! От этого момента тема предназначена ещё и для заказов скриптов и миссий. Я это сделал по одной причине - пользователи постоянно путают/или не ищут темы и приводят заказ здесь. Теперь этой путаницы не будет. Здесь можно проводить заказы, но Вы должны указать в начале поста текст "НА ЗАКАЗ". Постарайтесь как можно детальнее объяснить суть скрипта.
Прикрепления: 0248203.png(1Kb) · 9085525.png(0Kb)

wmysterio
Администраторы
Скриптер
22.09.17 10:11
Offline
Цитата Dyabda ()
Я всё не могу понять, как сделать, чтобы проверялся каждый маркер, а не по одному
Думаю, Вам надо прочитать статью о Cleo-миссии. Там я реализовал такую штуку.
Цитата Dyabda ()
Можно ли сделать так, чтобы работали условия и одновременно можно было спавнить актёров?
Читайте статьи о циклах и условиях. На их основе и делайте скрипт, так как делать кусками сложнее.

Dyabda
Пользователи
22.09.17 12:13
Offline
Спасибо, почитаю про первую миссию (Ведь это следующий урок, который я буду проходить).

Решил доделать свой скрипт, но случилась беда.

Код

:WIND
wait 50
08D4: $WINDPANEL = create_panel_with_title 'WEATIM' position 29.0 170.0 width 180.0 columns 2 interactive 1 background 1 alignment 0  
08DB: set_panel $WINDPANEL column 0 header 'WDSCTA' data 'WDWATXA' 'WDWATYA' 'WDWATZA' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'  
08D6: set_panel $WINDPANEL column 0 alignment 1
08D6: set_panel $WINDPANEL column 1 alignment 0
09DB: set_panel $WINDPANEL column 0 width 100
09DB: set_panel $WINDPANEL column 1 width 100
090E: set_panel $WINDPANEL active_row $WEATWD

:WIND_0
08EE: set_panel $Panel column 1 row 0 text_1number GXT 'DOLLAR' number 4@
08EE: set_panel $Panel column 1 row 1 text_1number GXT 'DOLLAR' number 7@
08EE: set_panel $Panel column 1 row 2 text_1number GXT 'DOLLAR' number 10@
if
00E1:   player 0 pressed_key 0x10
jf @WIND_3
08D7: $WEATWD = panel $WINDPANEL active_row
if
$WEATWD == 0
jf @WIND_1
jump @WIND_0_0

:WIND_0_0
wait 0
0006: 2@ = 0xC813E0
0A8C: write_memory 2@ size 4 value 3@ virtual_protect 0
if or
0AB0:   key_pressed 39
0AB0:   key_pressed 68
then
if
not 3@ == 1000.0
then
wait 0
4@ += 1
3@ += 1.0
end
end
if or
0AB0:   key_pressed 37
0AB0:   key_pressed 65
then
if
not 3@ == 0
then
wait 0
4@ -= 1
3@ -= 1.0
end
end
jump @WIND_0
  
:WIND_1
wait 0
08EE: set_panel $Panel column 1 row 1 text_1number GXT 'DOLLAR' number 7@
if
$WEATWD == 1
jf @WIND_2
jump @WIND_1_0

:WIND_1_0
wait 0
0006: 5@ = 0xC813E4
0A8C: write_memory 5@ size 4 value 6@ virtual_protect 0
if or
0AB0:   key_pressed 39
0AB0:   key_pressed 68
then
if
not 6@ == 1000.0
then
wait 0
7@ += 1
6@ += 1.0
end
end
if or
0AB0:   key_pressed 37
0AB0:   key_pressed 65
then
if
not 6@ == 0
then
wait 0
7@ -= 1
6@ -= 1.0
end
end
jump @WIND_1

:WIND_2
wait 0
08EE: set_panel $Panel column 1 row 2 text_1number GXT 'DOLLAR' number 10@
if
$WEATWD == 2
jump @WIND_2_0

:WIND_2_0
wait 0
0006: 8@ = 0xC813E8
0A8C: write_memory 8@ size 4 value 9@ virtual_protect 0
if or
0AB0:   key_pressed 39
0AB0:   key_pressed 68
then
if
not 9@ == 1000.0
then
wait 0
9@ += 1
10@ += 1.0
end
end
if or
0AB0:   key_pressed 37
0AB0:   key_pressed 65
then
if
not 9@ == 0
then
wait 0
9@ -= 1
10@ -= 1.0
end
end
jump @WIND_2

:WIND_3
wait 0
if
00E1:   player 0 pressed_key 0xF
jf @WIND_0  
wait 50
08DA: remove_panel $WINDPANEL
jump @PANEL_1


1. Как можно убрать эти знаки $? Если поставить DUMMY, то они исчезнут вместе с цифрами, а мне нужно чтобы были лишь цифры.

2. Ветер по оси X ( WIND_0 ) меняется и работает, если я зажимаю пробел, как сделать, чтобы работало и менялось без зажатия пробела?

3. Если выбрать ветер по оси Y ( WIND_1 ) то другие оси уже не изменить, а ещё он мерцает.

Что нужно изменить, для того, чтобы, если я выберу нужную ось, я смог бы поменять предыдущую или следующую без всяких ошибок, чтобы при нажатии ENTER был прыжок на метку :PANEL_1 ? Просто я впервые работаю с адресами памяти в панелях.
Отредактировал Dyabda - Пятница, 22.09.17, 12:16

wmysterio
Администраторы
Скриптер
22.09.17 15:55
Offline
Dyabda, 1) заменить GXT-ключ 'DOLLAR' на другой, где нет символа $.

Цитата Dyabda ()
Просто я впервые работаю с адресами памяти в панелях.
Ну Вы спрашиваете в статьях вещи, которые легко находятся в справке. А тут сразу к памяти перешли. Рановато пока. Если чесно, то я и сам в ней не очень разбираюсь, хоть и занимаюсь скриптингом уже почти 8 лет.

z_chel
Пользователи
01.11.17 11:05
Offline
После миссии Deconstruction на стройплощадке Doherty появляется вот такое здание My WebPage, так вот мне нужно поставить для него Lod. Такой вариант редактирования main.scm:

не работает(вылетает миссия).
Как можно скриптом проверить выполнение определенной миссии и, если она выполнена, скриптом поставить объект (Lod) на карту, или может еще есть варианты?
Отредактировал z_chel - Среда, 01.11.17, 11:11

wmysterio
Администраторы
Скриптер
01.11.17 17:30
Offline
Цитата z_chel ()
#LODhubhole4_sfse
Это что за модель? Нужно указывать ID модели ( число ), так как в SB конвертировать её в число мне не удалось.

Детали по вашим опкодам:
03B6 - не работает с LOD-ами как таковыми. Просто заменяет один объект другим, которая может являться LOD.
0363 - не работает с LOD-ами как таковыми. Позволяет указать видимость модели, которая может являться LOD.

Чтобы достичь эффекта, как в оригинале, Вы должны иметь 4 модельки - 2 модели объектов в стиле "До" и "После" ( целое и разрушенное здание, например ) и 2 модели с LOD для них. Далее можете использовать в скрипте их так:
// Включить целое здание и отключить разрушенное
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_NORMAL visibility 1
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_NORMAL_LOD visibility 1
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_DEFLATE visibility 0
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_DEFLATE_LOD visibility 0
// Включить разрушенное здание и отключить целое
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_NORMAL visibility 0
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_NORMAL_LOD visibility 0
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_DEFLATE visibility 1
0363: create_static_object_at -2166.86 -236.5 40.86 radius 40.0 model #BUILDING_DEFLATE_LOD visibility 1
Единственное, что меня пока беспокоит - как такую модельку создать, ведь за этим принципом мне не удалось заменить какие-то другие модели, отличные от группы "CRACK" и подобных ( загружаются опкодом 0776 ).

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