#5026 09-10-2018 19:49

Svyatogor2007
From: Moscow
Registered: 06-10-2018
Posts: 6

Re: Один вопрос

kenking wrote:

0AE2: почему-то глючит если много машин захватывать, а мне порядка 30-ти штук надо как то удержать от удаления... Бида.

Дело не в количестве. Возможно код неправильно написан.

Да, переписал заново, теперь работает.  Только с рандомом проблема:

... 00BF: 0@ = current_time_hours, 2@ = current_time_minutes
if and
0@ == 23
0@ == 0
0@ == 1
0@ == 2
0@ == 3
0@ == 4
0@ == 5
then
0@ = 60
else
0@ = 100
end 

// ... //

0209: 10@ = random_int_in_ranges 0 0@

// ... // 

if and
10@ < 55
8AE2: not 2@ = random_vehicle_near_point 2162.47 -1807.2 13.1119 in_radius 3.0 find_next 0 pass_wrecked 1
then
03C5: create_random_car_for_carpark 2162.47 -1807.2 12.3119 z_angle 180.723
end
2@ = 0

И днем и ночью почти ничего не меняется, т.е. сам рандом работает, но машин в среднем одинаково появляется.
Кстати в вашем скрипте не весь тюнинг сохраняется, и еще вы же мне сами писали, проверяй наличие авто после wait, а у вас:

:AVTO1_1024
wait 0 
06EA:   car_component 25@ available 
else_jump @AVTO1_1024 
06E7: 6@ = add_car_component 25@ to_car 9@ 
06EB: release_car_component 25@ 
jump @AVTO1_1371 

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

Last edited by Svyatogor2007 (09-10-2018 21:39)

Offline

#5027 10-10-2018 05:55

kenking
From: Казахстан
Registered: 28-06-2010
Posts: 249

Re: Один вопрос

Только с рандомом проблема

В опкодах случайного выбора значения из какого-либо диапазона, правое значение в диапазон не входит.
И ещё вот эту строчку

10@ < 55

попробуй записать так

001B: 55 > 10@

Кстати в вашем скрипте не весь тюнинг сохраняется

Не весь. На все детали не хватило переменных.

и еще вы же мне сами писали, проверяй наличие авто после wait, а у вас:

Ошибки в старых скриптах возможны. Я тоже когда-то учился, как ты сейчас.   grin Проверять надо.

Выше ты писал про сокращение размера скрипта. Размер скрипта не столь важен. Важен хорошо читаемый правильный оптимизированный код скрипта. Вот эти строчки можно сократить (P.S. тем более, что это условие всегда будет ложным)

if and
0@ == 23
0@ == 0
0@ == 1
0@ == 2
0@ == 3
0@ == 4
0@ == 5

до такого варианта

if or 
      0@ == 23
      8019: not 0@ > 5

а если взять отсчёт не от 23, а от 24 т.е. 0, то ещё короче

if  
  8019: not 0@ > 5

не могу найти указатель на второй номер, сохраняется только первый.

Какой номер ты имеешь ввиду?

Last edited by kenking (10-10-2018 10:48)

Offline

#5028 10-10-2018 17:47

4lifeGTA
Registered: 28-01-2018
Posts: 23

Re: Один вопрос

Приветствую, программисты!
Отрадно видеть что SA еще модифицируют, игра еще жива! Наверно это потому-что 5 часть не стала эволюционным венцом всей серии, да много нового, современного, но нету штата Сан Андреас, есть всего один город и его пригород, а SA это целый штат, 3 города и их пригороды!
Да, у SA карта меньше, но снаружи,а внутри она больше smile

Отвлекся я, а порог околачиваю с таким вопросом или просьбой, раньше был на руках скрипт одного умельца, который отключил агрессивное поведение водил, ну когда они начинают бешено таранить машину игрока, мстя за царапину на крыле grin
Помню что скрипт был простой и короткий, что-то с адресами памяти, найти в сети не получается, как испарился, может подскажет хороший человек, что это за скрипт, или адреса памяти?

Offline

#5029 11-10-2018 02:49

Svyatogor2007
From: Moscow
Registered: 06-10-2018
Posts: 6

Re: Один вопрос

kenking wrote:

не могу найти указатель на второй номер, сохраняется только первый.

Какой номер ты имеешь ввиду?

Номер машины имеется ввиду. Один есть, а второй рандомный от игры.

Offline

#5030 12-10-2018 17:05

trashmas
Registered: 12-04-2016
Posts: 36

Re: Один вопрос

Добрый день,

подскажите пожалуйста, в чем отличия опкодов:

011C: actor $PLAYER_ACTOR clear_objective 
009F: set_actor $PLAYER_ACTOR idle 
0192: set_actor $PLAYER_ACTOR objective_to_stand_still 

В игре все трое только прерывают действие педа, и больше никакого эффекта
VC

Last edited by trashmas (12-10-2018 17:05)

Offline

#5031 12-10-2018 20:49

4lifeGTA
Registered: 28-01-2018
Posts: 23

Re: Один вопрос

trashmas, я в опкодах не шарю, но чисто логически:
1. это когда нужно обязать актера ничего не делать, "типа заморозить".
2. idle вроде как анимация бездействия, следовательно этим назначается актеру.
3. это как понимаю заставить актера остановиться( если до этого он топал ). Ну или заставляет стоять на месте но "курить можно" grin

В любом случае инфа по этим опкодам есть здесь: https://gtagmodding.com/opcode-database/opcode/0192/

Last edited by 4lifeGTA (12-10-2018 20:55)

Offline

#5032 13-10-2018 01:45

trashmas
Registered: 12-04-2016
Posts: 36

Re: Один вопрос

первый работает согласно своему описанию: если пед куда то идет/стреляет/садится в машину и тд, то этим опкодом его можно остановить, тут все норм
а вот остальные работают... точно также. Педы после этих опкодов все так же убегают от пуль, атакуют игрока когда видят "search threat 1" и тд, хотя не должнв. вот и не понятно в чем разница smile

Offline

#5033 13-10-2018 16:42

Svyatogor2007
From: Moscow
Registered: 06-10-2018
Posts: 6

Re: Один вопрос

А как можно увеличить прайс для пикапа с опкодом

