#1 Re: Вопросы по скриптингу » Один вопрос » 18-07-2007 04:27

Спасибо всем кто откликнулся!

2flashTrash:

Почему 54? Почему не 1 и 2?

В некоторых миссиях мейна тоже используются текстуры, так вот если поставит 1 или 2, то после запуска такой миссии текстуры могут заменится на другие(автошкола например). У меня текстуры должны выводится и в миссиях и в интерьерах

Так правильней булет.

У меня так в начале и было, все дело в цикле: в нем нет кода загрузки текстур. Поэтому после загрузки сейва поток находится в цикле и уже не обращается к коду загрузки текстур.

2Svetka:
Спасибо за скрипт!
Про спидометр harda что-то я забыл.

Сферы становятся невидимыми....нарушен лимит...

Если код в урезаном майне работает нормально, то скорей всего так оно и есть.  Попробуй заблокировать некоторые сферы и маркеры, и посмотри появится сфера или нет.

При избытке маркеров и сфер, я обычно создаю их если они недалеко от игрока и удаляю если игрок далеко от них.(но лучше не привышать лимит)

#2 Re: Sanny Builder и CLEO » Бета-тестирование Sanny Builder 3 » 18-07-2007 04:02

svetka wrote:

ОШИБКА.
...

Странно. У меня такой ошибки не возникало ни разу. По сто раз открывал закрывал майны и ничего. Может дело в чем-то другом.

#3 Re: Вопросы по скриптингу » Один вопрос » 16-07-2007 04:40

ДЖОКЕР wrote:

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

#4 Re: Sanny Builder и CLEO » Бета-тестирование Sanny Builder 3 » 13-07-2007 07:14

Справка просто супер! Справка по ошибкам в самую точку. (прям как у дебагера, может когда-нибудь сделают дебагер и для сан-андреса)
Еще бы добавит в справку перечнем адресов игровой памяти и перечень функций экзешника. И справку по всем опкодам тоже было бы не плохо увидеть.

По санни пока глюков, кроме выше описанных, не видно. Интерфейс классный, может добавить поддержку скинов.

#5 Re: Вопросы по скриптингу » Один вопрос » 12-07-2007 09:26

Seemann wrote:

2Stalker2012:
они не сохраняются в сейве. Ты должен рисовать их на экране постоянно.

Так они и рисуются постоянно тока белыми квадратиками. Это что получается в цикле без конца загружать текстуры?! Так глюкнет все. Может кто знает как это исправить?

#6 Re: Вопросы по скриптингу » Один вопрос » 12-07-2007 09:20

Может кто знает почему после загрузки сейва проподают мои текстуры с экрана? До загрузки сохранения они есть.

#7 Re: Sanny Builder и CLEO » Бета-тестирование Sanny Builder 3 » 12-07-2007 04:50

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.

Где отменить эти опции? Поиск нужен.

#8 Re: Модификации » Вот мой безглючный(?) код охраны. » 10-07-2007 12:13

Svetka:

И к тому же, если охранник выходит из машины - над ним появляется маркер. Так что издали будет на радаре виден.
Сама машина генерируется в 70-ти игровых метрах от местоположения актера.

Так-то оно так, но у меня все время машина генерится на трассе под мостом рядом с домом CJ и телохранитель начинает ездить в объезд и ждать его приходится долго.

Я  уменьшил радиус до 10 метров позади игрока и вроде он стал добиратся быстрее. Вобщем весьма полезный скрипт.

#9 Re: Модификации » Вот мой безглючный(?) код охраны. » 10-07-2007 10:48

Svetka:

Вот на этом моменте я и зациклилась. Прямо слепое пятно какое-то smile Просто напросто не соображу как выйти из этого цикла.

Это самый примитивный способ(обычно использую для отладки), может кто знает лучше:
через 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
............

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

#10 Re: Вопросы по скриптингу » Один вопрос » 10-07-2007 10:16

Seemann wrote:

Индекс массива не может быть адресом. Чтобы посчитать правильный индекс, нужно от адреса отнять 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, может я не так проверял

#11 Re: Модификации » Вот мой безглючный(?) код охраны. » 10-07-2007 07:35

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)

#12 Re: Модификации » Вот мой безглючный(?) код охраны. » 10-07-2007 06:09

