You are not logged in.
Всем привет. Есть парочка вопросов:
1) Можно ли как то скрыть прицел(пистолета, дробовика автомата и т.п) кроме того как вместо текстуры прицела засунуть пустую текстуру.
2) Есть проверка на то активен ли прицел(игрок целится)?
И еще вопрос: можно ли загрузить и использовать текстуры(не оригинальные) в hud.txd. И надо ли загружать тхд архив в скрипте?
Last edited by RitrS (12-08-2013 14:47)
Offline
1) Можно ли как то скрыть прицел(пистолета, дробовика автомата и т.п) кроме того как вместо текстуры прицела засунуть пустую текстуру.
Можно переместить его в координаты, находящиеся за пределами экрана.
1 2 | 0A8C: write_memory 0xB6EC 10 size 4 value 1.5 virtual_protect 0 0A8C: write_memory 0xB6EC 14 size 4 value 1.5 virtual_protect 0 |
Чтобы вернуть обратно, делаем так:
1 2 | 0A8C: write_memory 0xB6EC 10 size 4 value 0.40000001 virtual_protect 0 0A8C: write_memory 0xB6EC 14 size 4 value 0.52999997 virtual_protect 0 |
2) Есть проверка на то активен ли прицел(игрок целится)?
Поигравшись с Cheat Engine'ом, выяснил, что есть парочка переменных - 0x8CC388 и 0x8CCB80 (обе размером в 1 байт). Первая "по умолчанию" равна 4, если прицелиться - значение меняется на 53, если целишься из обычного оружия (пистолет, дробовик, штурмовая винтовка), на 51 - если из базуки, на 7 - если из снайперки. Вторая меняет своё значение на 0 при использовании обычного оружия (с обычным прицелом). Не меняется при использовании базуки или снайпы.
И еще вопрос: можно ли загрузить и использовать текстуры(не оригинальные) в hud.txd. И надо ли загружать тхд архив в скрипте?
Не совсем понял вопрос. Как именно ты собираешься использовать текстуры? По сути, hud.txd уже загружен игрой, в любом случае, это не так уж сложно проверить, вроде.
Offline
2) Есть проверка на то активен ли прицел(игрок целится)?
а опкод
1 | 068C: is_player_autoaiming $PLAYER_CHAR |
не подойдет?
есть парочка переменных - 0x8CC388 и 0x8CCB80 (обе размером в 1 байт)
судя по базе, первая переменная занимает 4 байта
1 | .data :008CC388 dword_8CC388 |
Offline
1068C: is_player_autoaiming
$PLAYER_CHAR
не подойдет?
У меня, видимо, старая версия опкодов. Хотя, сама проверка звучит как-то не очень правильно, если она проверяет, целится ли игрок обычным способом - с помощью мыши.
судя по базе, первая переменная занимает 4 байта
1.data
:008CC388
dword_8CC388
Прошу прощения, так и есть. Я просто посмотрел только вторую и решил, что первая тоже байтовая.
Offline
Есть вот еще вопрос: хочу написать скрипт что бы можно выбрать место респауна после ареста или смерти. Там типа по нажатию клавишы (любой) вылазит окошко: Выбор места после смерти и выбор места после ареста. Я могу сделать таблицу и так далее. Мне нужно создавать ini файл куда будут записываться координаты мест? Если да то как а то с ini никогда не работал.
Offline
Если ты хочешь выводить на экран карту и там выбирать место распауна для одной игровой сессии, ini не нужен, пиши координаты в переменные. Если хочешь базу с готовыми координатами, которую ты будешь изменять вне игры, используй плагин cleo 4 inifiles.cleo. он есть в стандратном комплекте, там же найдёшь всю документацию.
Offline
Нет я не буду выводить на экран карту. Будет так: Нажал "клавиша" открылось меню:
Перед 'этим: Текущие координаты записались в 3@
1) Сохранить место появления посл ареста
2) Сохранить место появления посл смерти
По нажатию 1) в опкод вставляются текущие координаты X@ Y@ Z@
По нажатию 1) в опкод вставляются текущие координаты X@ Y@ Z@
и все.
Кстати кто подскажет какие опкоды для изменения места респауна? Просто где то видел а теперь не найду
Last edited by RitrS (13-08-2013 17:13)
Offline
Если тебе надо запоминать координаты в рамках только этой игровой сессии, ini не нужен (это я на всякий случай). Опкоды для смены координат респауна на память не скажу, погляди в stripped main.
Offline
Кстати кто подскажет какие опкоды для изменения места респауна? Просто где то видел а теперь не найду
1 2 3 | 016D: restart_if_busted_at 1550.68 - 1675.49 14.51 angle 90.0 town_number 0 016C: restart_if_wasted_at 2027.77 - 1420.52 15.99 angle 137.0 town_number 0 |
Last edited by SHooZ (13-08-2013 19:09)
Offline
RitrS wrote:Кстати кто подскажет какие опкоды для изменения места респауна? Просто где то видел а теперь не найду
123016D: restart_if_busted_at
1550.68
-
1675.49
14.51
angle
90.0
town_number
0
016C: restart_if_wasted_at
2027.77
-
1420.52
15.99
angle
137.0
town_number 0
Спасибо
Если тебе надо запоминать координаты в рамках только этой игровой сессии, ini не нужен (это я на всякий случай). Опкоды для смены координат респауна на память не скажу, погляди в stripped main.
Мне нужно что бы если игрок один раз выбрал место респауна то оно всегда и было. Нужно ведь ini создавать?
Last edited by RitrS (14-08-2013 09:55)
Offline
Offline
Offline
в принципе, если надо просто вывести текстуру на экран, легче в hud.txd добавить свою картинку и потом вывести её на экран
Offline
Привет всем. Я сразу скажу, в CLEO скриптинге я совсем новичок, да и узнал я о них пару дней назад.
В общем вопрос таков. Попробовал я создать скрипт который будет создавать пикапы оружия возле каждого сейв-пойнта. Сохранил, поставил где надо (есть копия игры для тестов) и загрузил. Игра оповестила [1 custom script loaded], оружие появилось, но я хотел чуток переместить. Когда переместил и скомпилировал, в игре уже было по 2 пикапа на каждое, а за третью попытку, уже 3. Удалил все *.cs файлы, а там все равно оно вертится. И не только в игре для тестов, но во всех 3 копиях, даже там где я скрипт даже не ставил. В чем прикол?
Offline
Я надеюсь, ты закрываешь игру перед тем, как изменить что-нибудь в папке CLEO?
Offline
Я надеюсь, ты закрываешь игру перед тем, как изменить что-нибудь в папке CLEO?
само собой. Я не первый день программист, просто это впервые, и надо встать на ноги
Offline
ThePRO, может быть игра записала пикапы в сейв? Ты сохранял игру?
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
ThePRO, может быть игра записала пикапы в сейв? Ты сохранял игру?
Да, сохранил, но по идеи они должны пропадать, после чего я их заберу, но они опять появляются. Или то что они должны появляться полетело в сейв?
Offline
ThePRO, вполне возможно.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Оно видимо так и есть. При начале новой игры, ничего нету. Значит при тестировании скрипта, не надо сохранять игру Урок ясен. А я ломал голову почему оно так
Offline
НикИТОС wrote:Я надеюсь, ты закрываешь игру перед тем, как изменить что-нибудь в папке CLEO?
само собой. Я не первый день программист, просто это впервые, и надо встать на ноги
юзай
1 | 0A95: enable_thread_saving |
Я думаю, вся проблема в том, что твои пикапы сохраняются в сейве, так что даже после удаления скрипта они останутся в игре. Этот опкод сохраняет все обьекты, пикапы, кары и тд вызываемые КЛЕО в файле в директории CLEO\CLEO_SAVES
====================================================================
незаметил ответов
Last edited by SHooZ (18-08-2013 10:59)
Offline
0A95: enable_thread_saving
Куда надо правильно прописать эту строку, а то при сейве выкидывает. Я сделал так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | {$VERSION 3.1.1000} {$CLEO .cs} thread 'PICKUPS' :PICKUPS wait 0 0A95: enable_thread_saving model.Load( #MINIGUN ) 038B: load_requested_models :PICKUPS_2 wait 0 if 0 model.Available( #MINIGUN ) jf @PICKUPS_2 :PICKUPS_3 032B: $weap = create_weapon_pickup #MINIGUN type 15 ammo 9999 at - 2014.4376 155.6977 27.6875 model.Destroy( #MINIGUN ) end_thread |
Было и по другому, но все же выкидывает (
Last edited by ThePRO (18-08-2013 12:10)
Offline