0518: $BUY_ASSET_PICKUPS[8] = create_available_asset_pickup 'PROP_3' at $X_PROPERTY_TO_BUY[8] $Y_PROPERTY_TO_BUY[8] $Z_PROPERTY_TO_BUY[8] price $1661

?
Если поставить $1661 больше 200тыс над пикапом красуется вообще левая стоимость, хотя денег с игрока снимают сколько нужно.

И еще один нубский вопрос, можно ли как-то в скрипте проверить. запущен другой поток или нет? Дело в том, что в моем скрипте используются команды

0ABA: end_custom_thread_named 'SVRSWS2'

0A92: create_custom_thread "svrsws2.s"

После перезугрузки svrsws2.s не стартует даже если перед выходом из игры был запущен и надо как то определить, что игра была перезагружена и поток надо заново запустить и передать параметры.

Last edited by Svyatogor2007 (19-10-2018 21:28)

Offline

#5034 27-10-2018 00:06

Alen Diago
Registered: 26-10-2018
Posts: 0

Re: Один вопрос

Доброго времени суток, господа.

Пишу свой первый скрипт (прошу сильно не бить тапками за мой код blush ), и у меня появилась проблема с интерактивным меню.
При отображении столбца 1 (второй) панельки $SHVX[1] (08EE:) корректно отображаются в панельки и работает переключение (сохранение состояния переменной  (1 или 0) в  ini файл) только первые 2 параметра — "Activate" и "Deny on mission". Остальные параметры работают странно — параметры их не отображаются (СМ. СКРИНЫ) и при попытке переключить ничего не меняется (даже игра не вылетает) а в ini в, соответствующие параметрам, переменные записываются какие-то нереальные числа. Хотя если в 08DB: подставлять не переменные с именами GXT а непосредственно GXT имена, то всё нормально отображается wall но пропадает вся интерактивность сие менюшки. Прошу помочь устранить проблему, за что заранее благодарен.

СКРИНЫ:
1
2
3
4

ВОТЪ КОД:

{$CLEO .cs}
{$NOSOURCE}
0000: NOP

//-------------MAIN---------------
thread 'SPEED HOOK'  

var 
$SHVX: array 8 of Integer       // operating variables: (0 - pre-check to define settings of ini saves)         
                                //                      (1 - menu panel handle)
                                //                      (2 - variable storing active row of menu panel)
                                //                      (3 - redirection variable of exit from cycle of draw columns)
                                //                      (4 - view controls panel handle)
                                //                      (5 - address offset variable to read strings of hex and set GXT entry)
                                //                      (6 - variable of blocking stuck presskey)
                                //                      (7 - handle for the vehicle the character is in or entering)
s$SHMR: array 6 of String       // variables storing GXT strings for rows of menu panel of column 1  
$SHCK: array 5 of Integer       // variables of KEY CONTROLS values
$SHSP: array 4 of Float         // variables of SPEED values
$SHSV: array 2 of Float         // variables of selected SPEED preset
$SHVR: array 6 of Integer       // variables storing settings of PARAM values for assign GXT strings 
s$SHMT: array 32 of String      // variables of GXT strings
end

0AC6: $SHVX[5] = label @GXTMEM offset
0ADF: add_dynamic_GXT_entry "SHGXT00" text $SHVX[5]
0008: $SHVX[5] += 16

0ADF: add_dynamic_GXT_entry "SHGXT01" text $SHVX[5]
0008: $SHVX[5] += 153

0ADF: add_dynamic_GXT_entry "SHGXT02" text $SHVX[5]
0008: $SHVX[5] += 37

0ADF: add_dynamic_GXT_entry "SHGXT03" text $SHVX[5]
0008: $SHVX[5] += 36

0ADF: add_dynamic_GXT_entry "SHGXT04" text $SHVX[5]
0008: $SHVX[5] += 17

0ADF: add_dynamic_GXT_entry "SHGXT05" text $SHVX[5]
0008: $SHVX[5] += 6

0ADF: add_dynamic_GXT_entry "SHGXT06" text $SHVX[5]
0008: $SHVX[5] += 20

0ADF: add_dynamic_GXT_entry "SHGXT07" text $SHVX[5]
0008: $SHVX[5] += 17

0ADF: add_dynamic_GXT_entry "SHGXT08" text $SHVX[5]
0008: $SHVX[5] += 18

0ADF: add_dynamic_GXT_entry "SHGXT09" text $SHVX[5]
0008: $SHVX[5] += 15

0ADF: add_dynamic_GXT_entry "SHGXT10" text $SHVX[5]
0008: $SHVX[5] += 14

0ADF: add_dynamic_GXT_entry "SHGXT11" text $SHVX[5]
0008: $SHVX[5] += 29

0ADF: add_dynamic_GXT_entry "SHGXT12" text $SHVX[5]
0008: $SHVX[5] += 22

0ADF: add_dynamic_GXT_entry "SHGXT13" text $SHVX[5]
0008: $SHVX[5] += 13

0ADF: add_dynamic_GXT_entry "SHGXT14" text $SHVX[5]
0008: $SHVX[5] += 15

0ADF: add_dynamic_GXT_entry "SHGXT15" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT16" text $SHVX[5]
0008: $SHVX[5] += 3

0ADF: add_dynamic_GXT_entry "SHGXT17" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT18" text $SHVX[5]
0008: $SHVX[5] += 7

0ADF: add_dynamic_GXT_entry "SHGXT19" text $SHVX[5]
0008: $SHVX[5] += 5

0ADF: add_dynamic_GXT_entry "SHGXT20" text $SHVX[5]
0008: $SHVX[5] += 7

0ADF: add_dynamic_GXT_entry "SHGXT21" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT22" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT23" text $SHVX[5]
0008: $SHVX[5] += 36

0ADF: add_dynamic_GXT_entry "SHGXT24" text $SHVX[5]
0008: $SHVX[5] += 45

0ADF: add_dynamic_GXT_entry "SHGXT25" text $SHVX[5]
0008: $SHVX[5] += 41

0ADF: add_dynamic_GXT_entry "SHGXT26" text $SHVX[5]
0008: $SHVX[5] += 38

0ADF: add_dynamic_GXT_entry "SHGXT27" text $SHVX[5]
0008: $SHVX[5] += 39

