Скрипты для GTA от dim1988 aka d88

Главная | Регистрация | Вход

Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Вопросы по созданию скриптов
dim1988 Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Ответы на самые часто задаваемые вопросы

Как сохранить (компилировать) скрипт?
Почему не следует использовать в клео скриптах глобальные переменные?
Как узнать координаты мест, через какую прогу?
Как поместить игрока в интерьер?
Опкод, который открывает все дома в СА
Запись в переменную ближайшего педа и проверка его модели
Как заставить актёров ходить по определённым координатам
Проверка нажатия определённой клавиши
Пак пути с анимацией
Как сделать так, чтоб 2 миссии следовали друг за другом?
Как актёру дать оружие?
Как создать транспорт
Как создать жёлтый маркер для входа в интерьер?
При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить?
Как транспорту присвоить определённый цвет?
Что делать если пишет ожидалось 'x' параметров?
Как написать цветной текст?
Номера костей актёра
Что такое gosub?
Опкоды, связанные с созданием огня
Как изменить оружие банд?
Образец добавления в игру объектов
Проверка нажатия клавиши в игре и список значений
Путь или scmpath
Как изменить цвет затемнения экрана?
Как записать в переменную случайное число из интервала
Список стилей боя
Как привязать эффект к кости актёра?
Как произвести действия, над педами, созданными игрой
Как заменить модель игрока
Как заставить актёра поднять руки, как при аресте
Сброс анимации
Как метнуть объект?
Как из одного скрипта запустить другой?

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
wmysterio Дата: Пятница, 17.08.2012, 19:03 | Сообщение # 3391
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
ещё один вопросе ) никак не удаётся считать количество патронов в обойме, кто может помочь?

у меня создан актёр 10@ и дан ак47. вот мой код
Code
0A96: 1@ = actor 10@ struct // получаю структуру
0A8E: 2@ = 1@ + 0x5A0 // получаю инфу о слоте оружия
0A90: 3@ = 30 * 28 // определяю размер сдвига (30 - номер оружия, 28 - размер)
0A8E: 4@ = 2@ + 3@ // сдвигаемся к инфе о ак
inc(4@, 8) // получаем адрес о количестве патронов в обойме
0A8D: 5@ = read_memory 4@ size 4 virtual_protect 0//записую в переменную к-во патронов
У меня почему то выводится огромное целое число 1055846128 wacko что здесь не так?
 
 
SPIRITS Дата: Пятница, 17.08.2012, 20:48 | Сообщение # 3392
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
wmysterio, возможно потому что значение в float переведи float в int

Добавлено (17.08.2012, 20:40)
---------------------------------------------
У меня такая проблема была с моим скриптов показывающие кол. урона нанесенное игроку поставил в float вообще до фига цифр показал больше миллиона, поставил в int все норм

Добавлено (17.08.2012, 20:46)
---------------------------------------------
wmysterio, Есть способ по легче без лазейки

041A: 4@ = actor $PLAYER_ACTOR weapon $WEAPON ammo
Записываем в переменную 4@ патрон в оружии $weapon которое у игрока

Code


0000:

:no
wait 0
041A: 0@ = actor $PLAYER_ACTOR weapon $WEAPON ammo  

:not
wait 0
041A: 1@ = actor $PLAYER_ACTOR weapon $WEAPON ammo  
if
001C:   0@ > 1@ // (int)
  jf @not
  0@ -= 1@
  // значение записанное в переменной 0@ выводим
  jump @not2
   
  :not2
  wait 0
  041A: 2@ = actor $PLAYER_ACTOR weapon $WEAPON ammo  
  if
  001C:   1@ > 2@ // (int)
  jf @not2
  1@ -= 2@
  // значение записанное в переменной 1@ выводим
  jump @no

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

Способ проверенный работает, я почему то удалил потом скрипт

Добавлено (17.08.2012, 20:48)
---------------------------------------------
Да и зачем узнавать кол. патронов в обойме когда вместе с иконкой оружие и так оно показано?

 
 
