Вопросы по CLEO-скриптингу

Vadim.dll

Известный
168
80
Ребята, мне нужно из ini файла форматировать цвет в формате RGBA и присвоить его к прендеру шрифта, как это сделать? В ини файле например FFFFFFFF, а потом форматирование в 0xFFFFFFFF? Или как? Не могу разобраться
 

Woofing Giraffe

Активный
402
49
Ребята, мне нужно из ini файла форматировать цвет в формате RGBA и присвоить его к прендеру шрифта, как это сделать? В ини файле например FFFFFFFF, а потом форматирование в 0xFFFFFFFF? Или как? Не могу разобраться
format 0@ = "0x%s" 1@
0@ - Итоговый цвет
1@ - цвет из ini файла
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
format 0@ = "0x%s" 1@
0@ - Итоговый цвет
1@ - цвет из ini файла
Не правильно. Ты формируешь строку, а эму надо со строки получить цифру. Можно и твоим способом, но тогда нужно будет atoi применить и это уже 2 действия. Но через 0ad4 будет быстрее.
Код:
0ad4: 0@ sscanf 2@ "%08X" 1@
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Ребята, мне нужно из ini файла форматировать цвет в формате RGBA и присвоить его к прендеру шрифта, как это сделать? В ини файле например FFFFFFFF, а потом форматирование в 0xFFFFFFFF? Или как? Не могу разобраться
0xFFFFFFFF - Это тоже число. После компиляции станет: -1 . Поэтому после считывания из INI значения числа в таком формате - форматировать не надо. Можешь потом вставлять его куда угодно как "%i". Если нужно изменить цвет определённого текста делай так: "{%X}Text 0@" . В 0@ - значение из INI файла в формате 0xFFFFFFFF . Проще говоря 0xFFFFFFFF - это тоже самое, что и -1.
 

Vadim.dll

Известный
168
80
А можешь росказать или подсказать где найти палтрку таких цветов?
 

#Frozen'ka

Известный
8
0
{$CLEO .cs}

//-------------MAIN---------------
hex
62 06 0E 0B 5F 64 65 63 72 79 70 74 65 64 5F
end
thread "inform"
0662: printstring "text"
if
0@ = SAMP.Base()
jf @inform_51
0A93: end_custom_thread

:inform_51
not SAMP.Available
jf @inform_71
wait 100
goto @inform_51

:inform_71
chatmsg "[inform] {EAEAEA}Èíôîðìàöèÿ î æåðòâå. {00CCFF}/vinformer {EAEAEA}— âêë/âûêë." 52479
0B34: samp register_client_command "vinformer" to_label @inform_1182
if
8AE4: not directory_exists "Cleo\INI"
jf @inform_237
0AE5: create_directory "Cleo\INI" // IF and SET

:inform_237
if
0AAB: file_exists "CLEO\INI\vinformer.ini"
jf @inform_367
0AF0: 15@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
0AF0: 16@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY"
goto @inform_474

:inform_367
SAMP.GetScreenResolution(0@, 28@)
28@ /= 8
28@ *= 3
0AF1: write_int 0 to_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
0AF1: write_int 28@ to_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY"

:inform_474
Dialog.Create(29@, "{00CCFF}INFO OF VICTIM")
0AF0: 15@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
0AF0: 16@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY"
Dialog.SetRECT(29@, 15@, 16@, 200, 180)
Dialog.AddStatic(29@, 1, "Name:", 10, 10, 160, 24)
Dialog.AddStatic(29@, 2, "Ping:", 10, 30, 160, 24)
Dialog.AddStatic(29@, 3, "LVL:", 10, 50, 160, 24)
Dialog.AddStatic(29@, 4, "ID:", 10, 70, 160, 24)
Dialog.AddStatic(29@, 5, "HP:", 10, 90, 160, 24)
Dialog.AddStatic(29@, 6, "AP:", 10, 110, 160, 24)
Dialog.AddStatic(29@, 7, "SKIN:", 10, 130, 160, 24)

