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

Werewolf
Проверенные
22.08.12 21:59
Offline
Можете показать логику скрипта "перезарядка оружия"?

undead099032
Проверенные
22.08.12 22:17
Offline
Как сделать чтобы актер которого ты создал ходил всё время за тобой, атаковал и был бессмертным?
Отредактировал undead099032 - Среда, 22.08.12, 22:22

NARC
Проверенные
22.08.12 22:40
Offline
Quote (Werewolf)
Можете показать логику скрипта "перезарядка оружия"
Ну суть в том, что при нажатии кнопки выполнялася анимация перезарядки для каждого оружия(иммитирует сам процесс перезарядку)

Quote (undead099032)
Как сделать чтобы актер которого ты создал ходил всё время за тобой, атаковал и был бессмертным?
Code
actor.SetImmunities($ACTOR, 1, 1, 1, 1, 1)
0631: put_actor $ACTOR in_group $PLAYER_GROUP
Перс будет выполнять те действия, что и когда СЖ приглажит братка к себе в банду. будет не только ходить, но и залазить в машину и стрелять во врагов

Tom_Harison
Друзья
SA:MP Scripter
22.08.12 22:41
Offline
NARC, опкодом 0631 можно сделать чтобы и ФБР шёл за тобой?

undead099032
Проверенные
22.08.12 22:48
Offline
Код
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

