Суббота, 20.04.2024, 18:22
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
Den_spbДата: Воскресенье, 07.11.2010, 13:39 | Сообщение # 361
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (ТЭВЗ_FECL)
1.Баллоны создаются автоматически (их сотни)!!!
Это потому, что ты неверно оформил условие. По идее надо было написать так:
Code
if and    
player.Defined($PLAYER_CHAR)    
model.Available(1370)    
not actor.Driving($PLAYER_ACTOR)    
00E1: key_pressed 0 304489    
jf @NONAME_2
Но учитывая то, что проверку на существование актёра (объекта, машины) нельзя объединять с другими проверками, относящимися к этому актёру, то следует переписать конструкцию так:
Code
if    
player.Defined($PLAYER_CHAR)
jf @NONAME_2
if and    
model.Available(1370)    
not actor.Driving($PLAYER_ACTOR)    
0AB0: key_pressed 220 //  это номер кнопки \ , но можно взять и другую кнопку
jf @NONAME_2

Quote (ТЭВЗ_FECL)
2.Баллоны висят в воздухе (если в них выстрелить то они падают)
1.Чтобы баллон стоял на земле, надо оффсет по высоте взять не 1.0, а -1.0.
2.В клео-скриптах не используются глобальные переменные, вместо них применяются локальные.
3.После создания объекта, актёра или машины, надо выгружать его модель из памяти.
Учитывая всё вышесказанное, надо переписать эту часть кода так:
Code
04C4: create_coordinate 0@ 1@ 2@ from_actor $PLAYER_ACTOR offset 1.0 1.0 -1.0    
object.Create(3@ 1370 0@ 1@ 2@)    
model.destroy(1370)
object.RemoveReferences(3@)
wait 1000
jump @NONAME_1

Quote (ТЭВЗ_FECL)
3.Баллоны не взрываются
Это потому, что создаётся много баллонов. Если переделать скрипт с учётом всего вышесказанного, то баллоны будут взрываться.
П.С.Загрузку модели лучше вставить после проверки на нажатие клавиши, чтобы она загружалась тогда, когда нужна.
 
ТЭВЗ_FECLДата: Понедельник, 08.11.2010, 14:49 | Сообщение # 362
Группа: Модераторы
Сообщений: 36
Статус: Offline
Спасибо большое работает!

Сообщение отредактировал ТЭВЗ_FECL - Вторник, 09.11.2010, 12:00
 
H@ckErДата: Понедельник, 08.11.2010, 17:16 | Сообщение # 363
Группа: Пользователи
Сообщений: 2
Статус: Offline
Как сделать обычный телепорт в координаты X Y Z ?
 
ТЭВЗ_FECLДата: Понедельник, 08.11.2010, 18:22 | Сообщение # 364
Группа: Модераторы
Сообщений: 36
Статус: Offline
Всмысле скриптом?
 
H@ckErДата: Понедельник, 08.11.2010, 18:29 | Сообщение # 365
Группа: Пользователи
Сообщений: 2
Статус: Offline
да, нижимаю кнопку он телепортирует! и как сделать чтоб интерьер загружался тоже
 
Den_spbДата: Понедельник, 08.11.2010, 20:11 | Сообщение # 366
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (H@ckEr)
да, нижимаю кнопку он телепортирует! и как сделать чтоб интерьер загружался тоже

Телепорт игрока осуществляется командой:
Quote
00A1: put_actor $PLAYER_ACTOR at 345.5621 306.2212 998.4484

Сначала надо проверить, существует ли игрок с помощью команды player.Defined($PLAYER_CHAR), затем проверить, нажата ли нужная кнопка.
Про интерьеры есть подробная информация в справке к СБ, раздел Документация по SCM - GTA SA - Интерьеры
 
CripZДата: Суббота, 13.11.2010, 18:26 | Сообщение # 367
Группа: Проверенные
Сообщений: 23
Статус: Offline
Den_spb, помоги пожалуйста,
есть ли стиль походки на роликах?
нужно что бы актёр передвигался как на роликах,Как это сделать?
или это только анимации?
 
Den_spbДата: Суббота, 13.11.2010, 20:51 | Сообщение # 368
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Что-то я в SA не видел педов на роликах. Может быть, такая возможность и есть, но не используется.
Что касается стилей походки, то в main.scm применяются только следующие стили:
"FATMAN" - толстяк
"GANG1" - гангстер 1
"GANG2" - гангстер 2
"MAN" - мужчина
"WOMAN" - женщина
"BLINDMAN" - слепой мужчина
"SEXYWOMAN" - сексуальная женщина
"DRUNKMAN" - алкаш
 
DK22PacДата: Воскресенье, 21.11.2010, 18:39 | Сообщение # 369
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
На форму СБ говорили, что есть свободные байты в структуре автомобиля, а где именно?
И есть ли такое у педов? Если нет, то может есть какие-то ненужные флаги в структуре?
 
Den_spbДата: Воскресенье, 21.11.2010, 18:51 | Сообщение # 370
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (DK22Pac)
На форму СБ говорили, что есть свободные байты в структуре автомобиля, а где именно?

Посмотри скрипты расхода бензина, например этот: http://sannybuilder.com/forums/viewtopic.php?id=935
Quote (DK22Pac)
И есть ли такое у педов? Если нет, то может есть какие-то ненужные флаги в структуре?

Может быть. Я этого не знаю.
 
DK22PacДата: Воскресенье, 21.11.2010, 18:55 | Сообщение # 371
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
Хм... А как бы ты сделал, если бы надо было бы, чтобы в постоянном цикле был перебор пула педов с отнимаем каждому педу по 10 хелсов, но так, чтобы повторно для одного педа хелсы не отнимались?
 
Den_spbДата: Воскресенье, 21.11.2010, 23:15 | Сообщение # 372
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
А почему бы просто не проверить здоровье педа (если больше определённой величины, то отнимаем)?
Вообще, если нужно "отметить" педа, то первая идея, которая мне пришла на ум - записать какое-нибудь нетривиальное значение (например, 123) по смещению "максимальное здоровье" (CPed +0x544 = [float] Максимальное здоровье)
 
Unreal_SergeyДата: Понедельник, 29.11.2010, 09:15 | Сообщение # 373
Группа: Проверенные
Сообщений: 7
Статус: Offline
Что нужно изменить в скрипте "нормальной камеры для поезда", чтобы работал на всех поездах/трамваях (в том числе и добавленных)?
Вот отрывок (вроде тут надо что-то поменять):
Code
if    
      Player.Defined($PLAYER_CHAR)
else_jump @POEZD_15    
if or
      Actor.DrivingVehicleType($PLAYER_ACTOR, #FREIGHT)
      Actor.DrivingVehicleType($PLAYER_ACTOR, #STREAK)
else_jump @POEZD_15    
03C0: $12435 = actor $PLAYER_ACTOR car    
if and
82BF:   not car $12435 sunk    
8981:   not train $12435 wrecked    
else_jump @POEZD_15    
wait 250    
078A: $12436 = get_train $12435 carriage 1 handle    
078A: $12437 = get_train $12435 carriage 2 handle    
078A: $12438 = get_train $12435 carriage 3 handle    
078A: $12439 = get_train $12435 carriage 4 handle    
078A: $12440 = get_train $12435 carriage 5 handle    
jump @POEZD_153

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


Сообщение отредактировал Unreal_Sergey - Понедельник, 29.11.2010, 09:17
 
Den_spbДата: Понедельник, 29.11.2010, 23:01 | Сообщение # 374
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Надо заменить
Code
if or  
       Actor.DrivingVehicleType($PLAYER_ACTOR, #FREIGHT)  
       Actor.DrivingVehicleType($PLAYER_ACTOR, #STREAK)
на
Code
if
       09AE:   actor $PLAYER_ACTOR driving_train
 
Unreal_SergeyДата: Вторник, 30.11.2010, 20:06 | Сообщение # 375
Группа: Проверенные
Сообщений: 7
Статус: Offline
(Жмёт на несуществующую кнопочку "Спасибо")
smile


Сообщение отредактировал Unreal_Sergey - Вторник, 30.11.2010, 20:07
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: