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

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

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

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

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
Аксиома Дата: Суббота, 03.12.2011, 18:37 | Сообщение # 2791
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline
dim1988, Так скажи мне на счёт майна
почему после загрузки сохранения написанный скрипт в майне не действует
хотя в конце скрипта есть переход на начало
 
 
Lost_forever Дата: Суббота, 03.12.2011, 18:47 | Сообщение # 2792
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Аксиома, покажи код скрипта wink


Forever
 
 
HAUS Дата: Суббота, 03.12.2011, 19:32 | Сообщение # 2793
Группа: Проверенные
Сообщений: 191
Замечания: 0%
Статус: Offline
Lost_forever, не смог бы ты ответить, пост 2763.

Главный герой GTA 5 чел из красной тачки!!!
 
 
Аксиома Дата: Суббота, 03.12.2011, 19:54 | Сообщение # 2794
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline
Lost_forever,
Code
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER 3.04       

DEFINE MISSIONS 0

DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

{$VERSION 3.1.0027}

//-------------MAIN---------------
03A4: name_thread 'SUMMER'  
01F0: set_max_wanted_level_to 0  
0111: set_wasted_busted_check 0  
00C0: set_current_time_hours_to 14 minutes_to 0  
04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84  
03CB: set_rendering_origin_at 2488.56 -1666.84 13.38  
0053: $PLAYER_CHAR = create_player #NULL at -143.5986 37.3621 10.3  
01F5: $PLAYER_ACTOR = get_player_actor $PLAYER_CHAR  
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group  
0373: set_camera_directly_behind_player  
0581: enable_radar 0  
01B6: set_weather 1  
0001: wait 0 ms  
087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part 1  
087B: set_player $PLAYER_CHAR clothes_texture "TRACKTRERIS" model "TRACKTR" body_part 2  
087B: set_player $PLAYER_CHAR clothes_texture "BASK1ERIS" model "BASK1" body_part 3  
087B: set_player $PLAYER_CHAR clothes_texture "HOODYABASE5" model "HOODYA" body_part 0  
070D: rebuild_player $PLAYER_CHAR  
01B4: set_player $PLAYER_CHAR can_move 1  
04BB: select_interior 0  
0629: change_integer_stat 181 to 4  
0629: change_integer_stat 23 to 1000.0  
0109: player $PLAYER_CHAR money += 1000  
070D: rebuild_player $PLAYER_CHAR  
016C: restart_if_wasted_at 0.0 0.0 17.5 angle 137.0 town_number 0  
016D: restart_if_busted_at 0.0 0.0 17.5 angle 90.0 town_number 0  
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here  
0004: $DEFAULT_WAIT_TIME = 250  
03E6: remove_text_box  
create_thread @main
0002: jump @SUMMER_329  

:SUMMER_329
0001: wait 0 ms  
0002: jump @SUMMER_329  

wait 900

:main
0226: $HEAL = actor $PLAYER_ACTOR health  
0008: $HEAL += 1  
0223: set_actor $PLAYER_ACTOR health_to $HEAL  
0001: wait 15000 ms  
jump @main

И вот поток main выполнятся будет только если начинать новую игру а если загрузить сохранение то потом не будет выполняться его будто нет
 
 
dim1988 Дата: Воскресенье, 04.12.2011, 08:33 | Сообщение # 2795
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Аксиома)
хотя в конце скрипта есть переход на начало

Ты хоть понимаешь что у тебя написано? Где там прыжок на начало?

Во-первых у тебя там бесконечный цикл
Quote
:main
0226: $HEAL = actor $PLAYER_ACTOR health    
0008: $HEAL += 1    
0223: set_actor $PLAYER_ACTOR health_to $HEAL    
0001: wait 15000 ms    
jump @main


Во-вторых у тебя даже до него код не дойдёт из-за другого цикла
Quote
:SUMMER_329
0001: wait 0 ms    
0002: jump @SUMMER_329


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Аксиома Дата: Воскресенье, 04.12.2011, 08:51 | Сообщение # 2796
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline
Это я пример привёл а вот это

Code
:SUMMER_329
0001: wait 0 ms     
0002: jump @SUMMER_329
У меня было, я качал дистрибитув и там майн с такой строкой был

Code
jump @main

