Добро пожаловать на форум проекта RP GameWorld!

Kangaroo

[AHK] Полезные бинды

Recommended Posts

В 24.05.2017 в 7:31 PM, strozza сказал:

Нужен код скрипта что бы пробивать собственный ID и сразу вписывать в строчку доклада

 

37 минут назад, Macros сказал:

Могу сделать такое, но только с помощью удф, он запрещен так-то, но если хочешь отпиши в ЛС, поговорим

Не нужен: https://pastebin.com/f8x6gtVj

Edited by Spikey

Share this post


Link to post
Share on other sites

Поделюсь парой-другой биндов для ПО и не только:

1. SAMP UDF в котором нет читов (да-да, действительно нет): https://pastebin.com/7reTZY1h

 

2. Автоматический архиватор чатлога и скриншотов: https://pastebin.com/R9qh8QjP

Идея и первоначальная реализация пренадлежит Кену, я лишь чуть улучшил и кое-что пофиксил.

Предупреждаю: может занимать много места на диске если очень много играть и долго не чистить. Блокнотом открывать самый большой лог категорически не советую)

 

3. Быстрая пробежка поиском по всему /wanted: https://pastebin.com/GLeiRsg6

4. Вывод времени последнего /gov: https://pastebin.com/kypA21LB

5. Быстрые /arrest от 1 до 6 звезд: https://pastebin.com/gwZsRJgT

6. Изъятие подделок у человека, который показывал тебе лицензии последний: https://pastebin.com/br7tQNLV

7. Флуд одним и тем же сообщением в /me с прогрессом(5/10): https://pastebin.com/p9LcKtmQ

8. Повтор последнего сообщения в чат: https://pastebin.com/5xVR5JL3

9. Надеть наручники человеку, которого ты ударил тазером: https://pastebin.com/6DDUnc4V

10. Включить сирену на авто если у тебя crashes.asi и фпс > 100: https://pastebin.com/EKnXUXe3

11. Проверка всей фракции онлайн на наличие античита: https://pastebin.com/xqSJFm9g

12. Статистика за неделю для сотрудников ПО(работает только в паре с архиватором чатлога): https://pastebin.com/Sdby1PGw

13. Удобный бинд, показывающий последние выпавшие числа в /dice: https://pastebin.com/BrJ8nDx7

 

Все, что связано с копированием никнеймов:

14. Система копирования ников, id и прочей херни: https://pastebin.com/xYyXTwku

15. Запись в /pl человека, который вышел при аресте(никнейм должен быть скопирован): https://pastebin.com/AAhEGsLf

Если в чате была найдена строка о выходе при аресте, то запишет пометку [P]. Время вашего компьютера.

 

P.S. Большинство биндов использующих UDF можно переделать без него, но меня этим заниматься не просите(объяснять как это всё работает -  тоже).

Edited by Spikey

Share this post


Link to post
Share on other sites
В 29.05.2017 в 11:21 PM, Spikey сказал:

Поделюсь парой-другой биндов для ПО и не только:

1. SAMP UDF в котором нет читов (да-да, действительно нет): https://pastebin.com/7reTZY1h

 

2. Автоматический архиватор чатлога и скриншотов: https://pastebin.com/R9qh8QjP

Идея и первоначальная реализация пренадлежит Кену, я лишь чуть улучшил и кое-что пофиксил.

Предупреждаю: может занимать много места на диске если очень много играть и долго не чистить. Блокнотом открывать самый большой лог категорически не советую)

 

3. Быстрая пробежка поиском по всему /wanted: https://pastebin.com/GLeiRsg6

4. Вывод времени последнего /gov: https://pastebin.com/kypA21LB

5. Быстрые /arrest от 1 до 6 звезд: https://pastebin.com/gwZsRJgT

6. Изъятие подделок у человека, который показывал тебе лицензии последний: https://pastebin.com/br7tQNLV

7. Флуд одним и тем же сообщением в /me с прогрессом(5/10): https://pastebin.com/p9LcKtmQ

8. Повтор последнего сообщения в чат: https://pastebin.com/5xVR5JL3

9. Надеть наручники человеку, которого ты ударил тазером: https://pastebin.com/6DDUnc4V

10. Включить сирену на авто если у тебя crashes.asi и фпс > 100: https://pastebin.com/EKnXUXe3

11. Проверка всей фракции онлайн на наличие античита: https://pastebin.com/xqSJFm9g

12. Статистика за неделю для сотрудников ПО(работает только в паре с архиватором чатлога): https://pastebin.com/Sdby1PGw

13. Удобный бинд, показывающий последние выпавшие числа в /dice: https://pastebin.com/BrJ8nDx7

 

Все, что связано с копированием никнеймов:

14. Система копирования ников, id и прочей херни: https://pastebin.com/xYyXTwku

15. Запись в /pl человека, который вышел при аресте(никнейм должен быть скопирован): https://pastebin.com/AAhEGsLf

Если в чате была найдена строка о выходе при аресте, то запишет пометку [P]. Время вашего компьютера.

 

P.S. Большинство биндов использующих UDF можно переделать без него, но меня этим заниматься не просите(объяснять как это всё работает -  тоже).

Поставил себе в бинд wanted и тазер с наручниками,открываю бинд и выскакивает ошибка ругается на "isInChat" и не открывает бинд.Что делать?

Edited by EKLIPS

Share this post


Link to post
Share on other sites
11 минуту назад, EKLIPS сказал:

Поставил себе в бинд wanted и тазер с наручниками,открываю бинд и выскакивает ошибка ругается на "isInChat" и не открывает бинд.Что делать?

1. SAMP UDF в котором нет читов (да-да, действительно нет): https://pastebin.com/7reTZY1h

1) Создаем файлик nazvaniye.ahk

2) Копируем код в этот файлик

3) Переносим файлик в папку с основным скриптом

4) В скрипте в начало - #include nazvaniye.ahk

Share this post


Link to post
Share on other sites

Помогите составить структуру скрипта/направьте на истинный путь.Пишу скрипт который при нажатии на ALT кроме того как глушит/заводит машину, так и пишет о состоянии двигателя. Предполагаю что нужно пустить по циклу If но не хватает теории для реализации задумки. UDF приветствуется.

Share this post


Link to post
Share on other sites
8 часов назад, Krytezos сказал:

Помогите составить структуру скрипта/направьте на истинный путь.Пишу скрипт который при нажатии на ALT кроме того как глушит/заводит машину, так и пишет о состоянии двигателя. Предполагаю что нужно пустить по циклу If но не хватает теории для реализации задумки. UDF приветствуется.

Начнем по порядку. IF - условие, а не цикл.

Первое что нужно сделать - проверить находится ли игрок в автомобиле, используя UDF.

if(IsPlayerInAnyVehicle())
{
	; Сюда проверку положения мотора, действие после этого 
}
else return

Едем дальше, теперь нужно проверить положение двигателя:

if(getVehicleEngineState() = 0)
{
	; Действие при выключенном двигателе
}
else if(getVehicleEngineState() = 1)
{
	; Действие при включенном двигателе
}
else return

Итого имеем:

if(IsPlayerInAnyVehicle())
{
	if(getVehicleEngineState() = 0)
	{
		SendInput {F6}/me завел двигатель{enter}
		; трыц-тыц, действия после того, как завел
	}
	else if(getVehicleEngineState() = 1)
	{
		SendInput {F6}/me заглушил двигатель{enter}
		; тыры-пыры, действия после того, как заглушил
	}
}
else return

Добавляешь ко всему этому кнопочку и оно прекрасно работает. Ах да, UDF я юзал самый последний, найдешь на гитхабе.

Другим путем, не используя UDF, это вряд ли получится сделать ибо при изменении состояния мотора - в чатик ниче не пишется и извлечь следовательно ничего нельзя.

Share this post


Link to post
Share on other sites

Немного апдейта к моему посту выше.

Делал я все то без тестиков, сейчас зашел в игру и решил все-таки проверить.

Обнаружил недоработочку, а именно вызов не тех строк, которые нужны.

Более обновленный код:

Alt::
	if(IsPlayerInAnyVehicle())
	{
		Sleep 500
		if(getVehicleEngineState() = 0)
		{
			SendInput {F6}/me заглушил двигатель{enter}
			; трыц-тыц действия после того, как заглушил
		}
		else if(getVehicleEngineState() = 1)
		{
			SendInput {F6}/me завел двигатель{enter}
			; тыры-пыры действия после того, как завел
		}
	}
	else return
return

Добавил маленькую задержку, которая позволяет более точно определить состояние двигателя.

Поменял местами действия ибо проверяется уже после того, как ты завел автомобиль на сервере.

Share this post


Link to post
Share on other sites

Cпасибо огромное! 
Прошу прощения, но хочу вас информировать о том, что оператор выбора If else-  это прежде всего цикл, т.к. работает по циклу, который при условии=верно работает с оператором 1, если условие не верно работает с оператором 2. ( If (Условие) Оператор1 else Оператор 2 ).
C помощью вашего кода сделал для себя такую вещь, благодаря которой, при закрытии дверей, пишет соотв. в чат.
Код рабочий.



NumPad5:: SendInput, {f6}/lock{enter} if(IsPlayerInAnyVehicle()) { Sleep 500 if(getVehicleLockState() = 0) { Sleep, 1300 SendChat("/me открыл двери автомобиля") Sleep, 50 } else if(getVehicleLockState() = 1) { Sleep, 1300 SendChat("/me закрыл двери автомобиля") Sleep, 50 } } else return Return

 

 

