CLEO Автодоклад

Статус
В этой теме нельзя размещать новые ответы.

Rapt0r6113

Известный
Автор темы
103
11
Описание: данный скрипт будет делать за вас доклады в рацию, дабы вам не нажимать никаких клавиш бинда. Если вы по какой-то причине уйдёте с поста, но забудете выключить скрипт, он не будет флудить в рацию.

Активация:
/autodoklad - активировать скрипт
/post1-3 - записать координаты поста(писать слитно)

Обзор:

Настройка:

Большинство настраивается через ini файл, остальное в игре
Настройка ini файла:
[Wait] // Задержка в МС
ms=30000
[Text1] // Текст для 1 поста
tag=tag // Тег, например [Бык]
text=text // Название поста, указывайте в формате text=Пост:название поста
text2=состояние // Состояние
text3=спокойно // Тут пишете спокойно и т.д
[Text2] // Текст для 2 поста, всё то же самое
tag=tag
text=text
text2=состояние
text3=спокойно
[Text3] // Текст для 3 поста
tag=tag
text=text
text2=состояние
text3=спокойно
[Autoscreenshot]
Status=1 // Функция авто-скриншота. 1- включено, 0 - выключено
[Post1] // Координаты 1 поста, тут не меняйте, перезаписываются через команду
X=-2246.49
Y=2330.4
Z=4.97155

[Post2] // Координаты для 2 поста
X=-2256.18
Y=2322.99
Z=4.8125

[Post3] // Координаты для 3 поста
X=-2266.48
Y=2308.3
z=4.82021

Код скрипта:
CLEO:
{$CLEO .cs}
0000:
repeat
     wait 0
until SAMP.Available()

0B34: samp register_client_command "autodoklad" to_label @cmd
0B34: samp register_client_command "post1" to_label @post1
0B34: samp register_client_command "post2" to_label @post2
0B34: samp register_client_command "post3" to_label @post3
0AF8: samp add_message_to_chat "{FFEF00}Autodoklad {64FA0D}loaded" color -1 

0@ = 0
25@ = 0
26@ = 0
27@ = 0
28@ = 0
29@ = 0

alloc 1@ 180
alloc 2@ 180
alloc 3@ 180
alloc 4@ 180
alloc 5@ 180
alloc 6@ 180
alloc 7@ 180
alloc 8@ 180
alloc 9@ 180
alloc 10@ 180
alloc 11@ 180
alloc 12@ 180
if
8AAB:   file_exists "cleo\autodoklad.ini"
then
0AF1: write_int 120000 to_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
0AF5: write_string "tag" to_ini_file "cleo\autodoklad.ini" section "Text1" key "tag"
0AF5: write_string "text" to_ini_file "cleo\autodoklad.ini" section "Text1" key "text"
0AF5: write_string "ñîñòîÿíèå" to_ini_file "cleo\autodoklad.ini" section "Text1" key "text2"
0AF5: write_string "tag" to_ini_file "cleo\autodoklad.ini" section "Text2" key "tag"
0AF5: write_string "text" to_ini_file "cleo\autodoklad.ini" section "Text2" key "text"
0AF5: write_string "ñîñòîÿíèå" to_ini_file "cleo\autodoklad.ini" section "Text2" key "text2"
0AF5: write_string "tag" to_ini_file "cleo\autodoklad.ini" section "Text3" key "tag"
0AF5: write_string "text" to_ini_file "cleo\autodoklad.ini" section "Text3" key "text"
0AF5: write_string "ñîñòîÿíèå" to_ini_file "cleo\autodoklad.ini" section "Text3" key "text2"
0AF5: write_string "ñïîêîéíî" to_ini_file "cleo\autodoklad.ini" section "Text1" key "text3"
0AF5: write_string "ñïîêîéíî" to_ini_file "cleo\autodoklad.ini" section "Text2" key "text3"                                       // post 2 18 19 21    ; 4 5 6 11
0AF5: write_string "ñïîêîéíî" to_ini_file "cleo\autodoklad.ini" section "Text3" key "text3"                       // post3 22 23 24  ; 7 8 9 12
0AF1: write_int 1 to_ini_file "cleo\autodoklad.ini" section "Autoscreenshot" key "Status"   // 1 - âêëþ÷¸í, 2 - âûêëþ÷åí
end

