Среда, 08.05.2024, 18:11
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
Den_spbДата: Среда, 02.06.2010, 22:07 | Сообщение # 211
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (klm88)
Каким кодом можно привязать часть маршрута автобуса к путям машин(где они есть).

Есть опкоды для работы с путями машин (если нужно это) - их можно найти в Поиске Опкодов по словосочетанию "car path".

Quote (klm88)
Как правильно и куда нужно перепрыгнуть чтоб правильно задать условия if or если их больше 9.

Почитай в справке, как оформляются условия (глава Условия). У тебя в коде написана бессмыслица. Не делай того, чего не понимаешь - сначала разберись.

Quote (klm88)
игра будет вылетать через какое то время?

Игра не вылетит - на это здесь нет причин. Но записывать указатель на что-либо в переменную-таймер бессмысленно, т.к. этот указатель будет тут же стёрт и обратиться к созданному объекту будет нельзя.

Quote (klm88)
А есть ли какой код типа : actor $PLAYER ACTOR near car 1@ in radius 5.0 5.0 5.0 ? что то там только 08A0: actor 0@ in_radius 100.0 near_model #NULL

Не понял, что должен делать код?

Quote (klm88)
Что нужнее проверять чтоб не было вылетаний: if not сar 1@wrecked ,или if car 1@ defined ?

Хороший вопрос. Прежде всего нужно проверять, существует ли машина кодом 056E: car 1@ defined (для актёра аналогичный код - actor defined, для объекта - object exists). Код сar 1@wrecked проверяет, выведена ли машина из строя (взорвана, потоплена) - если применить его к несуществующей машине, то игра вылетит.

Quote (klm88)
если поставить ignore paths то будет ли пытаться выехать на левую полосу?

Насколько помню, после установки ignore paths машина поедет в точку по кратчайшей траектории (по прямой)

Quote (klm88)
Что значит 072B: put_actor $Player actor into_car 36@ passengerseat -1 ? a ecли сделать -8 или 6,9 - то вылетит ?

Опкод сажает актёра в машину на указанное пассажирское сиденье. -1 в скриптинге обычно означает любое или неопределенное значение.

Quote (klm88)
Как лучше добавить педов садится-выходить из автобуса на остановках

Если нужно сделать выход пассажиров из автобуса, то: 1.создаешь пассажиров 2.сажаешь их в автобус 3.даешь команду на выход из автобуса 4.удаляешь у актёров references. Чтобы пассажиры входили в автобус, нужно "ловить" педов, находящихся неподалёку от автобуса кодами типа "get actor".

Quote
Что означает create actor in car@ handle as @?

Создаёт актёра и сажает его в указанную машину.
 
klm88Дата: Четверг, 03.06.2010, 00:18 | Сообщение # 212
Группа: Пользователи
Сообщений: 21
Статус: Offline
Спасибо.
Car.SetDriverBehaviour(0@, IgnoreRoadPaths) -такой что ли код для езды по прямой без путей?
А куда это лучше поставить : перед car 1@ drive to 1.0 2.0 3.0 или после ?


Сообщение отредактировал klm88 - Четверг, 03.06.2010, 00:22
 
Den_spbДата: Четверг, 03.06.2010, 03:17 | Сообщение # 213
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (klm88)
А куда это лучше поставить : перед car 1@ drive to 1.0 2.0 3.0 или после ?

По-моему не важно.
 
klm88Дата: Четверг, 03.06.2010, 09:03 | Сообщение # 214
Группа: Пользователи
Сообщений: 21
Статус: Offline
А этим кодом ловить педов? 02DD: 88@ = get_random_ped_in_zone 'SAN_AND' with_pedtype_civilian 1 gang 0 criminal/prostitute 1
есть код 0376: 18@ = create_random_actor_at -1576.88 55.26 8.57 ,как проверять тут : if random actor available ?(это чтобы его посадить в тачку)
А код 0202: actor $PLAYER_ACTOR near_car 40@ radius 45.0 45.0 flag 0 сработает ли в обоих случаях когда актор он_фут и когда в тачке?
На каком расстоянии исчезают тачки из поля зрения актёра? (мне показалось что больше чем 100(м)).
Каким кодом можно заставить педа копать или долбить землю лопатой?


Сообщение отредактировал klm88 - Четверг, 03.06.2010, 15:01
 
Den_spbДата: Четверг, 03.06.2010, 16:03 | Сообщение # 215
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (klm88)
А этим кодом ловить педов?

Code
repeat
       wait 0
       08E5: get_actor_in_sphere 27@ 28@ 29@ radius 50.0 handle_as 0@    
until 056D: actor 0@ defined

Quote (klm88)
Каким кодом можно заставить педа копать или долбить землю лопатой?
Если в игре есть такие анимации, то их можно применять к актерам скриптом (см. справку, раздел Анимации)
 
klm88Дата: Четверг, 03.06.2010, 19:03 | Сообщение # 216
Группа: Пользователи
Сообщений: 21
Статус: Offline
у меня @ для сфер не хватит не хватит,их всего 36 сфер+актёров по 5 на каждую надо.А хэндле это что даёт,надо чтоб сели pasengersit 1-9-99 .
Хотел такой код применить 0376: 18@ = create_random_actor_at -1576.88 55.26 8.57 но как его проверять не знаю,или можно его вообще не проверять?


Сообщение отредактировал klm88 - Четверг, 03.06.2010, 21:42
 
DK22PacДата: Четверг, 03.06.2010, 22:41 | Сообщение # 217
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Скажите а если уникальный актёр умер, то когда игра сама снимет ему уникальность? И ещё. Куда в таком варианте вернётся 'указатель' после return? На проверку (2)?
if(1)
Actor.Defined(1@)
then
gosub @obj_create
else
if
Object.Exists(5@)
then
Object.Destroy(5@)
end
end
if(2)
Actor.Defined(2@)
then
...