Так же, сделал соотв. для двигателя, так же, рабочий:

 



Alt:: if(IsPlayerInAnyVehicle()) { Sleep 500 if(getVehicleEngineState() = 0) { SendChat("/me заглушил двигатель") Sleep, 1300 SendChat("/me отстегнул ремень безопасности") Sleep, 50 } else if(getVehicleEngineState() = 1) { SendChat("/me завел двигатель") Sleep, 1300 SendChat("/me пристегнул ремень безопасности") Sleep, 50 } } else return return

 

 

А вот с фарами, проблемы, клавиша не отправляет серверу, не ясно почему, запрос на изменения состояния фар, но цикл работает. Фары не включаются/выключаются при бинде на эту клавишу, состояние фар не меняется. Код :



LCtrl:: if(IsPlayerInAnyVehicle()) { Sleep 500 if(getVehicleLightState() = 0) { SendChat("/me выключил фары") Sleep, 50 } else if(getVehicleLightState() = 1) { SendInput {F6}/me включил фары{enter} Sleep, 50 } } else return return

 

Буду рад помощи.

Share this post


Link to post
Share on other sites
28 минут назад, Krytezos сказал:

А вот с фарами, проблемы, клавиша не отправляет серверу, не ясно почему, запрос на изменения состояния фар, но цикл работает. 

Не цикл, а ветвление. Перед LCtrl тильду поставь(~).

Share this post


Link to post
Share on other sites

Хочу добавить только, что бинд на команду /me при открывании/закрывании дверей может быть неудобен тем, что минимальное окно между открыванием и закрыванием получается больше 2-х секунд, за которые какой-нибудь бомж может твое ТС угнать.

Share this post


Link to post
Share on other sites

Всем больше спасибо за ответы! Отблагодарил кнопкой "Мне нравится".
 Есть код с диалоговым окном :
 

Numpad0::
showDialog("1", "{fc3c3c}Установка поста", "{ffffff}Введите наименование поста:", "Закрыть")
input, POST, V, {enter} 
addchatmessage("{ffffff}Установленный пост: " POST) 
sleep 100
return

При нажатии {enter} переменная заполняется как нужно. Как сделать так, чтобы при закрытии диалога любым способом {esc}, [нажатие на кнопку] переменная заполнялась так же, как и при нажатии на вышеупомянутую [enter]. Буду благодарен.
 

Share this post


Link to post
Share on other sites
53 минуты назад, Krytezos сказал:

Всем больше спасибо за ответы! Отблагодарил кнопкой "Мне нравится".
 Есть код с диалоговым окном :
 


Numpad0::
showDialog("1", "{fc3c3c}Установка поста", "{ffffff}Введите наименование поста:", "Закрыть")
input, POST, V, {enter} 
addchatmessage("{ffffff}Установленный пост: " POST) 
sleep 100
return

При нажатии {enter} переменная заполняется как нужно. Как сделать так, чтобы при закрытии диалога любым способом {esc}, [нажатие на кнопку] переменная заполнялась так же, как и при нажатии на вышеупомянутую [enter]. Буду благодарен.
 

Вроде как так:

input, POST, V, {enter}{esc}{кнопка_1}{кнопка_2}

Там еще есть вариант через точку({enter}.{esc}), но это не точно.

Попробуй и так, и так.

Share this post


Link to post
Share on other sites
1 час назад, Krytezos сказал:

Всем больше спасибо за ответы! Отблагодарил кнопкой "Мне нравится".
 Есть код с диалоговым окном :
 


Numpad0::
showDialog("1", "{fc3c3c}Установка поста", "{ffffff}Введите наименование поста:", "Закрыть")
input, POST, V, {enter} 
addchatmessage("{ffffff}Установленный пост: " POST) 
sleep 100
return

При нажатии {enter} переменная заполняется как нужно. Как сделать так, чтобы при закрытии диалога любым способом {esc}, [нажатие на кнопку] переменная заполнялась так же, как и при нажатии на вышеупомянутую [enter]. Буду благодарен.
 

Есть документация по AutoHotKey - https://autohotkey.com/docs/AutoHotkey.htm

Если в английском не силен - http://script-coding.com/AutoHotkeyTranslation.html

Share this post


Link to post
Share on other sites
2 часа назад, floydya сказал:

Вроде как так:


input, POST, V, {enter}{esc}{кнопка_1}{кнопка_2}

Там еще есть вариант через точку({enter}.{esc}), но это не точно.

Попробуй и так, и так.

Пишется все без точки, перечислением, заключая в {}.  Нашел в документации что кнопка меню это- {AppsKey}, Но эта кнопка конечно же для диалогового окна из SUMP UDF не подходит, т.е. Если указать {Закрыть} или {Close}(переименовав там текст) или же {AppsKey}. Все же, спасибо огромное за помощь.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.