[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 107 из 127«12105106107108109126127»
Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder и заказы (Вы можете получить ответы на вопросы по SB и сделать заказ)
Вопросы по скриптингу Sanny Builder и заказы
wmysterio
Администраторы
Скриптер
22.11.11 21:52
Offline
Если у вас возник вопрос по скриптингу Sanny Builder, обращайтесь! Мы постараемся решить вашу проблему wink Это ещё не значит, что все прям бросятся решать во чтобы то не стало, но ответ вы сможете вы получить как вариант решения или как невозможность или сложность решения.
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ! ПРОСЬБА КОД СКРИПТОВ ПОМЕЩАТЬ В КОНСТРУКЦИЮ КОДА:

или

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

Внимание! От этого момента тема предназначена ещё и для заказов скриптов и миссий. Я это сделал по одной причине - пользователи постоянно путают/или не ищут темы и приводят заказ здесь. Теперь этой путаницы не будет. Здесь можно проводить заказы, но Вы должны указать в начале поста текст "НА ЗАКАЗ". Постарайтесь как можно детальнее объяснить суть скрипта.
Прикрепления: 0248203.png(1Kb) · 9085525.png(0Kb)

Slivkin-Sergey
Модераторы
20.08.14 06:52
Offline
SDK используй и пиши на С++. Например, plugin.asi от ДК. Он сам туториал и писал.

wmysterio
Администраторы
Скриптер
27.08.14 19:55
Offline
пришло время мне задать вопрос по скриптингу smile

может кто знает в чём разница между опкодами
Код
05db: as_actor -1 flee_from_actor $player_actor from_origin_radius 50.0 timelimit 10000
05dd: as_actor -1 flee_from_actor $player_actor from_origin_radius 50.0 timelimit 10000

Vital
Друзья
Скриптер
27.08.14 22:12
Offline
Хм, вот это да smile Даже GTAG не особо разъясняет разницу. 05DB описан как "TASK_SMART_FLEE_CHAR", а 05DD как "TASK_FLEE_CHAR", хотя примеры опкодов там выглядят ровно наоборот:
05DB: task_flee_char -1 char $PLAYER_ACTOR radius 50.0 time -1
05DD: task_smart_flee_char $ACTOR_SMOKE char $PLAYER_ACTOR radius 100.0 time 10000

Бредово... Единственная разница пока что в том, что 05DD также завершает cleo скрипт для GTA 3/VC.

wmysterio
Администраторы
Скриптер
27.08.14 23:12
Offline
Vital, спасибо.

похоже мне половину названий процедур нужно брать с GTAG, sascm.ini многие методы названы одинаково с одинаковыми типами параметров с той же последовательностью.

BlackFulll380
Пользователи
01.09.14 10:16
Offline
Всем привет! Народ, подскажите пожалуйста. Вообщем, в GTA SA PS2 машины припаркованы по всей карте, в обычной GTA SA PC нет. У меня есть GTA SA PS2, я перенес MAIN.SCM в обычную GTA SA PC, но лишь только пикапы расставлены, а машин нет. В чем проблема? Ведь все припаркованные машины в MAIN.SCM написаны, или я ошибаюсь? Если в MAIN.SCM не написаны припаркованные машины, то где значит их искать? В .IPL все смотрел, но там лишь координаты объектов.

wmysterio
Администраторы
Скриптер
01.09.14 13:09
Offline
Цитата BlackFulll380 ()
Если в MAIN.SCM не написаны припаркованные машины, то где значит их искать?
Скорее всего в *.exe дело. Ресурсы игры обычно мало чем затронуты(туда и main.scm относится) между платформами.

BlackFulll380
Пользователи
01.09.14 14:23
Offline
Цитата wmysterio ()
Скорее всего в *.exe дело.
у GTA SA PS2 нет .exe... а вот main.scm из GTA SA PS2 отличается GTA SA PC. Там типа "rampage".

wmysterio
Администраторы
Скриптер
01.09.14 22:27
Offline
Цитата BlackFulll380 ()
Ведь все припаркованные машины в MAIN.SCM написаны, или я ошибаюсь?
Написаны, но там есть лимит в 500 парковок. Если я не ошибаюсь, то этот лимит можно снять программой LimitAdjusted(название не помню точно). К тому же появление транспорта полностью решает exe. В один момент транспорта нету, через минуту - появился.
Цитата BlackFulll380 ()
у GTA SA PS2 нет .exe...
Я о PC. Я не могу адекватно оценить ситуацию, как как у меня небыло и нет PS2.

BlackFulll380
Пользователи
03.09.14 15:43
Offline
Цитата wmysterio ()
Я о PC. Я не могу адекватно оценить ситуацию, как как у меня небыло и нет PS2.
Ок, спасибо хоть за какую-ту помощь.

Fox1324
Пользователи
01.10.14 19:46
Offline
Привет, я новичок и хотел бы спросить.А что означают переменные от 1@ до 33@??? Я не могу понять их предназначение(

wmysterio
Администраторы
Скриптер
01.10.14 19:56
Offline
Цитата Fox1324 ()
Привет, я новичок и хотел бы спросить.А что означают переменные от 1@ до 33@??? Я не могу понять их предназначение(
Суть и назначение переменных от 1@ до 33@ одно: временно хранить какие-либо данные. Получают данные либо с опкодов либо задают вручную.

Fox1324
Пользователи
01.10.14 21:42
Offline
Вот что обозначает эта запись? Мы присваиваем переменной именно что? Кнопку? или что-то другое?: 33@ = 0

Добавлено (01.10.14, 19:34)
---------------------------------------------
и что значит в коде двойной знак равно? Например
if
not 13@==-1

Добавлено (01.10.14, 20:02)
---------------------------------------------
И то есть не имеет значения, какую переменную ты возьмёшь для Временного хранения информации?

Добавлено (01.10.14, 20:42)
---------------------------------------------
И что обозначает этот код?
if and
  33@ > 500
  750 > 33@
И можно просьбу небольшую, если у вас есть на сайте все уроки по этим кодам, дайте ссылку)


wmysterio
Администраторы
Скриптер
02.10.14 03:53
Offline
Цитата Fox1324 ()
И можно просьбу небольшую, если у вас есть на сайте все уроки по этим кодам, дайте ссылку)
С этого и нужно было начинать smile Все уроки по скриптингу доспутны на этом сайте. Ссылку на уроки найдёте вверху сраницы или тут: ссылка. Самые первые уроки ищите в конце архива, так как отсортированы они по дате добавления. Там, думаю, найдёте ответы на вопросы по тем коммандам, что вы спрашивали.

Если влом переключать страницы, то можете скачать уроки в архиве здесь.

Fox1324
Пользователи
02.10.14 15:47
Offline
Извините, а вы не можете детально этот код объяснить, так как учебник я уже почти весь прочитал, а вот не  понимаю почему переменным присваиваются именно эти цифры((
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
thread 'RELOAD'
:RELOAD_13
wait 100
if
   Player.Defined($PLAYER_CHAR)
else_jump @RELOAD_13
0A96: 0@ = actor $PLAYER_ACTOR struct
0@ += 1816
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0
0A96: 0@ = actor $PLAYER_ACTOR struct
0@ += 1440
1@ *= 28
005A: 0@ += 1@ // (int)
0@ += 4
if
0AB0:   key_pressed 82
else_jump @RELOAD_13
0A8C: write_memory 0@ size 4 value 2 virtual_protect 1
0624: add 1.0 to_float_stat 69
0624: add 1.0 to_float_stat 70
0624: add 1.0 to_float_stat 71
0624: add 1.0 to_float_stat 72
0624: add 1.0 to_float_stat 73
0624: add 1.0 to_float_stat 74
0624: add 1.0 to_float_stat 75
0624: add 1.0 to_float_stat 76
0624: add 1.0 to_float_stat 77
0624: add 1.0 to_float_stat 78
0624: add 1.0 to_float_stat 79
jump @RELOAD_13

Добавлено (02.10.14, 14:47)
---------------------------------------------
Это скрипт перезарядки в гта, я взял пример


wmysterio
Администраторы
Скриптер
02.10.14 17:21
Offline
Цитата Fox1324 ()
Извините, а вы не можете детально этот код объяснить, так как учебник я уже почти весь прочитал, а вот не понимаю почему переменным присваиваются именно эти цифры((
Это увиличивает статы игрока - повышают уровень умений для оружи:
Код
0624: add 1.0 to_float_stat 69  
  0624: add 1.0 to_float_stat 70  
  0624: add 1.0 to_float_stat 71  
  0624: add 1.0 to_float_stat 72  
  0624: add 1.0 to_float_stat 73  
  0624: add 1.0 to_float_stat 74  
  0624: add 1.0 to_float_stat 75  
  0624: add 1.0 to_float_stat 76  
  0624: add 1.0 to_float_stat 77  
  0624: add 1.0 to_float_stat 78  
  0624: add 1.0 to_float_stat 79


Этот участок
Код
0A96: 0@ = actor $PLAYER_ACTOR struct  
  0@ += 1816  
  0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0  
  0A96: 0@ = actor $PLAYER_ACTOR struct  
  0@ += 1440  
  1@ *= 28  
  005A: 0@ += 1@ // (int)  
  0@ += 4  
  if  
  0AB0:   key_pressed 82  
  else_jump @RELOAD_13  
  0A8C: write_memory 0@ size 4 value 2 virtual_protect 1  
Это уже участок кода, где идёт вычисление адреса памяти игры(в оперативке, или там где прописан адрес) путём арифметических операций. Я прокомментировал что за числа:
Код
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013  
{$CLEO .cs}  
//-------------MAIN---------------  
0000: NOP  
thread 'RELOAD'  
:RELOAD_13  
wait 100  
if  
Player.Defined($PLAYER_CHAR)  
else_jump @RELOAD_13  
0A96: 0@ = actor $PLAYER_ACTOR struct  
0@ += 1816 // получаем текущий слот оружия
0A8D: 1@ = read_memory 0@ size 1 virtual_protect 0 // читаем адрес и записываем результат в 1@
0A96: 0@ = actor $PLAYER_ACTOR struct  
0@ += 1440 // получаем адрес начала структуры слотов оружия
1@ *= 28 // Умножаем текущий слот на 28. Каждый слот оружия имеет размер 28 байт
005A: 0@ += 1@ // (int) // вычесляем адрес нужного слота относительно начала структуры слотов оружия
0@ += 4 // получаем характеристику "Статус оружия" которая находится со смещением в 4.
if  
0AB0:   key_pressed 82 // если игрок нажал клавишу R
else_jump @RELOAD_13  
0A8C: write_memory 0@ size 4 value 2 virtual_protect 1 // то записываем 2 в качестве статуса для адреса, который мы вычислии ранее. Статус 2 - это перезарядка
//повышаем характеристики
0624: add 1.0 to_float_stat 69  
0624: add 1.0 to_float_stat 70  
0624: add 1.0 to_float_stat 71  
0624: add 1.0 to_float_stat 72  
0624: add 1.0 to_float_stat 73  
0624: add 1.0 to_float_stat 74  
0624: add 1.0 to_float_stat 75  
0624: add 1.0 to_float_stat 76  
0624: add 1.0 to_float_stat 77  
0624: add 1.0 to_float_stat 78  
0624: add 1.0 to_float_stat 79  
jump @RELOAD_13
Все адреса по структуре можно узнать тут.

Fox1324
Пользователи
02.10.14 20:40
Offline
Спасибо огромное, извините, а у вас есть уроки про адреса? Манипуляции с памятью?:)

wmysterio
Администраторы
Скриптер
02.10.14 21:09
Offline
Цитата Fox1324 ()
Спасибо огромное, извините, а у вас есть уроки про адреса? Манипуляции с памятью?:)
Незачто. Есть. Вот: 1, 2, 3, 4, 5

Fox1324
Пользователи
02.10.14 21:33
Offline
Извините, а можно я вам в ЛС буду писать? Просто нужно обсудить с вами вопросы некоторые, интересно ваше мнение smile

wmysterio
Администраторы
Скриптер
02.10.14 21:37
Offline
Цитата Fox1324 ()
Извините, а можно я вам в ЛС буду писать?
можно и нужно

wmysterio
Администраторы
Скриптер
23.10.14 18:24
Offline
Всем привет! У меня есть один вопрос к опытным в игровой памяти скриптеров.
В документации написно
Код
CPhysical +0xB9 = [word] Количество субьектов, с которыми соприкасается субьект
CPhysical +0xBC = [24 bytes] 6 субьектов, с которыми соприкасается субьект
CPhysical +0xD8 = [float] Величина урона
Если перевести всё в десятичные числа, то получится:
Код
185
188
216
Получается, на количество припадает 3 байта(188 - 185), а на субъекты 28 байт(216 - 188). Как видите, здесь нестыковка какая-то. Как правильно поступить? Могут в смещениях быть "пустоты", ведь word не может быть 3 байта(только 2 или 4). Или я ошибаюсь.

Данные брал здесь.

Напишите правильные смещения, пожалуйста.

Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder и заказы (Вы можете получить ответы на вопросы по SB и сделать заказ)
Страница 107 из 127«12105106107108109126127»
Поиск: