- 411
- 268
0B89: dialog did get_control id text_to 3@Подскажите, можно ли как-то проверить, введен ли текст в поле компонента editbox DXUT-диалога, если по-умолчанию поле пустое?
0C17: 1@ = strlen 3@
if 1@ > 0
0B89: dialog did get_control id text_to 3@Подскажите, можно ли как-то проверить, введен ли текст в поле компонента editbox DXUT-диалога, если по-умолчанию поле пустое?
слушай, какими опкодами все это делать? про скопировать все до первого слова, я через этот опкод получил указатель 0C16: 2@ = strtok string1 2@ string2 1@ и как мне его использовать?
Скопировать всё, что до первого слова и вставить это в новый буфер;
Вставить новое слово в буфер;
Скопировать остальную часть и вставить в тот буфер, где находится почти вся замененная строка.
слушай, какими опкодами все это делать? про скопировать все до первого слова, я через этот опкод получил указатель 0C16: 2@ = strtok string1 2@ string2 1@ и как мне его использовать?
0@ = "Номинация происходит в данном кабинете"
1@ = strlen("происходит")
2@ = strstr(0@, "происходит")
3@ = 0@ - 2@ // Размер строки до "происходит"
4@ = new buffer[4096] // Ex
strncpy(4@, 0@, 3@) // Копируем в новый буфер первые 3@ символа из 0@ в 4@
strcpy(4@, "проходит") // -> "Номинация проходит"
2@ += 1@ // Вычисляем оставшуюся часть строки
5@ = strlen(2@) // и её размер
strncpy(4@, 2@, 5@) // Копируем в новый буфер
// 4@ - edited string = "Номинация проходит в данном кабинете"
:1
0B35: 0@ = get_last_command_params
0C1A: 0@ = atoi 0@
0AFF: 1@ = car_handle_by_samp_vehicle_id 0@
0407: store_coords_to 2@ 3@ 4@ from_car 1@ with_offset 0.0 0.0 0.0
0604: get_Z_angle_for_point 2@ 3@ store_to 4@
03C0: 5@ = actor $PLAYER_ACTOR car
0175: set_car 5@ Z_angle_to 4@
cmdret
0A92: create_custom_thread "\project\sc\2.cs"Вопрос такой: возьмём папку cleo в ней есть скрипт 1.cs и есть скрипт который находится по адресу cleo\project\sc\2.cs, скрипты запускаются только в том случае если они находятся в папке клео и не в какой больше другой директории. Так вот, как мне запустить скрипт 2.cs с помощью скрипта 1.cs. Пытался так - 0A92: create_custom_thread "cleo\project\sc\2.cs" крашит!
Не работает.0A92: create_custom_thread "\project\sc\2.cs"
{$CLEO .cs}
0000:
wait 2000
0A92: create_custom_thread "\project\sc\2.s"
{$CLEO}
0000:
wait 2000
0AF8: samp add_message_to_chat "kekekekekekekekekekekekekeke" color -1
0A93: end_custom_threadНе работает.
Код 1.cs:
CLEO:{$CLEO .cs} 0000: wait 2000 0A92: create_custom_thread "\project\sc\2.s"
Код 2.cs:
CLEO:{$CLEO} 0000: wait 2000 0AF8: samp add_message_to_chat "kekekekekekekekekekekekekeke" color -1
if 0C18: 2@ = strstr string1 0@ string2 "one"Как сделать команду с текстовыми параметрами? Например, вместо /cmd 1 я ввожу /cmd one, и чтоб оно заработало.
if 0@ == "one" - не работает.
Или если так нереально, то как присвоить переменной стринговое значение? 1@ = "one" тоже не пашет. Хелп :)
Когда я навожу на игрока, то он срабатывает, а когда отвожу прицел от игрока в сторону, то он ещё на протяжении 2-3 секунд работает, а не моментально пропадает.Нормально все работает он. Это у тебя уже код задержки имеет.
Примерно так.Код:0@ = "Номинация происходит в данном кабинете" 1@ = strlen("происходит") 2@ = strstr(0@, "происходит") 3@ = 0@ - 2@ // Размер строки до "происходит" 4@ = new buffer[4096] // Ex strncpy(4@, 0@, 3@) // Копируем в новый буфер первые 3@ символа из 0@ в 4@ strcpy(4@, "проходит") // -> "Номинация проходит" 2@ += 1@ // Вычисляем оставшуюся часть строки 5@ = strlen(2@) // и её размер strncpy(4@, 2@, 5@) // Копируем в новый буфер // 4@ - edited string = "Номинация проходит в данном кабинете"
{$CLEO}
0000:
0AC8: 0@ = allocate_memory_size 256
0AC8: 2@ = allocate_memory_size 256
0AC8: 3@ = allocate_memory_size 256
0AC8: 6@ = allocate_memory_size 256
:1
wait 1000
0AD3: 0@ = format "Номинация происходит в данном кабинете"
0C17: 1@ = strlen "происходит"
0C18: 2@ = strstr string1 0@ string2 "происходит"
0085: 6@ = 0@
0062: 6@ -= 2@
0085: 3@ = 6@ // 3@ = 0@ - 2@ // Размер строки до "происходит"
0AC8: 4@ = allocate_memory_size 512 // буффер
0C24: strncpy destination 4@ source 0@ size 3@ // Копируем в новый буфер первые 3@ символа из 0@ в 4@
0C13: strcpy destination 4@ source "проходит" // -> "Номинация проходит"
005a: 2@ += 1@ // Вычисляем оставшуюся часть строки
0C17: 5@ = strlen 2@ // и её размер
0C24: strncpy destination 4@ source 2@ size 5@
0AF8: samp add_message_to_chat "%s" color 0xFFFF00 4@ // 4@ - edited string = "Номинация проходит в данном кабинете"
0A93: end_custom_thread