0ADF: add_dynamic_GXT_entry "SHGXT28" text $SHVX[5]
0008: $SHVX[5] += 53

0ADF: add_dynamic_GXT_entry "SHGXT29" text $SHVX[5]
0008: $SHVX[5] += 56

0ADF: add_dynamic_GXT_entry "SHGXT30" text $SHVX[5]
0008: $SHVX[5] += 55

0ADF: add_dynamic_GXT_entry "SHGXT31" text $SHVX[5]
0008: $SHVX[5] += 55

0ADF: add_dynamic_GXT_entry "SHGXT51" text $SHVX[5]
0008: $SHVX[5] += 157

0ADF: add_dynamic_GXT_entry "SHGXT52" text $SHVX[5]
0008: $SHVX[5] += 35

0ADF: add_dynamic_GXT_entry "SHGXT53" text $SHVX[5]
0008: $SHVX[5] += 35

0ADF: add_dynamic_GXT_entry "SHGXT54" text $SHVX[5]
0008: $SHVX[5] += 20

0ADF: add_dynamic_GXT_entry "SHGXT55" text $SHVX[5]
0008: $SHVX[5] += 9

0ADF: add_dynamic_GXT_entry "SHGXT56" text $SHVX[5]
0008: $SHVX[5] += 24

0ADF: add_dynamic_GXT_entry "SHGXT57" text $SHVX[5]
0008: $SHVX[5] += 21

0ADF: add_dynamic_GXT_entry "SHGXT58" text $SHVX[5]
0008: $SHVX[5] += 27

0ADF: add_dynamic_GXT_entry "SHGXT59" text $SHVX[5]
0008: $SHVX[5] += 26

0ADF: add_dynamic_GXT_entry "SHGXT60" text $SHVX[5]
0008: $SHVX[5] += 14

0ADF: add_dynamic_GXT_entry "SHGXT61" text $SHVX[5]
0008: $SHVX[5] += 39

0ADF: add_dynamic_GXT_entry "SHGXT62" text $SHVX[5]
0008: $SHVX[5] += 35

0ADF: add_dynamic_GXT_entry "SHGXT63" text $SHVX[5]
0008: $SHVX[5] += 15

0ADF: add_dynamic_GXT_entry "SHGXT64" text $SHVX[5]
0008: $SHVX[5] += 17

0ADF: add_dynamic_GXT_entry "SHGXT65" text $SHVX[5]
0008: $SHVX[5] += 3

0ADF: add_dynamic_GXT_entry "SHGXT66" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT67" text $SHVX[5]
0008: $SHVX[5] += 7

0ADF: add_dynamic_GXT_entry "SHGXT68" text $SHVX[5]
0008: $SHVX[5] += 8

0ADF: add_dynamic_GXT_entry "SHGXT69" text $SHVX[5]
0008: $SHVX[5] += 8

0ADF: add_dynamic_GXT_entry "SHGXT70" text $SHVX[5]
0008: $SHVX[5] += 11

0ADF: add_dynamic_GXT_entry "SHGXT71" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT72" text $SHVX[5]
0008: $SHVX[5] += 4

0ADF: add_dynamic_GXT_entry "SHGXT73" text $SHVX[5]
0008: $SHVX[5] += 33

0ADF: add_dynamic_GXT_entry "SHGXT74" text $SHVX[5]
0008: $SHVX[5] += 41

0ADF: add_dynamic_GXT_entry "SHGXT75" text $SHVX[5]
0008: $SHVX[5] += 38

0ADF: add_dynamic_GXT_entry "SHGXT76" text $SHVX[5]
0008: $SHVX[5] += 37

0ADF: add_dynamic_GXT_entry "SHGXT77" text $SHVX[5]
0008: $SHVX[5] += 43

0ADF: add_dynamic_GXT_entry "SHGXT78" text $SHVX[5]
0008: $SHVX[5] += 55

0ADF: add_dynamic_GXT_entry "SHGXT79" text $SHVX[5]
0008: $SHVX[5] += 50

0ADF: add_dynamic_GXT_entry "SHGXT80" text $SHVX[5]
0008: $SHVX[5] += 52

0ADF: add_dynamic_GXT_entry "SHGXT81" text $SHVX[5]
// 0008: $SHVX[5] += 57 // for next data

if
    0AAB: file_exists "CLEO\SPEED HOOK.ini"
then
    0AF0: $SHCK[0] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "CONTROLS" key "SHCK00"
    0AF0: $SHCK[1] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "CONTROLS" key "SHCK01"
    0AF0: $SHCK[2] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "CONTROLS" key "SHCK02"
    0AF0: $SHCK[3] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "CONTROLS" key "SHCK03"
    0AF0: $SHCK[4] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "CONTROLS" key "SHCK04"
    
    0AF2: $SHSP[0] = get_float_from_ini_file "cleo\SPEED HOOK.ini" section "SPEEDS" key "SHSP00"
    0AF2: $SHSP[1] = get_float_from_ini_file "cleo\SPEED HOOK.ini" section "SPEEDS" key "SHSP01"
    0AF2: $SHSP[2] = get_float_from_ini_file "cleo\SPEED HOOK.ini" section "SPEEDS" key "SHSP02"
    0AF2: $SHSP[3] = get_float_from_ini_file "cleo\SPEED HOOK.ini" section "SPEEDS" key "SHSP03"
else
    end_thread    
end 

0AF0: $SHVX[0] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR05"
if
    0038: $SHVX[0] == 1    
then
    0AF0: $SHVR[0] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR00"
    0AF0: $SHVR[1] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR01"
    0AF0: $SHVR[2] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR02"
    0AF0: $SHVR[3] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR03"
    0AF0: $SHVR[4] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR04"
    0AF0: $SHVR[5] = get_int_from_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR05" 
else
    if
        0038: $SHVX[0] == 0
    then
        0004: $SHVR[0] = 0
        0004: $SHVR[1] = 1
        0004: $SHVR[2] = 1
        0004: $SHVR[3] = 1
        0004: $SHVR[4] = 0
        0004: $SHVR[5] = 0
        0AF1: write_int $SHVR[0] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR00"
        0AF1: write_int $SHVR[1] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR01"
        0AF1: write_int $SHVR[2] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR02"
        0AF1: write_int $SHVR[3] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR03"
        0AF1: write_int $SHVR[4] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR04"
        0AF1: write_int $SHVR[5] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR05"    
    end      
