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

etwnp
Пользователи
26.04.15 12:35
Offline
Вопрос, как вывести на экран полоску (индикатор)? Видел мельком на каком-то форуме. Только с помощью 038E?

Отредактировал etwnp - Воскресенье, 26.04.15, 16:45

BoPoH
Друзья
29.04.15 21:04
Offline
Цитата etwnp ()
Только с помощью 038E?
Если нужно вывести в определённом месте с определённым цветом, то да.

etwnp
Пользователи
29.04.15 21:21
Offline
Цитата BoPoH ()
Если нужно вывести в определённом месте с определённым цветом, то да.

Ясно, спасибо. В принципе, так даже удобней работать.

SanKing
Друзья
30.04.15 12:43
Offline
Цитата SINGER ()
Ребята, кто-то может создать скрипт, который введет в игру розыск авто копами. То есть если ГГ угнал авто на глазах у педов, то дают сразу 2 звезды розыска. Если же ГГ угнал авто ночью,когда никого не было на улице или в каком-то безлюдном переулке, то розыск автомобиля будет производится чуть позже, когда хозяин заявит копам. (В момент начала розыска начнут мигать две звезды. Стоит Вам показаться на глаза копам, как звезды активируются и Вас начнут преследовать. Если авто бросить, то звезды исчезнуть(только в том случае, если нет погони, то есть звезды мигали)). Нужно авто перекрасить и тогда можно спокойно кататься. А еще лучше, чтобы краденое авто не только красили но и делали на него поддельные документы, что будет стоить в зависимости от марки авто. Я бы делал минимум денег за такую работу самой фиговой развалюхи 7500-9500$, а дальше больше в зависимости от крутости авто. Мод добавил бы не только реализма, но и заставил бы "владельцев" краденых авто их беречь. Знаю, что похожее было в скрипте "WANTED", но здесь более круче получилось бы. "WANTED" немного не то, да и работает через раз...
 Молодец, разложил всё по полочкам (не сарказм). Кое-что попробую сделать.

SINGER
Проверенные
30.04.15 14:34
Offline
Цитата SanKing ()
Молодец, разложил всё по полочкам (не сарказм). Кое-что попробую сделать.
Главное не спеши...

GoldFish
Пользователи
05.05.15 11:16
Offline
Ребята, я тоже не много скриптингом начал заниматься smile
сейчас тока свою базу опкодов дабью, и буду скриптирить)

BoPoH
Друзья
06.05.15 05:14
Offline
Цитата goldfish777 ()
сейчас тока свою базу опкодов дабью, и буду скриптирить)
Зачем изобретать велосипед, когда есть Opcode Searcher? Ctrl+Alt+2
Да и вообще, ты маленько припозднился с началом изучения скриптинга SA. Скоро всё под пятёрку будет.
Отредактировал BoPoH - Среда, 06.05.15, 05:15

SINGER
Проверенные
07.05.15 13:26
Offline
Цитата BoPoH ()
Да и вообще, ты маленько припозднился с началом изучения скриптинга SA. Скоро всё под пятёрку будет.
И? Многие могут позволить себе пошпилить в GTA 5? От силы процентов этак 30. Если у тебя комп - ракета, это не означает, что у всех крутонавороченные компы. У кого-то среднячок, как у меня, у кого-то еще ниже. Большинство дальше рубятся в GTA SA или даже в классику GTA 3, GTA VC. Тоже самое говорили как только вышла GTA IV, что мол типа все, скриптинг переезжает на новую GTA 4! И что? Все сразу же забыли о SA? Нееееет. 
goldfish777, так, что давай, учись! Сейчас большинство в Саньку рубятся. Только не делай бредовых скриптов, типа мод реализма "СЖ - супермен!". Удачи и не слушай никого, кто говорит "Дружище, ты опоздал. Завтра во всем мире все массово выбросят свои копии GTA SA  в мусорник и будут шпилять и модить только GTA V".

GoldFish
Пользователи
19.05.15 13:27
Offline
Друзья! сейчас активно занимаюсь скриптингом, если вы можете чем-то помочь я был бы очень рад,
предлагаю взаимное сотрудничество smile
мой ВК https://m.vk.com/vk.goldfish

etwnp
Пользователи
17.06.15 18:17
Offline
Как блин записать в переменную из строкового массива? 0A8F: 0@s = $array(1@,2s) - 0 думаю не стоит отнимать от строки, или даже пустую строку. Другим способом? Или что?

