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

YURIY7177
Проверенные
24.12.13 00:02
Offline
1. Yuriy7177
2. Играть на гитаре.
3. Ребята сделайте скрипт с помощью которого СЖ может играть на гитаре и зарабатывать деньги, которые ему будут бросать в шляпу прохожие. Очень хочу на вокзале подзаработать. Только делайте, чтобы один пед бросил 1$, другой 3$, третий - самый добрый 150$, а некоторые просто слушали и уходили не дав ни цента. Думаю, скрипт получится интересным! (К стати в Америке, это очень распространенный вид попрошайничества)
4. wmysterio (профессионал happy )
P.S. Последний пункт - правда, но все равно решил лизнуть... smile

wmysterio
Администраторы
Скриптер
25.12.13 05:17
Offline
YURIY7177, Идея мне понравилась. Реализовать её не сложно, но проблема - недостаток ресурсов для создания модификации, а именно модели гитары и анимации под неё.

YURIY7177
Проверенные
25.12.13 16:49
Offline
Вот модель гитары.
http://files.mail.ru/0572EE5918874C599D0434D06C74FD99
С анимацией, что-то придумаю. dry

JIEXAH949
Пользователи
03.01.14 18:34
Offline
Вопрос. Как сделать высокую гидравлику? Делал так и выходила ошибка.
Код
:CAR_2
wait 0
0AB4: 1@ = var 6  
if and
    not 1@ == 1  
   car.HasHydraulics($Player_actor)
   actor.Driving($Player_actor)
0AB0: key_pressed 35
jf @CAR_2
0@ = Actor.CurrentCar($PLAYER_ACTOR)
07D5:  set_car 0@ 0.0000002 0.000000 0.00000000
   wait 0
   jump @NONAME_2
   end

BoPoH
Друзья
03.01.14 19:28
Offline
Цитата JIEXAH949 ()
07D5:  set_car 0@ 0.0000002 0.000000 0.00000000

Что за использование такое? Этот опкод в оригинале выглядит вот так:
Код
07D5: set_car 0@ velocity_in_direction_XYZ 9@ 10@ 0.0 rotation_velocitiesXY 0.0 0.0 unk 0.0

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

JIEXAH949
Пользователи
04.01.14 12:38
Offline
Цитата BoPoH ()
Что за использование такое? Этот опкод в оригинале выглядит вот так: ?107D5: set_car 0@ velocity_in_direction_XYZ 9@ 10@ 0.0 rotation_velocitiesXY 0.0 0.0 unk 0.0 Он явно для гидравлики не предназначен и имеет гораздо больше параметров, нежели ты указал.

А какая команда тогда для гидравлики??

Добавлено (04.01.14, 11:38)
---------------------------------------------
Делал выкл/вкл фары работает но бесконечные Варнинги в сампе. И если только зажать горят. И если горят то не выключаются. Помогите:

Код
:NAME_2
wait 0  
if and
   actor.Driving($PLAYER_ACTOR)
0AB0:   key_pressed 34         
jf @NAME_2
2@ = actor.CurrentCar($PLAYER_ACTOR)
067F: set_car 2@ headlights 2
wait 0
jump @NAME_2

:NAME_142
wait 0  
if and
8AB0:   not key_pressed 34   
jf @NAME_142

:NAME_165
wait 0  
if and
0AB0:   key_pressed 34  
jf @NAME_199  
wait 1  
jump @NAME_215

:NAME_199
if  
    not Actor.Driving($PLAYER_ACTOR)
jf @NAME_165

:NAME_215
067F: set_car 2@ headlights 0
wait 0
jump @NAME_2   

