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

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

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

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

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
Nico Дата: Воскресенье, 03.11.2013, 13:20 | Сообщение # 3751
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
RuXman, Я незнаю хочешь ты напиши
правильнее
 
 
RuXman Дата: Воскресенье, 03.11.2013, 13:26 | Сообщение # 3752
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата Nico ()
Я незнаю хочешь ты напиши правильнее
Ты же сказал всё работает. Значит всё правильно.

Да, все правильно.


Сообщение отредактировал RuXman - Воскресенье, 03.11.2013, 13:30
 
 
Nico Дата: Воскресенье, 03.11.2013, 14:04 | Сообщение # 3753
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
Вот тут я подбавил строку Actor.WeaponAccuracy(1@) = 100 после строки     0446: set_actor 1@ immune_to_headshots 1 // 1-вкл. 0-выкл

{$CLEO .cs}  
0000:  
0@ = 0 // в эту перемунную будем записывать номер актера (отсчет начинаем с 0)  

:banda // делаем метку точки, с которой будет начинаться наш цикл  
wait 0  
092B: 1@ = group $PLAYER_GROUP member 0@ // записываем в переменную 1@ актера под номером 0@  
0@ += 1 // прибавляем к номеру актера 1, чтобы на следующем обороте цикла в переменную был записан актер  
             //под следующим номером   
if  
    0@ > 7 // 7 - максимальное число актеров в банде, если прошлое действие превысило это число   
    then     // тогда   
    0@ = 0 // запускаем счетчик актеров заного   
end // обозначение конца действий после условия  
if  
    Actor.Defined(1@) // ранее мы записали в переменную актера, проверяем существует ли он   
    then // если существует то...   
    0446: set_actor 1@ immune_to_headshots 1 // 1-вкл. 0-выкл
Actor.WeaponAccuracy(1@) = 100   
end  
jump @banda // и прыгаем в начало, чтобы цикл повторился

Добавлено (03.11.2013, 14:04)
---------------------------------------------
RuXman, Мммм?

 
 
dim1988 Дата: Воскресенье, 03.11.2013, 14:54 | Сообщение # 3754
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата RuXman ()
Че вы фигнёй страдаете??? Делаете такие сложные проверки... Зачем? Этот опкод не требует проверки на существование актера. Сам лично проверял!


Проверки на существование актёров, транспорта или объектов никогда не помешают. Мало ли, что может с ними произойти в игре, может на них вообще другой скрипт повлияет. Если они не будут обнаружены, игра вылетит.
И в данном случае, я не знаю, почему у тебя не вылетает, но у меня вылетело сразу.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Воскресенье, 03.11.2013, 16:30 | Сообщение # 3755
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата Nico ()
Вот тут я подбавил строку Actor.WeaponAccuracy(1@) = 100 после строки     0446: set_actor 1@ immune_to_headshots 1 // 1-вкл. 0-выкл
Ну да.. все ок

Цитата dim1988 ()
Проверки на существование актёров, транспорта или объектов никогда не помешают.
Естественно не помешают.

Цитата dim1988 ()
И в данном случае, я не знаю, почему у тебя не вылетает, но у меня вылетело сразу.
Хм... очень странно... у меня не вылетает... именно с этим опкодом проверку не требует. Ладно, надо будет еще поэкспериментировать

Добавлено (03.11.2013, 16:30)
---------------------------------------------
Цитата RuXman ()
у меня не вылетает

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


Сообщение отредактировал RuXman - Воскресенье, 03.11.2013, 16:30
 
 
d13m1 Дата: Воскресенье, 03.11.2013, 19:14 | Сообщение # 3756
Группа: Проверенные
Сообщений: 10
Замечания: 0%
Статус: Offline
если поисковые опкоды не находят свою цель, то в переменную они записывают 0, поэтому можно просто заменить проверку Actor.Defined(1@) на 1@ > 0.
т.к. актер игрока тоже находится опкодом 092B:, то в условие можно добавить соответствующее сравнение переменных
в конечном итоге получится :

if and
    1@ > 0
    87D6: 1@ == $PLAYER_ACTOR // опкод 07D6 проверяет совпадение переменных, чтобы проверить на несовпадение 
    then                                                                                                                                  // меняем 0 на 8 в опкоде 
    ....
end


Сообщение отредактировал d13m1 - Воскресенье, 03.11.2013, 19:17
 
 
dim1988 Дата: Воскресенье, 03.11.2013, 21:49 | Сообщение # 3757
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата d13m1 ()
если поисковые опкоды не находят свою цель, то в переменную они записывают 0

Насколько я знаю, может записаться и -1. По крайней мере я когда-то использовал проверку not 1@ == -1 и всё работало. Правда, так было пока я не стал использовать клео 4, с её опкодами так не получилось.

Цитата Nico ()
:D

А это уже флуд. За такое наказание полагается.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Nico Дата: Понедельник, 04.11.2013, 12:53 | Сообщение # 3758
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
Цитата dim1988 ()
Цитата Nico ():D

А это уже флуд. За такое наказание полагается.
 Да ладно Тебе 
А в скрипте тоже можно ещё Оружие дать?
 
 
RuXman Дата: Понедельник, 04.11.2013, 16:53 | Сообщение # 3759
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Можно ли записать в переменную машину, в которую я целюсь? Искал везде где только мог, не нашел опкода. Просто есть опкод, записывающий в переменную нацеленного актера, вот я и подумал, возможно ли такое для машин? Или это слишком сложно?
 
 
d13m1 Дата: Понедельник, 04.11.2013, 23:43 | Сообщение # 3760
Группа: Проверенные
Сообщений: 10
Замечания: 0%
Статус: Offline
опкода нет, искать прийдется вручную. могу посоветовать отличный пример с разъяснениями от DK (либертисити/files/gta-san-andreas/61143-aimdrivers.html). если будет время -  распишу конкретно

Сообщение отредактировал d13m1 - Понедельник, 04.11.2013, 23:44
 
 
RuXman Дата: Вторник, 05.11.2013, 16:15 | Сообщение # 3761
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Это для меня слишком сложно, точнее совсем невозможно. Я даже понятия не имею, как он слепил этот скрипт.
 
 
Nico Дата: Вторник, 05.11.2013, 16:29 | Сообщение # 3762
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
RuXman, Ххахахахаах
А каком ты скрипте?
 
 
d13m1 Дата: Вторник, 05.11.2013, 23:50 | Сообщение # 3763
Группа: Проверенные
Сообщений: 10
Замечания: 0%
Статус: Offline
вот простая функция без всяких наворотов 

:_carMouseOver // inc.: 0@ = range 
0A8D: 1@ = read_memory 0xB6F1A8 size 2 virtual_protect 0
if or 
    1@ == 53
    1@ == 7
    1@ == 8
    then
    actor.StorePos($player_actor, 1@, 2@, 3@)
    0AA6: call_method 0x514970 struct 0xB6F028 num_params 6 pop 0 target 4@v start 1@v Z 3@ Y 2@ X 1@ dist 0@
    0AA7: call_function 0x56BA00 num_params 12 pop 12 IgnoreShootThroughStuff 0 IgnoreSomeObjectsForCamera 0 IgnoreSeeThroughStuff 0 dummy 0 object 0 actor 0 car 1 building 0 result 7@v point 8@v target 4@v start 1@v Ret 0@
    if
        7@ > 0
        then
        0AEB: 0@ = car_struct 7@ handle
        if
            056E: car 0@ defined
            then
            0AB2: ret 1 0@
        end
    end
end
0AB2: ret 1 0

вызывается так: 0AB1: call_scm_func @_carMouseOver 1 range 20.0 store car to 0@ // где 20,0 - дистанция поиска (редактируй сам), а в 0@ будет записана машина, либо 0, если она не найдена или игрок не целится 

ps. можно было бы добавить проверки на преграды, но тогда машина не находится, если стоять близко к ней. разбираться с этим как-то влом было


Сообщение отредактировал d13m1 - Вторник, 05.11.2013, 23:53
 
 
Nico Дата: Среда, 06.11.2013, 15:15 | Сообщение # 3764
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
d13m1, Скайп дай Если ты Разбераешься в Сриптах )
 
 
d13m1 Дата: Среда, 06.11.2013, 20:41 | Сообщение # 3765
Группа: Проверенные
Сообщений: 10
Замечания: 0%
Статус: Offline
Nico, если возникают какие-либо проблемы - описывай их тут; для всего остального есть справка в билдере
 
 
RuXman Дата: Четверг, 07.11.2013, 11:02 | Сообщение # 3766
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата Nico ()
Ххахахахаах А каком ты скрипте?
 
Цитата d13m1 ()
либертисити/files/gta-san-andreas/61143-aimdrivers.html