Сообщение отредактировал DK22Pac - Четверг, 03.06.2010, 23:05
 
Den_spbДата: Пятница, 04.06.2010, 04:36 | Сообщение # 218
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (DK22Pac)
Скажите а если уникальный актёр умер, то когда игра сама снимет ему уникальность?

По моим наблюдениям игра не снимает уникальность мёртвых актёров. А у взорванных машин уникальность снимается (игра их сама удаляет).

Quote (DK22Pac)
Куда в таком варианте вернётся 'указатель' после return? На проверку (2)?
Да. Это лучше видно, если скомпилировать и декомпилировать скрипт (return продолжает выполнение кода со следующей после gosub строки)
 
klm88Дата: Пятница, 04.06.2010, 14:27 | Сообщение # 219
Группа: Пользователи
Сообщений: 21
Статус: Offline
в коде 05CD: AS_actor -1 exit_car 22@
что такое -1 значит.(тот кто садился на место -1 чтоли ?

а тут ещё 05CF: AS_actor 102@ exit_car 73@ when_at 2316.4 -1519.2 24.3
актор 102@ значит выйдет когда кар на этих координатах?

А когда актёры садятся в тачки - это анимация или просто код put actor in car driversit/passngrsit ?

Den_spb,что значит этод код:


Можно ли так набить
Code

thread 'USFPEDS'  
1@ = 0  
10@ = 15
17@ = 4  
25@ = 12  
9@ = 9

.....
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0  
08E5: get_actor_in_sphere 11@ 12@ 13@ radius 25@ handle_as 1@(17@,16i)  
05CA: AS_actor 1@(17@,16i) enter_car 0@ passenger_seat 6 5000 ms  
if  
002D:   10@ >= 9@ // (int)  
jf @PEDS_813  
Actor.RemoveReferences(1@(17@,16i))
wait 10000  
jump @NONAME_4076  

:PEDS_813
wait 0
1@ = 0  
10@ = 15  
17@ = 4
25@ = 21   
wait 10000


Сообщение отредактировал klm88 - Пятница, 04.06.2010, 23:00
 
Den_spbДата: Пятница, 04.06.2010, 23:23 | Сообщение # 220
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (klm88)
что такое -1 значит.(тот кто садился на место -1 чтоли ?

Возможно, это означает - "любой актёр, находящийся в данной машине"
Quote (klm88)
а тут ещё 05CF: AS_actor 102@ exit_car 73@ when_at 2316.4 -1519.2 24.3 актор 102@ значит выйдет когда кар на этих координатах?
Судя по описанию опкода - да.
Quote (klm88)
А когда актёры садятся в тачки - это анимация или просто код put actor in car driversit/passngrsit ?

Актёров надо сажать в машины этими кодами:
Code
05CB: AS_actor $PLAYER_ACTOR enter_car 41@ as_driver 10000 ms // на водительское место
05CA: AS_actor $ACTOR_SMOKE enter_car 41@ passenger_seat 0 10000 ms // на место пассажира

Quote (klm88)
08E5: get_actor_in_sphere 11@ 12@ 13@ radius 25@ handle_as 1@(17@,16i)
Записывает в переменную случайного педа, находящегося в сфере с заданным центром и радиусом.
 
Den_spbДата: Пятница, 04.06.2010, 23:33 | Сообщение # 221
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (klm88)
Можно ли так набить

Замени 1@(17@,16i) на обычную переменную, например 26@.
Опкод поиска случайного актёра помести в цикл:
Code
repeat   
         wait 0   
         08E5: get_actor_in_sphere 27@ 28@ 29@ radius 50.0 handle_as 0@      
until 056D: actor 0@ defined
Иначе, если например в данной сфере нет педов, то игра вылетит при попытке посадить несуществующего педа в машину.
В конец скрипта нужно добавить 0A93.
 
klm88Дата: Суббота, 05.06.2010, 02:23 | Сообщение # 222
Группа: Пользователи
Сообщений: 21
Статус: Offline
Проще хотел сделать - надо просто из одного скрипта сделать jump переход на выполнение другого cs. файла и потом вернуться назад .Как этот переход на другой скрипт расписать можно?
 
Den_spbДата: Суббота, 05.06.2010, 02:56 | Сообщение # 223
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
Quote (d88)
Ты можешь сделать так чтоб они всё мигали жёлтым?
Наверно уже неактуально, но всё-таки: http://sannybuilder.com/forums/viewtopic.php?pid=11073#p11073

Quote (klm88)
Проще хотел сделать - надо просто из одного скрипта сделать jump переход на выполнение другого cs. файла и потом вернуться назад .
Проще думаю как раз объединить скрипты. Если не получается, то координировать их совместную работу с помощью обмена данными (например, с помощью глобальных клео-переменных, о которых я уже говорил)
 
klm88Дата: Суббота, 05.06.2010, 10:45 | Сообщение # 224
Группа: Пользователи
Сообщений: 21
Статус: Offline
A если сs. сделать kak cm. то внем можно больше @ делать - 1023@ ,но там надо li что либо писать чтобы типа if or $onmission=0 i/ili =1 to jump na metky :START_CAR1?

Что такое файлы с расширением с. ?

Сообщение отредактировал klm88 - Суббота, 05.06.2010, 10:49
 
Den_spbДата: Суббота, 05.06.2010, 16:36 | Сообщение # 225
Создатель сайта
Группа: Администраторы
Сообщений: 1598
Статус: Offline
cm - это клео-миссия. Запускается клео-миссия отдельным скриптом, в который нужно добавить проверку $onmission, т.к. в любой момент времени может быть запущена только одна миссия.
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: