[Вопрос] Как сделать счетчик зарплаты? - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Sanoxxx, Alowir, Phoenixxx_Czar  
[Вопрос] Как сделать счетчик зарплаты?
Christopher_McMilan Дата: Суббота, 05.05.2018, 17:06 | Сообщение # 1
Новичок
Сообщений: 8
Статус: Offline
Как сделать счетчик зарплаты? нужно что бы выводилось в диалог, желательно за несколько дней можно было посмотреть. Как финка в бизнесе

.::Christopher::.

Сообщение отредактировал Christopher_McMilan - Суббота, 05.05.2018, 17:08
Rinat_Namazov Дата: Суббота, 05.05.2018, 22:20 | Сообщение # 2
Боец
Сообщений: 122
Статус: Offline
AHK в цикле ищет в чате строку с ЗП.
Считывает кол-во зп, записывает его и сегодняшнее число в массив типа этого: {Data: Дата, Salary: ЗП}

И когда хочешь посмотреть их кол-во, открываешь диалог с пунктами "Всего", "За определенные дни".
Если хотим всего зп, проходим по массиву через цикл for, и прибавляем кол-во зп за каждый день в общую сумму и после цикла выводим.

Если хотим за определенное время, выбираем с какого по какое число.
И проходимся циклом for по массив и отбираем только зп в диапазоне даты.
Christopher_McMilan Дата: Суббота, 05.05.2018, 22:40 | Сообщение # 3
Новичок
Сообщений: 8
Статус: Offline
А можно код?

.::Christopher::.
Rinat_Namazov Дата: Воскресенье, 06.05.2018, 16:23 | Сообщение # 4
Боец
Сообщений: 122
Статус: Offline
Цитата Christopher_McMilan ()
А можно код?

Бесплатно мало кто сделает.
Wyareri Дата: Воскресенье, 06.05.2018, 22:48 | Сообщение # 5
Боец
Сообщений: 56
Статус: Offline
Цитата Christopher_McMilan ()
А можно код?

Бесплатный творог только подзал....
А вообще, можешь найти исходник биндера от КВАСа, там подобная фича была.
P.S: Если не шаришь АХК хотя бы на базовом уровне, то проще сходить в стол заказов.
AHgPeU_XaKeP Дата: Понедельник, 07.05.2018, 02:20 | Сообщение # 6
Новичок
Сообщений: 6
Статус: Offline
Christopher_McMilan, сделал как умею...
Активация: /ss
Код

#ifWinActive GTA:SA:MP
#Persistent
#SingleInstance FORCE
#Include SAMP.ahk

class CommandProcessor {
    StatusProcessor := false
    CommandArray := {}

    TempText := ""
    TempCmd := ""

    SetStatusProcessor(status) {
  this.StatusProcessor := status
    }

    RegisterCommand(cmd, metka) {
  ObjRawSet(this.CommandArray, cmd, metka)
    }

    DeleteCommand(cmd) {
  this.CommandArray.Delete(cmd)
    }
}

CommandProcessor := new CommandProcessor()
CommandProcessor.SetStatusProcessor(true)
CommandProcessor.RegisterCommand("/ss",    "kp")
chat := A_MyDocuments "/GTA San Andreas User Files/SAMP/chatlog.txt"
SetTimer, PayDay, 1
return

PayDay:
Today := "" A_DD "." A_MM "." A_YYYY ""
FileRead, chatlog, % chat
if (RegExMatch(chatlog, "\]\s+Зарплата: (.*)\$", money))
{
FileDelete, % chat
IniRead, allmoney, %A_MyDocuments%\Gta San Andreas User Files\samp\Salary.ini, PayDay, %Today%
if (allmoney == "ERROR") or (allmoney == "")
{
allmoney := 0
}
a := allmoney + money1
IniWrite, %a%, %A_MyDocuments%\Gta San Andreas User Files\samp\Salary.ini, PayDay, %Today%
}
Return

~F6::
~ESC::
IfWinNotActive, GTA:SA:MP
    return
menu := 0
return

