Форум - Скриптинг в GTA
27 Июля 2017, 03:15:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Обсуждаем содержание хелпа к Sanny Builder’y.  (Прочитано 6121 раз)
0 Пользователей и 1 Гость смотрят эту тему.
yelmi
Администратор
*****
Офлайн Офлайн

Сообщений: 321



« : 02 Ноября 2007, 17:45:04 »

В этой теме вносим свои предложения, замечания по поводу содержания или оформления хелпа.
Записан
LAMO
Пользователь
**
Офлайн Офлайн

Сообщений: 60


« Ответ #1 : 10 Февраля 2008, 11:43:13 »

не удавлетварен главой клео коде либрари.сказана лишь аб устанофке клео.папулярна,я имею виду.далее научна-папулярная балтавня.ни удивительно,что хэлпоф к санибилдеру море,а тех,кто вэтам мори ни утанул идиницы.в данай главе упаминались апкоды-факчически,те самые клео-скрипты,да?но я не просек,а че это?собсна,не прасикет и другой.списак апкодаф с указаниям парамитраф...да уш.а че ани абисняют вламы абиснить?абычна,хэлпы пишут не для знатаков и прафисианалаф,ани и бес хэлпаф знают че делать с прогой,а для чайникаф,вроде миня.саздаеца вчипитление,че афтар нарочна запугивает тэрминами,дабы атпугнуть ламераф,лахоф и чайникаф,как линуксоиды мастдаефцеф.и те и эти кажись баяца канкуренции.Помница,кто-та уже гаварил,что конец света,эта када каждый юзыр саздаст сваю виндовс.пахожи афтар хэлпа,некий аликсандер(Yelmi,ты штоли?)боица этава самава канца света и предатвращаит иво,типа гаваря-сматрите,я даю вам знание!но знание это урезано-кастрированое какоета.вы читали хэлпы и мануалы на англицкам в ихже прогах?там веть сотни страниц,где аписана все.даный хэлп,у миня такое вчипитление,читаешь бута на туалетнай бумаги.Афтар,мысли шире.пользаватилям хэлпа важна фсе-че азначаит каждая букава,цыфирка,а то пишит-0A91(че эта?-прим.мае): [var] = [valA] / [valB] // int(с кем он щаз разгаваривал?-прим.мае)
Записан
LAMO
Пользователь
**
Офлайн Офлайн

Сообщений: 60


« Ответ #2 : 11 Февраля 2008, 11:59:23 »

не удавлетварен главой клео коде либрари.сказана лишь аб устанофке клео.папулярна,я имею виду.далее научна-папулярная балтавня.ни удивительно,что хэлпоф к санибилдеру море,а тех,кто вэтам мори ни утанул идиницы.в данай главе упаминались апкоды-факчически,те самые клео-скрипты,да?но я не просек,а че это?собсна,не прасикет и другой.списак апкодаф с указаниям парамитраф...да уш.а че ани абисняют вламы абиснить?абычна,хэлпы пишут не для знатаков и прафисианалаф,ани и бес хэлпаф знают че делать с прогой,а для чайникаф,вроде миня.саздаеца вчипитление,че афтар нарочна запугивает тэрминами,дабы атпугнуть ламераф,лахоф и чайникаф,как линуксоиды мастдаефцеф.и те и эти кажись баяца канкуренции.Помница,кто-та уже гаварил,что конец света,эта када каждый юзыр саздаст сваю виндовс.пахожи афтар хэлпа,некий аликсандер(Yelmi,ты штоли?)боица этава самава канца света и предатвращаит иво,типа гаваря-сматрите,я даю вам знание!но знание это урезано-кастрированое какоета.вы читали хэлпы и мануалы на англицкам в ихже прогах?там веть сотни страниц,где аписана все.даный хэлп,у миня такое вчипитление,читаешь бута на туалетнай бумаги.Афтар,мысли шире.пользаватилям хэлпа важна фсе-че азначаит каждая букава,цыфирка,а то пишит-0A91(че эта?-прим.мае): [var] = [valA] / [valB] // int(с кем он щаз разгаваривал?-прим.мае)
а-а-а,неее!Эта я другой хэлп критикую.Ат Александера,а не ат симэна и ксиона.У этих двух нармальный хэлп.Вроди...Я ишче пачитаю
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #3 : 10 Июня 2008, 14:07:47 »

Какой конкретно хелп обсуждаем? Почему в начале форума нет ссылки на хелп.
Скажу одно у меня Хелп Александра.
Там тема есть про вывод текста на экран. Чесно сказать пистец чувак понаплёл, всё в кучу собрал и объявил, что Вывод текста лучше выводить переменными и Точка. Как куда выводить я так и не понял,
хотьбы пример скрипта привёл....ваапще пистец объяснение для натуральных чайников, после этого хелпа я в глубоком шоке.  Показывает язык
Записан
Admiral
Пользователь
**
Офлайн Офлайн

