#76 08-05-2011 16:30

mfisto
From: Russia Perm
Registered: 01-02-2008
Posts: 558
Website

Re: CLEO для GTA III

ОМГ, возьми и проверь...


I know everything and nothing...

Offline

#77 08-05-2011 22:23

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: CLEO для GTA III

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

while true
    wait 0
    05E0: 0@ = read_memory 0x6FAD68 size 1 virtual_protect 0
    if and
        0@ <> 1
        816B: not fading
        player.Defined($PLAYER_CHAR)
        16@ > 3000
    then
        if
            00E0: player $PLAYER_CHAR driving 
        then
            03C1: 0@ = player $PLAYER_CHAR car 
            02E3: 1@ = car 0@ speed
            car.RemoveReferences(0@)
            1@ *= 3.6 
            if
                00E1:   key_pressed 0 14
            then
                2@ = 0
            else
                2@ = 255
            end
            3@ = 180.0
            0063: 3@ -= 1@
            3@ += 1075.0            
            05E0: 6@ = read_memory 0x8F4368 size 4 virtual_protect 1
            008D: 6@ = integer_to_float 6@
            6@ *= 1002.0
            6@ /= 1024.0
            05E0: 7@ = read_memory 0x8F4364 size 4 virtual_protect 1
            008D: 7@ = integer_to_float 7@ 
            006B: 7@ *= 3@
            7@ /= 1280.0
            05E0: 8@ = read_memory 0x8F4368 size 4 virtual_protect 1
            008D: 8@ = integer_to_float 8@
            8@ *= 7.0
            8@ /= 1024.0
            05E0: 9@ = read_memory 0x8F4364 size 4 virtual_protect 1
            008D: 9@ = integer_to_float 9@
            006B: 9@ *= 1@
            9@ /= 1280.0             
            038E: draw_box_position 7@ 6@ size 9@ 8@ RGBA 255 2@ 2@ 30
        end
        035F: set_actor $player_actor armour_to 100 
        03F0: enable_text_draw 1
        05E6: 1@ = actor $player_actor struct
        inc(1@, 0x2C0)
        05E0: 2@ = read_memory 1@ size 4 virtual_protect 0
        if
            2@ >= 100.0            
        then
            2@ = 180.0
            3@ = 740.0
        else
            2@ *= 180.0
            2@ /= 100.0
            3@ = 180.0
            0063: 3@ -= 2@
            3@ += 740.0
        end
        inc(1@, 4)
        05E0: 4@ = read_memory 1@ size 4 virtual_protect 0        
        if
            4@ >= 100.0            
        then
            4@ = 180.0
            5@ = 740.0
        else
            4@ *= 180.0
            4@ /= 100.0
            5@ = 180.0
            0063: 5@ -= 4@
            5@ += 740.0
        end        
        if
            2@ > 0.0
        then
            05E0: 6@ = read_memory 0x8F4364 size 4 virtual_protect 1
            008D: 6@ = integer_to_float 6@
            6@ *= 235.0
            6@ /= 1280.0
            05E0: 7@ = read_memory 0x8F4368 size 4 virtual_protect 1
            008D: 7@ = integer_to_float 7@ 
            006B: 7@ *= 3@
            7@ /= 1024.0
            05E0: 8@ = read_memory 0x8F4364 size 4 virtual_protect 1
            008D: 8@ = integer_to_float 8@
            8@ *= 7.0
            8@ /= 1280.0
            05E0: 9@ = read_memory 0x8F4368 size 4 virtual_protect 1
            008D: 9@ = integer_to_float 9@
            006B: 9@ *= 2@
            9@ /= 1024.0            
            038E: draw_box_position 6@ 7@ size 8@ 9@ RGBA 173 0 0 100
        end
        if
            4@ > 0.0
        then
            05E0: 6@ = read_memory 0x8F4364 size 4 virtual_protect 1
            008D: 6@ = integer_to_float 6@
            6@ *= 244.0
            6@ /= 1280.0
            05E0: 7@ = read_memory 0x8F4368 size 4 virtual_protect 1
            008D: 7@ = integer_to_float 7@ 
            006B: 7@ *= 5@
            7@ /= 1024.0
            05E0: 8@ = read_memory 0x8F4364 size 4 virtual_protect 1
            008D: 8@ = integer_to_float 8@
            8@ *= 7.0
            8@ /= 1280.0
            05E0: 9@ = read_memory 0x8F4368 size 4 virtual_protect 1
            008D: 9@ = integer_to_float 9@
            006B: 9@ *= 4@
            9@ /= 1024.0
            038E: draw_box_position 6@ 7@ size 8@ 9@ RGBA 20 0 148 100
        end
    end
end

Last edited by DK22Pac (08-05-2011 22:25)


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#78 10-05-2011 16:41

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

            03C1: 0@ = player $PLAYER_CHAR car 
            02E3: 1@ = car 0@ speed
            car.RemoveReferences(0@)

А car.RemoveReferences обязательно делать здесь ?

Offline

#79 02-06-2011 18:12

raven54
From: Nsk
Registered: 02-06-2011
Posts: 1
Website

Re: CLEO для GTA III

Сделал остров для трехи, сделал собственную зону, прописал в main.scm, все работает нормально, появляется название острова, при пересечении границы... Но не знаю как это изобразить в клео, чтобы оставить main.scm родной. Может кто поможет? Так это выглядит в main.scm:

015C: set_zone_gang_info "ISL_HAP"  1 (day)  10  0  0  0  0  0  0  0  0
015C: set_zone_gang_info "ISL_HAP"  0 (night)  8  0  0  0  0  0  0  0  0
0152: set_zone_car_info "ISL_HAP"  1 (day)  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0152: set_zone_car_info "ISL_HAP"  0 (night)  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0324: set_zone_pedgroup_info "ISL_HAP"  1 (day)  29
0324: set_zone_pedgroup_info "ISL_HAP"  0 (night)  30

Offline

#80 04-06-2011 10:38

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: CLEO для GTA III

{$CLEO}
015C: set_zone_gang_info "ISL_HAP"  1 (day)  10  0  0  0  0  0  0  0  0
015C: set_zone_gang_info "ISL_HAP"  0 (night)  8  0  0  0  0  0  0  0  0
0152: set_zone_car_info "ISL_HAP"  1 (day)  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0152: set_zone_car_info "ISL_HAP"  0 (night)  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
0324: set_zone_pedgroup_info "ISL_HAP"  1 (day)  29
0324: set_zone_pedgroup_info "ISL_HAP"  0 (night)  30
0A93: end_custom_thread

Offline

#81 29-08-2011 20:24

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: CLEO для GTA III

В CLEO для 3 и ВС предусмотрена возможность добавления опкодов через .cleo-плагины?


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#82 01-12-2011 21:49

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

Вобщем, ни фига не идёт draw_box_position, как и draw_text_1number - вылетает игра(точнее зависает при загрузке сейва, но энтер или пробел выручают...), в opcodes draw_box_position нет, зато есть draw_text_2numbers - в SCM.INI вроде ни того ни другого нету. Надо ещё текстуру попробывать загрузить, но без цыферок плёхо...
__text_6numbers идёт, но это старьё  wink

