You are not logged in.
Данная консоль не закончена и представляет собой скорее испытание моих последних находок в области исследования памяти. Посмотрите, может найдете полезные идеи для себя.
Скриншоты:
http://sannybuilder.com/images/forums/dbmu.jpg
http://sannybuilder.com/images/forums/dbmu2.jpg
Что в ней интересного:
ну кроме того, что я разбирался с возможностями text_draw, там есть:
- новые цвета интерфейса
- меняющиеся ключи american.gxt из скм (код я уже постил на форуме)
- возможность вызывать консоль при помощи нажатия любой клавишы (по умолчанию ~, можно переназначить если 3 секунды держать P (латинскую))
- возможность узнавать модели и здоровье актеров, на которых целишься.
Offline
Seemann: ты можеш сказать как изменить цвет минтовских звёст, на крастый.
Offline
0@ = 362041 &0(0@,1i) = 0xFF0000FF
вставляешь в любое место после начала игры. Это число RGBA, наоборот, т.е. сначала значение альфы (прозрачность) (FF), потом Blue (00), потом Green (00), потом Red (FF). Эти значения можно узнать в фотошопе.
Offline
При гибели игра виснит.
Offline
Да, есть такое. Она вообще нестабильная какая-то. В транспорте тоже вылетает, приходится отключать. Но для меня это некритично - это как тестовый полигон.
EDIT:
Эту ошибку исправил, забыл что нельзя объединять проверки игрока и Player.Defined
Offline
2Seemann:
нельзя объединять проверки игрока и Player.Defined
А как же здесь?
:R3_171 00D6: if 21 8256: NOT player $PLAYER_CHAR defined 80DD: NOT actor $PLAYER_ACTOR driving_vehicle_type #AMBULAN 004D: jump_if_false ЈЈR3_176
:GFAGNT_25 0001: wait $1212 ms ;; Задержка. Менее 250, без необходимости не рекомендуется 00D6: if 2 0256: player $PLAYER_CHAR defined ;; Игрок доступен 8118: NOT actor $PLAYER_ACTOR dead ;; Актер погиб 0038: $ON_MISSION == 0 ;; integer values 004D: jump_if_false ЈЈGFAGNT_34 ;; Если условия не верны
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
R* может делать все что угодно, но проверку Defined не рекомендуется объединять с другими условиями. Структура проверке условий в движке игры такова, что она проверяет все условия, независимо от того, известен конечный результат или нет. Например, если у нас проверка and и первое условие ложно - это значит, что все условие целиком не выполняется, и можно было бы не проверять остальные (так делается в нормальных языках программирования), однако в майне эти проверки продолжают проверяться до самого jf
Лучше обезопасить себя от лишних вылетов.
Offline
Можите подсказать у меня после сохранения не загружается. Скрипт написан правильно , нет Ex. Script'ов, и всё вроде нормально но не работает. (может потому что я делал всё с нуля (не с чистого, не с оригинала)) тоесть маин весит 150кб.
Offline
2kostia:
а что в этом майне, этот мод или какой-то другой?
Offline
Не в этом, вопше. Может попскажеш что делать не сохраняется.
И стати какой Скрипт для тюнинга?
код SAVE ALL
:SAVE_ALL
thread "SAVE_ALL"
:SAVE_ALL_1
wait 0
if and
Player.Defined($PLAYER_CHAR)
jf @SAVE_ALL_1
if
not Actor.Dead($PLAYER_ACTOR)
not wasted_or_busted
jf @SAVE_ALL_1
if and
00E1: key_pressed 0 4
00E1: key_pressed 0 15
jf @SAVE_ALL_1
if
Player.Controllable($PLAYER_CHAR)
jf @SAVE_ALL_1
if
$ONMISSION == 0 // integer values
jf @SAVE_ALL_1
if
not Actor.Driving($PLAYER_ACTOR)
jf @SAVE_ALL_3
00BE: text_clear_all
00BA: text_styled 'MYSAVE' 400 ms 4 // ’OЂ†OTOBKA K COXPAHEHЃ‘ Ѓ†Pѓ, ’OЂO„ЂЃTE ...
Player.CanMove($PLAYER_CHAR) = False
wait 400
04DD: $SAVEALL_ARMOUR = actor $PLAYER_ACTOR armour
$SAVEALL_HEALTH = Actor.Health($PLAYER_ACTOR)
00BF: $Time_house = current_time_hours, $Time_minutes = current_time_minutes
03D8: show_save_screen
:SAVE_ALL_2
wait 0
if
03D9: save_done
jf @SAVE_ALL_2
Actor.Health($PLAYER_ACTOR) = $SAVEALL_HEALTH
Actor.Armour($PLAYER_ACTOR) = $SAVEALL_ARMOUR
Actor.Angle($PLAYER_ACTOR) = 0.0
00C0: set_current_time $Time_house $Time_minutes
Player.CanMove($PLAYER_CHAR) = True
Camera.SetBehindPlayer
Camera.Restore_WithJumpCut
jump @SAVE_ALL_1
:SAVE_ALL_3
wait 0
03E6: remove_text_box
03E5: text_box 'STAT_03' // CE4AC Bѓ HE MO„ETE COXPAHЃT€ Ѓ†P“.
wait 1200
jump @SAVE_ALL_1
Offline
2kostia:
Можите подсказать у меня после сохранения не загружается. Скрипт написан правильно , нет Ex. Script'ов, и всё вроде нормально но не работает. (может потому что я делал всё с нуля (не с чистого, не с оригинала)) тоесть маин весит 150кб.
Ты откуда сей скрипт отодрал-то?
2Seemann:
Ну вот ... драли с мультимода:
00BE: text_clear_all 00BA: text_styled 'MYSAVE' 400 ms 4 // ’OЂ†OTOBKA K COXPAHEHЃ‘ Ѓ†Pѓ, ’OЂO„ЂЃTE ...
Оригинал:
00BE: text_clear_all 00BA: text_styled 'MYSAVE' 400 ms 4 ;; ПОДГОТОВКА К СОХРАНЕНИЮ ИГРЫ, ПОДОЖДИТЕ ...
Даже хоткей не поменялся ... :-)
if and 00E1: key_pressed 0 4 00E1: key_pressed 0 15 jf @SAVE_ALL_1
А ты говорил ... ;D
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Нащёт пиревода я просто незнаю как периводить на русский.
А клавиши ты просто отлично подобрал.
и стати как зделать сохранение, нероботает.
Offline
2kostia:
Старайся проверять свою грамотность хотя бы при помощи Word. Пригодится в будущем.
И в данной теме твои вопросы - оффтоп. Задавай их на форуме "Общие вопросы".
Offline
CLEO-версия вывода различной информации на экран.
http://cleo.sannybuilder.com/scripts/dbmu.rar
Возможен показ координат игрока, угла поворота, текущего интерьера, информации о его машине или цели.
По нажатию Ctrl+R переключаются режимы вывода (всего три режима: отключено, только координаты, полный).
Для правильной работы требуется плагин GXTHook (брать на cleo.sannybuilder.com).
Установка: распакуйте архив в папку CLEO. dbmu_cleo.cs должен лежать в папке GTASA\CLEO\, файл dbmu.fxt в папке GTASA\CLEO\cleo_text\ (директория для FXT-файлов).
Скрины:
Offline
этот мод идёт только с новыми играми! со старой ни в какую
Offline
Угу, это уже отмечалось. Попробуй после 0085: 0@ = &0(0@,1i) добавить проверку 0@ > 0:
else 0@ = 300694 0085: 0@ = &0(0@,1i) if 0@ > 0 then inc(0@, 0x79C) 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 if 0@ > 0 then // draw target gosub @TextDrawTextSettings 033E: text_draw 10.0 Y_OFFSET 'DBMU6' // "Targeted ped: " 0A8E: 1@ = 0@ + 0x22 0A8D: 1@ = read_memory 1@ size 2 virtual_protect 0 gosub @TextDrawText2Settings 045A: text_draw_1number 90.0 Y_OFFSET 'DBMU9' 1@ // Target Model 0A8E: 1@ = 0@ + 1344 0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0 008C: 1@ = float_to_integer 1@ gosub @TextDrawText2Settings 045A: text_draw_1number 160.0 Y_OFFSET 'DBMU8' 1@ // Target Health end end end
Offline
Offline
CLEO-версия вывода различной информации на экран.
http://cleo.sannybuilder.com/scripts/dbmu.rar
Возможен показ координат игрока, угла поворота, текущего интерьера, информации о его машине или цели.
.....
в SAMP буде работать?
Offline
Offline
По-идее должна работать и там
scm полюбому работать не будет , cleo версия выкидывает с ошибкой... попробую разобраться
Offline
Уже обсуждалось что в сампе свой main.scm, а клео выкидывает наверное из-за игроков.
Offline
Кстати, вот нюанс один: на скриншоте видна надпись Ground Z и там показываются координаты относительно нулевой точки модели игрока (то есть торс, там где-то как-раз ноль). Правильней будет если от нулевой точки модели игрока будет высчитываться число n (то есть размер ног + ~0.5).
Вам так не кажется?
Offline
Как при наличии id вывести имя модели (400 -> landstal) ?
Это всё из-за Gta_United, поставил его в конце прошлого года, чтобы скоротать время до гта4, в майн изменил по мелочам, гаражи машины, текстуры, решил повозится с клео - почти все скрипты шли...
А сейчас захотел посмотреть какие машины в этом моде стоят(может чё заменить там) с помощью клео-скрипта для спауна машин (алгоритм у демареста позаимствовал, щас во всех гта использую(в четверке так и не понял, как там сделать, пытался через массив, но..- зтож не чистый lua) - три режима, увеличение/уменьшение ID и на месте) и подумал - хорошо бы имя dff(txd - как в vehicles.ide) выводить заодно, а то во многих модах машины переименовывают(да я сам так делаю).
У Seemann`а смотрел dbmu (там правда название модели выходит, когда в машину садишься и это строка из gxt), но так ничего не получилось - либо какое-то длинное число, либо виснет...
Last edited by reute70 (22-08-2009 16:23)
Offline
Offline
Как при наличии id вывести имя модели (400 -> landstal) ?
А ты смотрел, как в моем CarSpawner'е сделано?
Не проверял в клео, но должно работать:
:CarNameByID 0@ *= 4 0@ += 0xA9B0C8 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0 0@ += 0x32 0AA8: call_function_method 0x6A0050 struct 0xC1B340 num_params 1 pop 0 0@ 0@ 0AB2: ret 1 0@
Использование:
0AB1: call_scm_func @CarNameByID 1 #landstal 0@
В 0@ окажется указатель на нуль-терминированную строку с именем машины. Со строкой в ее первозданном виде работать не получится. Используй функции вывода или заменяй через память GXT.
Last edited by Alien (03-09-2009 12:34)
Offline