[ Новые сообщения · Участники · Правила форума · Поиск · 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)

HYPERMUV
Проверенные
20.01.13 13:01
Offline
0A8C: write_memory 0x969173 size 1 value 1 virtual_protect 0 // on
0A8C: write_memory 0x969173 size 1 value 0 virtual_protect 0 // off

MIRAGE
Пользователи
20.01.13 19:51
Offline
Здравствуйте, помогите пожалуйста в создании простенького скрипта на анимку, я пробовал изменять уже скачаные, просто заменяв кнопки или сами анимации, но игрушка вылетала с ошибаками, ну да! я еще нуб в этом!, вообщем помогите пожалуйста, мне нужно просто по нажатию на сочетание клавиш(скажем шифт + 1) включить анимку(например aim.img - mics.ifp - plyrlean_loop), но так что бы можно было ее выключить кнопкой(например этой же) или что бы гасилась сама, так вот можете показать как будет выглядить?, но и желательно объяснить построчно все это(если возможно), пожааалуйста, буду очень благодарен, очень нужно.))  (ечли чо вот ссыль на кнопки http://ru-script.3dn.ru/index/nomera_klavish/0-16)
Отредактировал MIRAGE - Воскресенье, 20.01.13, 19:51

SanKing
Друзья
21.01.13 10:42
Offline
MIRAGE, встввь весь текст в Sanny Builder и скомпилируй:

Код
{$CLEO .cs}//эта метка значит, что ты компилируешь cleo-скрипт
0000: NOP
thread 'ANIM'//называем поток "ANIM"
:ANIM
wait 0//ждём 0 миллисекунд
04ED: load_animation "MICS"//загружаем файл mics.ifp

:ANIM_2
wait 0//ждём 0 миллисекунд
if and//если всё, что написано между этим и jf выполняется, то...
04EE: animation "MICS" loaded//файл mics.ifp загружен
not Actor.Dead($PLAYER_ACTOR)//если игрок не умер
0AB0: key_pressed 16//нажата клавиша shift
0AB0: key_pressed 49//нажата клавиша 1
not Actor.Driving($PLAYER_ACTOR)//игрок не за рулём
84AD:   not actor $PLAYER_ACTOR in_water//игрок не в воде       
8818:   not actor $PLAYER_ACTOR in_air//игрок не в воздухе
jf @ANIM_2//...а если нет, то возвращаемся на проверки опять
//...идём дальше!
:ANIM_3
wait 0
0605: actor $PLAYER_ACTOR perform_animation_sequence "PLYRLEAN_LOOP" from_file "MICS" 4.0 loop 1 0 0 0 -1 ms//повторяющаяся анимация для игрока

:ANIM_4
wait 0
if and//если всё, что написано между этим и jf выполняется, то...       
0AB0: key_pressed 16//нажата клавиша shift
0AB0: key_pressed 49//нажата клавиша 1
jf @ANIM_4//...а если нет, то возвращаемся на проверки опять
Почему-то часть кода удаляется. Я тебе потом отправлю...
Отредактировал SanKing - Понедельник, 21.01.13, 10:56

James_Treiser
Пользователи
21.01.13 10:55
Offline
1. Ник James_Treiser
2. Название скрипта  хочу заказать машину ваз 2114
3. Полное описание Машина ваз 2114 должно быть точ в точ как на фотках! номера такие же! добавте в скайпе Dionigi646 цена договор
4. Ник скриптера (не обязательно заполнять, нужно если вы хотите что бы именно этот автор делал скрипт)
Отредактировал James_Treiser - Понедельник, 21.01.13, 10:55

NARC
Проверенные
21.01.13 12:30
Offline
James_Treiser, можно сказать "НЕ ПРИНЯТО"
Ваш пост не соответствует теме форума

MIRAGE
Пользователи
21.01.13 14:33
Offline
SanKing, спасибо большое! Но честно сказать я запутался немного) Хотя наверно просто, потому что не все команды знаю, а что необходимо сделать, если я хочу например в один скрипт запихнуть несколько анимаций? Извини конечно, если затрудняю тебя.
Отредактировал MIRAGE - Понедельник, 21.01.13, 14:42

SanKing
Друзья
22.01.13 10:42
Offline
MIRAGE, это ещё не всё. Отправлю весь код тебе в ЛС.

DromeoStalker
Проверенные
30.01.13 15:32
Offline
простой код
07CD: AS_actor 6@ walk_to X Y Z stop_with angle 0.0 within_radius 0.0