end

if
    0038: $SHVR[4] == 0
then  
    05A9: s$SHMT[0] = 'SHGXT00' 
    05A9: s$SHMT[1] = 'SHGXT01'
    05A9: s$SHMT[2] = 'SHGXT02'
    05A9: s$SHMT[3] = 'SHGXT03' 
    05A9: s$SHMT[4] = 'SHGXT04'
    05A9: s$SHMT[5] = 'SHGXT05' 
    05A9: s$SHMT[6] = 'SHGXT06'
    05A9: s$SHMT[7] = 'SHGXT07'
    05A9: s$SHMT[8] = 'SHGXT08' 
    05A9: s$SHMT[9] = 'SHGXT09'
    05A9: s$SHMT[10] = 'SHGXT10' 
    05A9: s$SHMT[11] = 'SHGXT11'
    05A9: s$SHMT[12] = 'SHGXT12'
    05A9: s$SHMT[13] = 'SHGXT13' 
    05A9: s$SHMT[14] = 'SHGXT14'
    05A9: s$SHMT[15] = 'SHGXT15' 
    05A9: s$SHMT[16] = 'SHGXT16'
    05A9: s$SHMT[17] = 'SHGXT17'
    05A9: s$SHMT[18] = 'SHGXT18' 
    05A9: s$SHMT[19] = 'SHGXT19'
    05A9: s$SHMT[20] = 'SHGXT20' 
    05A9: s$SHMT[21] = 'SHGXT21'
    05A9: s$SHMT[22] = 'SHGXT22'
    05A9: s$SHMT[23] = 'SHGXT23'
    05A9: s$SHMT[24] = 'SHGXT24'
    05A9: s$SHMT[25] = 'SHGXT25'
    05A9: s$SHMT[26] = 'SHGXT26'
    05A9: s$SHMT[27] = 'SHGXT27'
    05A9: s$SHMT[28] = 'SHGXT28'
    05A9: s$SHMT[29] = 'SHGXT29'
    05A9: s$SHMT[30] = 'SHGXT30'
    05A9: s$SHMT[31] = 'SHGXT31'
else
    if
        0038: $SHVR[4] == 1
    then
        05A9: s$SHMT[0] = 'SHGXT00' 
        05A9: s$SHMT[1] = 'SHGXT51'
        05A9: s$SHMT[2] = 'SHGXT52'
        05A9: s$SHMT[3] = 'SHGXT53' 
        05A9: s$SHMT[4] = 'SHGXT54'
        05A9: s$SHMT[5] = 'SHGXT55' 
        05A9: s$SHMT[6] = 'SHGXT56'
        05A9: s$SHMT[7] = 'SHGXT57'
        05A9: s$SHMT[8] = 'SHGXT58' 
        05A9: s$SHMT[9] = 'SHGXT59'
        05A9: s$SHMT[10] = 'SHGXT60' 
        05A9: s$SHMT[11] = 'SHGXT61'
        05A9: s$SHMT[12] = 'SHGXT62'
        05A9: s$SHMT[13] = 'SHGXT63' 
        05A9: s$SHMT[14] = 'SHGXT64'
        05A9: s$SHMT[15] = 'SHGXT65' 
        05A9: s$SHMT[16] = 'SHGXT66'
        05A9: s$SHMT[17] = 'SHGXT67'
        05A9: s$SHMT[18] = 'SHGXT68' 
        05A9: s$SHMT[19] = 'SHGXT69'
        05A9: s$SHMT[20] = 'SHGXT70' 
        05A9: s$SHMT[21] = 'SHGXT71'
        05A9: s$SHMT[22] = 'SHGXT72'
        05A9: s$SHMT[23] = 'SHGXT73'
        05A9: s$SHMT[24] = 'SHGXT74'
        05A9: s$SHMT[25] = 'SHGXT75'
        05A9: s$SHMT[26] = 'SHGXT76'
        05A9: s$SHMT[27] = 'SHGXT77'
        05A9: s$SHMT[28] = 'SHGXT78'
        05A9: s$SHMT[29] = 'SHGXT79'
        05A9: s$SHMT[30] = 'SHGXT80'
        05A9: s$SHMT[31] = 'SHGXT81'
    end
end

// preparing to dicplay of activate param                   
if
    0038: $SHVR[0] == 1
then
    05A9: s$SHMR[0] = s$SHMT[13]
else
    if
        0038: $SHVR[0] == 0
    then
        05A9: s$SHMR[0] = s$SHMT[14]    
    end    
end
                        
// preparing to dicplay of deny on mission param
if
    0038: $SHVR[1] == 1
then
    05A9: s$SHMR[1] = s$SHMT[15]
else
    if
        0038: $SHVR[1] == 0
    then
        05A9: s$SHMR[1] = s$SHMT[16]
    end
end
                     
//preparing to dicplay of set forward speed param
if
    0038: $SHVR[2] == 1
then
    05A9: s$SHMR[2] = s$SHMT[18]
    0086: $SHSV[0] = $SHSP[1]
else
    if
        0038: $SHVR[2] == 2
    then
        05A9: s$SHMR[2] = s$SHMT[19]
        0086: $SHSV[0] = $SHSP[2]
    else
        if
            0038: $SHVR[2] == 3
        then
            05A9: s$SHMR[2] = s$SHMT[20]
            0086: $SHSV[0] = $SHSP[3]
        else
            if
                0038: $SHVR[2] == 0
            then
                05A9: s$SHMR[2] = s$SHMT[17]
                0086: $SHSV[0] = $SHSP[0]
            end
        end
    end        
end
                                         
// preparing to dicplay of set back speed param
if
    0038: $SHVR[3] == 1
then
    05A9: s$SHMR[3] = s$SHMT[18]
    0086: $SHSV[1] = $SHSP[1]
else
    if
        0038: $SHVR[3] == 2
    then
        05A9: s$SHMR[3] = s$SHMT[19]
        0086: $SHSV[1] = $SHSP[2]
    else
        if
            0038: $SHVR[3] == 3
        then
            05A9: s$SHMR[3] = s$SHMT[20]
            0086: $SHSV[1] = $SHSP[3]
        else
            if
                0038: $SHVR[3] == 0
            then
                05A9: s$SHMR[3] = s$SHMT[17]
                0086: $SHSV[1] = $SHSP[0]
            end
        end    
    end    