:inform_761
wait 0
Dialog.SetRECT(29@, 15@, 16@, 200, 180)
0AF0: 15@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
0AF0: 16@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY"
if and
0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET
10@ == 1
jf @inform_1168
Dialog.SetVisible(29@, 1)
1@ = SAMP.GetSAMPPlayerIDByActorHandle(0@)
format 21@ "ID: %d" 1@
call @inform_1456 1 1@ 2@
format 22@ "LVL: %d" 2@
3@ = SAMP.GetPlayerNickname(1@)
format 23@ "NAME: %s" 3@
4@ = SAMP.GetPlayerPing(1@)
format 24@ "PING: %d" 4@
5@ = SAMP.GetPlayerHealthByActorHandle(0@)
format 25@ "HP: %d" 5@
6@ = SAMP.GetPlayerArmorByActorHandle(0@)
format 26@ "AP: %d" 6@
0665: get_actor 0@ model_to 7@
format 27@ "SKIN: %d" 7@
Dialog.SetControlText(29@, 1, 23@)
Dialog.SetControlText(29@, 2, 24@)
Dialog.SetControlText(29@, 3, 22@)
Dialog.SetControlText(29@, 4, 21@)
Dialog.SetControlText(29@, 5, 25@)
Dialog.SetControlText(29@, 6, 26@)
Dialog.SetControlText(29@, 7, 27@)
goto @inform_1175

:inform_1168
Dialog.SetVisible(29@, 0)

:inform_1175
goto @inform_761

:inform_1182
0B12: 10@ = 10@ XOR 1
if
10@ == 1
jf @inform_1329
alloc 21@ 32
alloc 22@ 32
alloc 23@ 32
alloc 24@ 32
alloc 25@ 32
alloc 26@ 32
alloc 27@ 32
chatmsg "[inform]: {EAEAEA}Èíôîðìåð {00FF00}àêòèâèðîâàí{EAEAEA}." 52479

:inform_1329
if
10@ == 0
jf @inform_1454
chatmsg "[inform]: {EAEAEA}Èíôîðìåð {FF0000}äåàêòèâèðîâàí{EAEAEA}." 52479
free 21@
free 22@
free 23@
free 24@
free 25@
free 26@
free 27@

:inform_1454
SAMP.CmdRet

:inform_1456
1@ = SAMP.GetPlayerStruct(0@)
1@ += 32
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 1
ret 1 1@
[/CODE]
Можете перевести?
 

Woofing Giraffe

Активный
402
49
Можете перевести?
Код:
{$CLEO}
0000:

:1
wait 0
    SAMP.Available()
jf @1
0B34: "vinformer" @cmd
alloc 21@ 32
alloc 22@ 32
alloc 23@ 32
alloc 24@ 32
alloc 25@ 32
alloc 26@ 32
alloc 27@ 32
chatmsg "информер загружен" 52479  
if 8AE4: not directory_exists "Cleo\INI" // Если не нашло
then
    0AE5: create_directory "Cleo\INI"// создаём
    SAMP.GetScreenResolution(0@, 28@)
    28@ /= 8
    28@ *= 3
    0AF1: write_int 0 to_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
    0AF1: write_int 28@ to_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY"  // Создаём файл и записываем переменные
else
    if 0AAB: file_exists "CLEO\INI\vinformer.ini" // Если нашло файл
    then
        0AF0: 15@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
        0AF0: 16@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY" // Получаем данные
    else
        SAMP.GetScreenResolution(0@, 28@)
        28@ /= 8
        28@ *= 3
        0AF1: write_int 0 to_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
        0AF1: write_int 28@ to_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY" // Записываем
    end