Добавлено (17.06.15, 17:17)
---------------------------------------------
Все, я понял, надо определить его с помощью var и обращаться без опкода. Флуд)

Отредактировал etwnp - Среда, 17.06.15, 16:39

softcrasoft
Пользователи
04.07.15 10:39
Offline
Ребят всем привет.
Есть очень важный вопрос:
А можно ли миссии делать не в main.scm, а в cleo?
Я сейчас не говорю о типа cleo миссиях, а я о простых. Вот как в обычной оригинальной игре.
Просто уже вот даже в начале по урокам скриптинга на этом сайте, просто решил посмотреть main, никогда с ним не работал, заодно вспомнить. А то я отходил от темы скриптинга на месяца 3-4. О времени можно говорить, найдя мое поседнее сообщ на сайте.)
Так вот main, я уже в нем путаюсь в самом чистом. От количества потоков, от главного файла уже кружится голова. Я привыык к простому скрипту cleo, где все норм написано. 1 поток, никаких путонец.

SanKing
Друзья
04.07.15 13:06
Offline
softcrasoft, могу посоветовать только это.

softcrasoft
Пользователи
04.07.15 15:34
Offline
Ага, только как я понимаю, у тебя не буджет возможности начать миссии при начале игры и т.д.
Еще есть такой вопрос.
Пришлось выучить массивы, и есть такой вопрос:
Как сделать 40 актеров я пока что примерно представляю:
var
act: array 40 of actor
end
04C4: store_coords_to $x $y $z from_actor $PLAYER_CHAR with_offset 1.0 3.0 1.0