end
                                                          
// preparing to dicplay of lang param
if
    0038: $SHVR[4] == 1
then
    05A9: s$SHMR[4] = s$SHMT[22]
else
    if
        0038: $SHVR[4] == 0    
    then
        05A9: s$SHMR[4] = s$SHMT[21]
    end    
end
       
// preparing to dicplay of save settings param
if               
    0038: $SHVR[5] == 1
then
    05A9: s$SHMR[5] = s$SHMT[15]
else
    if
        0038: $SHVR[5] == 0
    then
        05A9: s$SHMR[5] = s$SHMT[16]
    end
end

while true // main cycle
    wait 0
	if and
		Player.Defined($PLAYER_CHAR)
		0AB0:   key_pressed $SHCK[0]
		0AB0:   key_pressed $SHCK[1]
		not Player.Wasted($PLAYER_CHAR)
		not Actor.Dead($PLAYER_ACTOR)
	then 
		Player.CanMove($PLAYER_CHAR) = False
		while true // cycle of draw menu panel
			wait 0
			08D4: $SHVX[1] = create_panel_with_title s$SHMT[0] position 170.0 170.0 width 300.0 columns 2 interactive 1 background 1 alignment 0
			09DB: set_panel $SHVX[1] column 0 width 200
			09DB: set_panel $SHVX[1] column 1 width 100
			08D6: set_panel $SHVX[1] column 0 alignment 1
			08D6: set_panel $SHVX[1] column 1 alignment 0
			08D9: set_panel $SHVX[1] row 0 enable 0
			090E: set_panel $SHVX[1] active_row 1
			while true // cycle of draw columns
				wait 0     
				08DB: set_panel $SHVX[1] column 0 header s$SHMT[3] data s$SHMT[4] s$SHMT[6] s$SHMT[7] s$SHMT[8] s$SHMT[9] s$SHMT[10] s$SHMT[11] s$SHMT[12] 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
				0989: set_text_boxes_width 260
				0512: show_permanent_text_box s$SHMT[1]
				0349: set_text_draw_font 1
				033F: set_text_draw_letter_size 0.58 2.21 
				0342: set_text_draw_centered 1
				033E: set_draw_text_position 330.0 340.0 GXT s$SHMT[2]
				while true // cycle of draw column 1
					wait 0
					08EE: set_panel $SHVX[1] column 1 row 0 text_1number GXT s$SHMT[5] number 0
					08EE: set_panel $SHVX[1] column 1 row 1 text_1number GXT s$SHMR[0] number 0
					08EE: set_panel $SHVX[1] column 1 row 2 text_1number GXT s$SHMR[1] number 0
					08EE: set_panel $SHVX[1] column 1 row 3 text_1number GXT s$SHMR[2] number 0
					08EE: set_panel $SHVX[1] column 1 row 4 text_1number GXT s$SHMR[3] number 0
					08EE: set_panel $SHVX[1] column 1 row 5 text_1number GXT s$SHMR[4] number 0
					08EE: set_panel $SHVX[1] column 1 row 6 text_1number GXT s$SHMR[5] number 0
					while true // cycle of change rows in column 1
						wait 0
						08D7: $SHVX[2] = panel $SHVX[1] active_row
						
						// switch of activate param
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 1
							00E1: key_pressed 0 14
						then
							if
								0038: $SHVR[0] == 1
							then
								05A9: s$SHMR[0] = s$SHMT[14]
								0004: $SHVR[0] = 0
							else
								if
									0038: $SHVR[0] == 0
								then
									05A9: s$SHMR[0] = s$SHMT[13]
									0004: $SHVR[0] = 1
								end
							end 
							0AF1: write_int $SHVR[0] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR00"
							08EE: set_panel $SHVX[1] column 1 row 1 text_1number GXT s$SHMR[0] number 0
							0004: $SHVX[6] = 0
							continue
						end
					
						// switch of 
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 2
							00E1: key_pressed 0 14
						then
							if
								0038: $SHVR[1] == 1
							then
								05A9: s$SHMR[1] = s$SHMT[16]
								0004: $SHVR[1] = 0
							else
								if
									0038: $SHVR[1] == 0
								then
									05A9: s$SHMR[1] = s$SHMT[15]
									0004: $SHVR[1] = 1
								end
							end 
							0AF1: write_int $SHVR[1] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR01"
							08EE: set_panel $SHVX[1] column 1 row 2 text_1number GXT s$SHMR[1] number 0
							0004: $SHVX[6] = 0
							continue
						end
			   
						// switch of 
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 3
							00E1: key_pressed 0 14
						then
							if
								0038: $SHVR[2] == 1
							then
								05A9: s$SHMR[2] = s$SHMT[19]
								0004: $SHVR[2] = 2
								0086: $SHSV[0] = $SHSP[2]
							else
								if
									0038: $SHVR[2] == 2
								then
									05A9: s$SHMR[2] = s$SHMT[20]
									0004: $SHVR[2] = 3
									0086: $SHSV[0] = $SHSP[3]
								else
									if
										0038: $SHVR[2] == 3
									then
										05A9: s$SHMR[2] = s$SHMT[17]
										0004: $SHVR[2] = 0
										0086: $SHSV[0] = $SHSP[0]
									else
            							if
            								0038: $SHVR[2] == 0
            						  	then
            								05A9: s$SHMR[2] = s$SHMT[18]
            								0004: $SHVR[2] = 1
            								0086: $SHSV[0] = $SHSP[1]
										end    
									end
								end
							end 
							0AF1: write_int $SHVR[2] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR02"
							08EE: set_panel $SHVX[1] column 1 row 3 text_1number GXT s$SHMR[2] number 0
							0004: $SHVX[6] = 0
							continue
						end
		
						// switch of 
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 4
							00E1: key_pressed 0 14
						then
							if
								0038: $SHVR[3] == 1
							then
								05A9: s$SHMR[3] = s$SHMT[19]
								0004: $SHVR[3] = 2
								0086: $SHSV[1] = $SHSP[2]
							else
								if
									0038: $SHVR[3] == 2
								then
									05A9: s$SHMR[3] = s$SHMT[20]
									0004: $SHVR[3] = 3
									0086: $SHSV[1] = $SHSP[3]
								else
									if
										0038: $SHVR[3] == 3
									then
										05A9: s$SHMR[3] = s$SHMT[17]
										0004: $SHVR[3] = 0 
										0086: $SHSV[1] = $SHSP[0]
									else
            							if
            								0038: $SHVR[3] == 0
            							then
            								05A9: s$SHMR[3] = s$SHMT[18]
            								0004: $SHVR[3] = 1
            								0086: $SHSV[1] = $SHSP[1]
    									end    
    								end
    							end
    						end 
							0AF1: write_int $SHVR[3] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR03"
							08EE: set_panel $SHVX[1] column 1 row 4 text_1number GXT s$SHMR[3] number 0
							0004: $SHVX[6] = 0
							continue
						end
	
						// switch of 
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 5
							00E1: key_pressed 0 14
						then
					      	if
								0038: $SHVR[4] == 1
							then
								05A9: s$SHMT[0] = 'SHGXT00' 
								05A9: s$SHMT[1] = 'SHGXT01'
								05A9: s$SHMT[2] = 'SHGXT02'
								05A9: s$SHMT[3] = 'SHGXT03' 
								05A9: s$SHMT[4] = 'SHGXT04'
								05A9: s$SHMT[5] = 'SHGXT05' 
								05A9: s$SHMT[6] = 'SHGXT06'
								05A9: s$SHMT[7] = 'SHGXT07'
								05A9: s$SHMT[8] = 'SHGXT08' 
								05A9: s$SHMT[9] = 'SHGXT09'
								05A9: s$SHMT[10] = 'SHGXT10' 
								05A9: s$SHMT[11] = 'SHGXT11'
								05A9: s$SHMT[12] = 'SHGXT12'
								05A9: s$SHMT[13] = 'SHGXT13' 
								05A9: s$SHMT[14] = 'SHGXT14'
								05A9: s$SHMT[15] = 'SHGXT15' 
								05A9: s$SHMT[16] = 'SHGXT16'
								05A9: s$SHMT[17] = 'SHGXT17'
								05A9: s$SHMT[18] = 'SHGXT18' 
								05A9: s$SHMT[19] = 'SHGXT19'
								05A9: s$SHMT[20] = 'SHGXT20' 
								05A9: s$SHMT[21] = 'SHGXT21'
								05A9: s$SHMT[22] = 'SHGXT22'
								05A9: s$SHMT[23] = 'SHGXT23'
								05A9: s$SHMT[24] = 'SHGXT24'
								05A9: s$SHMT[25] = 'SHGXT25'
								05A9: s$SHMT[26] = 'SHGXT26'
								05A9: s$SHMT[27] = 'SHGXT27'
								05A9: s$SHMT[28] = 'SHGXT28'
								05A9: s$SHMT[29] = 'SHGXT29'
								05A9: s$SHMT[30] = 'SHGXT30'
								05A9: s$SHMT[31] = 'SHGXT31'
								0004: $SHVR[4] = 0 
							else	
    							if
    								0038: $SHVR[4] == 0
    							then                               
    								05A9: s$SHMT[0] = 'SHGXT00' 
    								05A9: s$SHMT[1] = 'SHGXT51'
    								05A9: s$SHMT[2] = 'SHGXT52'
    								05A9: s$SHMT[3] = 'SHGXT53' 
    								05A9: s$SHMT[4] = 'SHGXT54'
    								05A9: s$SHMT[5] = 'SHGXT55' 
    								05A9: s$SHMT[6] = 'SHGXT56'
    								05A9: s$SHMT[7] = 'SHGXT57'
    								05A9: s$SHMT[8] = 'SHGXT58' 
    								05A9: s$SHMT[9] = 'SHGXT59'
    								05A9: s$SHMT[10] = 'SHGXT60' 
    								05A9: s$SHMT[11] = 'SHGXT61'
    								05A9: s$SHMT[12] = 'SHGXT62'
    								05A9: s$SHMT[13] = 'SHGXT63' 
    								05A9: s$SHMT[14] = 'SHGXT64'
    								05A9: s$SHMT[15] = 'SHGXT65' 
    								05A9: s$SHMT[16] = 'SHGXT66'
    								05A9: s$SHMT[17] = 'SHGXT67'
    								05A9: s$SHMT[18] = 'SHGXT68' 
    								05A9: s$SHMT[19] = 'SHGXT69'
    								05A9: s$SHMT[20] = 'SHGXT70' 
    								05A9: s$SHMT[21] = 'SHGXT71'
    								05A9: s$SHMT[22] = 'SHGXT72'
    								05A9: s$SHMT[23] = 'SHGXT73'
    								05A9: s$SHMT[24] = 'SHGXT74'
    								05A9: s$SHMT[25] = 'SHGXT75'
    								05A9: s$SHMT[26] = 'SHGXT76'
    								05A9: s$SHMT[27] = 'SHGXT77'
    								05A9: s$SHMT[28] = 'SHGXT78'
    								05A9: s$SHMT[29] = 'SHGXT79'
    								05A9: s$SHMT[30] = 'SHGXT80'
    								05A9: s$SHMT[31] = 'SHGXT81'
    								0004: $SHVR[4] = 1
								end
							end 
							0AF1: write_int $SHVR[4] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR04"
							0004: $SHVX[3] = 2 // go to cycle of draw columns
							0004: $SHVX[6] = 0
							03E6: remove_text_box
							03F0: enable_text_draw 0
							break
						end
		
						// switch of 
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 6
							00E1: key_pressed 0 14
						then
							if               
								0038: $SHVR[5] == 1
							then
								05A9: s$SHMR[5] = s$SHMT[16]
								0004: $SHVR[5] = 0
							else
								if
									0038: $SHVR[5] == 0    
								then
									05A9: s$SHMR[5] = s$SHMT[15]
									0004: $SHVR[5] = 1
								end
							end
							0AF1: write_int $SHVR[5] to_ini_file "cleo\SPEED HOOK.ini" section "VARS" key "SHVR05"
							08EE: set_panel $SHVX[1] column 1 row 6 text_1number GXT s$SHMR[5] number 0
							0004: $SHVX[6] = 0
							continue
						end
		 
						// menu entry of display controls panel  
						if and
							0038: $SHVX[6] == 1
							0038: $SHVX[2] == 7
							00E1: key_pressed 0 14
						then
							08DA: remove_panel $SHVX[1]
							08D4: $SHVX[4] = create_panel_with_title s$SHMT[0] position 170.0 170.0 width 300.0 columns 1 interactive 0 background 1 alignment 1
							08DB: set_panel $SHVX[4] column 0 header s$SHMT[23] data s$SHMT[24] s$SHMT[25] s$SHMT[26] s$SHMT[27] s$SHMT[28] s$SHMT[29] s$SHMT[30] s$SHMT[31] 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
							while true // cycle of display controls panel 
								wait 0
								if
									00E1: key_pressed 0 4
								then
									08DA: remove_panel $SHVX[4]
									0004: $SHVX[3] = 0 // go to cycle of draw menu panel
									0004: $SHVX[6] = 0
									break    
								end
								if
									00E1: key_pressed 0 15
								then
									08DA: remove_panel $SHVX[4]
									03E6: remove_text_box
									03F0: enable_text_draw 0
									0004: $SHVX[3] = 1 // go to main cycle
									0004: $SHVX[6] = 0
									wait 100
									Player.CanMove($PLAYER_CHAR) = True
									break 
								end           
							end // cycle of display panel of controls
							break
						end
 
						// escape of menu panel
						if and  
							0038: $SHVX[6] == 1
							00E1: key_pressed 0 15
						then
							08DA: remove_panel $SHVX[1]
							03E6: remove_text_box
							03F0: enable_text_draw 0
							0004: $SHVX[3] = 1 // go to main cycle
							0004: $SHVX[6] = 0
							wait 100
							Player.CanMove($PLAYER_CHAR) = True 							    
							break
						end

						// frame of single key press
						if
							80E1: not key_pressed 0 14
						then
							0004: $SHVX[6] = 1
						end
					end // cycle of change rows in column 1
					break
				end // cycle of draw column 1
				if
					0038: $SHVX[3] == 2
				then
					continue    
				end
				break
			end // cycle of draw columns
			if
				0038: $SHVX[3] == 0
			then
				continue    
			end
			if
				0038: $SHVX[3] == 1
			then
				break    
			end
		end // cycle of draw menu panel
    end
    if and
        0256:   player $PLAYER_CHAR defined
        0449:   actor $PLAYER_ACTOR in_a_car
		0AB0:   key_pressed $SHCK[0]
		0AB0:   key_pressed $SHCK[2]
		0038:   $SHVR[0] == 1                  
    then
        if and
            8038: not $ONMISSION == 1
            8038: not $SHVR[1] == 1
        then
            0811: $SHVX[7] = actor $PLAYER_ACTOR used_car
            //04BA: set_car $SHVX[7] speed_to $SHSV[0]
            car.SetSpeedInstantly($SHVX[7], $SHSV[0])
        end
    end
    if and
        0256:   player $PLAYER_CHAR defined
        0449:   actor $PLAYER_ACTOR in_a_car
		0AB0:   key_pressed $SHCK[0]
		0AB0:   key_pressed $SHCK[3]
        0038:   $SHVR[0] == 1   
    then
        if and
            8038: not $ONMISSION == 1
            8038: not $SHVR[1] == 1
        then
            0811: $SHVX[7] = actor $PLAYER_ACTOR used_car
            //04BA: set_car $SHVX[7] speed_to - $SHSV[1]
            car.SetSpeedInstantly($SHVX[7], - $SHSV[1])
        end
    end
    if and
        0256:   player $PLAYER_CHAR defined
        0449:   actor $PLAYER_ACTOR in_a_car
		0AB0:   key_pressed $SHCK[0]
		0AB0:   key_pressed $SHCK[4] 
        0038:   $SHVR[0] == 1      
    then
        if and
            8038: not $ONMISSION == 1
            8038: not $SHVR[1] == 1
        then
            0811: $SHVX[7] = actor $PLAYER_ACTOR used_car
            //04BA: set_car $SHVX[7] speed_to 0.0
            car.SetSpeedInstantly($SHVX[7], 0.0)
        end
    end
