#Include SAMP_UDF.ahk
#SingleInstance Force
#Persistent
#UseHook
#NoEnv
global position ; cоздание пустой глобальной переменной для хранение звания
IniRead, position, settings.ini, Basic, position ; читаем звание из настроек IniRead, название переменной которую ты будешь использовать, название файла, название раздела, название пункта
!1::
{
position := ( position == "ERROR" ) ? "{FF3333}Установить." : "{228228}" position ; переменной с рангом назначаем значение - если перемення равна - ERROR(что значит что она пустая, файла настроек нет) то делаем ей значение "Установить", для красоты, если она не пустая, просто меняем ей цвет на зелёный
ShowDialog(2, "Настройки", "Должность: " position, "Хорошо") ; Сам диалог в который просто передаёшь значение переменной, а значение появилось выше
result := LineResult() ; даём возможность проверить какой пункт диалога мы выбрали
if (result == 1) ; если первый
{
ShowDialog(1, "Настройка", "Введите новую должность", "Хорошо") ; открываем диалог с изменением
while (!GetKeyState("Enter", "P") && !GetKeyState("Esc", "P")) ; если не нажат энтер и не нажат еск
continue ; продолжаем
if (GetKeyState("Enter", "P")) ; если нажимаем энтер
{
Sleep, 200
chatInput := readString(hGTA, dwSAMP + 0x12D8F8, 256) ; читаем содержимое диалога в который ввели новое звание( читаем с памяти )
Sleep, 100
IniWrite, %chatInput%, settings.ini, Basic, position ; записываем новое звание в отдельный файл настроек ( ини ) \\\ IniWrite, название переменной которую хочешь записать ( в процентах %test% ), название файла, название раздела, название пункта
global position := chatInput ; глобальной переменной тоже ставим новое звание чтобы можно было видеть его в диалоге не перезапуская скрипт
addChatMessageEx("FFFFFF", "Вы установили новую должность {e1eaea}" chatInput) ; оповещаем игрока
}
}
return
}