Вот прыжок на начало скрипта, в CLEO это работает
 
 
dim1988 Дата: Воскресенье, 04.12.2011, 11:58 | Сообщение # 2797
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Аксиома, ты знаешь что такое цикл? Если нет, читай в справке.

Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Аксиома Дата: Воскресенье, 04.12.2011, 13:11 | Сообщение # 2798
Группа: Пользователи
Сообщений: 21
Замечания: 0%
Статус: Offline
Прочитал я ,но нету в майне цикла
нету, только что такое цикл я не понял
но цикла нет
 
 
Lost_forever Дата: Воскресенье, 04.12.2011, 13:23 | Сообщение # 2799
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Quote (HAUS)
dim1988, дело в том что я вставляю в этот опкод номер адреса памяти, но не какого эффекта не бывает. Может из за того что я вставляю адрес чита? не смог бы ты показать маленький пример с адресом памяти


Какая у тебя версия gta_sa.exe? Данные адреса памяти действуют только на версии 1.0

Включаем мега-удар:

0A8C: write_memory 0x969173 size 1 value 1 virtual_protect 0

0x969173 - адрес памяти(мега-удар)
size - число байт
value - значение
virtual_protect - лучше не трогай и оставь как есть.



Forever
 
 
dim1988 Дата: Воскресенье, 04.12.2011, 13:28 | Сообщение # 2800
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Аксиома, циклы есть, у тебя их два.
Первый:
:SUMMER_329
0001: wait 0 ms
0002: jump @SUMMER_329

Второй:
:main
0226: $HEAL = actor $PLAYER_ACTOR health
0008: $HEAL += 1
0223: set_actor $PLAYER_ACTOR health_to $HEAL
0001: wait 15000 ms
jump @main

И в том и в другом у тебя будут бесконечные прыжки на метку, которую я пометил красным. Это потому, что ты сам так указал в команде jump (то что зелёное). jump @main - это не прыжок на начало, это прыжок на метку :main, а она у тебя не в начале.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
gtacleo Дата: Воскресенье, 04.12.2011, 16:35 | Сообщение # 2801
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline
Почему выкидывает:
Code
:2_19
wait 0  
if and
0390: load_txd_dictionary "MALIBU"  
038F: load_texture "MASKA1" as 10 // Load dictionary with 0390 first  
0AB0:   key_pressed 67  
jump @2_60  

:2_60
wait 0  
038D: draw_texture 10 position 160.0 350.0 size 100.0 100.0 RGBA 255 255 255 255  
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.1 -0.1 0.65 rotation 0.1 0.1 0.65 0.0 2  
wait 300  
jump @3_154  

:3_154
wait 0  
if  
0AB0:   key_pressed 79  
jf @3_154  
Camera.Restore_WithJumpCut
wait 5  
jump @2_19


 
 
dim1988 Дата: Воскресенье, 04.12.2011, 16:49 | Сообщение # 2802
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
gtacleo, во-первых
0390: load_txd_dictionary "MALIBU"
038F: load_texture "MASKA1" as 10

это не проверки.
Во-вторых, не хватает проверки на существование игрока.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Den_spb Дата: Воскресенье, 04.12.2011, 17:09 | Сообщение # 2803
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Lost_forever)
virtual_protect - лучше не трогай и оставь как есть.
В exe есть 2 основных типа адресов - data и text. Адреса типа data чем-то напоминают глобальные переменные скриптов - в них хранятся различные значения (например, флаги читов, здоровье игрока, номер текущей погоды, смещения структур актёров и машин, и многое другое). В адресах типа text записаны номера опкодов, из которых состоит код различных функций exe и значения параметров этих опкодов.
Адреса типа text имеют защиту, которую нужно снимать при чтении или записи значений из них. Защита снимается установкой параметра virtual_protect 1.
Адреса типа data защиты не имеют - при их чтении или записи можно оставлять значение virtual_protect 0.
 
 
gtacleo Дата: Воскресенье, 04.12.2011, 17:41 | Сообщение # 2804
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline
dim1988, так тож не идёт:

Code
0000:

:2_19
wait 0  
    Player.Defined($PLAYER_CHAR)
jf @2_19  
0AB0:   key_pressed 67  
jf @2_19
0390: load_txd_dictionary "MALIBU"  
038F: load_texture "MASKA1" as 10 // Load dictionary with 0390 first
   

:2_60
wait 0  
038D: draw_texture 10 position 160.0 350.0 size 100.0 100.0 RGBA 255 255 255 255  
067C: put_camera_on_actor $PLAYER_ACTOR with_offset 0.1 -0.1 0.65 rotation 0.1 0.1 0.65 0.0 2  
wait 300  
jump @3_154  

:3_154
wait 0  
if  
0AB0:   key_pressed 79  
jf @3_154  
Camera.Restore_WithJumpCut
wait 5  
jump @2_19


 
 
