You are not logged in.
Как сделать проверку, чтобы игра не вылетала, если в gta3.img не была найдена модель? Чтобы если модели не было, создавалась альтернативная указанная.
И еще кое-что. Как сделать, чтобы актер не обращал внимания на то, что на него целятся оружием?
И еще кое-что. Тут мне подсказали, что для случайного перехода на какой-то блок надо юзать "таблицы переходов". Не могли бы вы привести пример случайного перехода на метки, например,
:ass
:shut_up
:shit
:blahblahblah
а то в справке не очень понятно написано. Я надеюсь, эти "таблицы" будут функционировать примерно так же, как и 0208, или тут по-другому?
Last edited by GTASA (22-10-2009 11:35)
Offline
Таблицы переходов используются для целенаправленного перехода на нужную метку. А нужный тебе скрипт уже приводил Sw[ee]t
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
Точно. Извиняюсь, что не заметил. Теперь помогайте с остальным бредом, который я расписал выше.
И еще. Как сделать оружие актера невидимым?
Last edited by GTASA (23-10-2009 02:22)
Offline
чтобы сделать оружие невидимым, надо всунуть в руку другой невидимый объект.
070A: AS_actor 358@ attach_to_object 359@ offset 0.0 0.0 0.0 on_bone 6 16 perform_animation "NULL" IFP_file "NULL" time 1
Offline
А зачем приклеивать актера к объекту?
Offline
Как сделать проверку, чтобы игра не вылетала, если в gta3.img не была найдена модель? Чтобы если модели не было, создавалась альтернативная указанная.
...
А вобще получилось выводить название модели по ID ?
Offline
Причем тут это?
Offline
Да маленько ошибся, это больше к 3Doomer`у !
Offline
Как сделать, чтобы актер не обращал внимания на то, что на него целятся оружием?
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1
попробуй это
Специально для тех, кто не умеет читать по английски. Мой ник читается как "ГИР"!!!
Народная мудрость:
Прежде чем задавать вопросы,ПОЧИТАЙ СПРАВКУ!!!!
Offline
У меня небольшой вопросик, ответьте пожалуйста .
Как в SB индексировать массивы ?
Объявляю их так:
$x: array 40 of Float $y: array 40 of Float $z: array 40 of Float $a: array 40 of Float $b: array 40 of Float $i: integer
Использую примерно так:
$a[$i] = 0.0 For $i = 1 To 30 04C4: store_coords_to $x[$i] $y[$i] $z[$i] from_actor $PLAYER_ACTOR with_offset $a[$i] 150.0 0.6 $a[$i] += 1.0 end
Игра вылетает после загрузки
Offline
глобальные переменные в cleo? Если да, то все дело в них.
Offline
Все нормально, когда я индексирую их вручную:
$a[1] = 1.0 $a[2] = 2.0 ... $a[10] = 10.0 04C4: store_coords_to $x[1] $y[1] $z[1] from_actor $PLAYER_ACTOR with_offset $a[1] 150.0 0.6 04C4: store_coords_to $x[2] $y[2] $z[2] from_actor $PLAYER_ACTOR with_offset $a[2] 150.0 0.6 ... 04C4: store_coords_to $x[10] $y[10] $z[10] from_actor $PLAYER_ACTOR with_offset $a[10] 150.0 0.6
Так все работает,но очень неудобно.
Offline
Объявляю их так:
$x: array 40 of Float $y: array 40 of Float $z: array 40 of Float $a: array 40 of Float $b: array 40 of Float $i: integerИспользую примерно так:
$a[$i] = 0.0 For $i = 1 To 30 04C4: store_coords_to $x[$i] $y[$i] $z[$i] from_actor $PLAYER_ACTOR with_offset $a[$i] 150.0 0.6 $a[$i] += 1.0 endИгра вылетает после загрузки
А не многовато ли у тебя элементов в массивах (40*5=200)? Поправьте меня, если ошибаюсь, но их количество не может превышать количество локальных переменных(32+2).
Last edited by Den_spb (28-10-2009 22:09)
Offline
Получается на клео не сделать то что я хочу, мне нужно примерно 1000-2000 элементов
и один-два двумерных масива.=(
Пытаюсь связать камеру(значения которые по адресам 00B6F248 и 00B6F258) и окружение(педы,машины,объекты) с помощью множества 04C4: и 86BD: опкодов, и из-за таких ограничений получилось сделать только небольшой кусочек экрана по x (00B6F258), на большее не хватает элементов=(
Может быть есть более рациональные способы ?
Помогите пожалуйста.
Last edited by DimP (29-10-2009 05:58)
Offline
Здарова! Как сделать, чтобы в скрипте задать нажатие какой-то кнопки? Постараюсь объяснить как можно понятнее. Чтобы можно было присесть, прыгнуть, бежать, но не нажимая кнопок на клавиатуре, а чтобы задать нажатие кнопок в самом скрипте. Задать, когда она нажата, какая именно кнопка нажата, и когда будет отпущена. Очень надо!
Offline
Чтобы сэмулировать нажатие клавиши, нужно записать "не ноль" по адресу памяти 0xB73458 + 2*<номер клавиши>. Номера клавиш есть в справке.
Например, эмуляция нажатия клавиши приседания (когда на ногах):
0A8C: write_memory 0xB7347C size 2 value 0xFF virtual_protect 0
Last edited by Alien (30-10-2009 19:14)
Offline
Не очень понял твое объяснение. Вот, например, чтобы сымитировать нажатие Прыжок, в какой список надо смотреть, что надо делать и т.д. Все на примерах. А то я не разбираюсь в адресах.
Offline
Открываешь СБ-справку, раздел КЛЕО3-Список номеров клавиш к 0AB0. Находишь нужную клавишу и подставляешь её 16-ричный номер (столбик HEX) в приведённую формулу, в результате чего получаешь нужный адрес (складывать 16-ные числа можно стандартным Калькулятором).
Last edited by Den_spb (30-10-2009 16:06)
Offline
0ab0 - это совсем другое. Клавиши из опкода 00E1. Если нужны конкретные кнопки клавиатуры, то надо воспользоваться мэйновским способом "Проверка нажатия клавиш". Только вместо чтения памяти запись.
Offline
Небольшая поправочка: в формуле "по адресу памяти 0xB73458 + 2*<номер клавиши>" номер клавиши-число десятичное,
далее, умножив его на 2, перводим его в шестнадцатиричное и прибавляем к шестнадцатиричному числу B73458,
далее ставим в получившемся числе перед ним символы 0x латиницей (это ноль а не O),
далее записываем его после write_memory
Вот и все.
I know everything and nothing...
Offline
Хай. Я начал пользоваться quick opcode, плагин для создания своих текстов. Почему они у меня в игре появляются заглавными буквами, хотя я их так не вписываю? В чем может быть причина?
И вот еще. Как сделать, чтобы игрок оставлял при себе оружия, когда умирал? В игре, если дружить с подругой-копом, то оружия остаются после ареста. А как сделать, чтобы после смерти оставались оружия? А то найти не могу.
Last edited by GTASA (01-11-2009 09:54)
Offline