diff --git a/README.md b/README.md index 385372c7..1f109d6d 100644 --- a/README.md +++ b/README.md @@ -351,6 +351,7 @@ Packet Sender supports these macros when sending responses: * {{DATE}} -- Sends the current date in "yyy-mm-dd" format. * {{TIME}} -- Sends the current time in "hh:mm:ss ap" format. * {{UNIXTIME}} -- Sends the current epoch time stamp. +* {{COUNTER}} -- Sends an incrementing counter for each packet that uses it. Starts at 1 at launch. * {{RANDOM}} -- Sends a random number ranging from either 0 to 32767 or 2147483647, depending on 32-bit or 64-bit (default installer for Windows is 32-bit. Mac is 64-bit). * {{UNIQUE}} -- Sends a random string. Uses an internal UUID to generate it. Packet Sender will swap the macro with real values before sending. diff --git a/src/packet.cpp b/src/packet.cpp index 46caf33c..1846eada 100755 --- a/src/packet.cpp +++ b/src/packet.cpp @@ -864,6 +864,7 @@ QString Packet::macroSwap(QString data) { static QString dateFormat = ""; static QString timeFormat = ""; + static quint64 counter = 0; if(dateFormat.isEmpty()) { QSettings settings(SETTINGSFILE, QSettings::IniFormat); dateFormat = settings.value("dateFormat", "yyyy-MM-dd").toString(); @@ -909,6 +910,12 @@ QString Packet::macroSwap(QString data) data = data.replace("{{UNIQUE}}", uuidString); } + + if (data.contains("{{COUNTER}}")) { + counter++; + data = data.replace("{{COUNTER}}", QString::number(counter)); + } + return data; } diff --git a/src/settings.ui b/src/settings.ui index 32f431a2..8c5c7248 100755 --- a/src/settings.ui +++ b/src/settings.ui @@ -988,7 +988,7 @@ - Available macros: {{DATE}} {{TIME}} {{RANDOM}} {{UNIXTIME}} {{UNIQUE}} + Available macros: {{DATE}} {{TIME}} {{RANDOM}} {{UNIXTIME}} {{UNIQUE}} {{COUNTER}}