wmysterio Дата: Пятница, 17.08.2012, 21:21 | Сообщение # 3393
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
Quote (SPIRITS)
возможно потому что значение в float переведи float в int
Ну это само собой ) не будет же в обойме 12,5 патронов ))
Quote (SPIRITS)
Есть способ по легче без лазейки
Это количество всех патронов. Мне нужно именно в обойме, к-во патронов оставшихся до перезарядки
Quote (SPIRITS)
Да и зачем узнавать кол. патронов в обойме когда вместе с иконкой оружие и так оно показано?
Так мне нужно для актёра 10@, а не для СЖ


Сообщение отредактировал wmysterio - Пятница, 17.08.2012, 21:25
 
 
SPIRITS Дата: Пятница, 17.08.2012, 21:48 | Сообщение # 3394
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
wmysterio, все же переведи флоат в инт на всякий случай
 
 
wmysterio Дата: Пятница, 17.08.2012, 22:07 | Сообщение # 3395
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
SPIRITS, это не дробное число. в место него пишет просто 0(даже не 0.0)
Скорее всего адрес криво вищитал, нужна помощь людей, которые перелопатили вздовж и поперёк память. формула вроде правильная, мне DK22Pac кидал её ещё на сайте КГ
 
 
SPIRITS Дата: Суббота, 18.08.2012, 10:20 | Сообщение # 3396
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Ну когда я инт в флоат перевел то у меня тоже подобные числа выводились без такого формата 0.0
 
 
DK22Pac Дата: Суббота, 18.08.2012, 11:10 | Сообщение # 3397
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline
Индексом для CWeapon служит не Id оружия, а Id слота.
В базе CWeapon назван именно как CWeaponSlot.


Мои скрипты
Grand Theft Auto III HD Development Team


Сообщение отредактировал DK22Pac - Суббота, 18.08.2012, 11:48
 
 
wmysterio Дата: Суббота, 18.08.2012, 18:23 | Сообщение # 3398
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline
DK22Pac, спасибо большое! получаетрся для ак47 слот 5. Всё работает!
 
 
Scripter100 Дата: Воскресенье, 19.08.2012, 18:17 | Сообщение # 3399
Группа: Проверенные
Сообщений: 108
Замечания: 0%
Статус: Offline
Всем привет smile Давно небыл тут smile
Вот у меня такой вопрос, как сделать камеру 2D, сколько не пытался не получалось smile
Приведите пример кода, заранее спасибо smile


 
 
SPIRITS Дата: Понедельник, 20.08.2012, 15:31 | Сообщение # 3400
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Scripter100, Вид сверху или как платформер ?
 
 
Scripter100 Дата: Вторник, 21.08.2012, 20:36 | Сообщение # 3401
Группа: Проверенные
Сообщений: 108
Замечания: 0%
Статус: Offline
SPIRITS, платформер

 
 
SPIRITS Дата: Вторник, 21.08.2012, 20:50 | Сообщение # 3402
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline
Scripter100, Хд
Я вид сверху тока делал
 
 
Artalus Дата: Суббота, 01.09.2012, 14:43 | Сообщение # 3403
Группа: Пользователи
Сообщений: 26
Замечания: 0%
Статус: Offline
существует ли аналог 0AD1: show_formatted_text_highpriority, который бы выводил текст по заданным координатам, ане снизу-посередине экрана? чтобы в результате было что-нибудь вдухе ####: show_formatted_text_highpriority_pos "val1=%i" pos 250.0 314.2 time 2000 0@? именно текст вбиваемый вручную тутже в редакторе, а не через отдельные ГХТ-ключи
 
 
Jin Дата: Понедельник, 03.09.2012, 15:16 | Сообщение # 3404
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
dim1988, не помогло со статой,я фиг знает чё не так.... уже перпробовал всё,скрипт правильыйн должен быть
Code
thread 'WEAP'  
:WEAP_21
wait 0  
if  
    Player.Defined($PLAYER_CHAR)
