#5026 13-10-2018 01:45

trashmas
Registered: 12-04-2016
Posts: 38

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

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

Offline

#5027 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

#5028 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

#5029 24-11-2018 13:09

Dimoman
Registered: 01-07-2014
Posts: 15

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

#5030 15-02-2019 14:16

L_S
From: Russia
Registered: 15-02-2019
Posts: 1
Website

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

Почему после 28 вложенных друг в друга условий на 29 условии компилятор выдает ошибку "Невозможно выполнить переход к метке. Внутренняя метка не найдена. Проверьте ваши высокоуровневые конструкции. Некоторые из них не имеют закрывающего "end"." END везде имеется.

Offline

#5031 30-05-2019 19:27

Shag
Registered: 29-03-2010
Posts: 143
Website

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

Почему после 28 вложенных друг в друга условий на 29 условии

wall
Зачем так мучаться, когда есть старый добрый jf...

Offline

#5032 21-06-2019 14:27

trashmas
Registered: 12-04-2016
Posts: 38

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

Можно как то увеличить стандартный размер main.scm? (200000 байт) и размер миссий (69000 байт)

Last edited by trashmas (21-06-2019 17:22)

Offline

#5033 30-06-2019 20:22

Remca12
Registered: 30-06-2019
Posts: 1

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

Здравствуйте. smile Клео я изучаю недавно. Решил написать скрипт в котором игрока будет обслуживать бармен.
По задумке когда сиджей заходит в бар то 2й бармен (слева) должен уже быть в баре,ожидая сиджея. Если подойти к бармену встав на красный маркер, с игрока снимут 15$ и бармена начнёт обслуживать сиджея, а поставив перед ним заказ (вино бутылки по id 1509), сиджей её выпьет и бутылка исчезнет. После этого сиджей может двигаться, а экран будет шататься, то затемняясь то просветляясь, с учётом замедления игры в 2раза - эффект опьянения длительностью на 1минуту.  Когда эффект кончится всё придёт в норму - сиджей трезвый.
Да, ошибок у меня ещё много, но я не знаю как их все поправить. rolleyes
1й баг - хоть скрипт и цикличен, модель загружается много раз.
2й баг - красный маркер напротив бармена не виден, хотя и активен.
3й баг - связан с анимациями сиджея, он просто встал, двигать им нельзя и сразу пошли эффекты опьянения. Но анимации бармена воспроизводятся.

Помогите мне пожалуйста и покажите на примерах исправленные варианты