Slivkin-Sergey
Модераторы
07.01.14 22:32
Offline
Странная вещь, однако. Где-то здесь кому-то что-то не нравится и происходит, собственно, всеми любимый вылет.
Код
wait 1000
fade 0 500
wait 500
0465: remove_actor $PLAYER_ACTOR from_turret_mode
Player.CanMove($PLAYER_CHAR) = False
Actor.PutAt($ACTOR_STEVENSON, 293.1921, -31.1445, 1001.5156)
0639: AS_actor $ACTOR_STEVENSON rotate_to_actor $PLAYER_ACTOR
Actor.PutAt(3@, 294.5744 -30.5481 1001.5156)
0639: AS_actor 3@ rotate_to_actor $PLAYER_ACTOR
04ED: "COP_AMBIENT"
repeat
wait 0
until 04EE: "COP_AMBIENT"
0605: AS_actor $ACTOR_STEVENSON perform_animation "COPLOOK_LOOP" IFP "COP_AMBIENT" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time 999999 // versionA
0605: AS_actor 3@ perform_animation "COPLOOK_LOOP" IFP "COP_AMBIENT" framedelta 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time 999999 // versionA
Camera.SetPosition(293.58, -31.8277, 1001.5156, 0.0, 0.0, 0.0)
Camera.OnPed($PLAYER_ACTOR, 15, 2)
0668: AS_actor $PLAYER_ACTOR rotate_and_shoot_at 293.5714 -15.5167 1001.5156 3500 ms

SanKing
Друзья
08.01.14 16:33
Offline
Slivkin-Sergey, а где именно вылет?

Slivkin-Sergey
Модераторы
08.01.14 20:05
Offline
SanKing, дык если б я знал...

SanKing
Друзья
09.01.14 12:09
Offline
Slivkin-Sergey, должно же быть заметно, после выполнения анимации, или до неё... В общем, есть такая программка - ScmLog. Сам-то я ей никогда не пользовался, но ты можешь попробовать. Я думаю, в объявлении анимации вместо 999999 нужно поставить -1, и результат будет тот же.

Slivkin-Sergey
Модераторы
09.01.14 18:05
Offline
Спасибо за совет, попробую (насчёт анимаций). А ScmLog'ом я пользуюсь, глючит сильно - обновляется через сутки после запуска игры в лучшем случае.

А проблема была проста - я уничтожил актёра 3@ и сам про это забыл! Вот я балбес.

Добавлено (09.01.14, 17:05)
---------------------------------------------
Блин, ну теперь я точно в непонятках: не рисуется текст...

Код
:DTT
thread 'DTT'
1@ = 0
2@ = 0
3@ = 0

:DTT_1
wait 0
if
09FA: is_menu_closed
jf @DTT_1
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET
if and
1@ == 0
2@ == 0
3@ == 0
then
jump @DTT_1
end
jump @DTT_CYCLE

:DTT_CYCLE
wait 0
if
09FA: is_menu_closed
jf @DTT
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
050A: 7@ = distance_between_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@
03F0: enable_text_draw 1
03E4: enable_text_draw_align_right 1
0349: set_text_draw_font 2
0343: set_text_draw_linewidth 300.0
060D: draw_text_shadow 1 color_RGBA 0 0 0 255
0340: set_text_draw_RGBA 0 255 0 255
07FC: text_draw_1float_position_XY 90.0 10.0 GXT_reference 'DISTMRK' value 7@ decimal_count 2
jump @DTT_CYCLE
end_thread

JIEXAH949
Пользователи
11.01.14 12:21
Offline
Неподскажите как высокую гидравлику сделать?

wmysterio
Администраторы
Скриптер
15.01.14 11:07
Offline
Цитата Slivkin-Sergey ()
if and
1@ == 0
2@ == 0
3@ == 0
then

чтобы выполнялась эта проверка нужно очень сильно и идеально постараться быть в этой позиции.
Лучше проверить опкодом 00EC.

Slivkin-Sergey
Модераторы
15.01.14 12:24
Offline
Цитата wmysterio ()
чтобы выполнялась эта проверка нужно очень сильно и идеально постараться быть в этой позиции.

Не, это я наоборот... В описании опкода на gtag написано, что он не меняет значения переменных, если маркер не установлен. Вот я и назначил им по нулю, и проверяю: если все три цифры по-прежнему 0, значит, маркера нет, и идём в начало проверок.