jf @WEAP_21  
if  
02D8:   actor $PLAYER_ACTOR current_weapon == 22  
jf @WEAP_21  
wait 100   
if  
0AB0:   key_pressed 49
jf @WEAP_21  
0653:  3@  = float_stat 69  
jump @WEAP_199

:WEAP_199  
wait 0  
if  
3@ > 300
jf @WEAP_109  
0627: update_integer_stat 69 to 10  
03E6: remove_text_box  
jump @WEAP_21  

:WEAP_109  
wait 0  
if  
not 3@ > 299  
jf @WEAP_199  
01B6: set_weather 1  
0627: update_integer_stat 69 to 1000  
03E6: remove_text_box  
jump @WEAP_21

может кто ещё подскажет в чём дело,или у себя проверит скрипт.



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
dim1988 Дата: Среда, 05.09.2012, 10:02 | Сообщение # 3405
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Jin, не знаю, чем помочь. У меня сейчас и билдер не установлен, и гта.
Кстати, а если значение 3@ будет 300? У тебя ведь код не рассчитан на это.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
MrMADRYAN Дата: Воскресенье, 16.09.2012, 10:06 | Сообщение # 3406
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline
Кто-нибудь знает опкод, заставляющий актёра (рандомного) жевать жвачку? Вроде бы такой есть, но я не нашёл. *слепой видать* biggrin
 
 
Jin Дата: Воскресенье, 16.09.2012, 13:23 | Сообщение # 3407
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
MrMADRYAN, прям рандомно нет,но можно чтоб рандомно выдовалась число и активировала жевание жевачки)


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
MrMADRYAN Дата: Вторник, 18.09.2012, 18:19 | Сообщение # 3408
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline
Jin, так мне сам опкод "жевание жевачки" и нужен. Я хз какой это, вот и спрашиваю. Как дальше - я знаю..
 
 
dim1988 Дата: Четверг, 20.09.2012, 16:58 | Сообщение # 3409
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
MrMADRYAN, 05BA: AS_actor $Actor chew_gum 40000 ms

Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SHREDER Дата: Четверг, 20.09.2012, 19:42 | Сообщение # 3410
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
Всем привет! smile

У меня тут один вопрос назрел: можно ли выпустить из какой-нибудь точки ракету? Без цели просто прямо?


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
dim1988 Дата: Четверг, 20.09.2012, 23:33 | Сообщение # 3411
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (SHREDER)
У меня тут один вопрос назрел: можно ли выпустить из какой-нибудь точки ракету? Без цели просто прямо?

Можно. Такой скрипт давно существует

Code
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread 'JPR'   

:JPR_11
wait 0   
if   
     Player.Defined($PLAYER_CHAR)
else_jump @JPR_11   
if   
0AB0:   key_pressed 8   
else_jump @JPR_11   
Model.Load(3065)
Model.Load(3786)

:JPR_56
wait 0   
if and
     Model.Available(3065)
     Model.Available(3786)
else_jump @JPR_56   
2@ = Actor.Angle($PLAYER_ACTOR)
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 1.0 -0.5 1.3   
1@ = Object.Create(3065, 11@, 12@, 13@)
2@ += 270.0   
Object.Angle(1@) = 2@
0750: set_object 1@ visibility 0   
19@ = Object.Create(3786, 0.0, 0.0, 0.0)
Object.Angle(19@) = 2@
04D9: object 1@ set_scripted_collision_check 1   
Object.CollisionDetection(1@) = True
0906: set_object 1@ mass_to 30000.0 // float   
0908: set_object 1@ turn_mass_to 30000.0 // float   
069A: attach_object 19@ to_object 1@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0   
Object.CollisionDetection(19@) = False
2@ = Actor.Angle($PLAYER_ACTOR)
0819: 18@ = actor $PLAYER_ACTOR distance_from_ground   
4@ = 80.1   
02F6: 5@ = cosine 2@ // (float)   
02F7: 6@ = sine 2@ // (float)   
006B: 5@ *= 4@ // (float)   
006B: 6@ *= 4@ // (float)   
5@ *= -1.0   
18@ += 1.0   
Object.ToggleInMovingList(1@) = True
Object.Throw(1@, 5@, 6@, 18@)
33@ = 0   

