[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 35 из 125«123334353637124125»
Форум » Игры серии 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)

Slivkin-Sergey
Модераторы
05.08.12 21:33
Offline
Что в этой заготовке миссии не так?
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 .cm}

//-------------MAIN---------------
thread 'BAST'  
gosub @BAST_1
if  
wasted_or_busted  
jf @BAST_LOSE
gosub @BAST_FAIL

:BAST_LOSE
$ONMISSION = 0  
mission_cleanup  
end_thread  

:BAST_1
increment_mission_attempts  
$ONMISSION = 1  
wait 0  
Player.CanMove($PLAYER_CHAR) = False
fade 0 500  
wait 500  
023C: load_special_actor 'SWEET' as 1 // models 290-299  
04ED: load_animation "LOWRIDER"  
038B: load_requested_models

:BAST_2
if and
023D:   special_actor 1 loaded  
04EE:   animation "LOWRIDER" loaded  
jf @BAST_2  
1@ = Actor.Create(0, #SPECIAL01, 0.0, 0.0, 0.0)
wait 1  
select_interior 1  
0860: link_actor $PLAYER_ACTOR to_interior 1  
0860: link_actor 1@ to_interior 1  
Actor.PutAt($PLAYER_ACTOR, 2525.013, -1679.756, 1015.499)
Actor.PutAt(1@, 2535.95, -1672.965, 1015.499)
0605: actor 1@ perform_animation_sequence "LRGIRL_IDLE_TO_L0" IFP_file "LOWRIDER" 4.0 loop 0 0 0 1 time -1 // versionA  
wait 500  
fade 1 500  
Player.CanMove($PLAYER_CHAR) = True
$ONMISSION = 0
0A93: end_csutom_thread

:BAST_FAIL
wait 0  
gosub @BAST_FAIL2
0A92: create_custom_thread "starter.cs"
return

:BAST_FAIL2
wait 0
mission_cleanup
return


Стартер для неё:
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---------------
thread 'STARTER'

:STARTER_1
wait 0
if
$ONMISSION == 0
jf @STARTER_1
Marker.CreateIconAndSphere(1@, 38, 2516.7148, -1675.6228, 14.0238)

:STARTER_2
wait 0
if and
$ONMISSION == 0
00ED:   actor $PLAYER_ACTOR 0 near_point 2516.7148 -1675.6228 14.0238 radius 1.0 1.0 on_foot  
jf @STARTER_2
wait 500
Marker.Disable(1@)
0A94: start_custom_mission "bastard"
jump @STARTER_1


При заходе на маркер он начинает мигать, но миссия не начинается. Почему?

NARC
Проверенные
06.08.12 01:16
Offline
Quote (Slivkin-Sergey)
Что в этой заготовке миссии не так?
Я нашел четыре причины что может быть нетак:
1) 1@ = Actor.Create(0, #SPECIAL01, 0.0, 0.0, 0.0)
Тип актёра - 0, тоесть обявление как игрока. Нужно ставить номер от 4
2) 0A93: end_csutom_thread
В Cleo-миссиях нужно ставить команду end_thread
3) 0A92: create_custom_thread "starter.cs"
Если память мне не изменяет, то в Cleo-миссиях нельзя запускать потоки(или не рекомендуется). У меня лично всегда вылетает игра когда в миссии пытаюсь вызвать поток
4)
Code
:BAST_2  
  if and
нету задержки wait между командами, хотя вылетов я ненаблюдал когда тестировал твой код smile

Quote (Slivkin-Sergey)
При заходе на маркер он начинает мигать, но миссия не начинается. Почему?
Думаю причина в расположеннии файла bastard.cm. Что бы миссия запустилась, этот файл должен быть в папке Cleo(именно при такой команде custom_mission "bastard").

Slivkin-Sergey
Модераторы
06.08.12 05:33
Offline
Quote (NARC)
Думаю причина в расположеннии файла bastard.cm. Что бы миссия запустилась, этот файл должен быть в папке Cleo

