- 212
- 196
может так получится, прогонять все 3д тексты через for, проверять их на то, что они найдены, после получить из них информацию и сравнить сроку 3д текста, со строкой, которая должна быть в нужном 3д тексте, надеюсь ты понял.Как узнать ID 3D текста?
Помогите пожалуйста, спасибо автору мода
DarkP1xel
за данный cleo скрипт, поиск тыкв на Diamond RP.
Дело в том что ищет скрипт модель по пикапу, а я хочу что бы искала по объекту, помогите пожалуйста, я не представляю как это сделать.
Код:{$CLEO} 0000: REPEAT 0001: 0 UNTIL 0AFA: 0BB9: samp 0@ = get_pickup_pool_ptr WHILE TRUE 0001: 0 FOR 1@ = 0 TO {MAX_PICKUPS}4096 [STEP = 1] IF 0B51: samp 2@ = pickup_handle_by_id 1@ THEN 0A90: 2@ = 1@ * 20 000A: 2@ += 61444 000A: 2@ += 0@ // stPickup 0A8D: 3@ = read_memory 2@ size 4 virtual_protect TRUE // iModelID IF 0039: 3@ == 19320 THEN 0C0C: 3@ = struct 2@ offset 8 size 4 // X 0C0C: 4@ = struct 2@ offset 12 size 4 // Y 0C0C: 5@ = struct 2@ offset 16 size 4 // Z IF 00C2: sphere_onscreen 3@ 4@ 5@ radius 5.0 THEN 0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@ 00A0: store_actor $PLAYER_ACTOR position_to 5@ 6@ 7@ 0B55: convert_3D_coords 5@ 6@ 7@ to_screen 5@ 6@ 0B68: render draw_line_point1 5@ 6@ point2 3@ 4@ width 1 color 0xFFFFA500 END END END END END
{$CLEO}
0000:
WHILE 8AFA: NOT SAMP_LOADED
0001: 0
END
WHILE TRUE
0001: 0
IF 0256: player $PLAYER_CHAR defined
THEN 00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
WHILE 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 1000.0 find_next TRUE
IF 09CC: object 3@ model_is {ModelID}420
THEN
IF 02CC: object 3@ bounding_sphere_visible
THEN
03F0: enable_text_draw TRUE
01BB: store_object 3@ position_to 3@ 4@ 5@
0B55: convert_3D_coords 0@ 1@ 2@ to_screen 6@ 7@
0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@
0B68: render draw_line_point1 6@ 7@ point2 3@ 4@ width 1 color 0xFFFFA500
END
END
END
END
END
// By DarkP1xel
Как узнать ID 3D текста?
{$CLEO}
0000:
WHILE 8AFA: NOT SAMP_LOADED
0001: 0
END
WHILE TRUE
0001: 0
IF 0C89: key_just_pressed {ID Клавиши}420
THEN
FOR 0@ = 0 TO {MAX_3DTEXTS}2048 [STEP = 1]
IF 0B46: samp 3d_text 0@ defined
THEN
0C46: samp get_3d_text_info_by_id 0@ string_ptr 1@ color 2@ position 3@ 4@ 5@ view_distance 6@ show_behind_walls 7@ attached_to_player 8@ attached_to_vehicle 9@
0B78: _log "ID: %d | Text: %s" | {ID}0@ {Text}1@ |
END
END
END
END
// By DarkP1xel
Вот так например.
CLEO:{$CLEO} 0000: WHILE 8AFA: NOT SAMP_LOADED 0001: 0 END WHILE TRUE 0001: 0 IF 0256: player $PLAYER_CHAR defined THEN 00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@ WHILE 0AE3: 3@ = random_object_near_point 0@ 1@ 2@ in_radius 1000.0 find_next TRUE IF 09CC: object 3@ model_is {ModelID}420 THEN IF 02CC: object 3@ bounding_sphere_visible THEN 03F0: enable_text_draw TRUE 01BB: store_object 3@ position_to 3@ 4@ 5@ 0B55: convert_3D_coords 0@ 1@ 2@ to_screen 6@ 7@ 0B55: convert_3D_coords 3@ 4@ 5@ to_screen 3@ 4@ 0B68: render draw_line_point1 6@ 7@ point2 3@ 4@ width 1 color 0xFFFFA500 END END END END END // By DarkP1xel
CLEO:{$CLEO} 0000: WHILE 8AFA: NOT SAMP_LOADED 0001: 0 END WHILE TRUE 0001: 0 IF 0C89: key_just_pressed {ID Клавиши}420 THEN FOR 0@ = 0 TO {MAX_3DTEXTS}2048 [STEP = 1] IF 0B46: samp 3d_text 0@ defined THEN 0C46: samp get_3d_text_info_by_id 0@ string_ptr 1@ color 2@ position 3@ 4@ 5@ view_distance 6@ show_behind_walls 7@ attached_to_player 8@ attached_to_vehicle 9@ 0B78: _log "ID: %d | Text: %s" | {ID}0@ {Text}1@ | END END END END // By DarkP1xel
Понял. Спасибо) Сейчас напишуможет так получится, прогонять все 3д тексты через for, проверять их на то, что они найдены, после получить из них информацию и сравнить сроку 3д текста, со строкой, которая должна быть в нужном 3д тексте, надеюсь ты понял.
{$CLEO}
0000:
wait 2000
alloc 2@ 32
alloc 3@ 32
alloc 4@ 32
while true
wait 0
if and
0AD2: 0@ = player $PLAYER_CHAR targeted_actor
0AB0: 51
then
0B2B: samp 1@ = get_player_id_by_actor_handle 0@
0B36: samp 2@ = get_player_nickname 1@
0AD4: 22@ = scan_string 2@ format "%s_%s" 3@ 4@
0AD3: 2@ = format "%s %s" 3@ 4@
0AF8: "Ник: %s" color 14072910 2@
end
end
end
repeat
wait 0
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
wait 0
if
0C18: 0@ = strstr string1 1@ string2 "говорит: тест"
then
0C2F: 0@ = strtol 1@ radix 10 store_end_to 5@
0AF8: samp add_message_to_chat "d: %d | s: %s" color -1 0@ 5@
end
until key_down 123
repeat
wait 0
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
wait 0
if
0C18: 0@ = strstr string1 1@ string2 "говорит: тест"
then
0AD4: 5@ = scan_string 1@ format "%d" 0@
0AF8: samp add_message_to_chat "d: %d" color -1 0@
end
until key_down 123
0AF8: samp add_message_to_chat 1@ color 2@Допустим я записал в переменную 1@ ник,2@ цвет игрока,3@ хп, 4@ Армор игрока 0@.Как мне вывести в чат сообщение по типу:"nickname[id] : Armor: | Health: | "
Допустим я записал в переменную 1@ ник,2@ цвет игрока,3@ хп, 4@ Армор игрока 0@.Как мне вывести в чат сообщение по типу:"nickname[id] : Armor: | Health: | "
0AF8: "%s[%d] Armor: %d Health: %d" -1 1@...
Чего? Какое еще условие для проигрывания звука?Здравствуйте! Подскажите, ребята, есть ли опкод, который определяет условие проигрывание определенного звука?
Есть ли такой опкод: условие - воспроизводится (ид звука) ==true?Чего? Какое еще условие для проигрывания звука?