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

01EG

Известный
Проверенный
631
345
Я пишу флудер, как сделать так, чтоб я мог устанавливать время между сообщениями прямо из игр. Я сделал так, что после команды, которая включает скрипт через пробел следующий текст и был самим флудом, но не могу понять как следующим пробелом установить число, которое я введу устанавливалось как промежуток между сообщениями флуда(Например: /flood Text 2000). Пытался по-разному запихнуть, но не вышло. Вот сама половина того, что я хотел реализовать.
Код:
{$CLEO}
0000: NOP
1@ = 0

repeat
wait 400
until 0AFA:  is_samp_available

0B34: samp register_client_command "flood" to_label @Flood

while true
wait 0
if 1@ == 1
then 
0af9: "%s" 2@
wait 1000
end
end

:Flood
0B35: samp 2@ = get_last_command_params
if 1@ == 1
then
0AF8: samp add_message_to_chat "FLOOD OFF" color 0xFFFFFF
0B12: 1@ = 1@ XOR 1
else
0AF8: samp add_message_to_chat "FLOOD ON" color 0xFFFFFF
0B12: 1@ = 1@ XOR 1
end  
0B43: samp cmd_ret
 

san0

Известный
Друг
411
267
Я пишу флудер, как сделать так, чтоб я мог устанавливать время между сообщениями прямо из игр. Я сделал так, что после команды, которая включает скрипт через пробел следующий текст и был самим флудом, но не могу понять как следующим пробелом установить число, которое я введу устанавливалось как промежуток между сообщениями флуда(Например: /flood Text 2000). Пытался по-разному запихнуть, но не вышло. Вот сама половина того, что я хотел реализовать.
Код:
{$CLEO}
0000: NOP
1@ = 0

repeat
wait 400
until 0AFA:  is_samp_available

0B34: samp register_client_command "flood" to_label @Flood

while true
wait 0
if 1@ == 1
then
0af9: "%s" 2@
wait 1000
end
end

:Flood
0B35: samp 2@ = get_last_command_params
if 1@ == 1
then
0AF8: samp add_message_to_chat "FLOOD OFF" color 0xFFFFFF
0B12: 1@ = 1@ XOR 1
else
0AF8: samp add_message_to_chat "FLOOD ON" color 0xFFFFFF
0B12: 1@ = 1@ XOR 1
end 
0B43: samp cmd_ret
https://www.blast.hk/threads/7486/
 

01EG

Известный
Проверенный
631
345
https://www.blast.hk/threads/7486/
Это не подходит, вернее я не понимаю как это можно использовать, если ты записываешь в переменные прямо в игре, а не до запуска игры.
А можно ли в массив SF записывать и float, и int числа?
Я не спец в массивах, но слышал, что в обычных массивах нельзя записывать разные float,int,string, только что-то одно, для того, чтоб записывать это все вместе, нужно использовать необычный массив.
 

AWRage

Активный
642
141
Это не подходит, вернее я не понимаю как это можно использовать, если ты записываешь в переменные прямо в игре, а не до запуска игры.

Я не спец в массивах, но слышал, что в обычных массивах нельзя записывать разные float,int,string, только что-то одно, для того, чтоб записывать это все вместе, нужно использовать необычный массив.
Пишешь команду и к ней параметры, с помощью этой функции можно сканировать эти параметры и уже работать с ними.
 

hnnssy

Известный
Друг
2,684
2,748
  • Нравится
Реакции: AWRage

Vovich

HOT
Проверенный
717
197
Это не подходит, вернее я не понимаю как это можно использовать, если ты записываешь в переменные прямо в игре, а не до запуска игры.

Я не спец в массивах, но слышал, что в обычных массивах нельзя записывать разные float,int,string, только что-то одно, для того, чтоб записывать это все вместе, нужно использовать необычный массив.
Все там подходит, ты просто не правильно используешь полученную информацию, почитай внимательно тему.
Если ты не поймешь - тогда пиши в лс, я тебе объясню по другому немного.
 

AWRage

Активный
642
141
типо так: 0b34: "/flood %s %i" 1@ 2@ , а потом использовать переменные ?
CLEO:
{$CLEO}
0000: NOP
1@ = 0

repeat
wait 400
until 0AFA:  is_samp_available

0B34: samp register_client_command "flood" to_label @Flood

while true
wait 0
if 1@ == true
then
0af9: 3@
wait 4@
end
end

:Flood
0B35: 2@ = get_last_command_params
alloc 3@ 64
0AA5: call 0x8220AD num_params 4 pop 4 params 4@v 3@ "%s %i" 2@
0B12: 1@ = 1@ XOR 1
if 1@ == false
then
0AF8: samp add_message_to_chat "FLOOD OFF" color 0xFFFFFF
else
0AF8: samp add_message_to_chat "FLOOD ON" color 0xFFFFFF
end
0B43: samp cmd_ret
 
  • Нравится
Реакции: 01EG

01EG

Известный
Проверенный
631
345
CLEO:
{$CLEO}
0000: NOP
1@ = 0

repeat
wait 400
until 0AFA:  is_samp_available

0B34: samp register_client_command "flood" to_label @Flood

while true
wait 0
if 1@ == true
then
0af9: 3@
wait 4@
end
end

:Flood
0B35: 2@ = get_last_command_params
alloc 3@ 64
0AA5: call 0x8220AD num_params 4 pop 4 params 4@v 3@ "%s %i" 2@
0B12: 1@ = 1@ XOR 1
if 1@ == false
then
0AF8: samp add_message_to_chat "FLOOD OFF" color 0xFFFFFF
else
0AF8: samp add_message_to_chat "FLOOD ON" color 0xFFFFFF
end
0B43: samp cmd_ret
Думал сходу будет работать, но есть баги, а именно в параметр string - записывается, только первая буква из слова.