Он и лежит в папке CLEO. Изначально я вообще забыл оформить ее как миссию и подумал, что дело в этом - ан нет.
Quote (NARC)
Если память мне не изменяет, то в Cleo-миссиях нельзя запускать потоки(или не рекомендуется). У меня лично всегда вылетает игра когда в миссии пытаюсь вызвать поток

А как мне тогда воссоздать маркер в случае провала? Сделать jump @STARTER_1 на последней строке стартера (хотя это тоже мысль)?
Quote (NARC)
В Cleo-миссиях нужно ставить команду end_thread

А вот об этом я забыл, спасибо, сейчас попробую.

undead099032
Проверенные
06.08.12 09:37
Offline
Как сделать чтобы лужа отнимала хп у прохожих?

undead099032
Проверенные
06.08.12 10:09
Offline
1. Undead099032
2. Вытягивание души
3. Хотелось бы мод который вытягивал души из прохожих или любых персонажей и потом ты в любое время мог бы в них превратиться.
Например: Ты проходишь рядом с темпенни нажимаешь на определённую клавишу CJ вытянул из него душу и в любое время он может в него превратиться ну а после превращения больше нельзя будет в него превратиться...

Надеюсь суть ясна)

NARC
Проверенные
06.08.12 16:35
Offline
Quote (Slivkin-Sergey)
А как мне тогда воссоздать маркер в случае провала? Сделать jump @STARTER_1 на последней строке стартера (хотя это тоже мысль)?
В стартере ты всё правильно написал. Сделал jump @STARTER_1. Если миссия запускается $ONMISSION стеёт равно 1. В стартере стоит условие, если СЖ в точке и $ONMISSION == 0, тогда запускать миссию. Она не сможет повторно вызваться, так как условие с $ONMISSION не совпадает. В случаи провала миссии маркер создастся снова =) Я тестировал твою миссию и стартер(с исправлениями выше) - всё работает =)

Quote (undead099032)
Как сделать чтобы лужа отнимала хп у прохожих?
Вот тебе мой код. Он точно такое же как прибавка хп, только заменён 1 опкод:
Code
{$cleo}
0000:

:DK
thread 'DK'
wait 0
if
0AB0:  key_pressed 49 // 1
jf @DK
0@ = 0.0 // time
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@

while not 0@ > 4000.0
        if OR
        0118:   actor $PLAYER_ACTOR dead     
        0741:   actor $PLAYER_ACTOR busted     
        then
            break
        end
        016F: create_particle 3 rotation_factor 0.0 size 7.0 intensity 255 flags 255 0 0 at 1@ 2@ 3@
        if
        0AE1: 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_deads 1 //IF and SET
        then      
        0226: 5@ = actor 4@ health     
        5@ += -10
        0223: set_actor 4@ health_to 5@     
        end
        0@ += 50.0          
wait 0
end

jump @DK
Нажимаешь 1 и падает красное петно на землю(как у ДК из ВоВ) Все кто попадает(кроме СЖ) отнимеется 10 хп за цикл. То есть очень быстро их убивает. Если нужно что бы медлено отнимало, то поменяй значение 5@ += -10 на большее число, но не больше чем ноль
Отредактировал NARC - Понедельник, 06.08.12, 17:30

undead099032
Проверенные
06.08.12 17:54
Offline
Большое тебе спасибо!!! NARC,

Добавлено (06.08.2012, 15:54)
---------------------------------------------
что тут не правильно??? Я хочу чтобы эта хилка лечила не только меня,но и всех...Игра вылетает когда нажимаю на определённую клавишу. Что не не правильно?

{$cleo}
0000:

:HEAL
thread 'HEAL'
wait 0
if
0AB0: key_pressed 49 // 1
jf @HEAL
0@ = 0.0 // time
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@

while not 0@ > 4000.0
if OR
0118: actor $PLAYER_ACTOR dead
0741: actor $PLAYER_ACTOR busted
then
break
end
016F: create_particle 3 rotation_factor 0.0 size 5.0 intensity 255 flags 0 255 0 at 1@ 2@ 3@
if
0AE1: 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_healts 1 //IF and SET
then
0226: 5@ = actor $PLAYER_ACTOR dead
5@ += 1
0223: set_actor $PLAYER_ACTOR health_to 5@
end
0@ += 50.0
wait 0
end