как сделать, чтобы пед не плелся черепахой, а бежал со средней скоростью?

NARC
Проверенные
30.01.13 19:30
Offline
DromeoStalker, что бы пед бежал а не шел, то необходимо создать объект:
Код
06E2: AS_actor 0@ run_to_object 1@ timelimit -1 stop_within_radius 2.0
как только пед дошел к объекту, нужно удалить объект

DromeoStalker
Проверенные
31.01.13 14:17
Offline
Спасибо, сработало)
Еще парочка вопросов - как "отучить" гг драться, прыгать, приседать, то есть, сделать, чтобы он мог только идти, медленно или со средней скоростью? И возможно ли как-то снизить скорость часов, чтобы сутки были дольше, но действия в игре не замедлялись? Или, в крайнем случае, поставить какие-то задержки, чтобы в полдень и полночь часы на время останавливались.

SanKing
Друзья
01.02.13 18:44
Offline
DromeoStalker, есть программа GTA SA Save Editor. Выбираешь сохранку и меняешь параметр "Соотношение времени" или как-то так. Выбираешь 2 секунды или 5 секунд будет считаться 1 минутой игрового времени. ну а скриптово не знаю как сделать...

DromeoStalker
Проверенные
01.02.13 18:50
Offline
Нет, тут надо как-то продуманней... чтобы всю игровую линию это было включено в скрипт. Мой мод получается на подобии бродилки, и сутки для него уж слишком быстро проходят...

Pitbull98
Пользователи
10.02.13 15:08
Offline
Здравствуйте! Вот у меня такя проблема: не могу нормально создать актёра, он нормалтно создался, но когда я постою около него 5-8 секунда и отойду дальше создаётся ещё один. А ктёр в интерьере 'Казино 4 дракона'. Вот скрипт:
Код
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0662: NOP "#PITBULL98/SCRIPT"
thread "4DRAGONS"

