完全搞定除了皮肤
This commit is contained in:
@@ -1,34 +1,55 @@
|
||||
#include "sdk_tools.h"
|
||||
|
||||
namespace SdkTools {
|
||||
auto ProcessChatString(const std::string& input) -> std::tuple<bool, _ChatType, std::string>
|
||||
{
|
||||
_ChatType chatType;
|
||||
std::string content;
|
||||
bool success = true;
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD> "say_team" <20><> "say" <20><>ͷ
|
||||
if (input.size() >= 9 && input.substr(0, 9) == "say_team ") {
|
||||
chatType = _ChatType::kTeam;
|
||||
content = input.substr(9);
|
||||
}
|
||||
else if (input.size() >= 5 && input.substr(0, 4) == "say ") {
|
||||
chatType = _ChatType::kAll;
|
||||
content = input.substr(4);
|
||||
}
|
||||
else {
|
||||
auto ProcessChatString(const std::string& input)
|
||||
-> std::tuple<bool, _ChatType, std::string> {
|
||||
_ChatType chatType;
|
||||
std::string content;
|
||||
bool success = true;
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD> "say_team" <20><> "say" <20><>ͷ
|
||||
if (input.size() >= 9 && input.substr(0, 9) == "say_team ") {
|
||||
chatType = _ChatType::kTeam;
|
||||
content = input.substr(9);
|
||||
} else if (input.size() >= 5 && input.substr(0, 4) == "say ") {
|
||||
chatType = _ChatType::kAll;
|
||||
content = input.substr(4);
|
||||
} else {
|
||||
success = false;
|
||||
}
|
||||
if (success == true) {
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD>Χ
|
||||
if (content.front() != '"' || content.back() != '"') {
|
||||
success = false;
|
||||
} else {
|
||||
// <20>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>
|
||||
content = content.substr(1, content.size() - 2);
|
||||
}
|
||||
if (success == true) {
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD>Χ
|
||||
if (content.front() != '"' || content.back() != '"') {
|
||||
success = false;
|
||||
}
|
||||
else {
|
||||
// <20>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD>
|
||||
content = content.substr(1, content.size() - 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return std::make_tuple(success, chatType, content);
|
||||
}
|
||||
};
|
||||
return std::make_tuple(success, chatType, content);
|
||||
}
|
||||
|
||||
auto SentChatToClient(CCSPlayerController* player, _HubType hubtype, const char* msg, ...) -> void {
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
|
||||
char buf[256];
|
||||
vsnprintf(buf, sizeof(buf), msg, args);
|
||||
|
||||
va_end(args);
|
||||
|
||||
Offset::FnClientPrint(player, hubtype, buf, nullptr, nullptr, nullptr, nullptr);
|
||||
}
|
||||
auto SendConsoleChat(_HubType hubtype, const char* msg, ...) -> void
|
||||
{
|
||||
va_list args;
|
||||
va_start(args, msg);
|
||||
|
||||
char buf[256];
|
||||
vsnprintf(buf, sizeof(buf), msg, args);
|
||||
|
||||
va_end(args);
|
||||
|
||||
Offset::FnUTIL_ClientPrintAll(hubtype, buf, nullptr, nullptr, nullptr, nullptr);
|
||||
}
|
||||
}; // namespace SdkTools
|
||||
|
||||
Reference in New Issue
Block a user