You are not logged in.
Есть такая проблема, когда меняешь модель игрока кодом 09C7:, после смерти или когда зайдёшь в интерьер, эта модель может сильно исказиться. Точнее, вместо неё появляется первоначальная модель игрока, но очень искажённая. Если попробовать поменять модель заново, то она загружаетс без текстур.
Хотел поинтересоваться, может, кто-нибудь решил эту проблему за столько-то лет?
Offline
Точнее, вместо неё появляется первоначальная модель игрока, но очень искажённая. Если попробовать поменять модель заново, то она загружаетс без текстур.
1. Выкорачиваешь player.img либо заполняешь его моделями-пустышками.
2. Заменяешь модель главного героя в гта3.имг на свою.
Вариант номер 2 (более гуманный):
1. Экпортируешь своего педа как часть одежды. Можно с распилом, можно без.
2. Переодеваешь главгерыча традиционным для гта са способом.
Offline
Хочу сделать так, чтоб за определённое действие повышался уровень розыска. Ориентируюсь на эти данные
0xB7CD9C - Wanted pool start (CWanted). Each slot has 668 bytes of data. 
            * +0x0 = Is the counter for how pissed the cops are: 
                  o above 50 = 1 звезда 
                  o above 180 = 2 звезды 
                  o above 550 = 3 звезды 
                  o above 1200 = 4 звезды 
                  o above 2400 = 5 звезд 
                  o above 4600 = 6 звездКак я понял, нужно записать так:
0A8C: write_memory 0xB7CD9C size 4 value 50 virtual_protect 1
Но игра вылетает. Пробовал менять значения size, тогда не вылетает, но работает неправильно.
И ещё вопрос - можно сделать проверку, что игрок горит?
Offline
RitrS, http://gtamodding.ru/wiki/Адреса_Памяти … 1.82.D1.8B
d88,
0A8D: 0@ = read_memory 0xB7CD9C size 4 virtual_protect 0
if
    0@ <> 0
then
    0A8C: write_memory 0@ size 4 value 50 virtual_protect 0
end0A96: 0@ = actor $PLAYER_ACTOR struct
0@ += 0x730
0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
if
    0@ <> 0
then
    // fire attached
end
					Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
DK22Pac, спасибо большое за ответ.
0A8D: 0@ = read_memory 0xB7CD9C size 4 virtual_protect 0
if
0@ <> 0
then
0A8C: write_memory 0@ size 4 value 50 virtual_protect 0
end
Я думал, этот код прибавляет уровень розыска на определённое число, но он, похоже, просто устанавливает его на указанный уровень. Причём копы не начинают гоняться за игроком сразу, их для этого спровоцировать надо.
Last edited by d88 (22-09-2013 13:43)
Offline
d88, а так нельзя сделать?
0A8D: 0@ = read_memory 0xB7CD9C size 4 virtual_protect 0
if
    0@ <> 0
then
    0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
    1@ += 50
    0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0
end
					Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