Drs36
Проверенные
15.01.14 14:22
Offline
Существует ли опкод который ставит иммунитет на машину от прокола шин ?

SanKing
Друзья
15.01.14 15:09
Offline
Drs36,
053F: set_car 1@ tires_vulnerability 0
1@ - существующая машина.

wmysterio
Администраторы
Скриптер
15.01.14 18:10
Offline
Цитата Slivkin-Sergey ()
Не, это я наоборот... В описании опкода на gtag написано, что он не меняет значения переменных, если маркер не установлен. Вот я и назначил им по нулю, и проверяю: если все три цифры по-прежнему 0, значит, маркера нет, и идём в начало проверок.
Я когда-то тоже игрался с этим опкодом. Тоже проверял на нули. Но мне один человек, не помню кто, рассказал один эффективный способ его использования. Дело в том, что опкод 0AB6 так-же можно использовать как проверку. если маркер установлен, то опкод возвращает true и записывает в переменные значения координат маркера.

Вот пример такого использования:
Код
{$CLEO}
0000:
thread 'DTT'

while true
wait 0
         if
         89FA: not is_menu_closed
         then

             if
             0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET
             then
             Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
             050A: 7@ = distance_between_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@
             03F0: enable_text_draw 1
             03E4: enable_text_draw_align_right 1
             0349: set_text_draw_font 2
             0343: set_text_draw_linewidth 300.0
             060D: draw_text_shadow 1 color_RGBA 0 0 0 255
             0340: set_text_draw_RGBA 0 255 0 255
             07FC: text_draw_1float_position_XY 90.0 10.0 GXT_reference 'DISTMRK' value 7@ decimal_count 2
             end

         end
end
0A93: end_custom_thread
И не нужно играться с проверками на ноль координат 1@ 2@ 3@ smile

Drs36
Проверенные
15.01.14 20:48
Offline
Как можно сделать text_box к cleo скрипту для gta vice city ?
Отредактировал Drs36 - Среда, 15.01.14, 22:31

wmysterio
Администраторы
Скриптер
15.01.14 20:52
Offline
Цитата Drs36 ()
Как можно сделать text_box к cleo скрипту ?
вот урок. Принцип применения для клео и мейна одинаковый.

JIEXAH949
Пользователи
16.01.14 15:42
Offline
Вылетает игра. Помогите пожалуйста!
Код
:NONAME_2
wait 0  
if  
    Player.Defined($PLAYER_CHAR)
