[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Форум » GTA Модинг » Обучение Скриптингу » Советы скриптерам (Раз ни кто не додумался , создам я)
Советы скриптерам
k@lyanДата: Суббота, 05.12.2009, 01:45 | Сообщение # 1
Школьник II
Группа: Пользователи
Сообщений: 88
Статус: Offline
Тут вы ставляйте советы скриптерам , любой секрет , любую мелочь пишите сюда
Вот мой совет : если вы делаете какой нибудь скрипт в котором вас могут прикончить , но весь настрой портит то ,что кто нибудь просто введёт пароль и жить вечно.
Я решил это проблему просто :
Просто после начала нового лейбла ,после слова wait 0 пишите вот такую интрестную строчку:
Code
actor.SetImmunities($PLAYER_ACTOR, 0,0,0,0,0)

Это отрубит чит на время выполнения условий проверки например :actor.dead...
Хотя я точно не уверен как работает стандартный чит BAGUVIX , надо будет проверить , может actor.SetImmunities($PLAYER_ACTOR, 0,0,0,0,0) можно ввести просто один раз cool


 
Colt_8Дата: Суббота, 05.12.2009, 12:39 | Сообщение # 2
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Я думаю, что такая тема есть уже!



 
k@lyanДата: Суббота, 05.12.2009, 13:25 | Сообщение # 3
Школьник II
Группа: Пользователи
Сообщений: 88
Статус: Offline
не покажешь ?

 
Colt_8Дата: Суббота, 05.12.2009, 13:54 | Сообщение # 4
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Ну вопросы и ответы.



 
k@lyanДата: Суббота, 05.12.2009, 14:35 | Сообщение # 5
Школьник II
Группа: Пользователи
Сообщений: 88
Статус: Offline
а тут просто тупо , то что вы заметили и т.д.

 
FIRE_DRAGONДата: Суббота, 12.12.2009, 15:57 | Сообщение # 6
Мажор
Группа: Проверенные
Сообщений: 279
Статус: Offline
Ну вот вам мой совет:будьте внимательны!

1)После каждой метки пишите время задержки,даже если задержка будет равна нулевой.
2)Не путайте вот такие опкоды: Player.Defined() и Actor.InCar().Попонятнее:Например: Player.Defined($PLAYER_ACTOR) и Actor.Dead($PLAYER_CHAR)



 
DarkscapeДата: Суббота, 12.12.2009, 16:36 | Сообщение # 7
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Когда класс начинается с Player, кроме $PLAYER_CHAR там в принципе ничего не может быть. А когда с Actor, тут может быть либо $PLAYER_ACTOR, либо любой другой.
Мой совет: если решили занятся скриптингом, открывайте справку и начинайте читать ее не с середины, а с самой первой главы.


return
 
Colt_8Дата: Суббота, 12.12.2009, 17:46 | Сообщение # 8
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Совет мой прост:
Читать и учиться! А не спрашивать и попрошайничать постоянно!
Нам не когда обучать кого-то! Ибо платите нам Бабки!




 
d88Дата: Суббота, 12.12.2009, 17:59 | Сообщение # 9
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (FIRE_DRAGON)
Не путайте вот такие опкоды: Player.Defined() и Actor.InCar().

А что, кто-то их путает? haha

Мой совет – когда создаёте скрипт, старайтесь предусмотреть из-за чего он может не работать и делайте больше проверок. Например, если вы работаете с актёром, то делайте такие проверки как not Actor.Dead и Actor..Defined

 
Colt_8Дата: Суббота, 12.12.2009, 18:24 | Сообщение # 10
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Я всегда это делаю!

А вот у меня вопрос!
Может ли вылетать скрипт из-за того что например ест 10 скриптов у которых одновременно используется одна и та же переменная (например 1@) ????




 
d88Дата: Суббота, 12.12.2009, 18:30 | Сообщение # 11
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Colt_8, вот именно, только не 1@), а глобальные переменные! Сколько раз повторять, что их не надо использовать!
 
Lost_ForeverДата: Суббота, 12.12.2009, 18:57 | Сообщение # 12
Мажор сайта
Группа: Команда CG
Сообщений: 338
Статус: Offline
Стоп,а не наоборот ли?