while true
wait 0
     if 0@ == 1 
     then  
          0AF2: 15@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post1" key "X"
          0AF2: 16@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post1" key "Y"
          0AF2: 17@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post1" key "Z"
          0AF0: 30@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Autoscreenshot" key "Status"
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 15@ {Y} 16@ {Z} 17@ radius 15.0 20.0      // 2
          then  
          if
          30@ == 1 
          then
          0AF0: 20@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
          0AF4: 1@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "tag"
          0AF4: 2@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text"
          0AF4: 3@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text2"
          0AF4: 10@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text3"
          0AF9: samp say_msg "/r %s | %s | %s: %s" 1@ 2@ 3@ 10@    
               wait 400
               say "/time"
               wait 300
               0C72: set_virtual_key 119 down true
               0C72: set_virtual_key 119 down false
               else
          0AF0: 20@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
          0AF4: 1@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "tag"
          0AF4: 2@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text"
          0AF4: 3@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text2"
          0AF4: 10@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text3"
          0AF9: samp say_msg "/r %s | %s | %s: %s" 1@ 2@ 3@ 10@ 
          end
               wait 20@
               end          // 1  
          0AF2: 18@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post2" key "X"
          0AF2: 19@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post2" key "Y"
          0AF2: 21@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post2" key "Z"
          0AF0: 30@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Autoscreenshot" key "Status"
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 18@ {Y} 19@ {Z} 21@ radius 15.0 20.0      // 2
          then  
          if
          30@ == 1 
          then
          0AF0: 20@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
          0AF4: 4@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "tag"
          0AF4: 5@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "text"
          0AF4: 6@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "text2"
          0AF4: 11@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "text3"
          0AF9: samp say_msg " %s | %s | %s: %s" 4@ 5@ 6@ 11@
          wait 400
          say "/time"
          wait 300
          0C72: set_virtual_key 119 down true
          0C72: set_virtual_key 119 down false
          else
          0AF0: 20@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
          0AF4: 4@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "tag"
          0AF4: 5@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "text"
          0AF4: 6@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "text2"
          0AF4: 11@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text2" key "text3"
          0AF9: samp say_msg "/r %s | %s | %s: %s" 4@ 5@ 6@ 11@
          end
          wait 20@
          end                           // 2
          0AF2: 22@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post3" key "X"
          0AF2: 23@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post3" key "Y"
          0AF2: 24@ = get_float_from_ini_file "cleo\autodoklad.ini" section "Post3" key "Z"
          0AF0: 30@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Autoscreenshot" key "Status"
          if 00EC: actor $PLAYER_ACTOR sphere 0 near_point {X} 22@ {Y} 23@ {Z} 24@ radius 15.0 20.0      // 2
          then  
          if
          30@ == 1 
          then
          0AF0: 20@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
          0AF4: 7@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "tag"
          0AF4: 8@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text"
          0AF4: 9@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text2"
          0AF4: 12@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text3"
          0AF9: samp say_msg "/r %s | %s | %s: %s" 7@ 8@ 9@ 12@
               wait 400
               say "/time"
               wait 300
               0C72: set_virtual_key 119 down true
               0C72: set_virtual_key 119 down false
               else
          0AF0: 20@ = get_int_from_ini_file "cleo\autodoklad.ini" section "Wait" key "ms"
          0AF4: 7@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "tag"
          0AF4: 8@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text"
          0AF4: 9@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text2"
          0AF4: 12@ = read_string_from_ini_file "cleo\autodoklad.ini" section "Text1" key "text3"
          0AF9: samp say_msg "/r %s | %s | %s: %s" 7@ 8@ 9@ 12@
          end
               wait 20@
               end      // 1
     end
end