end // main cycle

:GXTMEM
hex
"SPEED HOOK v1.0"                                                  // SHGXT00 15+1
00
"~k~~GO_FORWARD~ and ~k~~GO_BACK~ - select area ~n~~k~~PED_JUMPING~ - select~n~~k~~PED_ANSWER_PHONE~ - back to menu~n~~k~~VEHICLE_ENTER_EXIT~ - back/quit" // SHGXT01 152+1
00
"~p~this script created by Alen Diago"                             // SHGXT02 36+1 
00
"\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ~y~MENU"  // SHGXT03 35(28 backslashes)+1  
00
"\ \ \ \ \ \ \ \ \ \ \ PARAM"                                      // SHGXT04 16(11 backslashes)+1 
00
"VALUE"                                                            // SHGXT05 6+1 
00
"Activate speed hook"                                              // SHGXT06 19+1 
00
"Deny on missions"                                                 // SHGXT07 16+1 
00
"Set Forward Speed"                                                // SHGXT08 17+1 
00
"Set Back Speed"                                                   // SHGXT09 14+1
00
"Language/•??k"                                                    // SHGXT10 13+1 
00
"Save settings when exit game"                                     // SHGXT11 28+1 
00
"View default controls"                                            // SHGXT12 21+1
00
"~g~activated"                                                     // SHGXT13 12+1 
00
"~r~deactivated"                                                   // SHGXT14 14+1
00
"yes"                                                              // SHGXT15 3+1
00
"no"                                                               // SHGXT16 2+1
00
"low"                                                              // SHGXT17 3+1
00
"medium"                                                           // SHGXT18 6+1 
00
"high"                                                             // SHGXT19 4+1
00
"INSANE"                                                           // SHGXT20 6+1
00
"eng"                                                              // SHGXT21 3+1 
00
"pyc"                                                              // SHGXT22 3+1
00
"\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ~y~DEFAULT CONTROLS:"               // SHGXT23 35(15 backslashes)+1 
00
"\ \ \ \ \ \ ~p~alt + \"X\"~w~ - open script settings"             // SHGXT24 44(8 backslashes)+1
00
"\ \ \ \ \ \ ~p~alt + \"W\"~w~ - speed up forward"                 // SHGXT25 40(8 backslashes)+1 
00
"\ \ \ \ \ \ ~p~alt + \"S\"~w~ - speed up back"                    // SHGXT26 37(8 backslashes)+1 
00
"\ \ \ \ \ \ ~p~alt + space~w~ - instant stop"                     // SHGXT27 38(6 backslashes)+1 
00
"~w~You can assign your own control keys by replacing"             // SHGXT28 52+1
00
"~w~their ID on the ones you need, in the SPEED HOOK.ini"          // SHGXT29 55+1 
00                                                              
"~w~file, and individually set the speed value for each"           // SHGXT30 54+1
00
"~w~Speed Hook presets (see SPEED HOOK.ini for details)"           // SHGXT31 54+1
00
"~k~~GO_FORWARD~ ? ~k~~GO_BACK~ - ?epe?e?e®?e~n~~k~~PED_JUMPING~ - ??—pa¦©~n~~k~~PED_ANSWER_PHONE~ - ?ep®y¦©c¬ ? ?e®«~n~~k~~VEHICLE_ENTER_EXIT~ - ®a?a?/??xo?" // SHGXT51 156+1
00
"~p~?a®®?? ckp??¦ co??a? Alen Diago"                               // SHGXT52 34+1
00
"\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ~y~–E­”"    // SHGXT53 35(27 backslashes)+1
00
"\ \ \ \ \ \ \ \ \ \ \ ?APA–E?P"                                   // SHGXT54 19(11 backslashes)+1
00
"?­A?E­…E"                                                         // SHGXT55 8+1
00
"Ak¦???po?a¦© speed hook"                                          // SHGXT56 23+1
00
"?a?pe¦?¦© ®a ??cc?¬x"                                             // SHGXT57 20+1
00
"Yc¦a®o??¦© ckopoc¦© ??epe?"                                       // SHGXT58 26+1
00
"Yc¦a®o??¦© ckopoc¦© ®a?a?"                                        // SHGXT59 25+1
00
"Language/•??k"                                                    // SHGXT60 13+1
00
"Coxpa®¬¦© ®ac¦po?k? ?p? ??xo?e ?? ?™p?"                           // SHGXT61 38+1
00
"?oc?o¦pe¦© y?pa??e®?e ?o-y?o?¤a®?«"                               // SHGXT62 34+1
00
"~g~ak¦???po?a®"                                                   // SHGXT63 14+1
00
"~r~?eak¦???po?a®"                                                 // SHGXT64 16+1
00
"?a"                                                               // SHGXT65 2+1
00
"®e¦"                                                              // SHGXT66 3+1
00
"®??ka¬"                                                           // SHGXT67 6+1
00
"cpe?®¬¬"                                                          // SHGXT68 7+1
00
"??coka¬"                                                          // SHGXT69 7+1
00
"CY–A?E??A•"                                                       // SHGXT70 10+1
00
"eng"                                                              // SHGXT71 3+1
00
"pyc"                                                              // SHGXT72 3+1
00
"\ \ \ \ \ \ ~y~Y?PA‹‡E­…E ?O-Y–O‡?A­…”"                           // SHGXT73 32(6 backslashes)+1
00
"\ \ ~p~alt + \"X\"~w~ - o¦kp?¦© ?e®« ckp??¦a"                     // SHGXT74 40(4 backslashes)+1
00
"\ \ ~p~alt + \"W\"~w~ - yckop?¦©c¬ ??epe?"                        // SHGXT75 37(4 backslashes)+1
00
"\ \ ~p~alt + \"S\"~w~ - yckop?¦©c¬ ®a?a?"                         // SHGXT76 36(4 backslashes)+1
00
"\ \ ~p~alt + space~w~ - ?™®o?e®®a¬ oc¦a®o?ka"                     // SHGXT77 42(2 backslashes)+1
00
"~w~‹? ?o›e¦e ®a?®a¤?¦© c?o? k?a????, ?a?e®?? ID k?a???"           // SHGXT78 54+1
00
"~w~®a ®y›®?e ?a?, ? ?a??e SPEED HOOK.ini, a ¦ak›e"                // SHGXT79 49+1
00
"~w~o¦?e?©®o ®ac¦po?¦© ?®a¤e®?e ckopoc¦? ??¬ ka›?o™o"              // SHGXT80 51+1
00
"~w~?pece¦a Speed Hook-a (?o?po—®ee c?. ? SPEED HOOK.ini)"         // SHGXT81 56+1
00
end

