You are not logged in.
Спасибо всем кто откликнулся!
2flashTrash:
Почему 54? Почему не 1 и 2?
В некоторых миссиях мейна тоже используются текстуры, так вот если поставит 1 или 2, то после запуска такой миссии текстуры могут заменится на другие(автошкола например). У меня текстуры должны выводится и в миссиях и в интерьерах
Так правильней булет.
У меня так в начале и было, все дело в цикле: в нем нет кода загрузки текстур. Поэтому после загрузки сейва поток находится в цикле и уже не обращается к коду загрузки текстур.
2Svetka:
Спасибо за скрипт!
Про спидометр harda что-то я забыл.
Сферы становятся невидимыми....нарушен лимит...
Если код в урезаном майне работает нормально, то скорей всего так оно и есть. Попробуй заблокировать некоторые сферы и маркеры, и посмотри появится сфера или нет.
При избытке маркеров и сфер, я обычно создаю их если они недалеко от игрока и удаляю если игрок далеко от них.(но лучше не привышать лимит)
ОШИБКА.
...
Странно. У меня такой ошибки не возникало ни разу. По сто раз открывал закрывал майны и ничего. Может дело в чем-то другом.
2Stalker2012
выложи скрипт ,где используются твои текстуры
Я уже нашел как решить данную проблему, тока пока на глюки не проверял(урезанный код):
:kkk
wait 255
$ID1_CLR=54 //цвет индикатора
$ID1_val=10.0 //значение индикатора:kkk_loop
wait 0
0391: release_txd_dictionary
0390: load_txd_dictionary 'MYTXD'
038F: load_texture "ID1" as 53 // Load dictionary with 0390 first
038F: load_texture "CLR1" as 54 // Load dictionary with 0390 first
03F0: text_draw_toggle 1
03E3: show_antialiasing_texture 1
074B: texture 53 position 12.0 382.0 scale 83.0 12.5 rotation 90.0 color 255 255 255 alpha 255
038D: create_texture $ID1_CLR position 12.5 415.0 size 6.8 $ID1_val RGBA 255 255 255 alpha 255
03F0: text_draw_toggle 0
jump @kkk_loop
Справка просто супер! Справка по ошибкам в самую точку. (прям как у дебагера, может когда-нибудь сделают дебагер и для сан-андреса)
Еще бы добавит в справку перечнем адресов игровой памяти и перечень функций экзешника. И справку по всем опкодам тоже было бы не плохо увидеть.
По санни пока глюков, кроме выше описанных, не видно. Интерфейс классный, может добавить поддержку скинов.
2Stalker2012:
они не сохраняются в сейве. Ты должен рисовать их на экране постоянно.
Так они и рисуются постоянно тока белыми квадратиками. Это что получается в цикле без конца загружать текстуры?! Так глюкнет все. Может кто знает как это исправить?
Может кто знает почему после загрузки сейва проподают мои текстуры с экрана? До загрузки сохранения они есть.
Svetka:
Не могу загрузить сохранение.
Seemann:
CLEO 3 установлен? какие CLEO-скрипты стоят?
попробуй удалить файл cleo.asi из папки игры и проверить сохранение/загрузку
Та же проблема на любом скрипте. Если отключить CLEO, то все сейвы опять нормально загружаются.
Если не отключать CLEO и не ставить CLEO скрипты, то при сохранение создается пустой сейв в папке cleo_saves и при попытке загрузить сохранение игра вылетает с сообщением об обращении игры к 0 адресу.
Если удалить этот пустой сейв, то сохранения опять нормально загружаются.
Если не отключать CLEO и поставить примеры CLEO скриптов, то при сохранение создается нормальный сейв в папке cleo_saves и при попытке загрузить сохранение игра не вылетает и сохранения нормально загружаются.
Только у меня почему-то пропадают мои загруженные текстуры и заменяются белыми квадратами и при нажатии F1 или F2 или F3 игра вылетает. Может дело в моем скрипте.
//----------------------
При поиске (ctrl+f) при включение опции "Искать, начиная с курсора", затем опции "Всегда искать от курсора" санни выдает ошибку: "Invalid class typecast."
Заетм если нажать ок, то окно поиска больше вызвать не удается - Invalid class typecast.
Где отменить эти опции? Поиск нужен.
Svetka:
И к тому же, если охранник выходит из машины - над ним появляется маркер. Так что издали будет на радаре виден.
Сама машина генерируется в 70-ти игровых метрах от местоположения актера.
Так-то оно так, но у меня все время машина генерится на трассе под мостом рядом с домом CJ и телохранитель начинает ездить в объезд и ждать его приходится долго.
Я уменьшил радиус до 10 метров позади игрока и вроде он стал добиратся быстрее. Вобщем весьма полезный скрипт.
Svetka:
Вот на этом моменте я и зациклилась. Прямо слепое пятно какое-то Просто напросто не соображу как выйти из этого цикла.
Это самый примитивный способ(обычно использую для отладки), может кто знает лучше:
через 10 сек машина переносится к игроку
..............
$r=0:OXPAHA_726
wait 500
0513: text_1number_text_box 'number' $r
$r +=1
if or
$r > 20
01C1: car 5@ stopped
else_jump @OXPAHA_726
04C4: store_coords 25@ 26@ 27@ from_actor $PLAYER_ACTOR with_offset 0 2.0 0
00AB: put_car 5@ at 25@ 26@ 27@
wait 300
05CD: AS_actor 6@ exit_car 5@
0631: put_actor 6@ in_group $PLAYER_GROUP
Player.Money($PLAYER_CHAR) += -1000
20@ = Marker.CreateAboveActor(6@):OXPAHA_775
............
Вообще по идее надо проверять на застревание машины в пути и следить за координатами игрока, а то убежишь в другое место а он проносится мимо и едит на начальное место и ждет там.
Индекс массива не может быть адресом. Чтобы посчитать правильный индекс, нужно от адреса отнять 0xA49960 и разделить на 4. В данном случае 0@ должно быть равно 300481.
Но это и в самом деле не поможет, поскольку флаг контроля widescreen это 1 байт, а массивы читают по 4 байта, поэтому точное значение этого адреса ты не получишь. Надо использовать CLEO.
Может что-то я не допонял, но у меня вот так все работает:
0@= 11989093
000E: 0@ -= 10787168
0016:0@ /= 4
008B: 0@ = &0(0@,1i)если widescreen вкл, то 0@=0xFF
если widescreen выкл, то 0@=0
ДЖОКЕР:
00C7178E - 1байт
я пытаюсь проверить этот адрес( 1 то widescreen включен если 0 то выключен) но игра вылетает(или зависает)
я проверял вот так:
1@= 13047694
0A8D: 2@ = read_memory 1@ size 1 virtual_protect 1
0513: text_1number_text_box 'number' 2@
и у меня получалось всегда одно и тоже значение 2@=153, может я не так проверял
Svetka:
На самом деле в коде есть серьезная(?) ошибка
скрипт зацикливаетса на метке DAMAGE_884, в проверке
Actor.Driving($PLAYER_ACTOR)
else_jump @DAMAGE_884
еще мешает проверка
:OXPAHA_726
01C1: car 5@ stopped
бывает что машина вообще не добирается до игрока и ищи ее потом не знама где, а скрипт зацикливается.
и самое главное не срабатывает проверка на смерть актеров
if or
not Actor.Dead(6@)
not Actor.Dead($PLAYER_ACTOR)
а надо
if and
not Actor.Dead(6@)
not Actor.Dead($PLAYER_ACTOR)
Прикольный скрипт. Можно еще добавить:
1) Добавит машине выброс шипов.
2) Если бой затягивается, то на подмогу приезжает грузовик со сватовцами или хантер\гидра прилетает и все превращает в груду хлама!!!
3) Ну а когда совсем плохо можно и танков подогнать и включить режим войны на улицах.
Давно хотел такой скрипт написать да времени нет.
jump лишний. Судя по всему, ты сначала вставила while..end, потом декомпилировала код и запостила здесь.
Вот поэтому я и пишу по-старинке руками весь код, а автоматика мусор оставляет.
Я бы тоже потестил!
2svetka:
Посмотрев скрипт подружки, непонятны мне следующие строчки кода:
0631: put_actor 0@ in_group $PLAYER_GROUP -добавляет в группу к игроку
07CB: toggle_actor 0@ supporting_fire 0 -???
0A20: unknown_player $PLAYER_CHAR flag 1 -???,
возможно они заставляют её стрелять в врагов.
можно еще определить машину с какой столкнулась машина игрока и (как написал yelmi)
0713: actor <твой актер> driveby_actor -1 car <машина, с каторой столкнулась машина игрока > point 0.0 0.0 0.0 radius 100.0 8 0 firing_rate 100. После уничтожения машины возвращать актера в нормальный режим.
Еще есть вариант, описанный сдесь http://missions.gtamaps.net/readarticle … cle_id=297,
тока там верталет мочит всех, но думаю с актером принцип тот же.
2ДЖОКЕР:
Спасибо за адрес, попробую.
Можешь дать ссылку где ты их находишь.
Svetka попробуй 0464, если туррет режим не поможет, тогда остается только искать в коде миссий.
Посмотри еще опкоды типа "unknown_action_sequence". Еще такое есть в скрипте с первой подружкой, кода ее возишь по городу, она из машины мочит всех врагов.
2svetka
А ты пробовала пассажира добавлять в группу к игроку.
Такая фишка еще есть в миссиях, посмотри там.
Попробуй простой туррет режим + флаг телохранителя.
2Svetka:
Каким опкодом можно заставить актера из машины обстреливать другую машину? Актер - пассажир.
Я пробовала опкодом 0672:, но для этого игроку приходится выходить из машины. А надо атаковать на ходу.
Кажется 0713:. Точно не помню, но брал его из мода езда пассажиром (поток fire), тока там игрок ставится в такой режим.
Попробуй еще этот -0464:
03F0: text_draw_toggle 1 -удалить все текстуры с экрана
Это я знаю, а как проверить включен toggle_widescreen или нет?
Может кто встречал?
А в блоке CRadarBlipsPool есть информация о типе(виде) маркера?
Если есть, то как его проверить?
Это называется Code Folding и, к сожалению, SynEdit это не поддерживает (есть сторонние разработки, но они не совсем подходят).
Может тогда использовать закладки. Автоматически создавать закладки для каждого потока или раздела, а для быстрого доступа к ним добавить панельку со списком всех закладок в виде ссылок.
Это я думаю реализовать возможно.
Спасибо Sanchezу за адреса красной метки!
Народ помогите!
У меня есть текстурка. Как сделать чтобы она не рисовался поверх роликов и в режиме Widescreen.
Субклассы добавлять надо однозначно, а для совместимости со старыми версиями санни сделать конвертор кода.
Еще было бы не плохо добавить возможность скрывать(как в Visual studio например) отдельные участки кода в едиторе или хотя бы потоки
Они те же самые (Ы = S и т.п.).
Странно. У мена когда на русский переключаешь, клавиши не работают. Попробую вывести код текущей нажатой клавиши. Может просто глюк.
Действительно просто глюк из-за автопереключалки раскладки.
Проверка нажатия любых клавишь это хорошо.
А какие кей-коды для русской раскладки есть?
Это те адреса, что я думаю:
Base address 0xBA6748
+0x64 - [Float] map zoom
+0x68 - [Float] map x position
+0x6C - [Float] map y position
(http://www.gtamodding.com/index.php?tit … SA%29#Menu)
или нет?