end
Dialog.Create(29@, "{00CCFF}INFO OF VICTIM")
Dialog.SetRECT(29@, 15@, 16@, 200, 180)
Dialog.AddStatic(29@, 1, "Name:", 10, 10, 160, 24)
Dialog.AddStatic(29@, 2, "Ping:", 10, 30, 160, 24)
Dialog.AddStatic(29@, 3, "LVL:", 10, 50, 160, 24)
Dialog.AddStatic(29@, 4, "ID:", 10, 70, 160, 24)
Dialog.AddStatic(29@, 5, "HP:", 10, 90, 160, 24)
Dialog.AddStatic(29@, 6, "AP:", 10, 110, 160, 24)
Dialog.AddStatic(29@, 7, "SKIN:", 10, 130, 160, 24) // Создаём сам диалог
Dialog.SetVisible(29@, 0) // Скрываем

while true
    wait 0
    if 10@ == true // Если эта херня активирована
    then
         Dialog.SetRECT(29@, 15@, 16@, 200, 180)
         1@ = SAMP.GetSAMPPlayerIDByActorHandle($PLAYER_ACTOR) // Получаем ID
         format 21@ "ID: %d" 1@
         0B65: samp 2@ = player 1@ score
         format 22@ "LVL: %d" 2@
         3@ = SAMP.GetPlayerNickname(1@)// Получаем ник
         format 23@ "NAME: %s" 3@
         4@ = SAMP.GetPlayerPing(1@) // Получаем ping
         format 24@ "PING: %d" 4@   
         5@ = Actor.Health($PLAYER_ACTOR)
         format 25@ "HP: %d" 5@
         6@ = SAMP.GetPlayerArmorByActorHandle($PLAYER_ACTOR) // Получаем бронь
         format 26@ "AP: %d" 6@                                      
         0665: get_actor $PLAYER_ACTOR model_to 7@ // Получаем скин
         format 27@ "SKIN: %d" 7@
         Dialog.SetControlText(29@, 4, 21@)
         Dialog.SetControlText(29@, 3, 22@)
         Dialog.SetControlText(29@, 1, 23@)
         Dialog.SetControlText(29@, 2, 24@)
         Dialog.SetControlText(29@, 5, 25@)
         Dialog.SetControlText(29@, 6, 26@)
         Dialog.SetControlText(29@, 7, 27@)
    end
end

:cmd
if 10@ == true
then
    10@ = false
    Dialog.SetVisible(29@, 0)
    chatmsg "выкл" 52479
else
    10@ = true
    0AF0: 15@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosX"
    0AF0: 16@ = get_int_from_ini_file "CLEO\INI\vinformer.ini" section "inform" key "PosY" // Получаем данные
    Dialog.SetRECT(29@, 15@, 16@, 200, 180)
    Dialog.SetVisible(29@, 1)
    chatmsg "вкл" 52479
end
SAMP.CmdRet()
 
  • Нравится
Реакции: #Frozen'ka

CarLCas

Известный
161
118
Подскажите, пожалуйста, как реализовать выпрыгивание из авто (как на N в собейте), пытался через 0B31: samp send_exit_vehicle 1@ не получается..
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Подскажите, пожалуйста, как реализовать выпрыгивание из авто (как на N в собейте), пытался через 0B31: samp send_exit_vehicle 1@ не получается..
PHP:
0407: store_coords_to 0@ 1@ 2@ from_car 3@ with_offset 0.0 0.0 1.5
0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 0@ 1@ 2@
 
  • Нравится
Реакции: CarLCas

N1ghT

Известный
79
8
Почему все что я ввожу в скрипте, потом выдается в игре КАПСОМ?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,961
Почему все что я ввожу в скрипте, потом выдается в игре КАПСОМ?
В настройках Sanny Builder сделай так:

9b2d3-clip-16kb.png
 

N1ghT

Известный
79
8
SAMP.IsCommandTyped(0@)
0AD4: 29@ = scan_string 0@ format "%d" 0@
say "/f Âíèìàíèå! Òðåíèðîâêà â %d! Ñêðèíþ îíëàéí" 0@
SAMP.CmdRet
Что тут не так? вместо %d просто капсом буква D пишется в чат