[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 63 из 127«126162636465126127»
Форум » Игры серии 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
Администраторы
Скриптер
18.07.13 01:11
Offline
mos_cracin, возьму на заметку. В основном я делаю уроки как справочную информацию. Более сложные скрипты сложнее объяснять.

mos_cracin
Пользователи
18.07.13 01:13
Offline
wmysterio, Да, я понимаю... темболе мне очень трудно...освоить скриптинг.

wmysterio
Администраторы
Скриптер
18.07.13 01:19
Offline
Цитата (mos_cracin)
очень трудно...освоить скриптинг.
Если брать трудную задачу, то естественно её сложнее решать. Но для начала нужно понять механику скритов

mos_cracin
Пользователи
18.07.13 01:21
Offline
wmysterio, Да, не зря народ говорит что скриптинг это ад, несуший страданий. 

это как хотеть держать огонь в руках, но при этом не обжыгатся.

wmysterio
Администраторы
Скриптер
18.07.13 01:33
Offline
Цитата (mos_cracin)
Да, не зря народ говорит что скриптинг это ад, несуший страданий.
Народу просто не хватает терпения. Мне лично моделирование кажется адом. Никак не могу понять как всё красиво сделать smile Вроде модельки простые делаю, но прогресса никак не видно

mos_cracin
Пользователи
18.07.13 01:40
Offline
wmysterio, Да, у меня только мувики получается делать! ..

vKew
Проверенные
18.07.13 11:00
Offline
Цитата (wmysterio)
Не знаю зачем это но такое реализовать на такой дистанции врят ли получится. Проще открыть ближайшую машину, чем мудрить над задачей, превышающие скриптовые лимиты
Как тогда открыть ближайщюю машину?

wmysterio
Администраторы
Скриптер
18.07.13 12:18
Offline
Цитата (vKew)
Как тогда открыть ближайщюю машину?
Код
{$CLEO}
0000:

while true
     0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
     if  
     056E:   car 0@ defined
     then
     020A: set_car 0@ door_status_to 0
     end
wait 0
end

vKew
Проверенные
18.07.13 12:32
Offline
Цитата (wmysterio)
1 {$CLEO}2 0000:
3
4 while true
5      0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
6      if  
7      056E:   car 0@ defined
8      then
9      020A: set_car 0@ door_status_to 0
10      end
11 wait 0
12 end

Мне надо: вводишь LOCK и ближайщяя машина открывается

wmysterio
Администраторы
Скриптер
18.07.13 12:40
Offline
Цитата (vKew)
Мне надо: вводишь LOCK и ближайщяя машина открывается
Код
{$CLEO}
0000:

while true
      0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
      if AND  
      0ADC:   test_cheat "LOCK"
      056E:   car 0@ defined
      then
      020A: set_car 0@ door_status_to 0
      end
wait 0
end

Vital
Друзья
Скриптер
18.07.13 18:05
Offline
wmysterio, желательно ещё на существование игрока проверить. Можно в цикле repeat это сделать перед while true.
vKew, возьми то же самое, что и у wmysterio, но перед while true поставь:
Код
repeat
wait 0
until Player.Defined(0)
Лучше всё же проверить на то, что игрок есть, прежде чем делать что-то с $PLAYER_ACTOR.

Добавлено (18.07.13, 16:55)
---------------------------------------------
wmysterio, для открытия всех машин можно воспользоваться 0AE2. Вот, как это показал мне Den_Spn. А DK22Pac напомнил ещё, что есть сделанные им "инклуды" ($Include) с такими конструкциями. Можно применить такой алгоритм или сам $Include, чтобы открыть все машины разом.

Добавлено (18.07.13, 17:05)
---------------------------------------------
wmysterio, мне тоже моделирование кажется жутким занятием. Можно часами и даже днями сидеть за одной моделью, я попробовал сделать мелкий дорожный знак, на это ушло столько! Это не Source SDK, в котором несмотря на функциональность, можно вполне быстро и просто сделать даже домик, в SA нужно считать каждый полигон, нету интуитивности в управлении программой (если брать Zanoza), но самое страшное, в отличие от скриптов, - гораздо больше неизвестности. Если в скрипте можно по-разному понять, как обезопасить работу программы от всяких вмешательств, то в моделировании... Могут быть другие моды, несовместимость с файлом управления, нужно по сто раз переделывать каждую мелкую деталь, чтобы всё заработало... Честно говоря, в скриптинге мне эта возня гораздо приятнее, лучше и нагляднее понимаешь, в чём проблемы, потому что в игре всё чаще всего проявляется с первого раза, а затем уже совершенствуешь скрипт, добавляя в него что-либо, обеспечивая его нормальную и красивую работу при многих обстоятельствах. И кроме SB, не нужно ничего. Разве что иногда. А для моделей надо найти текстуры и модели, да так, чтобы всякие правообладатели не возмущались и не кричали с пеной у рта о нарушениях прав, надо найти ещё программы для редактирования текстур, настроек машин/объектов/актёров, сделать col файл, правильно наложить текстуры, в общем, даже для одной модели понадобится гораздо более, чем одна программа (либо одна, но сложная и запутанная). Короче говоря, мне скрипты ближе, хоть я и думал когда-то, что это не моё. Я бы сказал, что скрипты - это основа, без которой все эти модели и текстуры не ожили бы, к тому же скриптами можно вытащить из игры многие сведения: модели машин/объектов/актёров, названия районов, координаты, при этом не прибегая к другим программам.

2109: create_special_actor $VITAL in_front_of_computer

wmysterio
Администраторы
Скриптер
18.07.13 18:29
Offline
Цитата (Vital)
для открытия всех машин можно воспользоваться 0AE2
Можно конечно, я этого не отрицаю. Я просто стараюсь сделать скрипт как можно производительным. Я пробовал циклы с большим количеством итерации на своём старом компе, то игра работает намного медленней, а когда только 1 цикл, где проверяется несколько условий - всё работает без проблем.

Parenek
Пользователи
18.07.13 19:58
Offline
Вообщем я пишу миссии в main.csm, иногда после пройгрыша, они не полностью отчищаются, поясню.
Например я создал таймер, я проиграл на начале миссии и он не хотит отчищаться, mission_cleanup не убирает его,после "Миссия провалена" он спокойно идет.Миссии создаются в Gta criminal Russia beta 2.
Ну что скажете?Код миссии прикрепил, взгляньте
Прикрепления: test.txt(16Kb)

wmysterio
Администраторы
Скриптер
18.07.13 20:06
Offline
Цитата (Parenek)
я проиграл на начале миссии и он не хотит отчищаться
Нужно убирать таймер ещё и в коде провала миссии:
Код
:KOD_PROVALA2
//....
014F: stop_timer 32@

Parenek
Пользователи
18.07.13 21:52
Offline
Я так делал и ноль результатов, ладно, а вот у меня есть проблемка с миссией "Побег из тюрьмы"
Значит пишу миссию, делаю чтобы охранники патрулировали тюрьму, делаю проверку на то-что актер не замечен актером, а она работает некоректно!Даже когда я к нему спиной, он меня замечает, даже в присядку!
Гляньте код.
Прикрепления: TEST_MIS.txt(10Kb)

wmysterio
Администраторы
Скриптер
18.07.13 22:26
Offline
Parenek, опкод и в правду странно работает, но можно схитрить:
Код
:METKA
wait 0
04C4: store_coords_to 0@ 1@ 2@ from_actor 3@ with_offset 0.0 5.0 0.0
if
00EC:   actor $PLAYER_ACTOR sphere 0 near_point 0@ 1@ radius 5.0 5.0
jf @METKA
Получается, что если игрок находится в точке, впереди актёра-стражника, тогда идёт провал.
-------------------------------------------------
к тому же код построен так, что нет прыжка на метку удачного выполнения миссии а как бы объедено в одно с провалом.

Parenek
Пользователи
18.07.13 22:50
Offline
Это я зделал специально, для проверки!Спасибо за вариант!Пойду проверю.

Добавлено (18.07.13, 21:38)
---------------------------------------------
Когда он поворачиваеться, он его замечает!

Добавлено (18.07.13, 21:41)
---------------------------------------------
Прошу мне помочь, дальнейшая работа над сюжетом остановлена!

Добавлено (18.07.13, 21:50)
---------------------------------------------
Я добавил задержку в 2 секунды, им на поворот хватает, еще чутка доработаю и все!


wmysterio
Администраторы
Скриптер
18.07.13 22:57
Offline
Цитата (Parenek)
Прошу мне помочь, дальнейшая работа над сюжетом остановлена!
Ну так скажи когда миссия считается выполненной?

mos_cracin
Пользователи
18.07.13 23:13
Offline
wmysterio,
Код
// This file was decompiled using sascm.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013

{$VERSION 3.1.1000}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0662: printstring "#MOS_CRACIN-SCRIPT"
0662: printstring "НАСТАЯЩЯЯ ИМЯ - ANDREI COJOCARU"
0000: NOP
thread "MOS_CRACIN"
gosub @MOS_CRACIN_111
if
wasted_or_busted
else_jump @MOS_CRACIN_102
gosub @MOS_CRACIN_644

:MOS_CRACIN_102
$ONMISSION == 0
mission_cleanup

:MOS_CRACIN_111
increment_mission_attempts
$ONMISSION == 1
Model.Load(#VLA1)
Model.Load(#VLA2)
Model.Load(#VLA3)
Model.Load(#BAT)
Model.Load(#COLT45)
038B: load_requested_models

:MOS_CRACIN_144
wait 0
if
Model.Available(#VLA1)
Model.Available(#VLA2)
Model.Available(#VLA3)
Model.Available(#BAT)
Model.Available(#COLT45)
else_jump @MOS_CRACIN_144
Actor.PutAt($PLAYER_ACTOR, 2056.109, -1977.737, 13.5545)
Actor.Angle($PLAYER_ACTOR) = 89.2086
$ACTOR1 = Actor.Create(Criminal, #VLA1, 2031.426, -1981.053, 13.5545)
Actor.Angle($ACTOR1) = 278.2756
Actor.Health($ACTOR1) = 150
03FE: set_actor $ACTOR1 money 10
Actor.GiveWeaponAndAmmo($ACTOR1, BaseballBat, 1)
$ACTOR2 = Actor.Create(Criminal, #VLA2, 2030.784, -1977.539, 13.5545)
Actor.Angle($ACTOR2) = 269.6484
Actor.Health($ACTOR2) = 200
03FE: set_actor $ACTOR2 money 20
Actor.GiveWeaponAndAmmo($ACTOR2, Pistol, 40)
$ACTOR3 = Actor.Create(Criminal, #VLA3, 2031.22, -1975.07, 13.5545)
Actor.Angle($ACTOR3) = 255.1723
Actor.Health($ACTOR3) = 150
03FE: set_actor $ACTOR3 money 50
Actor.GiveWeaponAndAmmo($ACTOR1, BaseballBat, 1)
Camera.Restore_WithJumpCut
Camera.SetBehindPlayer
wait 2000
fade 1 1000
wait 1000
05E2: AS_actor $ACTOR1 kill_actor $PLAYER_ACTOR
05E2: AS_actor $ACTOR2 kill_actor $PLAYER_ACTOR
05E2: AS_actor $ACTOR3 kill_actor $PLAYER_ACTOR
Actor.SetImmunities($PLAYER_ACTOR, 0, 0, 0, 0, 0)
Player.CanMove($PLAYER_ACTOR) = True
$MARKER1 = Marker.CreateAboveActor($ACTOR1)
$MARKER2 = Marker.CreateAboveActor($ACTOR2)
$MARKER3 = Marker.CreateAboveActor($ACTOR3)
07E0: set_marker $MARKER1 type_to 0
07E0: set_marker $MARKER2 type_to 0
07E0: set_marker $MARKER3 type_to 0

:MOS_CRACIN_497
wait 0
if
Actor.Dead($ACTOR1)
else_jump @MOS_CRACIN_522
Marker.Disable($MARKER1)

:MOS_CRACIN_522
if
Actor.Dead($ACTOR2)
else_jump @MOS_CRACIN_543
Marker.Disable($MARKER2)

:MOS_CRACIN_543
if
Actor.Dead($ACTOR3)
else_jump @MOS_CRACIN_564
Marker.Disable($MARKER3)

:MOS_CRACIN_564
if and
Actor.Dead($ACTOR1)
Actor.Dead($ACTOR2)
Actor.Dead($ACTOR3)
else_jump @MOS_CRACIN_597
jump @MOS_CRACIN_497

:MOS_CRACIN_597
jump @MOS_CRACIN_604

:MOS_CRACIN_604
wait 0
gosub @MOS_CRACIN_673
01E3: show_text_1number_styled GXT 'M_PASS' number 1000 time 5000 style 1  // MЃCCЃ• Bѓ’O‚HEHA!~n~~w~$~1~
Player.Money($PLAYER_ACTOR) += 500
return

:MOS_CRACIN_644
wait 0
gosub @MOS_CRACIN_673
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1  // ~r~MЃCCЃ• ’POBA‚EHA!
return

:MOS_CRACIN_673
wait 0
if
056D:   actor $ACTOR1 defined
else_jump @MOS_CRACIN_703
Actor.RemoveReferences($ACTOR1)
Actor.DestroyInstantly($ACTOR1)

:MOS_CRACIN_703
if
056D:   actor $ACTOR2 defined
else_jump @MOS_CRACIN_729
Actor.RemoveReferences($ACTOR2)
Actor.DestroyInstantly($ACTOR2)

:MOS_CRACIN_729
if
056D:   actor $ACTOR3 defined
else_jump @MOS_CRACIN_755
Actor.RemoveReferences($ACTOR3)
Actor.DestroyInstantly($ACTOR3)

:MOS_CRACIN_755
Marker.Disable($MARKER1)
Marker.Disable($MARKER2)
Marker.Disable($MARKER3)
return
При компиляций пишет ошибка...и когда в игре захожу кикает, что тут за ошибка?
я понять не могу..

wmysterio
Администраторы
Скриптер
18.07.13 23:17
Offline
Цитата (mos_cracin)
При компиляций пишет ошибка...и когда в игре захожу кикает, что тут за ошибка?
У меня ошибка связана с меткой выхода MOS_CRACIN_644 в случае провала миссии. Она попросту отсутствует

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