Quote
Не используйте в CLEO-скрипте собственные глобальные переменные ($car, $blahblah и т.д.), иначе скрипт будет работать неправильно. Вы можете использовать только некоторые глобальные переменные (см. ниже).


 
Colt_8Дата: Суббота, 12.12.2009, 19:12 | Сообщение # 13
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Quote (d88)
а глобальные переменные! Сколько раз повторять, что их не надо использовать!

Не понял о чём ты?




 
DarkscapeДата: Суббота, 12.12.2009, 19:24 | Сообщение # 14
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Он, о том, что в КЛЕО надо использовать только локальные переменные. Кстати а как быть если лок.пер не хватает?

return
 
d88Дата: Суббота, 12.12.2009, 19:31 | Сообщение # 15
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (Lost_Forever)
Стоп,а не наоборот ли?
Quote
Не используйте в CLEO-скрипте собственные глобальные переменные ($car, $blahblah и т.д.), иначе скрипт будет работать неправильно. Вы можете использовать только некоторые глобальные переменные (см. ниже).

Так я про это и говорю.
Quote (Gans|64|)
Кстати а как быть если лок.пер не хватает?

Ну можно одну и ту же переменную несколько раз использовать. А так конечно это большой недостаток Клео.

Кстати, в формате .cm можно использовать в сотни раз больше локальных переменных.

 
Colt_8Дата: Суббота, 12.12.2009, 20:09 | Сообщение # 16
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Quote (d88)
cm

1. В КЛЕО папке будет ли работать?
2. Как перевсти в этот формат?

Quote (d88)
локальных переменных.

Это 1@???




 
DarkscapeДата: Суббота, 12.12.2009, 20:20 | Сообщение # 17
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Quote (Colt_8)
Это 1@???
да
Quote (Colt_8)
1. В КЛЕО папке будет ли работать?
2. Как перевсти в этот формат?
Это клео-миссия, просто напиши вначале {$CLEO .cm}


return
 
FIRE_DRAGONДата: Суббота, 12.12.2009, 20:58 | Сообщение # 18
Мажор
Группа: Проверенные
Сообщений: 279
Статус: Offline
Вот ещё совет: скриптеры,не просите помощи от других,если можно разобраться самому)
Например:вам надо узнать опкод,заставляющий игрока исполнить две анимации,а потом почапать проч,поищите сами в опкоднике по некоторым словам: go,actor...



 
Colt_8Дата: Суббота, 12.12.2009, 23:02 | Сообщение # 19
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Ясно, тогда локальных переменных мона только 33 вставлять!



 
FIRE_DRAGONДата: Воскресенье, 13.12.2009, 09:30 | Сообщение # 20
Мажор
Группа: Проверенные
Сообщений: 279
Статус: Offline
Не используйте локальные переменные часто,на них стоят настройки игры реестра.Например: 10@ = точный двойник Карла.


 
Den_spbДата: Воскресенье, 13.12.2009, 10:29 | Сообщение # 21
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
Quote (d88)
А что, кто-то их путает?
Иногда новички не понимают - когда использовать $player_actor, а когда $player_char? Разобраться не сложно - если в опкоде слово actor, то используется первая переменная, если player, то вторая.
Quote (d88)
Мой совет – когда создаёте скрипт, старайтесь предусмотреть из-за чего он может не работать и делайте больше проверок. Например, если вы работаете с актёром, то делайте такие проверки как not Actor.Dead и Actor..Defined
Хороший совет. Я уже говорил, что попытка сделать что-либо с несуществующим актером, машиной и т.п. - верная причина вылета. Поэтому перед тем, чтобы делать что-то с каким-то игровым объектом, желательно проверять, существует он или нет.
Quote (Colt_8)
Может ли вылетать скрипт из-за того что например ест 10 скриптов у которых одновременно используется одна и та же переменная (например 1@) ????
Хочу внести ясность в этот вопрос, поскольку видимо не все об этом знают.
Для каждого скрипта (их ещё называют потоками) выделяется память под 32 локальные переменные (+ 2 таймера). Локальная переменная называется так потому, что она действительна только для того скрипта, в котором приведена (локальный значит местный). То есть если в одном скрипте будет написано 1@ = 1, а в другом 1@ = 2, то никаких конфликтов не будет и не может быть, поскольку эти значения содержатся в разных областях памяти. Отсюда ещё один вывод - лучше объединять по несколько мелких скриптов в один, благодаря этому удастся сэкономить ресурсы игры, поскольку область памяти в 32+2 переменные выделяется под каждый скрипт всегда, а неиспользованные переменные только зря расходуют память (в неиспользованных переменных записаны нули).
Теперь о миссиях. В отличие от потоков (скриптов), которых одновременно может быть запущено чуть ли не несколько десятков, миссия (клео-миссия или миссия мейна) в данный момент времени может быть запущена только одна. Для миссии выделяется блок памяти в 1024 локальные переменные.
Quote (d88)
Ну можно одну и ту же переменную несколько раз использовать. А так конечно это большой недостаток Клео.