Сообщений: 100


Scorpion


« Ответ #4 : 26 Августа 2008, 15:28:07 »

Но хелпами трудно научиться скриптингу, нужно и самому поюзать.  Подмигивающий
Записан
Gadina
Пользователь
**
Офлайн Офлайн

Сообщений: 148


мастерство не пропьёш...


« Ответ #5 : 17 Октября 2008, 09:58:58 »

Я обращаюсь ко всем желающим разобраться как скриптить.
Объясню на пальцах то, что я понял то, что мне Объясняли, правда я тупой жутко и долго доходит.
Я уверен, что вы не такие.

И так, начинаем скриптить. Открываем SannyBuilder.
Слева в верхнем углу под вкладкой Файл есть чистый лист, тыкаем в него. Начинаем Новый скрипт.
Первая строка нашего скрипта должна обозначать в каком расширении скрипт будет  КОМПЕЛИРОВАТЬСЯ.
А вторая строка Не допускает склеиться Оснавному скрипту с вашим.

{$CLEO .cs}
0000:nop

ДАлее Объясняю следующее как Работает ета чертовщина.
Представьте себе как будто вы читаете книгу Сверху вниз. И в конце каждой страницы есть номер страницы.
Также и скрипт работает. Тоесть скрипт не может читать И сверху и снизу и в середине да ещё и одновременно.

Когда мы делаем, что то, Как то, строим Чего нибудь из Объектов, хотим поставить Машинку или взять персонажа.
Так всё что мы Хотим взять мы должны сначала Загрузить а потом использовать по назначению.
МАШИНЫ , АКТЁРЫ, Предметы- ЭТО модели которые предварительно загружаются , а после использования выгружаются.
Вот как Это происходит:
Код:
{$CLEO .cs}
0000:nop

