- Версия SA-MP
-
- 0.3.7-R2
Я создаю скрипт для автоматического чата, и когда в чате появляется сообщение, я должен немедленно ответить командой...
Таким образом, сразу после сообщения следует мгновенный ответ, и иногда случается, что приходит несколько одинаковых сообщений, поэтому было бы желательно после первого подождать 3 секунды до второго.
Сообщение, которое отправляет сервер, следующее: "[AGENCIJA ZA NEKRETNINE] Kuca na adresi xxx(случайные числа) je na prodaju zbog neaktivnosti!"
Команда, на которую должен реагировать мой скрипт, — "/buyhouse"
Я пытался сделать нечто подобное, но получил много ошибок. Думаю, это из-за неправильной настройки моего Sanny Builder. Вот мой код:
Было бы лучше, если бы вы скомпилировали его, чтобы я мог просто вставить.
Таким образом, сразу после сообщения следует мгновенный ответ, и иногда случается, что приходит несколько одинаковых сообщений, поэтому было бы желательно после первого подождать 3 секунды до второго.
Сообщение, которое отправляет сервер, следующее: "[AGENCIJA ZA NEKRETNINE] Kuca na adresi xxx(случайные числа) je na prodaju zbog neaktivnosti!"
Команда, на которую должен реагировать мой скрипт, — "/buyhouse"
Я пытался сделать нечто подобное, но получил много ошибок. Думаю, это из-за неправильной настройки моего Sanny Builder. Вот мой код:
Код:
{$CLEO .cs}
{$USE SAMPFUNCS}
{$USE RAKNET}
0000: NOP
03A4: script_name "Read Server Message"
repeat
wait 1
until 0AFA: is_samp_available
if not 0BE3: raknet setup_incoming_rpc_hook @RPC_In
then 0A93: end_custom_thread
end
0BDE: pause_thread 0
0A93: end_custom_thread
:RPC_In
0BE5: raknet 0@ = get_hook_param 1
if 0@ == 93 // this 93 means server chat messages RPC packets
then
0BE5: raknet 1@ = get_hook_param 0
0BE7: raknet 2@ = bit_stream_read 1@ type 0
if 2@ > 124
then 2@ = 124
end
2@++
0AC8: 3@ = allocate_memory_size 2@
2@--
0BE8: raknet bit_stream 1@ read_array 3@ size 2@
0C0D: struct 3@ offset 2@ size 1 = 0
if 0C29: 33@ = stristr string1 3@ string2 "there is a message"
then
0AF9: samp_send_chat_message "/yourcommand"
end
0AC9: free_allocated_memory 3@
0BE9: raknet bit_stream 1@ reset_read_pointer
end
0BE0: raknet hook_ret true
Было бы лучше, если бы вы скомпилировали его, чтобы я мог просто вставить.