{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
0054: store_player $PLAYER_CHAR position_to 0@ 3@ 6@
//0170: 8@ = player $PLAYER_CHAR z_angle 
008C: 1@ = float_to_integer 0@ 
008D: 2@ = integer_to_float 1@ 
0061: 0@ -= 2@ // floating-point values 
0@ *= 100.0 // floating-point values 
008C: 0@ = float_to_integer 0@ 
008C: 4@ = float_to_integer 3@ 
008D: 5@ = integer_to_float 4@ 
0061: 3@ -= 5@ // floating-point values 
3@ *= 100.0 // floating-point values 
008C: 3@ = float_to_integer 3@ 
008C: 7@ = float_to_integer 6@ 
008D: 8@ = integer_to_float 7@ 
0061: 6@ -= 8@ // floating-point values 
6@ *= 100.0 // floating-point values 
008C: 6@ = float_to_integer 6@ 
0095: make 0@ absolute_integer 
0095: make 3@ absolute_integer 
0095: make 6@ absolute_integer 
//0308: text_6numbers 'COORDS' 1@ 0@ 4@ 3@ 7@ 6@ 10 ms 5
//      
03F0: enable_text_draw 1
//0349: text_draw_style = 0                               
//0340: set_text_draw_color_RGBA 0xFF 0x0 0x0 0xFF  // color 200 0 0 255
//033F: set_text_draw_letter_width_height 0.75 1.0
//0346: set_text_draw_background_color 0 0 0 150
045A: draw_text_1number 3.0 2.0 GXT 'COORDQ' number CoordQ  // 'NUMBER'
//0340: set_text_draw_color_RGBA 0xFA 0xFA 0xFF 0xFF
//045A: draw_text_1number 3.0 15.0 GXT 'coord1' number 4@
//038E: draw_box_position 200.5 200.0 size 50.0 70.0 RGBA 0x0 0x0 0x0 0x14//20 0 90 100
    end
//03F0: enable_text_draw 0
end

Offline

#83 02-12-2011 00:43

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: CLEO для GTA III

Добавь нужные опкоды в .ini.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#84 02-12-2011 06:56

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

Ещё б знать, что в этой строчке писать, у Deji вчера из базы ведь скачивал..
Кстати в SCM.INI опкод draw_text_2numbers есть, а draw_text_1number добавлю из другой ини(вроде она поновее, но какая-то не такая wink

Я понял, можно добавить строчки из других ини, например VICESCM  ?!

Вставил в  .INI опкоды - пошло, но draw_text_2numbers выводит только два раза(даже если в одну строчку, как ниже в коде, всё равно - 3й и 4й draw_text_2numbers уже не показывает) - понимаю, что надо enable_text_draw в ноль ставить иногда, но как? Пытался, как в коде - показывает всё, но мигает...
  И как другой шрифт сделать (похож на стандартный из fonts, "рыхлый" какой-то), эти опкоды менял, но...
Может опкод draw_text_6numbers забацать по аналогии?!

wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
-----------------------расчет координат-------------------------------
//      
03F0: enable_text_draw 1
//0349: text_draw_style = 3                               
//0343: set_text_linewidth  200.0
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 3.0 2.0 GXT 'COORDX' number 1@ 0@
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 50.0 2.0 GXT 'COORDY' number 4@ 3@
wait 750
03F0: enable_text_draw 0
//03F0: enable_text_draw 1
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 3.0 15.0 GXT 'COORDZ' number 7@ 6@
//045A: draw_text_1number 50.0 15.0 GXT 'UGOL1' number 9@
//wait 100
    end
//03F0: enable_text_draw 0
end

Last edited by reute70 (02-12-2011 18:35)

Offline

#85 04-12-2011 10:11

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

Бьюсь с координатами(наверно, придётся делать с метками и прыжками, как в моде Gta-LC) -забубенил новый опкод с выводом 7 цифр (чтоб и угол был!), но как и 6ю цифрами вылетает - чо ни так?
__И есть ли отладка для трёшки и санибилдера?
045C: draw_text_7numbers 3.0 35.0 GXT 'COORDF' number 1@ 0@ 4@ 3@ 7@ 6@ 9@

045C=10,text_draw_7numbers %1d% %2d% %3g% %4d% %5d% %6d% %7d% %8d% %9d% %10d%


Как здесь много народу! Спасибо, хоть DK'22 кратко ответил
Вобщем, все координаты удалось вывести только с их миганьем (wait 5 + enable_text_draw 0 - не понимаю я механизма прорисовки), причём при подключении спидометра половина цифр отрубается...
Текст выводится, как положено - с относит координатами экрана 640х480, а вот draw_box_position исходит из реального разрешения кадра, т.е. либо нужен опкод нахождения кол-ва пикселей по вертикали(а если через память, то будет проблема с версиями ехе), либо играть только с размерами 1920х1080 или 1680х1050(но при 1050 показатели скорости и повреждения будут разъезжаться), хотя можно скомпилить и для меньших размеров(но каких?! щас многие играют на ноутбуках)
_Цвет надписей, мне кажется, легче менять в fxt файле - правда, мало знаю спецбукв/управляющих символов ~r~
__ И с опкодами, даже с text_draw_3 и 4numbers не получилось...

{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
0054: store_player $PLAYER_CHAR position_to 0@ 3@ 6@
0170: 9@ = player $PLAYER_CHAR z_angle 
008C: 9@ = float_to_integer 9@
008C: 1@ = float_to_integer 0@ 
008D: 2@ = integer_to_float 1@ 
0061: 0@ -= 2@ // floating-point values 
0@ *= 100.0 // floating-point values 
008C: 0@ = float_to_integer 0@ 
008C: 4@ = float_to_integer 3@ 
008D: 5@ = integer_to_float 4@ 
0061: 3@ -= 5@ // floating-point values 
3@ *= 100.0 // floating-point values 
008C: 3@ = float_to_integer 3@ 
008C: 7@ = float_to_integer 6@ 
008D: 8@ = integer_to_float 7@ 
0061: 6@ -= 8@ // floating-point values 
6@ *= 100.0 // floating-point values 
008C: 6@ = float_to_integer 6@ 
0095: make 0@ absolute_integer 
0095: make 3@ absolute_integer 
0095: make 6@ absolute_integer 
    //0308: text_6numbers 'COORDS' 1@ 0@ 4@ 3@ 7@ 6@ 10 ms 5
03F0: enable_text_draw 1
//0340: set_text_draw_color 200 0 0 250  // color 200 0 0 255
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 3.0 2.0 GXT 'COORDX' number 1@ 0@
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 80.0 2.0 GXT 'COORDY' number 4@ 3@
wait 5
03F0: enable_text_draw 0
//wait 500
//03F0: enable_text_draw 1
033F: set_text_draw_letter_width_height 0.4 1.2
045B: draw_text_2numbers 3.0 15.0 GXT 'COORDZ' number 7@ 6@
045A: draw_text_1number 70.0 15.0 GXT 'UGOL1' number 9@
    end
//03F0: enable_text_draw 0
end
{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
      if
        00DF: actor $PLAYER_ACTOR driving   //00E0: player $PLAYER_CHAR driving    
      then
        03C0: 0@ = actor $PLAYER_ACTOR car//00DA: 0@ = player $PLAYER_CHAR car
        02E3: 1@ = car 0@ speed
        0013: 1@ *= 3.6  // floating-point values
        0092: 1@ = float 1@ to_integer
    0227: 2@ = car 0@ health
    0017: 2@ /= 7.81
    0085: 3@ = 2@
    000E: 3@ -= 128  // integer values
    0012: 3@ *= 3
    0095: make 3@ absolute_integer
    0093: 2@ = integer 2@ to_float  //0092: 2@ = float 2@ to_integer
    if
        0029: 3@ >= 255 // integer values
    then
        0006: 3@ = 255 // integer values
    end
03F0: enable_text_draw 1
0340: set_text_draw_color 255 190 0 230  // color 200 0 0 255
033F: set_text_draw_letter_width_height 0.4 1.2
045A: draw_text_1number 3.0 421.0 GXT 'SPEEDQ' number 1@
038E: draw_box_position 80.0 1015.0 size 2@ 24.0 3@ 50 130 250//0-255 50 150
038E: draw_box_position 80.0 1015.0 size 128.0 24.0 20 0 90 100
      end
      //03F0: enable_text_draw 0
    end
//03F0: enable_text_draw 0
end

184b3613cc67833d33a3ebe0949378ff.jpeg
08b1fae3da6226433d3912d02f8ffe69.jpeg

Last edited by reute70 (04-12-2011 18:49)

Offline

#86 04-12-2011 23:12

Seemann
Registered: 07-08-2006
Posts: 2,156

Re: CLEO для GTA III

В ГТА3 на экране одновременно может быть только 2 текста (text_draw). Посмотри раздел скриптовые лимиты в справке. Возможно проблемы отсюда.

Offline

#87 05-12-2011 13:53

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO для GTA III

Вобщем, все координаты удалось вывести только с их миганьем (wait 5 + enable_text_draw 0 - не понимаю я механизма прорисовки), причём при подключении спидометра половина цифр отрубается...

У тебя в коде два wait-а, из-за чего скрипт будет работать "через раз". Чтобы текстуры не моргали, скрипт должен работать с такой же частотой, как отрисовка - для этого в коде должен быть один (не больше!) wait 0.
Команду enable_text_draw 1 достаточно выполнить один раз за цикл - перед рисованием текста или текстур.

Offline

#88 05-12-2011 20:57

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

При уборке 1го wait (ставлю 0000:, т.к. игра ругается "переход на нулевой оффсет") то же самое миганье,
при уборки то 2го, то 3го wait, не мигает(а при выходе из игры при нажатии Yes игра зависает), но отображаются только 2 первых или 2 последних текста(при посадке в машину со скриптом спидометра остаётся уже четверть нужного текста)
http://zalil.ru/32206724

Last edited by reute70 (05-12-2011 20:58)

Offline

#89 05-12-2011 22:33

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO для GTA III

При уборке 1го wait (ставлю 0000:, т.к. игра ругается "переход на нулевой оффсет") то же самое миганье,

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

Offline

#90 07-12-2011 19:37

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

Решил сделать скрипт-суперпрыжок для "залезания" на крыши - этот скрипт мелькал во многих модах, в частности Neo, посмотрел там код, тяжеловато, вроде основная мысль понятна - вперёд ГГ продвинуть, на метр, а вот с высотой как?
У меня Клод просто вперёд продвигается, сквозь стены, а не на крышу:
{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
      if
      80DF: not actor $PLAYER_ACTOR driving   //00E0: player $PLAYER_CHAR driving   
      05EE:  key_pressed 0x52 //   R
      then
018C: play_sound 94 at 0.0 0.0 0.0
          0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@
          0170: 3@ = player $PLAYER_CHAR z_angle
            02F6: 7@ = cosine 3@
            02F7: 8@ = sinus 3@
            7@ *= -1.0 // floating-point values
            8@ *= 1.0 // floating-point values
            005B: 0@ += 7@ // floating-point values
            005B: 1@ += 8@ // floating-point values
02CE: 2@ = ground_z 0@ 1@ 2@
00A1: put_actor $PLAYER_ACTOR at 0@ 1@ 2@
      end
    end
end

Offline

#91 07-12-2011 20:56

Jack Daniel's
Registered: 05-07-2011
Posts: 211

Re: CLEO для GTA III

В смысле? Z коорд. - высота же.

Offline

#92 07-12-2011 23:09

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

В смысле, мне (ГГ, он же Клод, он же немой, он же...) надо не внутрь здания (си равно там интерьеров нету wink, а наверх, на крышу!
_Помню, вроде такое название мода - glimb, что ле?

to Den_spb
Спасибо, как раз что-то такое было, хорошо что подсказал!
Скоро проверю, а то думал, что код может быть намного больше, а я минималист!  smile

Last edited by reute70 (08-12-2011 17:56)

Offline

#93 08-12-2011 17:21

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: CLEO для GTA III

Если в указанных координатах X, Y имеются несколько горизонтальных поверхностей (например, крыша здания и пол здания), то опкод 02CE: 3@ = ground_z 0@ 1@ 2@ выбирает ту поверхность, значение высоты которой ближе к значению, указанному в 2@. Поэтому для того, чтобы опкод определял высоту крыши, нужно для надёжности задать большее значение 2@ (например, 500.0).

Offline

#94 09-12-2011 22:30

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

С суперпрыжком всё получилось, щас решил поставить маркеры над спрят.пакетами (02A8: 17@ = create_marke 0 at ), заодно узнал что в трёшке и Вайсе максимум 18 локальных переменных.
Вопрос такой, как мне эти переменные перебрать в цикле for...end чтоб, например, изменить размер, цвет, дизаблить(0168, 0164) ?
__Вроде, там указатели нужны, а как это выглядит?...

PS Нашёл один пост Den_spb, как перебрать переменные в цикле, но тут другая закавыка - не могу убрать маркер с радара:
02A8: 1@ = create_marker 0 at 849.875 -788.625 27.0
   if
     05EE:  key_pressed 0x49 //   I
   then
     018C: play_sound 94 at 0.0 0.0 0.0
    //0168: show_on_radar 1@ 0
     0164: disable_marker 1@

Last edited by reute70 (10-12-2011 16:37)

Offline

#95 17-12-2011 14:05

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: CLEO для GTA III

{$CLEO}
wait 100
while true
    wait 0
    if
        Player.Defined($PLAYER_CHAR)
    then
      if and
            80DF: not actor $PLAYER_ACTOR driving   //00E0: player $PLAYER_CHAR driving    
            05EE:  key_pressed 0x52 //   R
      then
            018C: play_sound 94 at 0.0 0.0 0.0
          0054: store_player $PLAYER_CHAR position_to 0@ 1@ 2@ 
          0170: 3@ = player $PLAYER_CHAR z_angle
            02F6: 7@ = cosine 3@ 
            02F7: 8@ = sinus 3@ 
            7@ *= -1.0 // floating-point values 
            8@ *= 1.0 // floating-point values 
            005B: 0@ += 7@ // floating-point values 
            005B: 1@ += 8@ // floating-point values
            2@ += 1000.0
            02CE: 2@ = ground_z 0@ 1@ 2@
            00A1: put_actor $PLAYER_ACTOR at 0@ 1@ 2@
      end
    end
end

GIMS developer

Offline

#96 20-12-2011 22:15

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

Щас хочу заняться выводом карты на экран(есть скрипт, но буду по-другому) - если б можно было маштабировать 2048х2048 вывел бы! Но...
Какие пределы карты в трёшке и Вайсе, в единицах и координатах(в трёшке, как я понял -2000*2000) ?
Можно ссылку!

Offline

#97 21-12-2011 20:20

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

0390: load_txd_dictionary 'KARTA'
038F: load_texture "karta1" as 1
{wait 250
fade 0 1500}
//03F0: enable_text_draw 1
038D: draw_texture 1 position 10.0 10.0 size 512.0 512.0 RGBA 255 255 255 100

Где должен находиться txd-файл ?
Без первых двух строчек загружается белая, т.е. не находит, но игра работает, а при load_txd - зависает...
в папке txd/  стояло, models/txd/ - тоже, блин - ч0 ни так?

Offline

#98 21-12-2011 21:25

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: CLEO для GTA III

В папке models.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#99 22-12-2011 15:15

reute70
From: Средняя Волга
Registered: 22-08-2009
Posts: 182

Re: CLEO для GTA III

0390: load_txd_dictionary 'KARTA'
038F: load_texture 'KARTA1' as 1
038D: draw_texture 1 position 10.0 10.0 size 1024.0 1024.0 RGBA 255 255 255 210
Actor.StorePos($PLAYER_ACTOR, 0@, 1@, 2@)
0@ /= 11.87 // floating-point values
1@ /= 9.2 // floating-point values
3@ = 172.0 // floating-point values
4@ = 205.0 // floating-point values
005B: 3@ += 0@ // floating-point values
0063: 4@ -= 1@ // floating-point values
033F: set_text_draw_letter_width_height 0.2 1.5
033E: text_draw 3@ 4@ 'MAP_00'
Вобщем, вывел текстуру(эти, блин, двойные-одинарные кавычки). Оттолкнулся от одного скрипта, но там использовался опкод 044D: load_splash 'MAP' со всеми его "фичами" (зато "старая" структура кода, с прыжками позволяет использовать одну и ту же кнопку для вкл/выкл режима без дополн конструкций - для меня, но тогда обновление позиции метки на карте только при включении режима...) - я решил с текстурой, типа real-time карта wink - Клод может ходить, правда позиции метки не меняется(не буду усложнять скрипт, наверно).
"Откалибровал" абсолютное смещение по Х и Y, ставя ГГ в центр карты игры(на стадионе), а вот коэфиц-нты подбирал "опытным" путём, что ни есть хорошо, да и ещё надо поточнее сделать...
f9d65d626da712c4b564721ddfaee9c3.jpg
___На гтафорумс нашёл это:
The GTA3 game world stretches from roughly -2048 to 2048
The Vice City game world stretches from roughly -2300 to 1600 on the X axis, and -1900 to 1900 on the Y axis. Again, there is no Z limit.
____Как я делал: половина карты игры 2048, половина экрана 320 - для draw_text(да хоть 4096/640), делю, получаю - 6.4 и 8.53 (для Y - 2048/240) - хрена лысого, в скрипте-источнике коэф 6.875 и 7.375, но там текстура растягивается на экран, хотя, х.з.

Offline

#100 22-12-2011 18:20

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: CLEO для GTA III

Находи разрешение экрана и ставь такие же размеры.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

Board footer

Powered by FluxBB