:NONAME_1
Model.Load(#WMOPREA)
038B: load_requested_models
1@ = Actor.Create(CivMale, #WMOPREA, 2486.9573, -1656.5065, 13.3479)
Actor.Angle(1@) = 178.8208
wait 3000
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_2
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
end_thread


Куда надо встатвлять actor.SetImmunities($Actor, 1, 1, 1, 1, 1)?

NARC
Проверенные
23.08.12 00:42
Offline
Tom_Harison, можно "завербовать" любого перса. количество актёров в банде не может превышать текущего уважения(то есть если у СЖ можно нанять максимум 4 тела, то этим опкодом добавлятся только 4. остальные будут просто стоять)
Quote (undead099032)
Куда надо встатвлять actor.SetImmunities($Actor, 1, 1, 1, 1, 1)
можно в любое место скрипта, но актёр должен быть объявлен(создан), но обычно в таких ситуациях иммунитеты ставлят сразу после посздания актёра. В данном случаи код будет таким:
Code
{$VERSION 3.1.0027}  
{$CLEO .cs}  

//-------------MAIN---------------  

:NONAME_1  
wait 0
Model.Load(#WMOPREA)  
038B: load_requested_models  

:NONAME_1_1
wait 0
if
model.Available(#WMOPREA)
jf @NONAME_1_1  
1@ = Actor.Create(CivMale, #WMOPREA, 2486.9573, -1656.5065, 13.3479)  
Actor.Angle(1@) = 178.8208  
actor.SetImmunities(1@, 1, 1, 1, 1, 1)
wait 3000  

:NONAME_2  
wait 0  
if  
0102: actor $PLAYER_ACTOR in_sphere 2486.9573 -1656.5065 13.3479 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot  
jf @NONAME_2  
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR  
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR  
0A93: end_custom_thread

undead099032
Проверенные
23.08.12 10:55
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---------------
wait 0
Model.Load(#WMOPREA)
Model.Load(#CHNSAW)
038B: load_requested_models

:NONAME_15
wait 0
if
Model.Available(#WMOPREA)
jf @NONAME_15
1@ = Actor.Create(CivMale, #WMOPREA, 2351.003, -652.6939, 128.0547)
Actor.Angle(1@) = 5.0133
Actor.SetImmunities(1@, 1, 1, 1, 1, 1)
wait 3000

:NONAME_88
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2351.003 -652.6939 128.0547 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_88
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
0A93: end_custom_thread


Я хочу чтобы модель была в лесу, но её там нету...Что делать?

Yurko_UA
Друзья
23.08.12 11:05
Offline
undead099032,
1) проверь, загрузилась ли бензопила:
Code
model.available(#CHNSAW)

2) я сейчас проверю у себя. скажи мне, где именно, в каком лесу?

undead099032
Проверенные
23.08.12 11:09
Offline
Yurko_UA,
Лес в Лос сантосе где ещё домик стоит с открытыми дверями
Я скинул карту где всё чёрным обозначено.
Прикрепления: 1497553.jpg(86.4 Kb)

Yurko_UA
Друзья
23.08.12 11:12
Offline
undead099032, Понял, ща попробую

undead099032
Проверенные
23.08.12 11:28
Offline
Yurko_UA, Ну что?

Yurko_UA
Друзья
23.08.12 11:38
Offline
undead099032, Ничего я не нашел, лучше проверь правильность координат:

Code

// 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---------------
0001: wait 0 ms  
0247: load_model #WMOPREA  
0247: load_model #CHNSAW  
038B: load_requested_models  
0002: jump @NONAME_22  

:NONAME_22
0001: wait 0 ms  
00D6: if and
0248:   model #WMOPREA available  
0248:   model #CHNSAW available  
004D: jump_if_false @NONAME_22  
0002: jump @NONAME_53  

:NONAME_53
0001: wait 0 ms  
03BC: 2@ = create_sphere_at 2351.003 -652.6939 128.0547 radius 10.0
009A: 1@ = create_actor_pedtype 4 model #WMOPREA at 2351.003 -652.6939 128.0547  
0173: set_actor 1@ Z_angle_to 5.0133  
02AB: set_actor 1@ immunities BP 1 FP 1 EP 1 CP 1 MP 1  
01B2: give_actor 1@ weapon 9 ammo 1 // Load the weapon model before using this  
0001: wait 3000 ms  
0002: jump @NONAME_127  

:NONAME_127
0001: wait 0 ms  
00D6: if  
0102:   actor $PLAYER_ACTOR in_sphere 2351.003 -652.6939 128.0547 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot  
004D: jump_if_false @NONAME_127  
03BD: destroy_sphere 2@
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR  
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR  
0002: jump @NONAME_202  

:NONAME_202
0001: wait 0 ms  
00D6: if  
0118:   actor 1@ dead  
004D: jump_if_false @NONAME_202  
0002: jump @NONAME_53  


undead099032
Проверенные
23.08.12 11:48
Offline
Yurko_UA,
У меня появился огромный марке, но модели человека нету...

NARC
Проверенные
23.08.12 14:06
Offline
Quote (undead099032)
Я хочу чтобы модель была в лесу, но её там нету...Что делать?
Ну, например, я не вижу опкода, который бы поставил там бензопилу =)
Code
032B: 10@ = create_weapon_pickup #CHNSAW group 15 ammo 1 at 2021.879 1001.467 10.3203
Поменяй координаты на те, где должна размещаться бензопила + проверь, загрузилася ли модель #CHNSAW

undead099032
Проверенные
23.08.12 14:17
Offline
У меня вместо модели появляется огромный маркер...Что делать? Мне не надо чтобы там появилась безнопила) Мне надо чтобы появился человек которого я загрузил а именно:WMOPREA
Я попытался сделать в другом месте всё ровно ничего нету

Вот весь код:
Код
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------

:NONAME_1
Model.Load(#WMOPREA)
038B: load_requested_models
1@ = Actor.Create(CivMale, #WMOPREA, -336.5146, 2218.165, 42.4827)
Actor.Angle(1@) = 96.8209
wait 3000
:NONAME_2
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere -336.5146 2218.165 42.4827 radius 10.0 10.0 10.0 sphere 96.8209 stopped_on_foot
jf @NONAME_2
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
end_thread
Отредактировал undead099032 - Четверг, 23.08.12, 14:25

NARC
Проверенные
23.08.12 15:19
Offline
undead099032, если модель создать далеко от СЖ, то и не удивительно. Игра будет пытаться выгрузить её автоматически, если актёр дальше определённого радиуса от СЖ.

К тому же незнаю почему ты игрорируешь мой код выше, где была проверка на загрузку актёра. Это тоже нужно делать, так как если не будет её есть 2 варианта развития:
1) актёр создастся но на это потребуется некоторое время.
2) игра велетит, так как модели не будет в памяти

undead099032
Проверенные
23.08.12 15:25
Offline
NARC,
Код
// 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---------------
wait 0
Model.Load(#WMOPREA)
Model.Load(#CHNSAW)
038B: load_requested_models

:NONAME_15
wait 0
if
Model.Available(#WMOPREA)
jf @NONAME_15
1@ = Actor.Create(CivMale, #WMOPREA, 2351.003, -652.6939, 128.0547)
Actor.Angle(1@) = 5.0133
Actor.SetImmunities(1@, 1, 1, 1, 1, 1)
wait 3000

:NONAME_88
wait 0
if
0102: actor $PLAYER_ACTOR in_sphere 2351.003 -652.6939 128.0547 radius 10.0 10.0 10.0 sphere 0 stopped_on_foot
jf @NONAME_88
0850: AS_actor 1@ follow_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
0A93: end_custom_thread


А теперь я сделал проверку на загрузку. А чтобы у меня появилась модель в игре мне нужно быть близко к месту загрузки?

NearBird
Гости
23.08.12 15:39
Код
{$CLEO}
0000:

:NAME
thread 'NAME'
wait 0
0390: load_txd_dictionary 'LD_BEAT' // загружаем txd, файл должен находится в папке [b]models\txd
038F: load_texture "DOWN" as 1 // присваиваем текстуре номер

while actor.Defined($PLAYER_ACTOR)
03F0: enable_text_draw 1

033E: set_draw_text_position 50.0 50.0 GXT 'BJ_PUSH' // рисовать текст на экране

038D: draw_texture 1 position 100.0 100.0 size 24.0 24.0 RGBA 255 255 255 255 // рисуем текстуру с номером 1 на экране
wait 0
end

03F0: enable_text_draw 0
0391: release_txd_dictionary
0A93: end_custom_thread

Это клео выводит на экран картинку из файла, но из какого?
Почему строчка "while actor.Defined($PLAYER_ACTOR) " не дает компилировать весь скрипт? Что не так?

NARC
Проверенные
23.08.12 15:56
Offline
Quote (undead099032)
А теперь я сделал проверку на загрузку. А чтобы у меня появилась модель в игре мне нужно быть близко к месту загрузки?
Он появится в том месте в любом случаи. Но если ты далеко от него, то игра сама удалит его. По этому я сделал вывод, что лучше создавать его в близи СЖ.

Quote (NearBird)
Это клео выводит на экран картинку из файла, но из какого?
Текстура берётся из файла LD_BEAT.txd. Он находится в папке SA\models\txd

Quote (NearBird)
Почему строчка "while actor.Defined($PLAYER_ACTOR) " не дает компилировать весь скрипт?
Возможно стоит галочка на чекбоксе "Использовать опкоды". Нужно её снять, что бы можно было использовать классы(actor, player, car)

Tom_Harison
Друзья
SA:MP Scripter
23.08.12 17:50
Offline
Quote (NARC)
Tom_Harison, можно "завербовать" любого перса. количество актёров в банде не может превышать текущего уважения(то есть если у СЖ можно нанять максимум 4 тела, то этим опкодом добавлятся только 4. остальные будут просто стоять)

понятно, спасибо

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