:JPR_376
wait 0   
if   
     Player.Defined($PLAYER_CHAR)
else_jump @JPR_376   
0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 0.0 0.0   
095C: create_smoke_at 11@ 12@ 13@ velocity 0.0 0.0 0.0 RGBA 1.0 1.0 1.0 1.0 size 0.5 last_factor 0.1   
if or
04DA:   has_object 1@ collided   
    33@ > 7000   
else_jump @JPR_376   
0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 0.0 0.0   
020C: create_explosion_with_radius 3 at 11@ 12@ 13@   
0565: create_soundless_explosion_at 11@ 12@ 13@ type 5   
0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 5.0 0.0 0.0   
020C: create_explosion_with_radius 3 at 11@ 12@ 13@   
0565: create_soundless_explosion_at 11@ 12@ 13@ type 5   
0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset -5.0 0.0 0.0   
020C: create_explosion_with_radius 3 at 11@ 12@ 13@   
0565: create_soundless_explosion_at 11@ 12@ 13@ type 5   
0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 5.0 0.0   
020C: create_explosion_with_radius 3 at 11@ 12@ 13@   
0565: create_soundless_explosion_at 11@ 12@ 13@ type 5   
0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 -5.0 0.0   
020C: create_explosion_with_radius 3 at 11@ 12@ 13@   
0565: create_soundless_explosion_at 11@ 12@ 13@ type 5   
Model.Destroy(3065)
Model.Destroy(3786)
095C: create_smoke_at 11@ 12@ 13@ velocity 0.0 0.0 0.0 RGBA 0.0 0.0 0.0 0.2 size 3.0 last_factor 0.1   
0682: detach_object 19@ 0.0 0.0 0.0 collision_detection 1   
Object.Destroy(1@)
Object.Destroy(19@)
jump @JPR_11   

Или вроде в плагине DK22Pac что-то такое было.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Jin Дата: Пятница, 21.09.2012, 04:30 | Сообщение # 3412
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
Разобрался я со статистикой, пост 3404,вообщем проблема было в том что поставить статистику на опр число нельзя почему,только 1000,поэтому я восопльзовался кодом который отнимает n количество от изначальной статистики)
Code
0625: decrease_integer_stat 69 by 10

И вот такой вопрос я добавил в имг архив свою модель просто модель с текстурой без колизии,и потом в скрипте загрузил
эту модель и прицепил к ГГ ,но вместо нужной модели к ГГ цеплялась модель "i" есть такой пикап.Выходит что игра не видит нужную мне модель.Может где то прописать её нужно?кто подскажет?



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
SHREDER Дата: Пятница, 21.09.2012, 06:24 | Сообщение # 3413
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
dim1988, спасибо все работает! smile

Вот у меня еще вопрос: как сделать чтоб игрок в полете плавно поворачивал?


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
dim1988 Дата: Пятница, 21.09.2012, 17:11 | Сообщение # 3414
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Jin)
И вот такой вопрос я добавил в имг архив свою модель просто модель с текстурой без колизии,и потом в скрипте загрузил
эту модель и прицепил к ГГ ,но вместо нужной модели к ГГ цеплялась модель "i" есть такой пикап.Выходит что игра не видит нужную мне модель.Может где то прописать её нужно?кто подскажет?

А как ты вообще её загружал? Ты её id где-то прописывал? Если нет, то она и не загрузится, а знак I появляется при несуществующем id. Думаю, если ты декомпилируешь скрипт, у тебя там вместо имени модели будет -1.

