Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {$CLEO}
- {$INCLUDE SF}
- 0000:
- repeat
- wait 0
- until 0AFA:
- 0BE3: raknet setup_incoming_rpc_hook @hook
- while true
- wait 0
- IF 0ADC: test_cheat "1" // frisk key
- then
- 0AC8: 15@ = allocate_memory_size 64
- 0AB1: call @nearid 0 0@ 19@
- if 0B24: samp 8@ = get_player_struct_ptr 19@
- then
- 0A8D: 8@ = read_memory 8@ size 4 virtual_protect 0
- 0C0C: 8@ = struct 8@ offset 0xB3 size 2 // che za adress?
- if 8@ == true
- then
- 24@ = 1
- 0AF9: "/frisk %d" 19@
- else
- 0af8: "{FF3300}x{AFAFAF} Игрок в маске." 0xAFAFAF
- end
- wait 2000
- 24@ = 0
- end
- end
- end
- :hook
- 0BE5: raknet 10@ = get_hook_param PARAM_PACKETID
- IF AND
- 0039: 24@ == 1
- 0039: 10@ == 93
- THEN
- 0BE5: raknet 2@ = get_hook_param PARAM_BITSTREAM
- 0BE7: raknet 3@ = bit_stream_read 2@ type BS_TYPE_INT
- 0BE7: raknet 4@ = bit_stream_read 2@ type BS_TYPE_INT
- 0AC8: 5@ = allocate_memory_size 260
- 0BE8: raknet bit_stream 2@ read_array 5@ size 4@
- 0C0D: struct 5@ offset 4@ size 1 = 0
- IF 0C29: 6@ = stristr string1 5@ string2 "Наркотики"
- THEN
- say "/su %d Наркотики" 19@
- 24@ = 0
- END
- free 5@
- END
- 0BE0: raknet hook_ret TRUE
- :nearid
- 3@ = 1000.0
- 4@ = 0xFFFFFF
- 0A8D: 0@ = read_memory 0xB74490 size 4 virtual_protect 0
- 0@ += 4
- 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
- for 1@ = 0 to 35584 step 0x100
- 0A8D: 2@ = read_memory 0@ size 1 virtual_protect 0
- 0@++
- if and
- 2@ >= 0x00
- 2@ < 0x80
- then
- 005A: 2@ += 1@
- if or
- 003C: $PLAYER_ACTOR == 2@
- 856D: NOT actor 2@ defined
- then continue
- end
- 0AB1: call @dist 1 remote_player_handle 2@ retr_dist_to 5@
- if 0025: 3@ > 5@
- then
- 0087: 3@ = 5@
- 0085: 4@ = 2@
- end
- end
- end
- if 4@ = SAMP.GetSAMPPlayerIDByActorHandle(4@)
- then
- 0485: return_true
- else
- 059A: return_false
- end
- 0AB2: ret 2 3@ 4@
- :dist
- Actor.StorePos(0@, 1@, 2@, 3@)
- Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
- 050A: 7@ = distance_between_XYZ 4@ 5@ 6@ and_XYZ 1@ 2@ 3@
- 0AB2: ret 1 7@
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- /////////////////////////////////////////sand//////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////gbljh///////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- // MAPC x sand
- { ===========================================
- 0@ - дистанция, не используется
- 1@ - id
- 2@ - диалог -> кнопка
- 3@ - диалог -> пункт
- 4@ - итератор
- 8@ - структура игрока
- 9@ - клавиша для frisk // вырезано
- 10@ - клавиша для выдачи звезд // вырезано
- 11@ - ник
- 12@ - заголовок диалога
- 13@ - контент диалога
- =========================================== }
- {$CLEO}
- 0000:
- repeat
- wait 0
- until samp.Available()
- alloc 12@ 64
- 0b34: "rpd" @rpd
- 0b34: "pd" @cmd
- while true
- wait 0
- if 8B21: not samp is_chat_opened
- then
- if 0ADC: test_cheat "1" // frisk key
- then
- 0AB1: call @nearid 0 0@ 1@
- 0B24: samp 8@ = get_player_struct_ptr 1@
- if 8@ <> 0
- then
- 0A8D: 8@ = read_memory 8@ size 4 virtual_protect 0
- 0C0C: 8@ = struct 8@ offset 0xB3 size 2
- if 8@ == true
- then
- 0AF9: "/frisk %d" 1@
- else
- 0af8: "{FF3300}x{AFAFAF} Игрок в маске." 0xAFAFAF
- end
- end
- else if 0ADC: test_cheat "P" // menu key
- then
- 0AB1: call @nearid 0 0@ 1@
- 0B24: samp 8@ = get_player_struct_ptr 1@
- if 8@ <> 0
- then
- 0A8D: 8@ = read_memory 8@ size 4 virtual_protect 0
- 0C0C: 8@ = struct 8@ offset 0xB3 size 2
- if 8@ == true
- then
- 0B36: samp 11@ = get_player_nickname 1@
- format 12@ "Наказание для: %s[%d]" 11@ 1@
- 0AC6: 13@ = label @dialog offset
- 0B3B: samp show_dialog id 2018 caption 12@ text 13@ button_1 "Наказать" button_2 "Закрыть" style 2
- else
- 0af8: "{FF3300}x{AFAFAF} Игрок в маске." 0xAFAFAF
- end
- end
- else if 0ADC: test_cheat "2" // incar key
- then
- 0AB1: call @nearid 0 0@ 1@
- 0B24: samp 8@ = get_player_struct_ptr 1@
- if 8@ <> 0
- then
- 0A8D: 8@ = read_memory 8@ size 4 virtual_protect 0
- 0C0C: 8@ = struct 8@ offset 0xB3 size 2
- if 8@ == true
- then
- 0AF9: "/incar %d" 1@
- else
- 0af8: "{FF3300}x{AFAFAF} Игрок в маске." 0xAFAFAF
- end
- end
- else if 0ADC: test_cheat "3" // take d/m key
- then
- 0AB1: call @nearid 0 0@ 1@
- 0B24: samp 8@ = get_player_struct_ptr 1@
- if 8@ <> 0
- then
- 0A8D: 8@ = read_memory 8@ size 4 virtual_protect 0
- 0C0C: 8@ = struct 8@ offset 0xB3 size 2
- if 8@ == true
- then
- 0AF9: "/take drugs %d" 1@
- 0AF9: "/take materials %d" 1@
- else
- 0af8: "{FF3300}x{AFAFAF} Игрок в маске." 0xAFAFAF
- end
- end
- else if 0ADC: test_cheat "0" // take w key
- then
- 0AB1: call @nearid 0 0@ 1@
- 0B24: samp 8@ = get_player_struct_ptr 1@
- if 8@ <> 0
- then
- 0A8D: 8@ = read_memory 8@ size 4 virtual_protect 0
- 0C0C: 8@ = struct 8@ offset 0xB3 size 2
- if 8@ == true
- then
- 0AF9: "/take weapons %d" 1@
- else
- 0af8: "{FF3300}x{AFAFAF} Игрок в маске." 0xAFAFAF
- end
- end
- end
- end
- end
- end
- end
- end
- IF 0B3C: samp is_dialog_responded id 2018 button 2@ list_item 3@ input_text 0
- THEN
- IF 2@ == 1
- THEN
- IF 3@ == 0
- THEN
- 0AF9: "/su %d Наркотики" 1@
- END
- IF 3@ == 1
- THEN
- 0AF9: "/su %d Материалы" 1@
- END
- IF 3@ == 2
- THEN
- 0AF9: "/su %d Наркотики" 1@
- 0AF9: "/su %d Материалы" 1@
- END
- IF 3@ == 3
- THEN
- 0AF9: "/su %d Нападение на гражданского" 1@
- 0AF9: "/su %d Нападение на гражданского" 1@
- END
- IF 3@ == 4
- THEN
- for 4@ = 0 to 2
- 0AF9: "/su %d Нападение на СПО" 1@
- end
- END
- IF 3@ == 5
- THEN
- for 4@ = 0 to 3
- 0AF9: "/su %d Убийство гражданского" 1@
- end
- END
- IF 3@ == 6
- THEN
- for 4@ = 0 to 5
- 0AF9: "/su %d Убийство СПО" 1@
- end
- END
- IF 3@ == 7
- THEN
- 0AF9: "/su %d Угон Т/С у СПО" 1@
- 0AF9: "/su %d Угон Т/С у СПО" 1@
- END
- IF 3@ == 8
- THEN
- 0AF9: "/su %d Угон Т/С у гражданского" 1@
- END
- IF 3@ == 9
- THEN
- for 4@ = 0 to 3
- 0AF9: "/su %d Взятка" 1@
- end
- END
- IF 3@ == 10
- THEN
- for 4@ = 0 to 5
- 0AF9: "/su %d Терроризм/Захват" 1@
- end
- END
- IF 3@ == 11
- THEN
- for 4@ = 0 to 5
- 0AF9: "/su %d Проникновение" 1@
- end
- END
- IF 3@ == 12
- THEN
- 0AF9: "/su %d Продажа наркотиков/материалов" 1@
- 0AF9: "/su %d Продажа наркотиков/материалов" 1@
- END
- IF 3@ == 13
- THEN
- 0AF9: "/su %d Нахождение у наркопритона" 1@
- END
- IF 3@ == 14
- THEN
- 0AF9: "/su %d Ограбление гражданского" 1@
- 0AF9: "/su %d Ограбление гражданского" 1@
- END
- IF 3@ == 15
- THEN
- for 4@ = 0 to 3
- 0AF9: "/su %d Ограбление СПО" 1@
- end
- END
- IF 3@ == 16
- THEN
- 0AF9: "/su %d Изнасилование гражданского" 1@
- 0AF9: "/su %d Изнасилование гражданского" 1@
- END
- IF 3@ == 17
- THEN
- for 4@ = 0 to 4
- 0AF9: "/su %d Изнасилование СПО" 1@
- end
- END
- IF 3@ == 18
- THEN
- 0AF9: "/su %d Проституция" 1@
- 0AF9: "/su %d Проституция" 1@
- END
- IF 3@ == 19
- THEN
- 0AF9: "/su %d Нарушение ПДД" 1@
- END
- IF 3@ == 20
- THEN
- 0AF9: "/su %d Оскорбление гражданского" 1@
- END
- IF 3@ == 21
- THEN
- for 4@ = 0 to 5
- 0AF9: "/su %d Оскорбление СПО" 1@
- end
- END
- IF 3@ == 22
- THEN
- for 4@ = 0 to 4
- 0AF9: "/su %d Хулиганство (/piss)" 1@
- end
- END
- IF 3@ == 23
- THEN
- for 4@ = 0 to 2
- 0AF9: "/su %d Уход/неподчинение СПО" 1@
- end
- END
- IF 3@ == 24
- THEN
- for 4@ = 0 to 2
- 0AF9: "/su %d Стрельба в общественном месте" 1@
- end
- END
- END
- END
- end
- :cmd
- 0B35: samp 0@ = get_last_command_params
- IF 0AD4: 33@ = scan_string 0@ format "%d" 1@
- THEN
- IF 0B23: samp is_player_connected 1@
- THEN
- 0AC6: 30@ = label @dialog offset
- alloc 29@ 30
- 0B36: samp 28@ = get_player_nickname 1@
- format 29@ "Наказание для: %s[%d]" 28@ 1@
- 0B3B: samp show_dialog id 2018 caption 29@ text 30@ button_1 "Наказать" button_2 "Закрыть" style 2
- free 29@
- ELSE
- chatmsg "{FF3300}x{AFAFAF} Игрока с ID %d нет на сервере." color 11513775 1@
- END
- ELSE
- chatmsg "{FF3300}x{AFAFAF} Не введен ID игрока." color 11513775
- END
- 0B43: samp cmd_ret
- // не трогать
- :nearid
- 3@ = 1000.0
- 4@ = 0xFFFFFF
- 0A8D: 0@ = read_memory 0xB74490 size 4 virtual_protect 0
- 0@ += 4
- 0A8D: 0@ = read_memory 0@ size 4 virtual_protect 0
- for 1@ = 0 to 35584 step 0x100
- 0A8D: 2@ = read_memory 0@ size 1 virtual_protect 0
- 0@++
- if and
- 2@ >= 0x00
- 2@ < 0x80
- then
- 005A: 2@ += 1@
- if or
- 003C: $PLAYER_ACTOR == 2@
- 856D: NOT actor 2@ defined
- then continue
- end
- 0AB1: call @dist 1 remote_player_handle 2@ retr_dist_to 5@
- if 0025: 3@ > 5@
- then
- 0087: 3@ = 5@
- 0085: 4@ = 2@
- end
- end
- end
- if 4@ = SAMP.GetSAMPPlayerIDByActorHandle(4@)
- then
- 0485: return_true
- else
- 059A: return_false
- end
- 0AB2: ret 2 3@ 4@
- :dist
- Actor.StorePos(0@, 1@, 2@, 3@)
- Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
- 050A: 7@ = distance_between_XYZ 4@ 5@ 6@ and_XYZ 1@ 2@ 3@
- 0AB2: ret 1 7@
- :rpd
- 0AF8: samp add_message_to_chat "Скрипт {00FF00}pd.cs {ffffff}перезагружен" color -1
- 0A92: "pd.cs" // точное название скрипта
- 0A93: end_custom_thread
- cmdret
- :dialog
- hex
- "{7cfc00}Хранение наркотиков — {FF0000}(1 звезда)" A
- "{7cfc00}Хранение материалов — {FF0000}(1 звезда)" A
- "{7cfc00}Хранение нарко + маты — {FF0000}(2 звезды)" A
- "{7cfc00}Напад на гр. — {FF0000}(2 звезды)" A
- "{7cfc00}Напад на СПО. — {FF0000}(3 звезды)" A
- "{7cfc00}Килл гр. — {FF0000}(4 звезды)" A
- "{7cfc00}Килл СПО. — {FF0000}(6 звезд)" A
- "{7cfc00}Угон Т/С у СПО. — {FF0000}(2 звезды)" A
- "{7cfc00}Угон Т/С у гр. — {FF0000}(1 звезда)" A
- "{7cfc00}Взятка — {FF0000}(4 звезды)" A
- "{7cfc00}Терроризм — {FF0000}(6 звезд)" A
- "{7cfc00}Проникновение — {FF0000}(6 звезд)" A
- "{7cfc00}Продажа нарко/матов — {FF0000}(2 звезды)" A
- "{7cfc00}Нахождение у наркопритона — {FF0000}(1 звезда)" A
- "{7cfc00}Граб гр. — {FF0000}(2 звезды)" A
- "{7cfc00}Граб СПО. — {FF0000}(4 звезды)" A
- "{7cfc00}Изнасилование гр. — {FF0000}(2 звезды)" A
- "{7cfc00}Изнасилование СПО. — {FF0000}(5 звезд)" A
- "{7cfc00}Проституция — {FF0000}(2 звезды)" A
- "{7cfc00}Нарушение ПДД — {FF0000}(1-2 звезд)" A
- "{7cfc00}Оскорбление гр. — {FF0000}(1 звезд)" A
- "{7cfc00}Оскорбление СПО. — {FF0000}(6 звезд)" A
- "{7cfc00}Хулиганство (/piss) — {FF0000}(6 звезд)" A
- "{7cfc00}Уход/неподчинение — {FF0000}(3 звезды)" A
- "{7cfc00}Стрельба в общ. месте— {FF0000}(3 звезды)" 00
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement