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

Thomas_Johnson

Известный
Проверенный
183
21
Снова требуется помощь, без вас не могу <3
В .ini прописан только Place0, по чатлогу я понял, что он не читает Command, но в Place1(которой нет) он видит именно мою букву, что делать? -_- Это попытка перевести декомпил обработки иника у iRicci
Код:
// 0ab1: @func_warp 2 0@ 1@
:func_warp
if
0AD4: 33@ string 0@ format "%d" 0@
then
    0ab1: call @warp_id 1 id 0@
else
    0af8: "Repeat"
    repeat
    0AD3: 33@v "Place%d" 1@
    0af8: "1@ = %d" 1@
    0AF0: 30@ = read_string_from_ini_file 'CLEO\warp.ini' section 33@v key 'Command'
    0af8: "Test1"
    0AF0: 31@ = read_string_from_ini_file 'CLEO\warp.ini' section 33@v key 'Coords'
    0af8: "Test2"
    if
    0C14: strcmp string1 30@ string2 0@
    then
        0af8: "yes"
        0AD4: 33@ string 31@ format "%f %f %f %f" 1@ 2@ 3@ 4@
        0ab1: call @warp 4 xyz 1@ 2@ 3@ 4@
    end 
    1@ += 1
    until 1@ > 49
end
0ab2: 0
 

valik565

Потрачен
19
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Вопрос: Как начать счет брони с 5 хп?
Всмысле: мне надо чтобы отсчет был не с 0 а с 5 брони

Код:
04DD: 1@ = actor $PLAYER_ACTOR armour
03E4: enable_text_draw_align_right 1
033F: set_text_draw_letter_size 0.5 0.8
0340: set_text_draw_RGBA 255 255 255 255
081C: draw_text_outline 1 RGBA 0 0 0 255
045A: draw_text_1number 335.0 424.0 GXT 'NUMBER' number 1@  // ~1~
 

Thomas_Johnson

Известный
Проверенный
183
21
Код:
04DD: 1@ = actor $PLAYER_ACTOR armour // получаем кол-во текущей брони у игрока
if 1@ == 5
then
// Код
end

Ему надо, чтобы отсчет был с 5
Код:
04DD: 1@ = actor $PLAYER_ACTOR armour // получаем кол-во текущей брони у игрока
if 1@ > 4
then
// Код
end
 
  • Нравится
Реакции: valik565

SeJIya

Новичок
45
2
Код:
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
0843: get_zone_at 4@ 5@ 6@ nameA_to 20@s
0AF8: samp add_message_to_chat "** %s" 13371337 20@s
Вопрос:
Проблема в том, что в чат выводится не всё название зоны (Первые 8 букв, естественно), есть ли способ вывести в чат всё название зоны, даже с пробелами ?
 

Thomas_Johnson

Известный
Проверенный
183
21
Код:
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
0843: get_zone_at 4@ 5@ 6@ nameA_to 20@s
0AF8: samp add_message_to_chat "** %s" 13371337 20@s
Вопрос:
Проблема в том, что в чат выводится не всё название зоны (Первые 8 букв, естественно), есть ли способ вывести в чат всё название зоны, даже с пробелами ?
20@s замени на 20@v
20@s - string, строка длинной 8 байтов
20@v - long string, строка длинной 16 байтов
 

valik565

Потрачен
19
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Thomas_Johnson,
Меня выкидывает из игры
P.S это для HUD... смысл этого чтобы броня исчезала когда 0хп а с 1хп появлялась...
http://rghost.ru/47442854.view
Код:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
 
{$VERSION 3.1.0027}
{$CLEO .cs}
 
//-------------MAIN---------------
0662: NOP "SYSTEMFV12"
wait 0
thread "TXD"
03F0: enable_text_draw 1
 
:TXD_29
wait 0
if
  Player.Defined($PLAYER_CHAR)
else_jump @TXD_29
0390: load_txd_dictionary "ARM"
038F: load_texture "RADAR" as 124 // Load dictionary with 0390 first
038F: load_texture "MAESTRO" as 125 // Load dictionary with 0390 first
 