{$CLEO}
0000:
while true //пока условие верное, скрипт будет работать
:1
wait 0
Model.Load(1509) //объявляем модель бутылки по id 1509
Model.Load(#VWFYCRP) //объявляем модель бармена
038B: load_requested_models //загружаем объявленные модели
:2
wait 0
if and//проверяем на загруженность 
Model.Available(1509) //бутылка загружена?
Model.Available(#VWFYCRP) //бармен загружен?  
jf @2 //если нет то возвращаемся к метке 2 и проверка будет происходить до тех пор пока объявленные модели не загрузятся
wait 100 //задержка в 100мс
Actor.Create(3@,CIVFEMALE, #VWFYCRP, 500.3259, -77.7879, 998.7578) //создаём актора в данных координатах (бар грув-стрит). 
Object.Create(0@,1509,0.0,0.0,0.0) //создаём бутылку
wait 100
Model.Destroy(1509)  //уничтожаем каждую модель 
Model.Destroy(#VWFYCRP) 
Actor.RemoveReferences(3@) //стираем сведения 
Object.RemoveReferences(0@) //чтобы не грузить память
wait 500
jump @2


wait 1000 //задержка в 0мс
if and //проверяем несколько условий
player.Defined(0) //игрок (cj) жив ?
not actor.Driving($PLAYER_ACTOR) //игрок не в машине ?
player.Money(0) > 14 //число игрока целое и больше 14 ?
0102:   actor $PLAYER_ACTOR in_sphere 500.3043 -75.8083 998.7578 radius 1.0 1.0 1.0 sphere 1 stopped_on_foot //когда игрок встанет на маркер 
then //тогда
player.Money(0) += -15  //с игрока снимут 15$ 
    
if 
00FE:   actor $PLAYER_ACTOR in_sphere 500.3043 -75.8083 998.7578 radius 1.0 1.0 1.0 sphere 1//если игрок ещё стоит на маркере 
Player.CanMove(3@) = False //бармен никуда не уйдёт
//и обслужит игрока
0605: actor 3@ perform_animation "BARSERVE_LOOP" IFP "BAR" framedelta 4.0 loop 1 lockX 0 lockY 0 lockF 0 time -1 //бармен смотрит по сторонам и ожидает клиентов
0605: actor 3@ perform_animation "BARSERVE_ORDER" IFP "BAR" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 2000 //бармен на месте прислушался
wait 2000 
0605: actor 3@ perform_animation "BARSERVE_BOTTLE" IFP "BAR" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 3000 //наклонился и достал бутылку
wait 3000 
0605: actor 3@ perform_animation "BARSERVE_GIVE" IFP "BAR" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time 3000 //бармен поставил перед игроком выпивку
070A: AS_actor $PLAYER_ACTOR attach_to_object 0@ offset 0.05 0.06 0.05 on_bone 6 16 perform_animation "DRNKBR_PRTL" IFP "GANGS" time 15000



    
wait 1500
    1@ = 0
    
        repeat
        wait 0
            if
            not player.Defined(0)
            then
            1@ = 1 //Dead/arrested/not found flag
            end
        until not actor.Animation($PLAYER_ACTOR) == "DRNKBR_PRTL"
    
    04EF: release_animation "GANGS"
    
        if
        1@ == 0
        then
        015D: set_gamespeed 0.5 
        player.SetDrunkVisuals(0,50)
        object.Destroy(0@)
        actor.DestroyInstantly(3@) - уничтожаем бармена
        
            while player.Defined(0)
            wait 0
            32@ = 0
                
                repeat
                wait 0
                    if
                    not player.Defined(0)
                    then
                    break
                    end
                until 32@ > 999
                
            fade 0 1500
            
                repeat
                wait 0
                    if
                    not player.Defined(0)
                    then
                    break
                    end
                until not fading
                
            fade 1 1500
            
                repeat
                wait 0
                    if
                    not player.Defined(0)
                    then
                    break
                    end
                until not fading                        
            end //while
        
        015D: set_gamespeed 1.0 
        player.SetDrunkVisuals(0,0)
        end
    end
end

Offline

#5034 05-07-2019 06:04

Shag
Registered: 29-03-2010
Posts: 143
Website

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

trashmas wrote:

Можно как то увеличить стандартный размер main.scm? (200000 байт) и размер миссий (69000 байт)

К сожалению, там не динамически создающийся массив(т.е. его нужно самому создать, а не просто размер лимита другой указать) и там очень, очень много ссылок нужно патчить, чтобы это запилить(а потом еще и тестить, блин). Это касается как размера main.scm, так и размера миссий.

Мб когда-нибудь сделаю для Вайса, но для СА ооочень маловероятно, сори.

Offline

#5035 05-07-2019 19:37

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

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

Есть лимит аджастер от Фастмана, там есть такая фишка..


I know everything and nothing...

Offline

#5036 06-07-2019 18:19

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

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

Вот исходник моего плагина Scm500k для GTA San Andreas
http://cleo.li/files/Scm500k.dpr

Суть состоит в том, чтобы выделить новый участок в памяти (в данном случае 500000 байтов для SCM и 100000 для миссий) и изменить все адреса в памяти игры, которые ссылаются на оригинальные области памяти

Offline

#5037 08-07-2019 22:32

trashmas
Registered: 12-04-2016
Posts: 38

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

Shag wrote:

Мб когда-нибудь сделаю для Вайса, но для СА ооочень маловероятно, сори.

О! Мне как раз для Вайса и нужно. Бужу ждать!
Seemann, я в это не шарю, но все равно спасибо cool

Offline

#5038 13-07-2019 13:57

Dimoman
Registered: 01-07-2014
Posts: 15

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

написал тестовый скрипт который меняет клиренс автомобиля. Все работает есть CJ сидит в автомобиле, если выйти из него, то клиренс не меняется. Я что-то не так делаю, или нельзя менять настройки автомобиля не находясь в нём? Делал все через адреса памяти.

Offline

Board footer

Powered by FluxBB