for i=0 to 40
$act[$i] = actor.create(4, #MODEL, $x, $y, $z) //Надеюсь ничего не пропустил
actor.angle($act[$i]) = 100.0
$x -= 3
end
Соответственно выше будут написаны проверки на клавишы, загрузки моделей и т.д.
А как сделать так, что бы актеры не только следовали за cj, но и защищали его? Да и еще. Как им дать оружие, установить точность и патроны на неогранич? Где-то видел, но уже не помню где.

wmysterio
Администраторы
Скриптер
04.07.15 16:35
Offline
Цитата softcrasoft ()
Ага, только как я понимаю, у тебя не буджет возможности начать миссии при начале игры и т.д.
Cleo-миссии, как и Cleo-скрипты - это независимые сущности. Когда будет доступна миссия определяется непосредственно в стартере.

Цитата softcrasoft ()
Соответственно выше будут написаны проверки на клавишы, загрузки моделей и т.д. А как сделать так, что бы актеры не только следовали за cj, но и защищали его? Да и еще. Как им дать оружие, установить точность и патроны на неогранич? Где-то видел, но уже не помню где.
Код
{$CLEO}
wait 4000

var  
0@: array 25 of actor  
end  

Model.Load(#FAM1)
Model.Load(#TEC9)
038B: load_requested_models

26@ = 2494.4709  
27@ = -1658.6969  
28@ = 13.35

for 29@ = 0 to 25  
wait 0
0@(29@,28i) = Actor.Create( 8, #FAM1, 26@, 27@, 28@)
     if
     056D:   actor 0@(29@,28i) defined
     then
     Actor.Angle( 0@(29@,28i) ) = 100.0  
     02E2: set_actor 0@(29@,28i) weapon_accuracy_to 75 // %
     0850: AS_actor 0@(29@,28i) follow_actor $PLAYER_ACTOR
     077A: set_actor 0@(29@,28i) acquaintance 0 to_actors_pedtype 0  
     077A: set_actor 0@(29@,28i) acquaintance 4 to_actors_pedtype 25
     01B2: give_actor 0@(29@,28i) weapon 32 ammo 4000
     end
26@ -= 3.0    
end  

Model.Destroy(#FAM1)
Model.Destroy(#TEC9)       
0A93: end_custom_thread
К сожалению, чтобы адекватно защищали нужно поместить в группу игрока, но там максимум 7 человек можно добавить.

softcrasoft
Пользователи
04.07.15 17:05
Offline
Мда уж.
7 человек так 7.
А что за опкоды:
     077A: set_actor 0@(29@,28i) acquaintance 0 to_actors_pedtype 0 
     077A: set_actor 0@(29@,28i) acquaintance 4 to_actors_pedtype 25
Да, и еще вопрос, чем отличаюстя переменные Player_actor от PLAER_CHAR?

wmysterio
Администраторы
Скриптер
04.07.15 17:25
Offline
Цитата softcrasoft ()
077A: set_actor 0@(29@,28i) acquaintance 0 to_actors_pedtype 0
077A: set_actor 0@(29@,28i) acquaintance 4 to_actors_pedtype 25
Устанавливают отношение актёра к другим пешеходам. Первый параметр - отношение:
0 Превознесение (не будут нападать)
1 Уважение (могут отвечать на атаки в их сторону)
2 Равнодушие (будут нападать только тогда, когда атакуют их)
3 Неприязнь (есть шанс напасть)
4 Ненависть (будут нападать при первой возможности
второй параметр - тип пешехода
Цитата softcrasoft ()
Да, и еще вопрос, чем отличаюстя переменные Player_actor от PLAER_CHAR?
Переменные - только названием. Гораздо важнее что они хранят в себе. Player_actor хранит ссылку на актёра, которым управляет игрок, PLAER_CHAR - хранит ссылку на самого игрока. Разница в классе сущностей. 'Actor' представляет любого пешехода, в тот час как 'Player' представляет только того актёра, которым управляет игрок.

softcrasoft
Пользователи
04.07.15 17:36
Offline
1. Я говорил и буду говорить. ТЫ ЛУЧШИЙ СКРИПТЕР. Благоадря тебе я чувствую себя в игре как бог;
2. Не понял. Что значит актер главного перса и игрок?
В чем разница, если мы будем использовать в опкоде 04c4 $PLAYER_CHAR или $PLAYER_ACTOR?

Добавлено (04.07.15, 16:36)
---------------------------------------------
Да и совсем забыл, а что за опкод?
     0850: AS_actor 0@(29@,28i) follow_actor $PLAYER_ACTOR
Это типа добавление актера в группу к игроку?


wmysterio
Администраторы
Скриптер
04.07.15 19:36
Offline
Цитата softcrasoft ()
Я говорил и буду говорить. ТЫ ЛУЧШИЙ СКРИПТЕР. Благоадря тебе я чувствую себя в игре как бог
Это хорошо smile Если и дальше стараться, то можно чувствовать себя свехбогом ))
Цитата softcrasoft ()
Не понял. Что значит актер главного перса и игрок? В чем разница, если мы будем использовать в опкоде 04c4 $PLAYER_CHAR или $PLAYER_ACTOR
Опкод 04C4 требует ссылку на актёра. Если передать $PLAYER_CHAR, то по-сути будет идти передача ссылки на игрока и в результате - вылет, так как это разные сущности(классы, структуры). Могу привести пример на C#, чтобы лучше понять:
Код
    public class actor {
         public string Name { get; set; }

         public actor( string Name ) { this.Name = Name; }
     }

     public class player {

         public actor Actor { get; set; }
      
         public string Name { get; set; }

         public player( string Name ) {  
             this.Name = Name;
             Actor = new actor( "$PLAYER_ACTOR" );
         }

     }

     public class MyThread {

         public MyThread() {

             var PlayerChar = new player( "$PLAYER_CHAR" );
             var PlayerActor = PlayerChar.Actor;

             SetPosition( PlayerActor );
             SetPosition( PlayerChar ); // Вылет

         }

         public void SetPosition( actor anyActor ) { }

     }
Если представить, что класс MyThread - это эквивалент потока мейна(ну или любого другого), то при вызове метода "SetPosition", пусть это будет прототип опкода 04C4, мы можем передать только объект класса actor. Однако если мы передадим туда объект класса player, то произойдёт ошибка - конфликт типов. В C# мы контролируем контроль передачи переменных, но на уровне скрипта scm - нет. Мы можем передать что угодно, однако работать будет только с актёром.
Если нужно коротко, то во всех опкодах где есть слово "player" - пиши $PLYAER_CHAR. Во всех остальных случаях - $PLAYER_ACTOR
Цитата softcrasoft ()
Это типа добавление актера в группу к игроку?
Нет, заставляет следовать актёра за другим актёром.

softcrasoft
Пользователи
04.07.15 19:57
Offline
спасибо, опять повторюсь, ТЫ ЛУЧШИЙ СКРИПТЕР. так мне еще никогда не объясняли.
одни посылали куда подальше, а другие объясняли так, что только они так помогают.
Одним словом, СПАСИБО!

wmysterio
Администраторы
Скриптер
04.07.15 20:04
Offline
Цитата softcrasoft ()
спасибо, опять повторюсь, ТЫ ЛУЧШИЙ СКРИПТЕР. так мне еще никогда не объясняли. одни посылали куда подальше, а другие объясняли так, что только они так помогают. Одним словом, СПАСИБО!
Рад помочь!

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