d13m1, спасибо, но откуда ты всё это знаешь? Все эти методы и функции... откуда ты знаешь, что нужно использовать именно этот адрес памяти? И за что он отвечает? С каждым днем убеждаюсь, что о скриптинге я знаю всё меньше и меньше. Всё время появляется то, чего я не знал...
 
 
d13m1 Дата: Четверг, 07.11.2013, 20:14 | Сообщение # 3767
Группа: Проверенные
Сообщений: 10
Замечания: 0%
Статус: Offline
RuXman, описание адресов памяти и функций можно найти на gtaforums, sannybuilder, gtagaming, gtamodding/wiki. просматриваю на досуге... зачастую там же постят примеры вызовов, ну или на сторонних форумах
 
 
Nico Дата: Суббота, 09.11.2013, 21:17 | Сообщение # 3768
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
dim1988RuXmand13m1, НЕ работает =(
В чём дело?

{$CLEO .cs}
0000: 
0@ = 0 // в эту перемунную будем записывать номер актера (отсчет начинаем с 0) 

:banda // делаем метку точки, с которой будет начинаться наш цикл 
wait 0 
092B: 1@ = group $PLAYER_GROUP member 0@ // записываем в переменную 1@ актера под номером 0@ 
0@ += 1 // прибавляем к номеру актера 1, чтобы на следующем обороте цикла в переменную был записан актер 
                     //под следующим номером  
if 
0@ > 7 // 7 - максимальное число актеров в банде, если прошлое действие превысило это число 
then     // тогда 
0@ = 0 // запускаем счетчик актеров заного 
end // обозначение конца действий после условия 
if 
Actor.Defined(1@) // ранее мы записали в переменную актера, проверяем существует ли он 
then // если существует то... 
0446: set_actor 1@ immune_to_headshots 0 // 1-вкл. 0-выкл
Actor.WeaponAccuracy(1@) = 100
Actor.Health(1@) = 500
end 
jump @banda // и прыгаем в начало, чтобы цикл повторился
 
 
d13m1 Дата: Суббота, 09.11.2013, 23:57 | Сообщение # 3769
Группа: Проверенные
Сообщений: 10
Замечания: 0%
Статус: Offline
Цитата Nico9161НЕ работаетчто именно? если выкидывает - попробуй поставить wait 0 между 0000: и 0@ =
 
 
dim1988 Дата: Воскресенье, 10.11.2013, 08:31 | Сообщение # 3770
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата Nico ()
НЕ работает

Если ты про headshot, то тебе уже два раза говорили, что надо ставить 1, а у тебя опять 0.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Nico Дата: Воскресенье, 10.11.2013, 14:33 | Сообщение # 3771
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
dim1988d13m1, Не ХедШот всё Норм
А точность стрельбы не Идёт =(
я там хотел ещё ХП поставить тоже не Шло
 
 
RuXman Дата: Понедельник, 11.11.2013, 15:01 | Сообщение # 3772
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата Nico ()
А точность стрельбы не Идёт =(
Не знаю, вроде должно работать. Может ты думаешь, что пед будет попадать только в голову? Нет. Ты сравни точность 10 и 100. Увидишь разницу... 10% - из 20 выстрелов 5 попаданий.
 
 
Nico Дата: Понедельник, 11.11.2013, 21:55 | Сообщение # 3773
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
RuXman, Какой нах Хед Шот Точность это Когда он Точно в него попадает а не Косит как нуб biggrin
 
 
dim1988 Дата: Понедельник, 11.11.2013, 22:16 | Сообщение # 3774
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
У тебя парадокс какой-то. immune_to_headshots поставлено 0, так это работает, а в остальных опкодах написано правильно, но не работает. Покажи декомпилированный скрипт.

Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Вторник, 12.11.2013, 15:16 | Сообщение # 3775
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата Nico ()
Точность это Когда он Точно в него попадает а не Косит как нуб
Неужели? Ты говоришь очевидные вещи. Я же уже это сказал в сообщении выше.
 
 
Nico Дата: Суббота, 16.11.2013, 14:44 | Сообщение # 3776
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
dim1988, Всё Работает я тебе отвечаю 
Я 0 Ставил и всё Норм biggrin
Правду говорю
RuXman, Ну я поставил но не Идёт чё то =(
и Хп =(

Добавлено (16.11.2013, 14:44)
---------------------------------------------
RuXmandim1988d13m1, Кто нибудь сможет разобраться? и понять чё за нах?

Прикрепления: BANDA_my.cs (18.2 Kb) · BANDA_my.txt (0.9 Kb)
 
 
DK22Pac Дата: Суббота, 16.11.2013, 16:05 | Сообщение # 3777
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline
Nico, быдлота, в кругу друзей и знакомых тоже маты проскакивают?

Мои скрипты
Grand Theft Auto III HD Development Team
 
 
Ghost_is_coming Дата: Суббота, 16.11.2013, 17:00 | Сообщение # 3778
Группа: Пользователи
Сообщений: 3
Замечания: 0%
Статус: Offline
Всем здравствуйте. Я хотел бы узнать что это за опкод: 068E: get_camera_target_point_to $_1 $_2 $_3.
 
 
Nico Дата: Суббота, 16.11.2013, 23:55 | Сообщение # 3779
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
DK22Pac, Нормально всё не Говори мне :D
 
 
RuXman Дата: Воскресенье, 17.11.2013, 05:29 | Сообщение # 3780
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата Ghost_is_coming ()
что это за опкод: 068E: get_camera_target_point_to $_1 $_2 $_3.
Он направляет камеру в координаты $_1 $_2 и $_3 То есть, камера будет смотреть в эту точку. Переменные можно заменить на локальные (типа 1@ 2@ 3@...) или просто написать координаты вместо них. Думаю ты это уже знаешь....
 
 
Форум » Скрипты » Всё о клео скриптах » Вопросы по созданию скриптов
Поиск:

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