:TXD_80
wait 0
038D: draw_texture 124 position 0.0 650.0 size 50.0 50.0 RGBA 255 255 255 210
038D: draw_texture 125 position 640.0 350.0 size 200.0 80.0 RGBA 255 255 255 210
04DD: 1@ = actor $PLAYER_ACTOR armour // ???????? ???-?? ??????? ????? ? ??????
if 1@ > 1
then
03E4: enable_text_draw_align_right 1
033F: set_text_draw_letter_size 0.5 0.8
0340: set_text_draw_RGBA 255 255 255 255
081C: draw_text_outline 1 RGBA 0 0 0 255
045A: draw_text_1number 335.0 424.0 GXT 'NUMBER' number 1@  // ~1~
if
  not 1@ >= 190
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 93 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 95
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 94 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 90
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 95 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 85
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 96 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 80
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 97 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 75
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 98 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 70
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 99 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 65
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 100 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 60
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 101 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 55
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 102 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 50
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 103 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 45
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 104 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 40
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 105 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 35
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 106 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 30
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 107 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 25
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 108 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 20
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 109 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 15
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 110 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 10
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 111 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 5
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 112 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 1
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 113 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
jump @TXD_80
end
 

Thomas_Johnson

Известный
Проверенный
183
21
Thomas_Johnson,
Меня выкидывает из игры
P.S это для HUD... смысл этого чтобы броня исчезала когда 0хп а с 1хп появлялась...
Код:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
 
{$VERSION 3.1.0027}
{$CLEO .cs}
 
//-------------MAIN---------------
0662: NOP "SYSTEMFV12"
wait 0
thread "TXD"
03F0: enable_text_draw 1
 
:TXD_29
wait 0
if
  Player.Defined($PLAYER_CHAR)
else_jump @TXD_29
0390: load_txd_dictionary "ARM"
038F: load_texture "RADAR" as 124 // Load dictionary with 0390 first
038F: load_texture "MAESTRO" as 125 // Load dictionary with 0390 first
 
:TXD_80
wait 0
038D: draw_texture 124 position 0.0 650.0 size 50.0 50.0 RGBA 255 255 255 210
038D: draw_texture 125 position 640.0 350.0 size 200.0 80.0 RGBA 255 255 255 210
04DD: 1@ = actor $PLAYER_ACTOR armour // ???????? ???-?? ??????? ????? ? ??????
if 1@ > 1
then
03E4: enable_text_draw_align_right 1
033F: set_text_draw_letter_size 0.5 0.8
0340: set_text_draw_RGBA 255 255 255 255
081C: draw_text_outline 1 RGBA 0 0 0 255
045A: draw_text_1number 335.0 424.0 GXT 'NUMBER' number 1@  // ~1~
if
  not 1@ >= 190
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 93 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 95
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 94 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 90
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 95 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 85
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 96 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 80
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 97 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 75
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 98 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 70
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 99 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 65
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 100 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 60
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 101 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 55
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 102 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 50
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 103 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 45
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 104 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 40
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 105 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 35
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 106 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 30
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 107 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 25
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 108 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 20
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 109 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 15
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 110 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 10
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 111 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 5
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 112 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
if
  not 1@ >= 1
else_jump @TXD_80
03E3: set_texture_to_be_drawn_antialiased 1
038D: draw_texture 113 position 324.0 424.0 size 304.0 150.0 RGBA 255 255 255 255
jump @TXD_80
end

У тебя с оригиналом не вылетает?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,460
16 мне тоже не хватает.
Название зоны может быть "The Four Dragons Casino" 23 символа.
Выделяй память
Код:
0AC8: 0@ = memory 64 // 64 - размер в байтах.
и когда она не нужна(вывели её в чат и т.п) очищаем:
Код:
0AC9: free_memory 0@
 

SeJIya

Новичок
45
2
Выделяй память
Код:
0AC8: 0@ = memory 64 // 64 - размер в байтах.
и когда она не нужна(вывели её в чат и т.п) очищаем:
Код:
0AC9: free_memory 0@

Делаю так:
Код:
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
 0AC8: 20@ = memory 64 
0843: get_zone_at 4@ 5@ 6@ nameA_to 20@
0AF8: samp add_message_to_chat "** %s" 13371337 20@
0AC9: free_memory 20@
Крешит.