jump @HEAL[/spoiler]
Отредактировал undead099032 - Понедельник, 06.08.12, 17:55

Slivkin-Sergey
Модераторы
06.08.12 18:42
Offline
Quote (undead099032)
0223: set_actor $PLAYER_ACTOR health_to 5@

Мэн, чуть ранее ты сохранил в переменную 5@ значение "умер ли СЖ?", а потом прибавляешь к ней же 1 и ставишь СЖ здоровье равное 5@. Тебе не кажется, что это немного абсурдно?

Добавлено (06.08.2012, 16:14)
---------------------------------------------
И еще: где кейворд else между кейвордом end и опкодом 016F?

Добавлено (06.08.2012, 16:21)
---------------------------------------------
Никаких изменений, всё так же мигает.

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 .cm}

//-------------MAIN---------------
thread 'BAST'  
gosub @BAST_1
if  
wasted_or_busted  
jf @BAST_LOSE
gosub @BAST_FAIL

:BAST_LOSE
wait 0
$ONMISSION = 0  
mission_cleanup  
end_thread  

:BAST_1
wait 0
increment_mission_attempts  
$ONMISSION = 1  
Player.CanMove($PLAYER_CHAR) = False
fade 0 500  
wait 500  
023C: load_special_actor 'SWEET' as 1 // models 290-299  
04ED: load_animation "LOWRIDER"  
038B: load_requested_models

:BAST_2
wait 0
if and
023D:   special_actor 1 loaded  
04EE:   animation "LOWRIDER" loaded  
jf @BAST_2  
1@ = Actor.Create(4, #SPECIAL01, 0.0, 0.0, 0.0)
wait 1  
select_interior 1  
0860: link_actor $PLAYER_ACTOR to_interior 1  
0860: link_actor 1@ to_interior 1  
Actor.PutAt($PLAYER_ACTOR, 2525.013, -1679.756, 1015.499)
Actor.PutAt(1@, 2535.95, -1672.965, 1015.499)
0605: actor 1@ perform_animation_sequence "LRGIRL_IDLE_TO_L0" IFP_file "LOWRIDER" 4.0 loop 0 0 0 1 time -1 // versionA  
wait 500  
fade 1 500  
Player.CanMove($PLAYER_CHAR) = True
$ONMISSION = 0
end_thread

:BAST_FAIL
wait 0  
gosub @BAST_FAIL2
return

:BAST_FAIL2
wait 0
mission_cleanup
return

Добавлено (06.08.2012, 16:42)
---------------------------------------------
P.S. может глупый вопрос, но каковы номера костей кисти правой руки СЖ?


undead099032
Проверенные
06.08.12 19:23
Offline
Как сделать мод чтобы при выстреле из снайперской винтовки в голову замедлялось время и камера поворачивалась в сторону того в кого попали?
Пытался найти замедление, но не нашёл(

NARC
Проверенные
07.08.12 00:04
Offline
Quote (Slivkin-Sergey)
Мэн, чуть ранее ты сохранил в переменную 5@ значение "умер ли СЖ?", а потом прибавляешь к ней же 1 и ставишь СЖ здоровье равное 5@. Тебе не кажется, что это немного абсурдно?
Ну воопще то опкод 0226 заносит в переменную жизнь актёра. Так что ошибки там нет. Почему правда там надпись actor dead этого не знаю )

undead099032, Сделай два условия: если кто то в этой точке, то причавляй хп. и если СЖ в точке, то восполняй ему жизнь:
Code
{$cleo}  
  0000:  

  :HEAL
  thread 'HEAL'  
  wait 0  
  if  
  0AB0:  key_pressed 49 // 1  
  jf @HEAL  
  0@ = 0.0 // time  
  00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@  

  while not 0@ > 4000.0  
         if OR  
         0118:   actor $PLAYER_ACTOR dead      
         0741:   actor $PLAYER_ACTOR busted      
         then  
             break  
         end  
         016F: create_particle 3 rotation_factor 0.0 size 7.0 intensity 255 flags 0 255 0 at 1@ 2@ 3@  

         if  
         0AE1: 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_deads 1 //IF and SET  
         then       
         0226: 5@ = actor 4@ health  
         5@ += 1  
         0223: set_actor 4@ health_to 5@     
         end          

         if
         00EC:   actor $PLAYER_ACTOR 0 near_point 1@ 2@ radius 7.0 7.0  
         then
         0226: 6@ = actor $PLAYER_ACTOR health  
         6@ += 1       
         0223: set_actor $PLAYER_ACTOR health_to 6@      
         end

         0@ += 50.0           
  wait 0  
  end  

  jump @HEAL

undead099032
Проверенные
07.08.12 00:09
Offline
NARC, Спасибо!
А вот как сделать так чтобы при выстреле из снайперской винтовки в голову замедлялось время и камера поворачивалась в сторону того в кого попали??

NARC
Проверенные
07.08.12 00:18
Offline
Quote (undead099032)
А вот как сделать так чтобы при выстреле из снайперской винтовки в голову замедлялось время и камера поворачивалась в сторону того в кого попали??
Оу, с этим нужно будет подумать, так как со снайперкой у меня проблемы - никак не может считать цель игрока, из за этого не выходет ничего.

undead099032
Проверенные
07.08.12 00:21
Offline
NARC,
А есть опкод замедления времени?

NARC
Проверенные
07.08.12 00:37
Offline
undead099032, есть конечно smile это наверное самый первый опкод, который я использовал с своём первом скрипте =)
015D: set_gamespeed 1.0 // 1.0 - это обычная скорость игры
если поставить 0.1 то время и всё вокруг будел замедленно
если повставить 10.0 - то СЖ и всё вокруг начнёт очень быстро двигаться
0.0 - никогда не останавливай время - у меня возвратиться к обычной скорости не получилось ни разу.