:cmd
if 0@ == 1
     then
     0@ = 0
     0AF8: samp add_message_to_chat "{FFEF00}Autodoklad {FF0000}Deactivated" color -1
     else
     0@ = 1
     0AF8: samp add_message_to_chat "{FFEF00}Autodoklad {64FA0D}Activated" color -1 
end
Samp.CmdRet()

:Post1
if
25@ == 0
then
25@ = 1
else
25@ = 0
end
0AF8: samp add_message_to_chat "{FFEF00}[Autodoklad]{3EC603} Ïîñò 1 ñîõðàí¸í" color -1
Actor.StorePos($PLAYER_ACTOR 15@ 16@ 17@)
0AF3: write_float 15@ to_ini_file "cleo\autodoklad.ini" section "Post1" key "X"
0AF3: write_float 16@ to_ini_file "cleo\autodoklad.ini" section "Post1" key "Y"
0AF3: write_float 17@ to_ini_file "cleo\autodoklad.ini" section "Post1" key "Z"
Samp.CmdRet()

:Post2
if
26@ == 0
then
26@ = 1
else
26@ = 0
end
0AF8: samp add_message_to_cha "{FFEF00}[Autodoklad]{3EC603} Ïîñò 2 ñîõðàí¸í" color -1
Actor.StorePos($PLAYER_ACTOR 18@ 19@ 21@)
0AF3: write_float 18@ to_ini_file "cleo\autodoklad.ini" section "Post2" key "X"
0AF3: write_float 19@ to_ini_file "cleo\autodoklad.ini" section "Post2" key "Y"
0AF3: write_float 21@ to_ini_file "cleo\autodoklad.ini" section "Post2" key "Z"
Samp.CmdRet()

:Post3
if
27@ == 0
then
27@ = 1
else
27@ = 0
end
0AF8: samp add_message_to_cha "{FFEF00}[Autodoklad]{3EC603} Ïîñò 3 ñîõðàí¸í" color -1
Actor.StorePos($PLAYER_ACTOR 22@ 23@ 24@)
0AF3: write_float 22@ to_ini_file "cleo\autodoklad.ini" section "Post3" key "X"
0AF3: write_float 23@ to_ini_file "cleo\autodoklad.ini" section "Post3" key "Y"
0AF3: write_float 24@ to_ini_file "cleo\autodoklad.ini" section "Post3" key "z"
Samp.CmdRet()

Changelog:
Убрана команда /reload, теперь переменные обновляются автоматически
Добавлена возможность делать авто-скриншот

Отдельное спасибо Smile

Скачать: http://rgho.st/65tB9gbBb





 

Вложения

  • autodoklad.cs
    30.3 KB · Просмотры: 199
Последнее редактирование:

deddosouru

Смотрю аниме, служу Сатане
Друг
2,036
1,317
норм. реквестовал подобное на луа або сам не вдуплил как написать. задумка была схожая, но работала иначе.
 

Rapt0r6113

Известный
Автор темы
103
11
Каких разных постов? Там текст сам пишешь который тебе нужен.. xD
ну тип в моём скрипте можно текст для 3 постов написать, потом с 1 на 2 перейти и всё, а в авторепорте тип каждый раз, когда пост меняешь надо настраивать. Я так-то делал для себя, но решил залить, может кому пригодиться
 

xuy_osla

Новичок
21
0
Сделай так, чтобы в назначеное время докладывал и чтобы свой текст можно было добавить
 

Rapt0r6113

Известный
Автор темы
103
11
Сделай так, чтобы в назначеное время докладывал и чтобы свой текст можно было добавить
в ini файле редачится, если сделать 4 поста, то возможно переменных не хватит локальных, а со временем подумаю
 

BlackKnigga

Известный
BH Team
922
443
в ini файле редачится, если сделать 4 поста, то возможно переменных не хватит локальных, а со временем подумаю
Если грамотно использовать переменные (например читать значения из ini прямо в цикле), то переменных тебе хватит хоть на сотню постов.
 
Статус
В этой теме нельзя размещать новые ответы.