Да, одну и ту же переменную можно и нужно использовать по нескольку раз. Это значит, что как только значение какой-то величины, записанное в переменную, вам больше не нужно, вы можете записать в эту переменную значение другой величины. Если вам не хватает локальных переменных, то вы можете воспользоваться глобальными клео-переменными (не путать с обычными глобальными переменными).
Quote (Colt_8)
1. В КЛЕО папке будет ли работать?

cm - это клео-миссия. Она является отдельным файлом и помещается в папку клео. В мейне есть потоки и миссии, для клео точно так же - есть потоки (cs) и миссии (cm).
Quote (FIRE_DRAGON)
Не используйте локальные переменные часто,на них стоят настройки игры реестра.Например: 10@ = точный двойник Карла.

А это что за новости? Где вы это вычитали? Локальные переменные в каждом потоке (скрипте) свои, пользоваться ими можно как угодно и сколь угодно.


Сообщение отредактировал Den_spb - Воскресенье, 13.12.2009, 10:31
 
DarkscapeДата: Воскресенье, 13.12.2009, 10:37 | Сообщение # 22
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Den_spb, а что за глобальные клео переменные?
З.Ы. Поиск опкодов - Ctrl+Alt+2, для тех кто не знает


return
 
Den_spbДата: Воскресенье, 13.12.2009, 10:41 | Сообщение # 23
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
Quote (Gans|64|)
Den_spb, а что за глобальные клео переменные?

СБ-справка: КЛЕО 3 -> Опкоды КЛЕО 3
0ab3, 0ab4


Сообщение отредактировал Den_spb - Воскресенье, 13.12.2009, 10:42
 
d88Дата: Воскресенье, 13.12.2009, 12:09 | Сообщение # 24
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (FIRE_DRAGON)
Не используйте локальные переменные часто,на них стоят настройки игры реестра.Например: 10@ = точный двойник Карла.

Что за чушь! В локальную переменную можно внести любое значение в самом потоке, а заранее там ничё нет!
 
Den_spbДата: Воскресенье, 13.12.2009, 13:11 | Сообщение # 25
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
В начале во всех переменных записаны нули. Убедиться несложно:

Code
{$CLEO}
wait 5000
if
     0@ == 0
then
     player.Money($player_char) += 1000000
end
0a93:
 
Colt_8Дата: Воскресенье, 13.12.2009, 13:15 | Сообщение # 26
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Quote (Den_spb)
Хочу внести ясность в этот вопрос, поскольку видимо не все об этом знают.
Для каждого скрипта (их ещё называют потоками) выделяется память под 32 локальные переменные (+ 2 таймера). Локальная переменная называется так потому, что она действительна только для того скрипта, в котором приведена (локальный значит местный). То есть если в одном скрипте будет написано 1@ = 1, а в другом 1@ = 2, то никаких конфликтов не будет и не может быть, поскольку эти значения содержатся в разных областях памяти. Отсюда ещё один вывод - лучше объединять по несколько мелких скриптов в один, благодаря этому удастся сэкономить ресурсы игры, поскольку область памяти в 32+2 переменные выделяется под каждый скрипт всегда, а неиспользованные переменные только зря расходуют память (в неиспользованных переменных записаны нули).
Теперь о миссиях. В отличие от потоков (скриптов), которых одновременно может быть запущено чуть ли не несколько десятков, миссия (клео-миссия или миссия мейна) в данный момент времени может быть запущена только одна. Для миссии выделяется блок памяти в 1024 локальные переменные.