undead099032
Проверенные
07.08.12 09:23
Offline
А какой опкод отвечает за пятна на одежде CJ ? Например если в него стреляют на нём будут оставаться пятна крови, а если он будет в кого нибудь стрелять на том тоже будут пятна крови.

Добавлено (07.08.2012, 07:23)
---------------------------------------------
Что не так????
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:NONAME_2
wait 0
if
02D8: actor $PLAYER_ACTOR current_weapon == 34
else_jump @NONAME_331
jump @NONAME_3

if
00E1: player 0 pressed_key 6
else_jump @NONAME_2
015D: set_gamespeed 0.4
Camera.SetPosition(random_actor_near_point 1@ 2@ 3@)
Camera.PointAt(random_actor_near_point 1@ 2@ 3@) //

0936: set_camera 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_deads 1 //IF and SET time 7000 drop_mode 1
0920: point_camera 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_deads 1 //IF and SET time 7000 mode 1
wait 3000 [spoiler]


NARC
Проверенные
07.08.12 13:50
Offline
Quote (undead099032)
Camera.SetPosition(random_actor_near_point 1@ 2@ 3@) Camera.PointAt(random_actor_near_point 1@ 2@ 3@) // 0936: set_camera 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_deads 1 //IF and SET time 7000 drop_mode 1 0920: point_camera 4@ = random_actor_near_point 1@ 2@ 3@ in_radius 7.0 find_next 0 pass_deads 1 //IF and SET time 7000 mode 1

вот этот кусок мне не понятен wacko каждый опкод иммеет разный набор параметрова здесь подставляются параметры с других опкодов

undead099032
Проверенные
07.08.12 14:07
Offline
А какой опкод отвечает за пятна на одежде CJ ? Например если в него стреляют на нём будут оставаться пятна крови, а если он будет в кого нибудь стрелять на том тоже будут пятна крови.

wmysterio
Администраторы
Скриптер
07.08.12 14:29
Offline
undead099032, Ну есть опкод, который заставляет актёра истекать кровью
0332: set_actor $PLAYER_ACTOR bleeding 1
if( robots->EvilFlag = true ) {
robots->KillHumans();
}

Tom_Harison
Друзья
SA:MP Scripter
07.08.12 14:44
Offline
wmysterio, когда он истекает кровью, его здоровье уменьшается?

NARC
Проверенные
07.08.12 14:55
Offline
Tom_Harison, нет, просто пятна падают на землю

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