end_thread

Offline

#5035 24-11-2018 13:09

Dimoman
Registered: 01-07-2014
Posts: 14

Re: Один вопрос

Ребятки, помогите, плиз! Вот кусок кода для перемещения колес автомобиля по оси Y. Но мне нужно перемещение по оси Z. Работает перемещение по X, по Y, а по Z никак не хотят колеса двигаться!

:NONAME_12
wait 0
0A97: 1@ = car 0@ struct
0A97: 2@ = car 0@ struct
0A97: 3@ = car 0@ struct 
0A97: 4@ = car 0@ struct  
1@ += 0x650
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
1@ += 0x10
1@ += 52
2@ += 0x65C
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
2@ += 0x10
2@ += 52
3@ += 0x658
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
3@ += 0x10
3@ += 52
4@ += 0x664
0A8D: 4@ = read_memory 4@ size 4 virtual_protect 0
4@ += 0x10
4@ += 52
jump @NONAME_13

:NONAME_13
wait 50
if
00E1:   player 0 pressed_key 11
then
5@ += 0.01 
end
if
00E1:   player 0 pressed_key 10
then
5@ -= 0.01 
end
if or
1@ <> 0
2@ <> 0
3@ <> 0
4@ <> 0
then
0A8C: write_memory 1@ size 4 value 5@ virtual_protect 0
0A8C: write_memory 2@ size 4 value 5@ virtual_protect 0
0A8C: write_memory 3@ size 4 value 5@ virtual_protect 0
0A8C: write_memory 4@ size 4 value 5@ virtual_protect 0
end
jump @NONAME_13

Offline

Board footer

Powered by FluxBB