else_jump @NONAME_2  
if  
0AB0:   key_pressed 8  
else_jump @NONAME_2  
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 0.0 5.0 0.2  
Model.Load(#REMINGTN)

:NONAME_71
wait 0  
if  
    Model.Available(#REMINGTN)
else_jump @NONAME_71  
1@ = Car.Create(#REMINGTN, 11@, 12@, 13@)
Car.Angle(1@) = 90.0
0229: set_car 1@ primary_color_to 1 secondary_color_to 1  
06ED: set_car 1@ paintjob 1  
Model.Destroy(#REMINGTN)
Car.ToggleHydraulics(1@) = True
03A2: set_car 1@ action 3  
wait 250  
30@ = 0  
31@ = 0  
33@ = 0  

:NONAME_179
wait 0  
if  
    Player.Defined($PLAYER_CHAR)
else_jump @NONAME_1040  
03F0: enable_text_draw 1  
045A: draw_text_1number 40.0 40.0 GXT 'NUMBER' number 30@  // ~1~
045A: draw_text_1number 40.0 60.0 GXT 'NUMBER' number 31@  // ~1~
if  
    Car.HasHydraulics(1@)
else_jump @NONAME_1040  
if or
    Car.Wrecked(1@)
01F4:   car 1@ flipped  
8202:   not actor $PLAYER_ACTOR near_car 1@ radius 50.0 50.0 sphere 0  
else_jump @NONAME_315  
jump @NONAME_1040  

:NONAME_315
wait 0  
if and
   31@ == 0  
    Actor.InCar($PLAYER_ACTOR, 1@)
else_jump @NONAME_360  
31@ = 1  
03A2: set_car 1@ action 2  
wait 500  

:NONAME_360
wait 0  
if and
   31@ == 1  
    not Actor.InCar($PLAYER_ACTOR, 1@)
else_jump @NONAME_426  
31@ = 0  
wait 250  
Car.Destroy(1@)
00BA: show_text_styled GXT 'FEM_OFF' time 1000 style 4  // ‹”KЉ.
jump @NONAME_2  

:NONAME_426
wait 0  
if  
   33@ > 500  
else_jump @NONAME_461  
33@ = 0  
0209: 30@ = random_int_in_ranges 0 12  

:NONAME_461
wait 0  
0871: init_jump_table 30@ total_jumps 13 default_jump 0 @NONAME_589 jumps 0 @NONAME_617 1 @NONAME_649 2 @NONAME_681 3 @NONAME_713 4 @NONAME_745 5 @NONAME_777 6 @NONAME_809  
0872: jump_table_jumps 7 @NONAME_841 8 @NONAME_873 9 @NONAME_905 10 @NONAME_937 11 @NONAME_969 12 @NONAME_1001 -1 @NONAME_589 -1 @NONAME_589 -1 @NONAME_589  

:NONAME_589
wait 0  
00BA: show_text_styled GXT 'FEM_OFF' time 1000 style 4  // ‹”KЉ.
wait 1000  
jump @NONAME_179  

:NONAME_617
wait 0  
07F5: car 1@ control_hydraulics 0.0 1000.0 0.0 0.0  
jump @NONAME_1033  

:NONAME_649
wait 0  
07F5: car 1@ control_hydraulics 0.0 0.0 0.0 1000.0  
jump @NONAME_1033  

:NONAME_681
wait 0  
07F5: car 1@ control_hydraulics 0.0 0.0 1000.0 0.0  
jump @NONAME_1033  

:NONAME_713
wait 0  
07F5: car 1@ control_hydraulics 1000.0 0.0 0.0 0.0  
jump @NONAME_1033  

:NONAME_745
wait 0  
07F5: car 1@ control_hydraulics 1000.0 0.0 1000.0 0.0  
jump @NONAME_1033  

:NONAME_777
wait 0  
07F5: car 1@ control_hydraulics 0.0 1000.0 0.0 1000.0  
jump @NONAME_1033  

:NONAME_809
wait 0  
07F5: car 1@ control_hydraulics 1000.0 1000.0 0.0 0.0  
jump @NONAME_1033  

:NONAME_841
wait 0  
07F5: car 1@ control_hydraulics 0.0 0.0 1000.0 1000.0  
jump @NONAME_1033  

:NONAME_873
wait 0  
07F5: car 1@ control_hydraulics 1000.0 1000.0 1000.0 1000.0  
jump @NONAME_1033  

:NONAME_905
wait 0  
07F5: car 1@ control_hydraulics 0.0 1000.0 1000.0 1000.0  
jump @NONAME_1033  

:NONAME_937
wait 0  
07F5: car 1@ control_hydraulics 1000.0 0.0 1000.0 1000.0  
jump @NONAME_1033  

:NONAME_969
wait 0  
07F5: car 1@ control_hydraulics 1000.0 1000.0 0.0 1000.0  
jump @NONAME_1033  

:NONAME_1001
wait 0  
07F5: car 1@ control_hydraulics 1000.0 1000.0 1000.0 0.0  
jump @NONAME_1033  

:NONAME_1033
wait 0  
jump @NONAME_179  

:NONAME_1040
wait 0  
Car.RemoveReferences(1@)
00BA: show_text_styled GXT 'FEM_OFF' time 1000 style 4  // ‹”KЉ.
jump @NONAME_2

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