:4DRAGONS_33
wait 0
if and
Player.Defined($PLAYER_CHAR)
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 1956.608 1017.826 992.4687 radius 100.0 100.0 100.0
else_jump @4DRAGONS_33
wait 0
Model.Load(1484)
Model.Load(1667)
Model.Load(1666)
Model.Load(1543)
Model.Load(1544)
Model.Load(1664)
Model.Load(#VWFYWA2)
04ED: load_animation "GANGS"
038B: load_requested_models
else_jump @4DRAGONS_147

:4DRAGONS_147
wait 0
if
Model.Available(1484)
Model.Available(1667)
Model.Available(1666)
Model.Available(1543)
Model.Available(1544)
Model.Available(1664)
Model.Available(#VWFYWA2)
else_jump @4DRAGONS_147

:4DRAGONS_247
wait 0
0102: actor $PLAYER_ACTOR in_sphere 1956.502 1017.866 992.4687 radius 1.0 1.0 1.0 sphere 1 stopped_on_foot
else_jump @4DRAGONS_247
Actor.Angle($PLAYER_ACTOR) = 97.0367
Player.CanMove($PLAYER_CHAR) = False
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset -1.0 -1.0 0.2
Actor.StorePos($PLAYER_ACTOR, 5@, 6@, 7@)

:4DRAGONS_355
wait 0
0581: enable_radar 0
2@ = 15
3@ = 35
4@ = 30
5@ = 45
6@ = 50
7@ = 60
08D4: $PANEL = create_panel_with_title 'DUMMY' position 29.0 170.0 width 150.0 columns 2 interactive 1 background 1 alignment 1
08DB: set_panel $PANEL column 0 header 'DUMMY' data 'DRINK1' 'DRINK2' 'DRINK3' 'DRINK4' 'DRINK5' 'DRINK6' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
08D6: set_panel $PANEL column 1 alignment 1
08EE: set_panel $PANEL column 1 row 0 text_1number GXT 'DOLLAR' number 2@ // $~1~
08EE: set_panel $PANEL column 1 row 1 text_1number GXT 'DOLLAR' number 3@ // $~1~
08EE: set_panel $PANEL column 1 row 2 text_1number GXT 'DOLLAR' number 4@ // $~1~
08EE: set_panel $PANEL column 1 row 3 text_1number GXT 'DOLLAR' number 5@ // $~1~
08EE: set_panel $PANEL column 1 row 4 text_1number GXT 'DOLLAR' number 6@ // $~1~
08EE: set_panel $PANEL column 1 row 5 text_1number GXT 'DOLLAR' number 7@ // $~1~
09DB: set_panel $PANEL column 0 width 230
09DB: set_panel $PANEL column 1 width 70

:4DRAGONS_720
wait 0
if
00E1: player 0 pressed_key 16
else_jump @4DRAGONS_756
08D7: 0@ = panel $PANEL active_row
jump @4DRAGONS_812

:4DRAGONS_756
wait 0
if
00E1: player 0 pressed_key 15
else_jump @4DRAGONS_720
wait 500
0581: enable_radar 1
03E6: remove_text_box
08DA: remove_panel $PANEL
Player.CanMove($PLAYER_CHAR) = True
wait 3000
jump @4DRAGONS_33

:4DRAGONS_812
wait 0
0@ == 0
else_jump @4DRAGONS_1002
03E6: remove_text_box
08DA: remove_panel $PANEL
wait 0
$PIV = Object.Init(1484, 1@, 2@, 3@)
070A: AS_actor $PLAYER_ACTOR attach_to_object $PIV offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1
00BC: show_text_highpriority GXT 'BARMEN1' time 1000 flag 1
wait 100
0605: actor $PLAYER_ACTOR perform_animation_sequence "DRNKBR_PRTL_F" IFP_file "GANGS" 4.0 loop 0 0 0 0 time -1 // versionA
wait 2670
Player.SetDrunkVisuals($PLAYER_CHAR, 15)
0687: clear_actor $PLAYER_ACTOR task
Object.Destroy($PIV)
Object.RemoveReferences($PIV)
Player.Money($PLAYER_CHAR) += -15
jump @4DRAGONS_355

:4DRAGONS_1002
wait 0
0@ == 1
else_jump @4DRAGONS_1190
03E6: remove_text_box
08DA: remove_panel $PANEL
wait 0
$VIN = Object.Init(1667, 1@, 2@, 3@)
070A: AS_actor $PLAYER_ACTOR attach_to_object $VIN offset 0.0 0.0 0.0 on_bone
  6 16 perform_animation "NULL" IFP_file "NULL" time -1
wait 100
0605: actor $PLAYER_ACTOR perform_animation_sequence "DRNKBR_PRTL" IFP_file "GANGS" 4.0 loop 0 0 0 0 time -1 // versionA
00BC: show_text_highpriority GXT 'BARMEN2' time 1000 flag 1
wait 2670
Player.SetDrunkVisuals($PLAYER_CHAR, 20)
0687: clear_actor $PLAYER_ACTOR task
Object.Destroy($SOD)
Object.RemoveReferences($VIN)
Player.Money($PLAYER_CHAR) += -35
jump @4DRAGONS_355

:4DRAGONS_1190
wait 0
0@ == 2
else_jump @4DRAGONS_1378
03E6: remove_text_box
08DA: remove_panel $PANEL
wait 0
$VODKA = Object.Init(1666, 1@, 2@, 3@)
070A: AS_actor $PLAYER_ACTOR attach_to_object $VODKA offset 0.0 0.0 0.0  
on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1
00BC: show_text_highpriority GXT 'BARMEN3' time 1000 flag 1
wait 100
0605: actor $PLAYER_ACTOR perform_animation_sequence "DRNKBR_PRTL" IFP_file "GANGS" 4.0 loop 0 0 0 0 time -1 // versionA
wait 2670
Player.SetDrunkVisuals($PLAYER_CHAR, 50)
0687: clear_actor $PLAYER_ACTOR task
Object.Destroy($SOD)
Object.RemoveReferences($VODKA)
Player.Money($PLAYER_CHAR) += -30
jump @4DRAGONS_355

:4DRAGONS_1378
wait 0
0@ == 3
else_jump @4DRAGONS_1566
03E6: remove_text_box
08DA: remove_panel $PANEL
wait 0
$TEK = Object.Init(1543, 1@, 2@, 3@)
070A: AS_actor $PLAYER_ACTOR attach_to_object $TEK offset 0.0 0.0 0.0 on_bone
  6 16 perform_animation "NULL" IFP_file "NULL" time -1
00BC: show_text_highpriority GXT 'BARMEN4' time 1000 flag 1
wait 100
0605: actor $PLAYER_ACTOR perform_animation_sequence "DRNKBR_PRTL" IFP_file "GANGS" 4.0 loop 0 0 0 0 time -1 // versionA
wait 2670
Player.SetDrunkVisuals($PLAYER_CHAR, 40)
0687: clear_actor $PLAYER_ACTOR task
Object.Destroy($SOD)
Object.RemoveReferences($TEK)
Player.Money($PLAYER_CHAR) += -45
jump @4DRAGONS_355

:4DRAGONS_1566
wait 0
0@ == 4
else_jump @4DRAGONS_1754
03E6: remove_text_box
08DA: remove_panel $PANEL
wait 0
$MOHITO = Object.Init(1544, 1@, 2@, 3@)
070A: AS_actor $PLAYER_ACTOR attach_to_object $MOHITO offset 0.0 0.0 0.0  
on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1
00BC: show_text_highpriority GXT 'BARMEN5' time 1000 flag 1
wait 100
0605: actor $PLAYER_ACTOR perform_animation_sequence "DRNKBR_PRTL" IFP_file "GANGS" 4.0 loop 0 0 0 0 time -1 // versionA
wait 2670
Player.SetDrunkVisuals($PLAYER_CHAR, 16)
0687: clear_actor $PLAYER_ACTOR task
Object.Destroy($SOD)
Object.RemoveReferences($MOHITO)
Player.Money($PLAYER_CHAR) += -50
jump @4DRAGONS_355

:4DRAGONS_1754
wait 0
0@ == 5
else_jump @4DRAGONS_812
03E6: remove_text_box
08DA: remove_panel $PANEL
wait 0
$KONJAK = Object.Init(1664, 1@, 2@, 3@)
070A: AS_actor $PLAYER_ACTOR attach_to_object $KONJAK offset 0.0 0.0 0.0  
on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time -1
00BC: show_text_highpriority GXT 'BARMEN6' time 1000 flag 1
wait 100
0605: actor $PLAYER_ACTOR perform_animation_sequence "DRNKBR_PRTL" IFP_file "GANGS" 4.0 loop 0 0 0 0 time -1 // versionA
wait 2670
Player.SetDrunkVisuals($PLAYER_CHAR, 42)
0687: clear_actor $PLAYER_ACTOR task
Object.Destroy($SOD)
Object.RemoveReferences($KONJAK)
Player.Money($PLAYER_CHAR) += -60
jump @4DRAGONS_355

:4DRAGONS_1942
wait 0
if
80FE: not actor $PLAYER_ACTOR sphere 0 in_sphere 1956.608 1017.826 992.4687 radius 100.0 100.0 100.0
else_jump @4DRAGONS_1942
Model.Destroy(1484)
Model.Destroy(1667)
Model.Destroy(1666)
Model.Destroy(1543)
Model.Destroy(1544)
Model.Destroy(1664)
Model.Destroy(#VWFYWA2)
04EF: release_animation "GANGS"
jump @4DRAGONS_33

Помогите пожалуйста!

vla9ik
Пользователи
23.02.13 21:52
Offline
может ли клео видеть координаты объекта который поставили через любой редактор? объекта нет в обычной гта без модов

SanKing
Друзья
27.02.13 16:24
Offline
vla9ik, не может. Для этого надо создать объект в КЛЕО, в том же самом скрипте.

sasorka
Пользователи
17.03.13 19:18
Offline
Код
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0662: NOP "SLENDER"
thread 'SLENDER'
Model.Load(#WMOPREA)
038B: load_requested_models

:SLENDER_17
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2352.182 -654.2577 128.0547 radius 50.0 50.0 50.0
else_jump @SLENDER_17
Audiostream.Load($SLENDER, "CLEO\SLENDER\SLENDER.MP3")
wait 5000
Audiostream.PerformAction($SLENDER, PLAY)
Audiostream.Loop($SLENDER, 1)
wait 2000
jf @SLENDER_17
$SLENDER = Actor.Create(CivMale, #WMOPREA, 2352.182, -654.2577, 128.0547)
wait 0
else_jump @SLENDER_17
Audiostream.PerformAction($SLENDER, STOP)
wait 100
Actor.Health($SLENDER) = 2000
Actor.Angle($SLENDER) = 180.6033
0446: set_actor $SLENDER immune_to_headshots 0
07FE: set_actor $SLENDER fighting_style_to 6 6
wait 2000
05E2: AS_actor $SLENDER kill_actor $PLAYER_ACTOR
Player.SetDrunkVisuals($PLAYER_CHAR, 100)
wait 2000
end_thread

Что не так, игра просто на конце загрузки зависает и всё..

SanKing
Друзья
20.03.13 13:27
Offline
sasorka, после :SLENDER_17 должно быть wait 0.

sasorka
Пользователи
22.03.13 17:59
Offline
Код
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0662: NOP "SLENDER"
thread 'SLENDER'
Model.Load(#WMOPREA)
038B: load_requested_models

:SLENDER_28
wait 0
if
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2352.182 -654.2577 128.0547 radius 50.0 50.0 50.0
jf @SLENDER_28
Audiostream.Load($SLENDER, "CLEO\SLENDER\SLENDER.MP3")
wait 5000
Audiostream.PerformAction($SLENDER, PLAY)
Audiostream.Loop($SLENDER, 1)
wait 2000
jf @SLENDER_28
$SLENDER = Actor.Create(CivMale, #WMOPREA, 2352.182, -654.2577, 128.0547)
$SLENDER2 = Actor.Create(CivMale, #WMOPREA, 2385.345, -580.4758, 120.4756)
wait 0
jf @SLENDER_28
Audiostream.PerformAction($SLENDER, STOP)
Audiostream.PerformAction($SLENDER, STOP)
wait 100
Actor.Health($SLENDER) = 2000
Actor.Angle($SLENDER) = 180.6033
0446: set_actor $SLENDER immune_to_headshots 0
07FE: set_actor $SLENDER fighting_style_to 6 6
Actor.Health($SLENDER2) = 1500
Actor.Angle($SLENDER2) = 133.1445
0446: set_actor $SLENDER immune_to_headshots 2
07FE: set_actor $SLENDER fighting_style_to 2 6
055E: set_player $PLAYER_CHAR max_health += -100
015D: set_gamespeed 0.1
0332: set_actor $PLAYER_ACTOR bleeding 1

[color=red]00BF: 20@ = current_time_hours, 21@ = current_time_minutes
if or
20@ > 23
wait 2000
05E2: AS_actor $SLENDER kill_actor $PLAYER_ACTOR
Player.SetDrunkVisuals($PLAYER_CHAR, 100)
wait 2000
end_thread

ЧТо не правильно? Пед появляется в любое время, а не в 23.00.

wmysterio
Администраторы
Скриптер
23.03.13 18:53
Offline
Цитата (sasorka)
ЧТо не правильно? Пед появляется в любое время, а не в 23.00.
поверь сначала время, а потом создавай )

Вот код:
Код

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007   

{$VERSION 3.1.0027}   
{$CLEO .cs}   

//-------------MAIN---------------   
0662: NOP "SLENDER"   
thread 'SLENDER'   
Model.Load(#WMOPREA)   
038B: load_requested_models   

repeat
wait 0
until model.Available(#WMOPREA)

:SLENDER_28   
wait 0   
00BF: 20@ = current_time_hours, 21@ = current_time_minutes   
if AND   
20@ > 23
00FE: actor $PLAYER_ACTOR sphere 0 in_sphere 2352.182 -654.2577 128.0547 radius 50.0 50.0 50.0   
jf @SLENDER_28   
Audiostream.Load($SLENDER, "CLEO\SLENDER\SLENDER.MP3")   
wait 5000   
Audiostream.PerformAction($SLENDER, PLAY)   
Audiostream.Loop($SLENDER, 1)   
wait 2000   
jf @SLENDER_28   
$SLENDER = Actor.Create(CivMale, #WMOPREA, 2352.182, -654.2577, 128.0547)   
$SLENDER2 = Actor.Create(CivMale, #WMOPREA, 2385.345, -580.4758, 120.4756)   
wait 0   
jf @SLENDER_28   
Audiostream.PerformAction($SLENDER, STOP)   
Audiostream.PerformAction($SLENDER, STOP)   
wait 100   
Actor.Health($SLENDER) = 2000   
Actor.Angle($SLENDER) = 180.6033   
0446: set_actor $SLENDER immune_to_headshots 0   
07FE: set_actor $SLENDER fighting_style_to 6 6   
Actor.Health($SLENDER2) = 1500   
Actor.Angle($SLENDER2) = 133.1445   
0446: set_actor $SLENDER immune_to_headshots 2   
07FE: set_actor $SLENDER fighting_style_to 2 6   
055E: set_player $PLAYER_CHAR max_health += -100   
015D: set_gamespeed 0.1   
0332: set_actor $PLAYER_ACTOR bleeding 1   

05E2: AS_actor $SLENDER kill_actor $PLAYER_ACTOR   
Player.SetDrunkVisuals($PLAYER_CHAR, 100)   
wait 2000   
0A93: end_custom_thread

$$$JOHN$$$
Пользователи
26.03.13 11:10
Offline
У меня такой вопрос, как сделать так чтоб несколько анимаций шли одна за другой?

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