А как начать клео миссию?
Quote (Den_spb)
Да, одну и ту же переменную можно и нужно использовать по нескольку раз. Это значит, что как только значение какой-то величины, записанное в переменную, вам больше не нужно, вы можете записать в эту переменную значение другой величины. Если вам не хватает локальных переменных, то вы можете воспользоваться глобальными клео-переменными (не путать с обычными глобальными переменными).

Дааа, ты реально умный в этом! biggrin
Ты наверно и С++ знаешь? happy
Quote (Den_spb)
m - это клео-миссия. Она является отдельным файлом и помещается в папку клео. В мейне есть потоки и миссии, для клео точно так же - есть потоки (cs) и миссии (cm).

А формат *.scm?
Quote (Den_spb)
А это что за новости? Где вы это вычитали? Локальные переменные в каждом потоке (скрипте) свои, пользоваться ими можно как угодно и сколь угодно.

А не локальные? $Act раскажи плих о них!




 
d88Дата: Воскресенье, 13.12.2009, 15:28 | Сообщение # 27
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (Colt_8)
А как начать клео миссию?

А я чё, зря статью малевал? Можешь посмотреть.

Quote (Colt_8)
А формат *.scm?

А зачем он тебе? Ну вообще-то да, его тоже можно использовать в скриптинге.
 
DarkscapeДата: Воскресенье, 13.12.2009, 16:16 | Сообщение # 28
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
.cs - обычный клео-поток на 32+2 локальных переменных
.cm - клео-миссия на 1024 лп, создавать ее также как и обычную миссию. Вместе с клео идут скрипты-примеры, в папке клео/ найди файл CustomMission.txt , удали в нем gosub @MissionPassed и впиши вместо этого свою миссию.
.scm - либо мэйн, либо внешний скрипт, чтобы его сделать, не надо писать вначале директиву клео.


return

Сообщение отредактировал Gans[64] - Воскресенье, 13.12.2009, 16:17
 
Colt_8Дата: Воскресенье, 13.12.2009, 17:26 | Сообщение # 29
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Quote (d88)
А я чё, зря статью малевал? Можешь посмотреть.

А, точно)))
Quote (d88)
А зачем он тебе? Ну вообще-то да, его тоже можно использовать в скриптинге.

Ну он используется в файле SCRIPT.




 
d88Дата: Воскресенье, 13.12.2009, 19:13 | Сообщение # 30
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (Colt_8)
Ну он используется в файле SCRIPT.

А, ну да, но я не смог его открыть сани билдером.
 
DarkscapeДата: Воскресенье, 13.12.2009, 20:39 | Сообщение # 31
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Quote (d88)
А, ну да, но я не смог его открыть сани билдером.
И я не могу, а если извлекаю из архива и открываю, то сб ошибку выдает


return
 
Colt_8Дата: Воскресенье, 13.12.2009, 20:45 | Сообщение # 32
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Ну Рок стар не санни билдером писали это.
Вот какую-то защиту сделали!




 
d88Дата: Воскресенье, 13.12.2009, 21:14 | Сообщение # 33
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (Colt_8)
Вот какую-то защиту сделали!

Да не, не в защите дело. На самом деле эти скрипты редактируются через мэйн.
 
Colt_8Дата: Воскресенье, 13.12.2009, 21:39 | Сообщение # 34
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Срочно нужны ID бульбулятора из катсцены миссии в Сосне Ангела, там где Тенпени курил его!
+ анимация этого дела!




 
Den_spbДата: Воскресенье, 13.12.2009, 21:47 | Сообщение # 35
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
Quote (Colt_8)
А не локальные? $Act раскажи плих о них!