Прикольный скрипт. Можно еще добавить:
1) Добавит машине выброс шипов.
2) Если бой затягивается, то на подмогу приезжает грузовик со сватовцами или хантер\гидра прилетает и все превращает в груду хлама!!!
3) Ну а когда совсем плохо можно и танков подогнать и включить режим войны на улицах.

Давно хотел такой скрипт написать да времени нет.


Seemann wrote:

jump лишний. Судя по всему, ты сначала вставила while..end, потом декомпилировала код и запостила здесь.

Вот поэтому я и пишу по-старинке руками весь код, а автоматика мусор оставляет.

#14 Re: Вопросы по скриптингу » Один вопрос » 06-07-2007 06:46

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ДЖОКЕР:
Спасибо за адрес, попробую.
Можешь дать ссылку где  ты их находишь.

#15 Re: Вопросы по скриптингу » Один вопрос » 05-07-2007 10:11

Svetka попробуй 0464, если туррет режим не поможет, тогда остается только искать в коде миссий.

Посмотри еще опкоды типа "unknown_action_sequence". Еще такое есть в скрипте с первой подружкой, кода ее возишь по городу, она из машины мочит всех врагов.

#16 Re: Вопросы по скриптингу » Один вопрос » 05-07-2007 09:53

2svetka

А ты пробовала пассажира добавлять в группу к игроку.
Такая фишка еще есть в миссиях, посмотри там.

Попробуй простой туррет режим + флаг телохранителя.

#17 Re: Вопросы по скриптингу » Один вопрос » 05-07-2007 07:15

2Svetka:

Каким опкодом можно заставить актера из машины  обстреливать другую машину? Актер - пассажир.
Я пробовала опкодом 0672:, но для этого игроку приходится выходить из машины. А надо атаковать на ходу.

Кажется 0713:. Точно не помню, но брал его из мода езда пассажиром (поток fire), тока там игрок ставится в такой режим.

Попробуй еще этот -0464:

#18 Re: Вопросы по скриптингу » Один вопрос » 04-07-2007 07:56

ДЖОКЕР wrote:

03F0: text_draw_toggle 1 -удалить все текстуры с экрана

Это я знаю, а как проверить включен toggle_widescreen или нет?
Может кто встречал?

#19 Re: Вопросы по скриптингу » Один вопрос » 03-07-2007 08:11

А в блоке CRadarBlipsPool есть информация о типе(виде) маркера?
Если есть, то как его проверить?

#20 Re: Sanny Builder и CLEO » Обновление классов » 03-07-2007 08:04

Seemann wrote:

Это называется Code Folding и, к сожалению, SynEdit это не поддерживает (есть сторонние разработки, но они не совсем подходят).

Может тогда использовать закладки. Автоматически создавать закладки для каждого потока или раздела, а для быстрого доступа к ним добавить панельку со списком всех закладок в виде ссылок.
Это я думаю реализовать возможно.

#21 Re: Вопросы по скриптингу » Один вопрос » 02-07-2007 07:05

Спасибо Sanchezу за адреса красной метки!

Народ помогите!
У меня есть текстурка. Как сделать чтобы она не рисовался поверх роликов и в режиме Widescreen.

#22 Re: Sanny Builder и CLEO » Обновление классов » 02-07-2007 06:49

Субклассы добавлять надо однозначно, а для совместимости со старыми версиями санни сделать конвертор кода.

Еще было бы не плохо добавить возможность скрывать(как в Visual studio например) отдельные участки кода в едиторе или хотя бы потоки

#23 Re: Справочная информация » Проверяем нажатия ЛЮБЫХ клавиш » 13-06-2007 09:56

Seemann wrote:

Они те же самые (Ы = S и т.п.).

Странно. У мена когда на русский переключаешь, клавиши не работают. Попробую вывести код текущей нажатой клавиши. Может просто глюк.

Действительно просто глюк из-за автопереключалки раскладки.

#24 Re: Справочная информация » Проверяем нажатия ЛЮБЫХ клавиш » 13-06-2007 09:40

Проверка нажатия любых клавишь это хорошо.
А какие кей-коды для русской раскладки есть?

#25 Re: Вопросы по скриптингу » Один вопрос » 11-06-2007 11:50

Это те адреса, что я думаю:
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)
или нет?

Board footer

Powered by FluxBB