~LButton::
Time := A_TickCount
while(isDialogOpen())
{
    if (A_TickCount - Time > 500)
  return
}
checkdialogMenu:
if (isDialogButton1Selected() == 1)
    menu := 0
IfWinNotActive, GTA:SA:MP
    return
if (menu == 1)
{
    menu := 0
    line_num  := getDialogLineNumber()

    if (line_num == 2)
    {
    FileRead, end, %A_MyDocuments%\Gta San Andreas User Files\samp\Salary.ini
    if (ErrorLevel == 0)
    {
    d1 := RegExReplace(end, "\[PayDay]\s\s", "")
    d2 := RegExReplace(d1, "=", "`t{00FF00}")
    d3 := RegExReplace(d2, "\n", "$`n{00FFFF}")
    d4 := RegExReplace(d3, ".{9}$", "")
    SS =
    (
    {00FFFF}Date`t{00FF00}Money
    {00FFFF}%d4%

    )
    showDialog(5, "{FFFFFF}Salary Statement", SS, "Закрыть")
    }
    else if (ErrorLevel == 1)
    {
    showDialog(0, "{FFFFFF}Salary Statement", "              {00FF00}Отчёт пуст", "Закрыть")
    }
    }
    else if (line_num == 3)
    {
ok =
(
{FFFFFF}Вы действительно хотите очистить историю зарплат?
                    {00FF00}Да, очистить.
                    {FF0000}Нет, отмена.

)
showDialog(5, "{FFFFFF}Salary Statement", ok, "Закрыть")
menu := 2
    }
}
else if (menu == 2)
{
    menu := 0
    line_num  := getDialogLineNumber()

    if (line_num == 1)
    {
    FileDelete, %A_MyDocuments%\Gta San Andreas User Files\samp\Salary.ini
    AddChatMessageEx("00FF00", "[Salary Statement] • {FFFFFF}История зарплат полностью удалена.")
    }
}
Return

~Enter::
if(CommandProcessor.StatusProcessor)
{
    if(IsChatActive() == 1)
    {
  
  blockChatInput()
  while(IsChatActive() == 1)
   continue
  
  unBlockChatInput()
  
  TextChat := GetChatText()
  
  if(SubStr(TextChat, 1, 1) == "/")
  {
   InputCMD := StrSplit(TextChat, A_Space)
   InputCMD := InputCMD[1]
   CommandProcessor.TempCmd := InputCMD
   CommandProcessor.TempText := TextChat
   
   if(CommandProcessor.CommandArray.HasKey(InputCMD))
   {
    ClearTextDialog()
    SetTimer, % CommandProcessor.CommandArray[InputCMD], -1
   }
   else
   {
    SendChat(TextChat)
    ClearTextDialog()
   }
  }
  else
  {
   if(TextChat != "")
   {
    CommandProcessor.TempText := TextChat
    SendChat(TextChat)
    ClearTextDialog()
   }
  }
    }
}
goto, checkdialogMenu
return

kp:
chatInput := CommandProcessor.TempText
if (RegExMatch(chatInput, "i)^/ss"))
{
menu := 1
IniRead, menumoney, %A_MyDocuments%\Gta San Andreas User Files\samp\Salary.ini, PayDay, %Today%
if (menumoney == "ERROR") or (menumoney == "")
{
menumoney := 0
}
gmenu =
(
{00FF00}Зарплата за сегодня: %menumoney%$
{00FF00}Полный отчёт о зарплатах
{00FF00}Очистить отчёт
)
showDialog(4, "{FFFFFF}Salary Statement", gmenu, "Закрыть")
}
Return


Сообщение отредактировал AHgPeU_XaKeP - Понедельник, 07.05.2018, 15:02
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума
Лучшие пользователи
Admin [39113]

GеNius [7210]

[CM]Russel [5557]

kenlo763 [4952]

[CM]AGRESSOR [4639]

Snake_Firm [4452]

Сэс [4416]

Artem_Buero [4223]

[CM]Durman [3204]

[CM]Рафаэль [3080]

iMaddy [2855]

sky_Woker [2854]

getrekt [2745]

Новые пользователи