Глобальные переменные (со знаком $), в отличие от локальных, доступны для вызова из любого скрипта или миссии. То есть глобальные переменные - общие для всех скриптов, а локальные переменные у каждого скрипта свои. Например, переменные $PLAYER_ACTOR и $PLAYER_CHAR в любом скрипте означают одно и то же - игрока (CJ). В КЛЕО глобальные переменные применять нельзя, за исключением некоторых общепринятых: $PLAYER_ACTOR, $PLAYER_CHAR, $ONMISSION и др.
Quote (d88)
Да не, не в защите дело. На самом деле эти скрипты редактируются через мэйн.

Верно, код из скрипт.имг добавляется к коду мейна при его декомпиляции, составляя 1/4 часть от него.
 
Colt_8Дата: Воскресенье, 13.12.2009, 22:05 | Сообщение # 36
I LOVE GTA
Группа: Проверенные
Сообщений: 5216
Статус: Offline
Quote (Den_spb)
Глобальные переменные (со знаком $), в отличие от локальных, доступны для вызова из любого скрипта или миссии. То есть глобальные переменные - общие для всех скриптов, а локальные переменные у каждого скрипта свои. Например, переменные $PLAYER_ACTOR и $PLAYER_CHAR в любом скрипте означают одно и то же - игрока (CJ). В КЛЕО глобальные переменные применять нельзя, за исключением некоторых общепринятых: $PLAYER_ACTOR, $PLAYER_CHAR, $ONMISSION и др.

Круто! а ТАК получается нельзя использовать просто таr такую переменную $Prosto?




 
Den_spbДата: Воскресенье, 13.12.2009, 23:35 | Сообщение # 37
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
Нельзя.

Вопрос: "Почему в CLEO-скриптах нельзя использовать глобальные переменные? Что тогда использовать?"
Ответ: http://sannybuilder.com/forums/viewtopic.php?id=90

Сообщение отредактировал Den_spb - Воскресенье, 13.12.2009, 23:39
 
d88Дата: Понедельник, 14.12.2009, 09:09 | Сообщение # 38
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Quote (Colt_8)
Срочно нужны ID бульбулятора из катсцены миссии в Сосне Ангела, там где Тенпени курил его!
+ анимация этого дела!

То что было в катсценах не может быть в обычной игре.
 
DarkscapeДата: Понедельник, 14.12.2009, 14:21 | Сообщение # 39
Профессор
Группа: Проверенные
Сообщений: 459
Статус: Offline
Colt_8, вопросыпо скриптам не здесь!

return
 
bufalloДата: Понедельник, 21.06.2010, 21:46 | Сообщение # 40
Школьник I
Группа: Пользователи
Сообщений: 11
Статус: Offline
Люди нужна помощь!Делаю Авианосец в СА!Возле дамбы!Там уже стоит транспорт и есть сейв!
Напишыте скрипт лифта(CARRIER_LIFT1_SFSE ,ID 3115)
Координаты верхней точки остановки:
X................... -726.038
Y................... 1981.49
Z................... 17.0453
Z Угол............ 90.0
Нижней:
X................... -726.038
Y................... 1981.49
Z................... 9.94531

НЕ ПУТАТЬ СО СКРИПТОМ AIRCRAFT CARRIER (AVIAONSEC_new01.cs)
Z Угол............ 90.0

P.S. Простите за битый Русский,я из Украины


CLEO 4ever
GTA 4ever
BF2 4ever
BF2 Commander-Veteran


Сообщение отредактировал bufallo - Понедельник, 21.06.2010, 21:56
 
d88Дата: Вторник, 22.06.2010, 09:05 | Сообщение # 41
Генерал Профессор
Группа: Проверенные
Сообщений: 1540
Статус: Offline
Немного не в тему, ну ладно. Я могу помочь, но у меня свои условия. Мне надо знать где будет опубликован мод.
Пиши в ЛС.
 
wmysterioДата: Среда, 11.05.2011, 02:38 | Сообщение # 42
КОНСУЛЬТАНТ
Группа: Команда CG
Сообщений: 900
Статус: Offline
Вот вижу пустеет тема уже давно, вот и решил поделиться с новичками и опытными(мож они ещё не знают). Речь идет о константах. Вроде какое то непонятное слово и никакого назначения оно не имеет. Но с другой стороны они оч помогают при скриптинге в плане быстроты написания.