HAUS Дата: Воскресенье, 04.12.2011, 21:23 | Сообщение # 2805
Группа: Проверенные
Сообщений: 191
Замечания: 0%
Статус: Offline
Lost_forever, я уже скачал что то под названием "gta_sa.exe 1.0" , не знаю может кто добавлял сами не знают что добавляют.
Я читал что по размеру фала определяется какая версия, но не было времени смотреть, или может меня поборола своя же лень?
В любом случае спасибо за помощь.


Главный герой GTA 5 чел из красной тачки!!!

Сообщение отредактировал HAUS - Воскресенье, 04.12.2011, 21:50
 
 
gtacleo Дата: Понедельник, 05.12.2011, 11:17 | Сообщение # 2806
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline
Вот ещё вопрос можно ли вычеслить переменную актёра в машину которого врезался гг?

Добавлено (05.12.2011, 11:17)
---------------------------------------------
Также нужна анимация актёр стоит и шарит руками будто чёто чинит!


 
 
Lost_forever Дата: Понедельник, 05.12.2011, 21:00 | Сообщение # 2807
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Quote (gtacleo)
Также нужна анимация актёр стоит и шарит руками будто чёто чинит!

Скачай себе Anim Manager и найди сам wink



Forever
 
 
horyok Дата: Вторник, 06.12.2011, 00:06 | Сообщение # 2808
Группа: Пользователи
Сообщений: 36
Замечания: 0%
Статус: Offline
Quote (dim1988)
Quote (YouNeverKillMe)Там же стили, а мне нужно например как в моде про зомби, где актеры ходят с вытянутыми руками или это одно и тоже? Одно и то же. Просто дело в том, что в оригинальной СА нет такого стиля анимаций для зомби, но его можно прописать в файле animgrp.dat. Писать нужно так название стиля, название файла .ifp, walkcycle, 6 название анимации ходьбы название анимации бега название анимации спринта название анимации стойки на месте здесь обычно указывают анимацию, когда актёр стоит на перекрёстке и вертит головой название анимации первого шага end Quote (YouNeverKillMe)- Как сделать что бы опр. актеры дрались используя анимацию из файла *.ifp? (моего ifp'a) Я бы тоже хотел это знать. Quote (YouNeverKillMe)- Как сделать что бы по окончанию анимации игрок был там где она закончилась, а не телепортировался на ее начало и продолжал выполнять команды? 0605: actor -1 perform_animation_sequence "Anim" from_file "File" 4.0 loop 0 1 0 0 -1 ms Вот этот параметр должен быть равен 1(если я не перепутал)


Ну это ты молоток.
А как сделать подходящие для этого стиля анимации?
Ну я имел ввиду, что все используемые анимации хранятся в файле PED.IFP.
Как туда ДОБАВИТЬ новую анимацию, что бы можно было ее использовать?
Или можно засунуть ее(анимацию) в архив с анимациями, и уже использовать оттуда?
Мне ОЧЕНЬ НЕОБХОДИМО это знать

Добавлено (06.12.2011, 00:00)
---------------------------------------------
Ну и если до этого зашло, то ОЧЕНЬ прошу помочь в вопросе по ДОБАВЛЕНИЮ новых педов в игру.
Где нужно прописать педа, как ему назначить модель\коллизию\текстуру, а то я пытался добавить в файле PEDS.DAT, но игра потом вылетала.

Добавлено (06.12.2011, 00:06)
---------------------------------------------
Еще вопрос. Как создать абсолютно новый спецэффект и засунуть его в игру?
Ну допустим, огонь - это спецэффект. Как сделать что-то на подобие молнии, ну или чего либо еще, что бы это числилось в спецэффектах? Если можно, то по-подробнее.

 
 
CLEO_Fan Дата: Вторник, 06.12.2011, 06:13 | Сообщение # 2809
Группа: Пользователи
Сообщений: 3
Замечания: 0%
Статус: Offline
Здравствуйте, помогите пожалуйста, так как я начинающий скриптёр, хочу попробовать сделать Скрипт Бессмертие ради эксперимента, не подскажите, что нужно написать, хотя бы 10 или 11 строк???

Хочу научиться писать CLEO Скрипты, первое, что я сделал для игры это футболку и то txd, первую жертву хочу сделать под именем Бессмертие, надеюсь Дима мне поможет!!!
 
 
gtacleo Дата: Вторник, 06.12.2011, 09:52 | Сообщение # 2810
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline
Lost_forever, Вот ещё вопрос можно ли вычеслить переменную актёра в машину которого врезался гг?

 
 
Jin Дата: Вторник, 06.12.2011, 15:33 | Сообщение # 2811
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline
horyok, Ну с добавлениям анимы могу подробно расказать ,в ЛС пиши что конкртено надо)А вот насчёт добавления новго эфект мне тоже надо)ЗАЗ как то добовлял и ДК22 тоже.


Скачать альбом Лумен-Лучшее(2008)
Скачать Хиты Европы Плюс(2000-2010)
 
 
dim1988 Дата: Вторник, 06.12.2011, 16:13 | Сообщение # 2812
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (horyok)
Ну и если до этого зашло, то ОЧЕНЬ прошу помочь в вопросе по ДОБАВЛЕНИЮ новых педов в игру.
Где нужно прописать педа, как ему назначить модель\коллизию\текстуру, а то я пытался добавить в файле PEDS.DAT, но игра потом вылетала.

Начнём с того, что коллизия для педа не нужна.
Итак, надо прописать нового педа в peds.ide, но туда можно добавить только двоих, если не отключить лимиты. Далее его имя надо прописать в pedgrp.dat. От того, где там ты его пропишешь, будет зависеть в каком районе он будет появляться.

Quote (Jin)
А вот насчёт добавления новго эфект мне тоже надо)ЗАЗ как то добовлял и ДК22 тоже.

Вроде есть ведь проги для работы с эффектами.

А вообще, horyok, твои вопросы не по теме, это тема о скриптинге, а не о моддинге вообще.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Lost_forever Дата: Вторник, 06.12.2011, 22:09 | Сообщение # 2813
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Quote (gtacleo)
Lost_forever, Вот ещё вопрос можно ли вычеслить переменную актёра в машину которого врезался гг?


Такого опкода нет, но есть и альтернативные способы. Например: можно занести в переменную машину игрока и ближайшую машину, после чего проверить столкнулись ли они или нет smile

Опкод проверки на столкновение:
Code

051D: cars 1@ and 0@ collided



Forever
 
 
dim1988 Дата: Среда, 07.12.2011, 17:43 | Сообщение # 2814
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (Lost_forever)

051D: cars 1@ and 0@ collided

Разве это не проверка столкновения двух машин?


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Lost_forever Дата: Среда, 07.12.2011, 20:37 | Сообщение # 2815
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Quote (dim1988)
Разве это не проверка столкновения двух машин?


Да, это она. Именно поэтому я её и написал smile

Quote (Lost_forever)
Опкод проверки на столкновение:



Forever
 
 
Den_spb Дата: Среда, 07.12.2011, 20:41 | Сообщение # 2816
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Quote (Lost_forever)
Например: можно занести в переменную машину игрока и ближайшую машину, после чего проверить столкнулись ли они или нет
Если игрок ведёт машину, то она и будет ближайшей к нему машиной, поэтому это ничего не даст.
Здесь можно применить перебор пула.
Пример - если игрок врезался в другую машину, то подожжём водителя этой машины:
Code
{$CLEO}
wait 0
while true
     wait 0
     if
         not player.Defined($player_char)
     then
         continue
     end
     if
         actor.Driving($player_actor)
     then
         03C0: 0@ $player_actor  
         if
             0AE2: 1@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 0 pass_wrecked 1 //IF and SET
         then
             repeat
                 if
                     09CB:   vehicle 0@ colliding_with_vehicle 1@  
                 then
                     046C: 2@ = car 1@ driver  
                     if
                         2@ > 0
                     then
                         if
                             0973:   fire 3@ exists  
                         then
                             02D1: remove_fire 3@  
                         end
                         0326: 3@ = create_actor 2@ fire  
                     end
                 end
             until 8AE2: not 1@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 10000.0 find_next 1 pass_wrecked 1 //IF and SET
         end
     end
end
 
 
gtacleo Дата: Четверг, 08.12.2011, 17:23 | Сообщение # 2817
Группа: Проверенные
Сообщений: 157
Замечания: 0%
Статус: Offline
Den_spb, чёт не компилирует скрипт sad Кинь в простом формате wink

 
 
Lost_forever Дата: Четверг, 08.12.2011, 17:49 | Сообщение # 2818
Скриптер
Группа: Проверенные
Сообщений: 705
Замечания: 0%
Статус: Offline
Quote (gtacleo)
Den_spb, чёт не компилирует скрипт sad Кинь в простом формате wink

Нормально всё компилируется wink



Forever
 
 
dim1988 Дата: Четверг, 08.12.2011, 18:00 | Сообщение # 2819
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Quote (gtacleo)
Den_spb, чёт не компилирует скрипт Кинь в простом формате

Bpoде он для клео4.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Den_spb Дата: Четверг, 08.12.2011, 20:30 | Сообщение # 2820
Мастер по скриптингу
Группа: Проверенные
Сообщений: 295
Замечания: 0%
Статус: Offline
Да, это клео4.
Если не компилирует, то надо переустановить КЛЕО4. В окне установщика должна стоять галка "Sanny builder data files".
 
 
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Поиск:

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