// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
wait 0
if
0AA2: 1@ = load_library "kernel32.dll" // IF and SET
else_jump @Noname_334
if
0AA4: 30@ = get_proc_address "GetModuleHandleA" library 1@ // IF and SET
else_jump @Noname_334
0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@
if
0@ > 0
else_jump @Noname_334
0085: 2@ = 0@ // (int)
2@ += 2173504
:Noname_132
wait 0
if or
0AB0: key_pressed 36
0AB0: key_pressed 35
else_jump @Noname_132
0A8D: 5@ = read_memory 2@ size 4 virtual_protect 1
if
5@ > 10000
else_jump @Noname_132
0085: 30@ = 5@ // (int)
30@ += 40
0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1
if and
31@ == 1
0AB0: key_pressed 36
else_jump @Noname_273
0A8C: write_memory 30@ size 4 value 0 virtual_protect 1
gosub @Noname_336
0AD1: show_formatted_text_highpriority "Dialog Hided" time 2000
:Noname_273
if and
31@ == 0
0AB0: key_pressed 35
else_jump @Noname_327
0A8C: write_memory 30@ size 4 value 1 virtual_protect 1
0AD1: show_formatted_text_highpriority "Dialog Showed" time 2000
:Noname_327
jump @Noname_132
:Noname_334
0A93: end_custom_thread
:Noname_336
0085: 30@ = 0@ // (int)
30@ += 2173516
0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1
0085: 30@ = 0@ // (int)
30@ += 409120
0AA6: call_method 30@ struct 31@ num_params 3 pop 0 0 0 0
return
нужно править оффсет DIALOG_INFO и возможно структуруВсем привет, такой вопрос, на старой версии СФ у меня был скрипт "Dialog Hider", его задача заключалась при нажатии кнпки "Home" скрыть открытое окно диалога, а в нужный момент при нажатии "End" развернуть его снова. Сейчас же этот скрипт не работает. Ничего не выдаёт, игра с ним запускается, просто не работает. Может знатоки помогут, что нужно подправить в коде чтоб он снова заработал? Вот код:
Код:// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013 {$CLEO .cs} //-------------MAIN--------------- 0000: NOP wait 0 if 0AA2: 1@ = load_library "kernel32.dll" // IF and SET else_jump @Noname_334 if 0AA4: 30@ = get_proc_address "GetModuleHandleA" library 1@ // IF and SET else_jump @Noname_334 0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@ if 0@ > 0 else_jump @Noname_334 0085: 2@ = 0@ // (int) 2@ += 2173504 :Noname_132 wait 0 if or 0AB0: key_pressed 36 0AB0: key_pressed 35 else_jump @Noname_132 0A8D: 5@ = read_memory 2@ size 4 virtual_protect 1 if 5@ > 10000 else_jump @Noname_132 0085: 30@ = 5@ // (int) 30@ += 40 0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1 if and 31@ == 1 0AB0: key_pressed 36 else_jump @Noname_273 0A8C: write_memory 30@ size 4 value 0 virtual_protect 1 gosub @Noname_336 0AD1: show_formatted_text_highpriority "Dialog Hided" time 2000 :Noname_273 if and 31@ == 0 0AB0: key_pressed 35 else_jump @Noname_327 0A8C: write_memory 30@ size 4 value 1 virtual_protect 1 0AD1: show_formatted_text_highpriority "Dialog Showed" time 2000 :Noname_327 jump @Noname_132 :Noname_334 0A93: end_custom_thread :Noname_336 0085: 30@ = 0@ // (int) 30@ += 2173516 0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1 0085: 30@ = 0@ // (int) 30@ += 409120 0AA6: call_method 30@ struct 31@ num_params 3 pop 0 0 0 0 return
возможно, просто чекни где встречается в 1 раз пробел, не помню какой именно опкод в сф ищет символ в строкеВозможно как то из строки чата састриметь 2 слово и записать его в переменную?
Пример чат строки: Вам дал бан такой-та такой администратор.
Нужно записать в переменную слово "дал"
Это не стол заказов - готовое не предложат. Нужно передать серверу информацию, что машина находится под игроком - фейк координатыКаким образом можно сделать телепорт игрока к себе через авто? Фейк позиция? Или как вообще?
Пытался через Фейк Координаты, Фейк Скорость на машине и почему то не выходит.
Может как-то по другому? Готовый телепорт не предлагать, мне он отдельно не нужен.
Счетчик поставь для id или ника - с буффером будет просто сделатьЗдравствуйте. Вот код.
:Noname_135
if
SAMP.IsPlayerConnected(5@)
jf @Noname_297
6@ = SAMP.GetPlayerNickname(5@)
format 7@ "Гос. новости: %s[%d]:" 6@ 5@
if
0C18: 32@ = strstr string1 1@ string2 7@
jf @Noname_297
12@ += 1
chatmsg "Отправитель: %s[%d]. Строк: %d" 16732208 6@ 5@ 12@
wait 0
:Noname_297
5@ += 1
5@ > 1000
jf @Noname_135
Этот код чекает гос. новости. Мне надо сделать что-бы только после того как оно нашло 3 строки, которые кинул ОДИН и тот же лидер выполнялось какое-нибудь действие. Паблик постоянно обновляется, и поэтому я не могу понять как вообще определить был ли это один и тот же лидер, и было ли это 3 строки (просто можно кинуть по 1 строке в разное время). Думаю понятно расписал. Заранее спасибо за помощь.
Я же почти всю WIKI прочекал, нихуя подобного не виделвозможно, просто чекни где встречается в 1 раз пробел, не помню какой именно опкод в сф ищет символ в строке
У меня скрипт поиска слова или набора слов выглядит так:Я же почти всю WIKI прочекал, нихуя подобного не видел
:chatcheck
0000:
0AC8: 0@ = allocate_memory_size 144
0AC8: 1@ = allocate_memory_size 32
while true
wait 0
0B75: samp get_chat_string 99 text_to 0@ prefix_to 1@ color_to 2@ prefix_color_to 0
// кол-во строк в чате - 100, начиная 0 => номер последней 99
if or
// 2@ == 0xff5030ff // цвет, шестнадцатеричная система счисления, формат: AARRGGBB
0C18: 0 = strstr string1 0@ string2 "тойте"
0C18: 0 = strstr string1 0@ string2 "новитесь"
0C18: 0 = strstr string1 0@ string2 "стой"
0C18: 0 = strstr string1 0@ string2 "Стой"
0C18: 0 = strstr string1 0@ string2 "ут?"
0C18: 0 = strstr string1 0@ string2 "Stop"
then
wait 2000
0BFC: set_global_var "BOTSTATE" = 0
wait 1000
0ACC: show_text_lowpriority "BOT Shahta ~g~OFF" time 1000
0AB3: var 740 = 0
0687: clear_actor $PLAYER_ACTOR task
018C: play_sound 1052 at 0.0 0.0 0.0
wait 2000
0AF9: samp say_msg "Что?"
wait 2000
0AF9: samp say_msg "что надо?"
wait 5000
0DBF: emul_key_press 0x53 is_up 0
wait 1000
0DBF: emul_key_press 0x53 is_up 1
wait 2000
0DBF: emul_key_press 0x20 is_up 0
wait 100
0DBF: emul_key_press 0x20 is_up 1
wait 30000
0BFC: set_global_var "BOTSTATE" = 1
0ACC: show_text_lowpriority "BOT Shahta ~g~ON" time 1000
018C: play_sound 1052 at 0.0 0.0 0.0
end
end
Мне не это надо, это я знаюУ меня скрипт поиска слова или набора слов выглядит так:
0AC8: 0@ = allocate_memory_size 144
0AC8: 1@ = allocate_memory_size 32
:autoON
wait 0
0B75: samp get_chat_string 96 text_to 0@ prefix_to 1@ color_to 2@ prefix_color_to 0
if
0C18: 0 = strstr string1 0@ string2 "Нажмите и удерживайте пробел для работы"
else_jump @autoON2
jump @ON
:autoON2
вот пример из другого скрипта (бот отвечает на фразы содержащие ключевое слово)
Код::chatcheck 0000: 0AC8: 0@ = allocate_memory_size 144 0AC8: 1@ = allocate_memory_size 32 while true wait 0 0B75: samp get_chat_string 99 text_to 0@ prefix_to 1@ color_to 2@ prefix_color_to 0 // кол-во строк в чате - 100, начиная 0 => номер последней 99 if or // 2@ == 0xff5030ff // цвет, шестнадцатеричная система счисления, формат: AARRGGBB 0C18: 0 = strstr string1 0@ string2 "тойте" 0C18: 0 = strstr string1 0@ string2 "новитесь" 0C18: 0 = strstr string1 0@ string2 "стой" 0C18: 0 = strstr string1 0@ string2 "Стой" 0C18: 0 = strstr string1 0@ string2 "ут?" 0C18: 0 = strstr string1 0@ string2 "Stop" then wait 2000 0BFC: set_global_var "BOTSTATE" = 0 wait 1000 0ACC: show_text_lowpriority "BOT Shahta ~g~OFF" time 1000 0AB3: var 740 = 0 0687: clear_actor $PLAYER_ACTOR task 018C: play_sound 1052 at 0.0 0.0 0.0 wait 2000 0AF9: samp say_msg "Что?" wait 2000 0AF9: samp say_msg "что надо?" wait 5000 0DBF: emul_key_press 0x53 is_up 0 wait 1000 0DBF: emul_key_press 0x53 is_up 1 wait 2000 0DBF: emul_key_press 0x20 is_up 0 wait 100 0DBF: emul_key_press 0x20 is_up 1 wait 30000 0BFC: set_global_var "BOTSTATE" = 1 0ACC: show_text_lowpriority "BOT Shahta ~g~ON" time 1000 018C: play_sound 1052 at 0.0 0.0 0.0 end end
ВотВсем привет, такой вопрос, на старой версии СФ у меня был скрипт "Dialog Hider", его задача заключалась при нажатии кнпки "Home" скрыть открытое окно диалога, а в нужный момент при нажатии "End" развернуть его снова. Сейчас же этот скрипт не работает. Ничего не выдаёт, игра с ним запускается, просто не работает. Может знатоки помогут, что нужно подправить в коде чтоб он снова заработал? Вот код:
Код:// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013 {$CLEO .cs} //-------------MAIN--------------- 0000: NOP wait 0 if 0AA2: 1@ = load_library "kernel32.dll" // IF and SET else_jump @Noname_334 if 0AA4: 30@ = get_proc_address "GetModuleHandleA" library 1@ // IF and SET else_jump @Noname_334 0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@ if 0@ > 0 else_jump @Noname_334 0085: 2@ = 0@ // (int) 2@ += 2173504 :Noname_132 wait 0 if or 0AB0: key_pressed 36 0AB0: key_pressed 35 else_jump @Noname_132 0A8D: 5@ = read_memory 2@ size 4 virtual_protect 1 if 5@ > 10000 else_jump @Noname_132 0085: 30@ = 5@ // (int) 30@ += 40 0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1 if and 31@ == 1 0AB0: key_pressed 36 else_jump @Noname_273 0A8C: write_memory 30@ size 4 value 0 virtual_protect 1 gosub @Noname_336 0AD1: show_formatted_text_highpriority "Dialog Hided" time 2000 :Noname_273 if and 31@ == 0 0AB0: key_pressed 35 else_jump @Noname_327 0A8C: write_memory 30@ size 4 value 1 virtual_protect 1 0AD1: show_formatted_text_highpriority "Dialog Showed" time 2000 :Noname_327 jump @Noname_132 :Noname_334 0A93: end_custom_thread :Noname_336 0085: 30@ = 0@ // (int) 30@ += 2173516 0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1 0085: 30@ = 0@ // (int) 30@ += 409120 0AA6: call_method 30@ struct 31@ num_params 3 pop 0 0 0 0 return
Вот
// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}
//-------------MAIN---------------
0000: NOP
:Noname_435
wait 0
if
0AA2: 1@ = load_library "kernel32.dll" // IF and SET
else_jump @Noname_334
if
0AA4: 30@ = get_proc_address "GetModuleHandleA" library 1@ // IF and SET
else_jump @Noname_334
0AA7: call_function 30@ num_params 1 pop 0 "samp.dll" 0@
if
0@ > 0
else_jump @Noname_334
0085: 2@ = 0@ // (int)
2@ += 2203832
:Noname_132
wait 0
if or
0AB0: key_pressed 36
0AB0: key_pressed 35
else_jump @Noname_132
0A8D: 5@ = read_memory 2@ size 4 virtual_protect 1
if
5@ > 10000
else_jump @Noname_132
0085: 30@ = 5@ // (int)
30@ += 40
0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1
if and
31@ == 1
0AB0: key_pressed 36
else_jump @Noname_273
0A8C: write_memory 30@ size 4 value 0 virtual_protect 1
gosub @Noname_336
0AD1: show_formatted_text_highpriority "Dialog Hided" time 2000
:Noname_273
if and
31@ == 0
0AB0: key_pressed 35
else_jump @Noname_327
0A8C: write_memory 30@ size 4 value 1 virtual_protect 1
0AD1: show_formatted_text_highpriority "Dialog Showed" time 2000
:Noname_327
jump @Noname_132
:Noname_334
goto @Noname_435
:Noname_336
0085: 30@ = 0@ // (int)
30@ += 2203916
0A8D: 31@ = read_memory 30@ size 4 virtual_protect 1
0085: 30@ = 0@ // (int)
30@ += 638256
0AA6: call_method 30@ struct 31@ num_params 2 pop 0 0 0 0
return
0B75: samp get_chat_string 99 text_to 0@ prefix_to 1@ color_to 2@ prefix_color_to 0
// кол-во строк в чате - 100, начиная 0 => номер последней 99
if or
// 2@ == 0xff5030ff // цвет, шестнадцатеричная система счисления, формат: AARRGGBB