Итак, начнем с главного. Как обьявить константкы? очень легко:
const
....
end

в место .... мы ставим наши константы - значения, которые будут заменятся при компиляции. Например Зачем долго и нудно печатать $PLAYER_ACTOR, если можно написать просто букву А. Как вам ???

Знаю, что это ничего пока вам не говорит. Но вот с примером должно стать более яснее.

Давайте рассмотрим пример, что бы при нажатии клавиши Е игроку добавится 1000.
для этого нам нужно узнать номер клавиши, эт 69.
можно заменить $PLAYER_CHAR на С

и так, заменяем:
const
C = $PLAYER_CHAR
E = 69
end

далее как обычно. Скрипт примерно должен выглядить так:

Всё равно слишком долго, давайте сократим key_pressed на просто К

player.Money( С ) += 1000
это все равно что
0109: player $PLAYER_CHAR money += 1000
а это все равно что
0109: (unknown) $PLAYER_CHAR 1000
давайте заменим (unknown) на символ _
1000 тож не смотрится, давайте заменим её буквой М biggrin
ну и вконце слишком длинно end_custom_thread )) заменим и это на букву, пусть будет Т smile

сделам все замены, мы получим скрипт:


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

Кстате, можно даже метки "переименовать", например:
Z = @LABEL

Если вы закрыли клео-скрипт, а затем его снова откроете, то вы увидите, что скрипт выглядит как обычно

одно плохо - нельзя заменять имена опкодов(например 0000:) а они должны так оставаться.

если для вас была полезная инфа - поставте + в репутацию
 
DK22PacДата: Среда, 11.05.2011, 23:46 | Сообщение # 43
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Новость, конечно)
Ещё мог бы написать про $include и scm-функции, это тоже сильно коротит время и усилия.
Опкоды можно переписать в классов-методовый формат, для этого надо прописать их в classes.idb.


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC
 
wmysterioДата: Четверг, 12.05.2011, 00:02 | Сообщение # 44
КОНСУЛЬТАНТ
Группа: Команда CG
Сообщений: 900
Статус: Offline
Quote (DK22Pac)
Новость, конечно)

новичкам очень пригодится
Quote (DK22Pac)
Ещё мог бы написать про $include и scm-функции, это тоже сильно коротит время и усилия.

эт чуть пожже сделаю
Quote (DK22Pac)
Опкоды можно переписать в классов-методовый формат, для этого надо прописать их в classes.idb.

этого я пока не знаю (
 
DK22PacДата: Четверг, 12.05.2011, 03:17 | Сообщение # 45
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Хорошо, что ты сказал "опытным". Сказал бы "профи" - я бы тебе лекцию вычитал бы)
Вообще, думаю, рановато тебе такое писать) Но для новичков сойдёт.
ПС classes.idb открывай блокнотом, посмотри как там всё устроено. Если не поймёшь - могу разьяснить в подробностях.


Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC
 
wmysterioДата: Четверг, 12.05.2011, 05:59 | Сообщение # 46
КОНСУЛЬТАНТ
Группа: Команда CG
Сообщений: 900
Статус: Offline
Quote (DK22Pac)
Хорошо, что ты сказал "опытным". Сказал бы "профи" - я бы тебе лекцию вычитал бы)

если тебе известно что то больше, то с удовольствием послушаю лекцию smile

Quote (DK22Pac)
ПС classes.idb открывай блокнотом, посмотри как там всё устроено. Если не поймёшь - могу разьяснить в подробностях.

ну так суть уловил, мне бы парочку примеров и было бы всё оки cool
 
DK22PacДата: Суббота, 14.05.2011, 00:23 | Сообщение # 47
Знающий скриптер
Группа: Проверенные
Сообщений: 189
Статус: Offline
Что именно тебя интересует?

Grand Theft Auto III HD Development Team
0AA5: call 0x52D0B0 num_params 0 pop 0

52 53 43 05 01 00 00 00 10 20 00 C0 78 DA EC BC 0B 38 94
CD FF 3F 7E 2F 8B 75 5E 67 49 5A 87 24 B1 07 21 DD BB EC
 