:LIST_MODEL_LOAD_1 //Создаём отметку это как страничка в книге с номером и заголовком. Отметка начинается с Оглавления, двоеточие  :
wait 0 //Это означает подождать 0 секунд. Ниже расскажу зачем.
model.load(#POLMAV)//Загружаем Полицейский верталёт.
model.load(3786)    //Загружаем модель ракеты.  Объекты надо загружать не по имени а по ИД номеру.
model.load(#SWAT)  //Загружаем модель полицейского.
038B: load_requested_models //Остановить загрузку моделей. Это такой специальный опкод запомните его.
                            //Вот скрипт дочитал и читает дальше переходя на следующую страничку.

:LIST_model_aviable_2 //Создаём вторую отметку. НАм обязательно нужно проверить что наши модели были загружены.
wait 0                //Обязательно перед проверкой надо Ждать 0-сек. Это такая специальная команда чтобы проверки распознавались. Не надо писать Ждать 5000 секунд это совсем не к чему.
if and //Оператор Отвечающий за создания условия. Переводится как "ЕСЛИ И" , жёсткое условие- Если выполненно ТОто и ТОто и ЕЩЁ тото, тогда выполним действие....
 model.Available(#POLMAV) //Модель Верталёта загружена.
 Model.Available(3786)     //Модель ракеты загружена.
 Model.Available(#SWAT)   //Модель персонажа загружена.
 else_Jump @LIST_model_aviable_2    //Это оператор -=else_jump=- окончания проверки он спрашивает - ВСЕ УСЛОВИЯ ПРОВЕРКИ БЫЛИ ВЫПОЛНЕНЫ?
                         //И если не все то мы предложим заново проверить загрузку моделей, послав его читать страницу с начала @COPMAV_1. 
                         //Если созданное условие было выполненно то выполняем следующие действия.Всё что ниже оператора будет выполняться.
car.Create(0@,#POLMAV,2500.7698, -1666.3772, 13.3619)    //Cоздаём транспорт и даём ей Имя присоив переменную 0@.
actor.Create(1@,05,#SWAT,2497.509, -1679.5973, 13.0)//Cоздаём Актёра с именем 1@ класс-06(полицейский) модель-#SWAT
object.Create(2@,3786,2483.7324, -1660.6086, 12.50)   //Создаём Объект
//Кароче модель это как пластилин мы придали ему форму. Но учтите нельзя из модели транспорта сделать-Объект и наоборот.
//Далее если мы использовали модели модели для моздания то их надо выгрузить.
wait 0
model.Destroy(#POLMAV)//Убираем модель вертолёта из загрузки. Нефиг захламлять.
model.Destroy(3786)    //Убираем модель.
model.Destroy(#SWAT)  //Убираем модель.
//У нас теперь есть 3 игрушки 0@ 1@ 2@. Теперь мы можем их между собой как то использовать.
//а дальше мы можем написать нашим моделям действия.
//Давайте Посадим актёра в машину , а предмет сделаем поднимаемым. Cоздадим условие при котором всё произойдёт.

:CAR_ACTOR_OBJECT
wait 0
if //Одно условие просто ЕСЛИ
 0104:   actor $PLAYER_ACTOR near_actor 1@ radius 5.0 5.0 15.0 sphere 0 //Актёр $PLAYER_ACTOR (это стандартное имя Карла) Находится радом с актёром в радиусе 5.0 метров X-Y, 15.0-Z высота, может вы на верталёте прилетите.
else_jump @CAR_ACTOR_OBJECT //А если всё правильно то выполняем то что ниже если нет то ждём пока будет правильно.
08E9: set_object 2@ liftable 1 //Устанавливаем что Объект поднимаемый 1-да 0-нет
06E2: AS_actor 1@ run_to_object 2@ timelimit -1 stop_within_radius 0.0 //Актёр бежит к Объекту какоето время -1 означает пока не добежит. Останавливается рядом с ним на растоянии 1.0

:ACTOR_OBJECT_LIFT
wait 0
if    //ЕСЛИ
  0471: unknown_actor 1@ near_object 2@ radius 1.50 1.50 unknown 0  //Если актёр рядом с Объектом на расстоянии 1.50
else_jump @ACTOR_OBJECT_LIFT
07C9: AS_actor 1@ walk_to_object 2@ then_lift_and_hold_in_hands //Актёр поднимает Объект.
wait 3000
07CD: AS_actor 1@ walk_to 2499.2161 -1662.6034 13.3569 stop_with_angle 270.0 within_radius 0.0 //-Актёр сбрасывает предмет держащий в руках в условленном месте
wait 2000

 
:ACTOR_CAR_driving
wait 0
if
 0202:   actor 1@ near_car 0@ radius 3.0 3.0 flag 0 //Если актёр рядом с машиной в радиусе от неё 3.0
 else_jump @ACTOR_CAR_driving
 wait 1000
0681: attach_object 2@ to_car 0@ at_offset -1.5 0.0 0.50 rotation 0.0 0.0 0.0 //Прицепляем Объект на Определённом расстоянии к машине. Прицепленный Объект к машине нельзя отцепить. Если он нам нужен то мы его ещё раз создадим потом.
wait 1000
05CB: AS_actor 1@ enter_car 0@ as_driver 10000 ms //Актёр идёт к машине чтобы сесть за руль.
wait 5000
//Если ИГРУШКИ нам больше не нужны то удаляем их . Если ИГРУШКИ не удалять то вы засрёте Игру напроч.
 actor.RemoveReferences(1@) //Актёр удалён из памяти . Действия с актёром не возможны.
 car.RemoveReferences(0@)   //Машина удалена из памяти и стала обычной.
 object.RemoveReferences(2@) //Объект удалён из памяти и больше не доступен для использования.
 //Актёр пойдёт своим путём он коп.
 //Машина Будет дожидаться своего водителя Либо исчезнет как обычная городская машина.
 //Объект сохраняет свои свойства поднимания и тоже исчезнет когда игрок удалиться от него на Н-ое расстояние
 //Можно ставить точку. Модели мы удалили, Игрушки убрали на полку.
 0A93: end_custom_thread  //  -Закончить работу скрипта .
 //Либо сделать Рестарт чтобы скрипт повторялся вновь и вновь.
 //wait 5000
 //JUMP @LIST_MODEL_LOAD_1
НАжимаем F-6 Или на иконку скомпелировать-(Левая иконка с бегущим человечиком)
Всё. Готово Идём смотреть чё сделали. Тыкайте на Значёк запуска игры из Сани булдера.
Теперь Основа.
Текущие координаты Игрока можно увидеть в Сани булдере , Нажмите CTRL+ALT+1
Справочник опкодов существующих в игре - CTRL+ALT+2
Помощь по рассталковке опкодов Хелп F-12

В Хелпе Открвываем следующие рубрики.
"Помощь по SCM." -GTA SA
"СТАТЬИ" - Введение в скриптинг.
Там увидите Описание что делает опкод для ТРАНСПОРТА Актёра ОБЪЕКТА с пояснением и прочим.

Создание клео скрипта.
Пояснение для "хелп от Александра".

________________________________________________________________
Памятка начинающим скриптерам Основные правила

Создание клео скрипта.
Пояснение для "хелпа от Александра".

CLEO первое правило : Создавая скрипт клео нельзя использовать переменные $CAR , нужно использовать переменные 1@.
Всего можно использовать 32 переменные тоисть от 0@ до 32@.
Базовые переменные остаются неизменными такие как:
$PLAYER_ACTOR
$PLAYER_CHAR
$CLEO
                 
CLEO второе правило: Команда остановки скрипта
Код:
0A93: end_custom_thread
-Закончить работу скрипта.
В хелпе в примерах используется комманда end_thread такая команда для клео не верна.

CLEO третье правило: Незабывайте использовать опкод который не даёт склеить ваш скрипт с основным:
0000:NOB

СLEO четвёртое правило: Создание клео скрипта начинается со строки:
($CLEO)

CLEO пятое правило: Перед каждой проверкой ставится оператор:
Wait 0
Код:
:Proverka
wait 0
if
 actor.Driving($PLAYER_ACTOR)
 else_jump @Proverka
 player.Money($PLAYER_CHAR) += 1
 wait 3000
 jump @Proverka



CLEO Шестое правило: Все модели кторые загружаются должны быть выгружены после использования:
model.Destroy(#ADMIRAL)
МОДЕЛЬ- подразумевает 3D объект.
Модель может быть - Актёром, Машиной , Объектом.
Актёр-Модель с костями и своей динамикой не может быть Объектом или Транспортом.
Транспорт- модель не может использоваться как Объект или Актёр.
Объект- модель не является динамичной и не может быть Транспортом или Актёром.

Создав Транспорт или Актёра или Объект он обязательно должен быть удалён после использования
Код:
Actor.Create(1@,08,#WMYCH,123.0,435.0,45.0) -Создан Актёр 1@, пренадлежит группе игроков 02,Модель актёра #WMYCH.
Удаляем сведенья о актёре разными способоми:
actor.RemoveReferences(1@) -Актёр становится обычным прохожим исчезающим когда вы отдалитесь. Все сведенья Об актёре удалены и его использование не возможно.
или
actor.DestroyInstantly(1@) -Удалить актёра и сведенья об актёре. Актёр исчезнет мгновенно. Все сведенья Об актёре удалены и его использование не возможн

Нельзя создавать актёров или машины или Объекты писав их Друг на ДРуга:
Код:
Actor.Create(1@,08,#WMYCH,123.0,435.0,45.0)
Actor.Create(1@,08,#COPGRL3,123.0,435.0,45.0)
actor.DestroyInstantly(1@)// -Удалиться последний созданный Актёр с Именем 1@

В таком варианте Актёр с моделью #WMYCH Окажется в памяти Причём его Хрен удалишь и нельзя использовать.

Загружая МОдели в конце всегда Останавливайте Загрузку уже выбранных моделей:
Код:
model.load(#COPCARLA)
model.load(#CHROMEGUN)
038B: load_requested_models

CКрипт состоит из Условий(Опкоды которые проверяют что либо)
И Действий(Опкоды которые устанавливают действие).
Принцып создания и удаления моделей:
Код:
{$CLEO .cs}
0000: NOP

:ZAGRUZKA
model.Load(#ADMIRAL)
model.Load(#ARMY)
model.Load(1805)
038B: load_requested_models //-Закончить загрузку моделей

:CREATE
wait 0
if and//ЕСЛИ и
 Player.Defined($PLAYER_CAHR) //- игрок найден или уже создан
 model.Available(#ADMIRAL) //Модель загружена
 model.Available(#ARMY) //Модель загружена
 model.Available(1805) //Модель загружена
else_jump @CREATE //Условия выполнены? Если нет то возвращаемся на :CREATE , А если выполнены то Выполняем действие ниже.
car.Create(1@,#ADMIRAL,2489.7385, -1671.9688, 13.3359)
actor.Create(2@,06,#ARMY,2485.8689, -1671.8588, 13.3359)
object.Create(3@,1805,2481.78, -1671.9132, 13.3401)
wait 1000 //Подождём Секунду
model.Destroy(#ADMIRAL)  //Удаляем модель из памяти.Выгружаем .  (Мы не собираемся Больше создавать, поэтому выгружаем модели.)
model.Destroy(#ARMY)    //Удаляем модель из памяти.Выгружаем  .
model.Destroy(1805)     //Удаляем модель из памяти.Выгружаем .
wait 60000 //Ждём 1 минуту и удаляем все сведенья .
car.RemoveReferences(1@)  //Удалить сведенья о машине. Машина исчезнет если вы удалитесь от неё.
actor.RemoveReferences(2@) //Удалить сведенья о актёре. Актёр станет прохожим своего класса.
Object.RemoveReferences(3@) //Удалить сведенья о Объекте. Объект исчезнет если вы удалистесь от него.
0A93: end_custom_thread //-Закончить работу скрипта





« Последнее редактирование: 23 Октября 2008, 09:38:52 от Gadina » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Яндекс.Метрика Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0.104 секунд. Запросов: 20.

Google visited last this page 12 Июля 2017, 10:53:05