Quote (SHREDER)
Вот у меня еще вопрос: как сделать чтоб игрок в полете плавно поворачивал?

В каком полёте?


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
SHREDER Дата: Пятница, 21.09.2012, 17:31 | Сообщение # 3415
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline
Quote (dim1988)
В каком полёте?


Ну просто когда прямо летит. Я сделал чтоб CJ вверх и прямо летел, а вот с поворотами проблема.


[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url]
 
 
Jin Дата: Суббота, 22.09.2012, 04:10 | Сообщение # 3416
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
dim1988, не не прописывал,я так понимаю прописывать нужно в object.dat ,но где конкретно?и такой вопрос а много ли можно своих обьектов добавить?не хотелось бы чтоб игры вылетала.


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
dim1988 Дата: Суббота, 22.09.2012, 13:40 | Сообщение # 3417
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Jin)
я так понимаю прописывать нужно в object.dat

He только, надо ещё в default.ide. А где именно - думаю, не важно.

В default.ide прописывается сама модель и тексура к ней, а также её id и ещё что-то. А в object.dat вроде характеристики этого объекта, типа его тяжесть и т.д.

Quote (Jin)
а много ли можно своих обьектов добавить?

Если не ошибаюсь, то только 3, но есть же безлимитник.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Jin Дата: Суббота, 22.09.2012, 17:32 | Сообщение # 3418
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
dim1988, 3 вроде кол-фаила это максимум,ну если с лимитами,спасибо за подсказку по default.ide я даже не знал.

Добавлено (22.09.2012, 17:32)
---------------------------------------------
dim1988, спасибо,сработало модель подгрузилась,но есть такой минус,когда цепляешь модель,оружие становитсья не видимым это раз,а прицепить две модели нельзя,одни из них стновитсья не видимой так и так,ток что все мои старания прошли зря... у меня только один вариант сделать модель как элемент одежды и в нужный момент подгружать....



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
dim1988 Дата: Суббота, 22.09.2012, 18:07 | Сообщение # 3419
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Jin)
3 вроде кол-фаила это максимум

Коллизия вообще должна быть в одном файле, а без неё я не пробовал добавлять, так что не знаю.

Quote (Jin)
оружие становитсья не видимым

Это естественно, так всегда и бывает. Оружие тоже прицепленнвя модель, а сразу несколько прицепить я не помню как, но вроде DK22Pac знает как.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Jin Дата: Воскресенье, 23.09.2012, 06:11 | Сообщение # 3420
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
dim1988, ну если знает то хорошо))поинтересуюсь у него)спасибо за помощь.

Добавлено (23.09.2012, 05:31)
---------------------------------------------
вопрос такой для чего нужна эта команда
08BD: set 9@ bit 1
и вот эта команда я так понимаю делат покачивание камеры?
099C: jiggle_camera type 5 timelimit 4000.0 intensity 30.0

Добавлено (23.09.2012, 06:11)
---------------------------------------------
ещё один вопрос есть ли проверка не нажата,а зажата ли клавиша?
есть вот такой код,суть таков что при беге камер отдаляеться,но она не отдаляеться потом опять вовразаетсья в исходную и так по кргу,а мне нужно чтоб пока нажата кнопка 16 и выполняеться анима,хуум сохранялся,и ещё есть ли опкод проверяюший позади ли игрока камера?я порылся ни чего не нашёл.

Code
{$CLEO .cs}
0000: NOP  
:TEST_11
wait 0  
if  
    Player.Defined($PLAYER_CHAR)
jf @TEST_11  
wait 1000
if and
00E1: key_pressed 0 16
    Actor.Animation($PLAYER_ACTOR) == "sprint_civi"  
jf @TEST_11
0922: set_camera_zoom_in_factor 70.0 out_factor 100.0 timelimit 1000 mode 0  
jump @TEST_11



Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Поиск:

Copyright dim1988 aka d88 © 2024
Сайт управляется системой uCoz