wmysterioДата: Суббота, 14.05.2011, 09:05 | Сообщение # 48
КОНСУЛЬТАНТ
Группа: Команда CG
Сообщений: 900
Статус: Offline
Quote (DK22Pac)
Что именно тебя интересует?
Quote (DK22Pac)
Опкоды можно переписать в классов-методовый формат, для этого надо прописать их в classes.idb.
как правильно их переписать?

и ещё функции - как передать функции несколько параметров, там, например, координаты и модель а на выходе должен быть актер 1@ ??

 
Den_spbДата: Воскресенье, 15.05.2011, 02:27 | Сообщение # 49
Мажор сайта
Группа: Проверенные
Сообщений: 396
Статус: Offline
Лучше называть константы не просто буквами, а давать им осмысленные имена - например, TIMER, STATUS и т.д. Это сделает исходный код гораздо более наглядным, что важно в случае дальнейшей доработки скрипта или публикации кода на форумах.
Объявив константу, в дальнейшем печатать каждый раз её имя не нужно - достаточно выбрать его из списка констант, появляющегося при нажатии Ctrl+Space.
Заменять описательные части опкодов константами не имеет смысла, т.к. во-первых, описательные части не читаются компилятором, поэтому их можно вообще не писать (т.е. можно написать 0509: 12@ 4@ 9@ 5@ 6@ вместо 0509: 12@ = distance_between_XY 4@ 9@ and_XY 5@ 6@), а во-вторых, при написании скрипта опкоды обычно копируются из Поиска опкодов, а не набираются вручную.
Quote (wmysterio)
и ещё функции - как передать функции несколько параметров, там, например, координаты и модель а на выходе должен быть актер 1@ ??
Прочитай внимательно описание к опкодам 0AB1 и 0AB2 в SB справке (раздел КЛЕО3) - там всё подробно разъяснено.
Quote (wmysterio)
как правильно их переписать?
Открой файл Program Files\Sanny Builder 3\data\sa\classes.db с помощью Блокнота и посмотри, как прописываются опкоды - ничего сложного там нет.
 
wmysterioДата: Воскресенье, 15.05.2011, 02:31 | Сообщение # 50
КОНСУЛЬТАНТ
Группа: Команда CG
Сообщений: 900
Статус: Offline
Quote (Den_spb)
Прочитай внимательно описание к опкодам 0AB1 и 0AB2 в SB справке (раздел КЛЕО3) - там всё подробно разъяснено.
Quote (Den_spb)
Открой файл Program Files\Sanny Builder 3\data\sa\classes.db с помощью Блокнота и посмотри, как прописываются опкоды - ничего сложного там нет.
спасиб, ти мне помог, ток с функциями там ничего толком не узнал ( мне бы простейший пример с описанием - и будет лучше любой справки smile
 
Форум » GTA Модинг » Обучение Скриптингу » Советы скриптерам (Раз ни кто не додумался , создам я)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Форма входа
Логин:
Пароль:
Наш опрос
Какие скрипты вам больше нравятся?
Всего ответов: 158
Мини-чат
300
Баннерообмен
GTA FreeRunning 3 Сайт о киевском метро и МСТС/Дополнения к МСТС и информация о метрополитене
http://server-life.ru/
WWE.UA.RU.COM.NET Эксклюзивные моды для GTA San Andreas и GTA Vice City
Теги
GTA, San Andreas, GTA SA, GTA IV, GTA 4, Liberty City, Vice City, GTA VC, GTA LC, Chinatown Wars, CLEO, Mods, auto, moto, guns, weapons, maps, soundtrack, саундтрек, музыка, радио, статьи, форум, общение, вопросы, тачки, авто, машины, автомобили, мотоциклы, мото, велосипеды, русские, СССР, советские, клео, скрипты, моды, самолёты, вертолёты, персонажи, миссии, прохождения, карты, секреты, подсказки, новости, обои, фото, скриншоты, картинки, помощь, FAQ, screenshots, sanny builder, scripts, программы, проги, трейнеры, патчи, одежда, скины, транспорт, модификации, оружие, список, казино, лодки, поезда, авиация, Rockstar, рокстар, ГТА, GTA 5, GTA V