d88, а так нельзя сделать?
0A8D: 0@ = read_memory 0xB7CD9C size 4 virtual_protect 0 if 0@ <> 0 then 0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0 1@ += 50 0A8C: write_memory 0@ size 4 value 1@ virtual_protect 0 end
Попробую.
Ещё с такой проблемой столкнулся. С помощью опкодов CLEO 4 воспроизвожу файл mp3. Потом записываю длительность звука
30@ = Audiostream.Length(1@)
Потом делаю цикл с проверкой 001D: 32@ > 30@. Но проверка срабатывает сразу же. Я хотел проверить, какое число записывается в 30@
03F0: enable_text_draw 1 045A: draw_text_1number 5.0 5.0 GXT 'NUMBER' number 30@
Но с этим игра вылетает. Похоже, в эту переменную вообще не число записывается.
Offline
В настоящее время на этой странице нет текста. Вы можете найти упоминание данного названия на других страницах, или найти соответствующие записи журналов. У вас нет разрешения создать данную страницу.
Да и там я видел адреса кодов но мне нужен именно тот код на резкость управления.
Offline
d88, там возвращается значение в секундах, float.
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Из-за попытки вывести дробное число на экран опкодом 045A игра не вылетит, причина в чём-то другом. Надо смотреть код.
RitrS, ссылку надо скопировать в окно браузера.
На странице есть такой адрес: 0x96914C - Лёгкая управляемость транспортным средством. 
Оно?
Last edited by Den_spb (22-09-2013 20:36)
Offline
Хочу сделать так, чтоб за определённое действие повышался уровень розыска.
{$CLEO}
0000:
while true
wait 0
    if
      player.Defined($PLAYER_CHAR)
    then
        01C0: 0@ = player $PLAYER_CHAR wanted_level
        if
          // действие
          0AB0: key_pressed 51
        then
            050F: get_max_wanted_level_to 1@
            if
              802D: not 0@ >= 1@  // (int)
            then
                0@ += 1
                Player.WantedLevel($PLAYER_CHAR) = 0@
            end
            repeat
              wait 0
            until 8AB0: not key_pressed 51    
        end
        // вывод на экран
        03F0: enable_text_draw 1     
        0343: set_text_draw_linewidth 640.0 
        033F: set_text_draw_letter_size 0.5 1.5 
        081C: draw_text_outline 1 RGBA 255 255 255 255 
        0340: set_text_draw_RGBA 25 10 250 255 
        045A: draw_text_1number 25.0 25.0 GXT 'NUMBER' number 0@
    end
end
					Offline
DK22Pac wrote:d88, там возвращается значение в секундах, float.
Так я пробовал перевести в целое число, не помогло.
Возвращается там значение в секундах, но целое.
Потом делаю цикл с проверкой 001D: 32@ > 30@. Но проверка срабатывает сразу же. Я хотел проверить, какое число записывается в 30@
{$CLEO}
0000:
while true 
wait 0
    if
      0AB0: key_pressed 51
    then
        if
          0AAB:  file_exists "CLEO\sound.mp3"
        then
            Audiostream.Load(1@, "CLEO\sound.mp3")
            0AAD: set_mp3 1@ perform_action 1
            30@ = Audiostream.Length(1@)
            32@ = 0
            0085: 31@ = 30@ 
            31@ *= 1000
            01E3: show_text_1number_styled GXT 'NUMBER' number 30@ time 31@ style 4  // ~1~ 
            0093: 30@ = integer 30@ to_float
            0AD1: show_formatted_text_highpriority "Audiostream.Length = %.1f seconds" time 31@ 30@
            repeat
              wait 0
            until 801D: not 31@ > 32@ 
            Audiostream.Release(1@)
        end
        repeat
          wait 0
        until 8AB0: not key_pressed 51
        
    end
end
					Offline
Из-за попытки вывести дробное число на экран опкодом 045A игра не вылетит, причина в чём-то другом. Надо смотреть код.
RitrS, ссылку надо скопировать в окно браузера.
На странице есть такой адрес: 0x96914C - Лёгкая управляемость транспортным средством.
Оно?
и как мне его активировать в скрипте?
Offline
Voron295 wrote:RitrS wrote:Как сделать что бы скрипт работал в сампе?
А что у тебя за скрипт?
да замедление времени.
В сингле работает а в сампе нет. Что то посоветуешь?
Хах) А как ты себе представляешь замедление времени в мультиплеере? Такое в принципе невозможно. Точнее, в ранних версиях сампа это работало. Но в последних версиях изменение скорости игры исключено.
Можно сделать, чтоб игрок стал неуправляем, как при использовании опкода 01B4:, но чтоб при этом камера не поворачивалась к игроку, и если игрок выполняет анимацию, то она не прерывалась?
Теоретически можно, если занопить процесс обработки клавиатуры. Но тогда нужно будет ещё и очищать структуры, содержащие текущее состояние клавиш. Если такой вариант устроит, могу написать код.
Last edited by Voron295 (05-10-2013 22:57)
Offline
Теоретически можно, если занопить процесс обработки клавиатуры. Но тогда нужно будет ещё и очищать структуры, содержащие текущее состояние клавиш. Если такой вариант устроит, могу написать код.
Нет, спасибо, это уже лишние сложности. Я просто подумал, что если можно это сделать одним опкодом, то было бы неплохо. Но если нет, то и без этого обойдусь.
Offline