Пробовал, выдает каракули, а потом часть текста, которую я поместил в переменнуюПопробуй 0AF9: samp say_msg 0@
Пробовал, выдает каракули, а потом часть текста, которую я поместил в переменнуюПопробуй 0AF9: samp say_msg 0@
Если полностью переменную, то так, если текст и данные из переменной то как ниже показано:Попробуй 0AF9: samp say_msg 0@
0AF9: samp say_msg "%s" 3@
Ну вот смотри, у маеня например в 3@ записано "Тест", и мне надо, чтобы в sau_msg вводилось именно это, без лишних каракуль перед нейЕсли полностью переменную, то так, если текст и данные из переменной то как ниже показано:
Код:0AF9: samp say_msg "%s" 3@
Ну попрробуй так как я сказал.Ну вот смотри, у маеня например в 3@ записано "Тест", и мне надо, чтобы в sau_msg вводилось именно это, без лишних каракуль перед ней
Ну вот смотри, у маеня например в 3@ записано "Тест", и мне надо, чтобы в sau_msg вводилось именно это, без лишних каракуль перед ней
0AC8: 0@ = allocate_memory_size 1@
0AF9: samp say_msg "%s" 0@
// Это где-то в начале скрипта ставишь, 0@ - Сама переменная, 1@ - Кол-во символов текста.Код:0AC8: 0@ = allocate_memory_size 1@
Потом записываешь данные в переменную
и после этого
А вообще, если сам не разберешься, скинь весь код.Код:0AF9: samp say_msg "%s" 0@
Если переменная содержит текст, надо выделять память, если только цифры, не надо.То есть под каждую букву надо выделять определенное кол-ва памяти, если это так, тогда спасибо
В потоках нельзя использовать циклыВозникла еще одна проблема..
При исполнени кода игра зависает, почему? Может быть нельзя возвращать команду после цыклов? ПодскажитеКод::floodstart wait 0 if 0AB0: 81 jf @floodstart repeat wait 0@ 0AF9: samp say_msg 2@ until 8AB0: 81 0B43: samp cmd_ret
Скинь описание того что должен делать скриптВозникла еще одна проблема..
При исполнени кода игра зависает, почему? Может быть нельзя возвращать команду после цыклов? ПодскажитеКод::floodstart wait 0 if 0AB0: 81 jf @floodstart repeat wait 0@ 0AF9: samp say_msg 2@ until 8AB0: 81 0B43: samp cmd_ret
А как правильно будет сделать потоке? Или перед выполнением надо написать ноп pause_thread?В потоках нельзя использовать циклы
{$CLEO}
0000:
:start
wait 0
0AFA: is_samp_available
jf @start
chatmsg "--------------" 0xA05A5A
chatmsg "Настройки /fls" 0x44C175
chatmsg "Активация Q" 0x44C175
chatmsg "--------------" 0xA05A5A
:com
0B34: samp register_client_command "fls" to_label @floodsett
0B34: samp register_client_command "fl" to_label @floodstart
0BDE: pause_thread 0
:floodsett
wait 0
SAMP.IsCommandTyped(3@)
0AC8: 5@ = allocate_memory_size 2@
if
0AD4: 4@ = scan_string 3@ format "%s %d" 2@ 0@
jf @error
chatmsg "Запись данных удачна, нажмите Q для начала" 0x44C175
0B43: samp cmd_ret
:floodstart
wait 0
if 0AB0: 81
jf @floodstart
repeat
wait 0@
0AF9: samp say_msg 2@
until 8AB0: 81
0B43: samp cmd_ret
:error
wait 0
chatmsg "Неверно введены данные" 0xA05A5A
0AC9: free_allocated_memory 5@
0B43: samp cmd_ret
jump @com
Если я правильно тебя понял, то вот:Делаю свой первый полезный скрипт, зажимной флудер в чат...
Код:{$CLEO} 0000: :start wait 0 0AFA: is_samp_available jf @start chatmsg "--------------" 0xA05A5A chatmsg "Настройки /fls" 0x44C175 chatmsg "Активация Q" 0x44C175 chatmsg "--------------" 0xA05A5A :com 0B34: samp register_client_command "fls" to_label @floodsett 0B34: samp register_client_command "fl" to_label @floodstart 0BDE: pause_thread 0 :floodsett wait 0 SAMP.IsCommandTyped(3@) 0AC8: 5@ = allocate_memory_size 2@ if 0AD4: 4@ = scan_string 3@ format "%s %d" 2@ 0@ jf @error chatmsg "Запись данных удачна, нажмите Q для начала" 0x44C175 0B43: samp cmd_ret :floodstart wait 0 if 0AB0: 81 jf @floodstart repeat wait 0@ 0AF9: samp say_msg 2@ until 8AB0: 81 0B43: samp cmd_ret :error wait 0 chatmsg "Неверно введены данные" 0xA05A5A 0AC9: free_allocated_memory 5@ 0B43: samp cmd_ret jump @com
{$CLEO}
0000:
:start
wait 0
0AFA: is_samp_available
jf @start
chatmsg "--------------" 0xA05A5A
chatmsg "Настройки /fls" 0x44C175
chatmsg "Активация Q" 0x44C175
chatmsg "--------------" 0xA05A5A
0B34: samp register_client_command "fls" to_label @floodsett
while true
wait 0
if and
0AB0: 81
0@ > 0 // Если он что-то ввёл после команды и нажал кнопку
then
0AF9: samp say_msg "%s" 2@v
wait 0@
end
end
:floodsett
SAMP.IsCommandTyped(3@)
if 0AD4: 4@ = scan_string 3@ format "%s%d" 2@v 0@ // Текст и задержка
then
chatmsg "Запись данных удачна, нажмите Q для начала" 0x44C175
else
chatmsg "Неверно введены данные" 0xA05A5A
end
0B43: samp cmd_ret
Если я правильно тебя понял, то вот:
К сожалению опкод 0AD4 не может сканировать большое кол-во символов, поэтому строка будет мелкая, либо будет крашить.Код:{$CLEO} 0000: :start wait 0 0AFA: is_samp_available jf @start chatmsg "--------------" 0xA05A5A chatmsg "Настройки /fls" 0x44C175 chatmsg "Активация Q" 0x44C175 chatmsg "--------------" 0xA05A5A 0B34: samp register_client_command "fls" to_label @floodsett while true wait 0 if and 0AB0: 81 0@ > 0 // Если он что-то ввёл после команды и нажал кнопку then 0AF9: samp say_msg "%s" 2@v wait 0@ end end :floodsett SAMP.IsCommandTyped(3@) if 0AD4: 4@ = scan_string 3@ format "%s%d" 2@v 0@ // Текст и задержка then chatmsg "Запись данных удачна, нажмите Q для начала" 0x44C175 else chatmsg "Неверно введены данные" 0xA05A5A end 0B43: samp cmd_ret
ПО идее можно так, узнаем кординаты игрока с offsetom x-a на 10, и потом теелепортируем его на эту кординатуКак сделать чтобы игрок телепортировался на 5-10м вперед?