#include <iostream>
#include <string>
#include <Windows.h>
std::string string_format(const std::string fmt, ...)
{
int size = 512;
std::string str;
va_list ap;
while (1) {
str.resize(size);
va_start(ap, fmt);
int n = vsnprintf((char *)str.c_str(), size, fmt.c_str(), ap);
va_end(ap);
if (n > -1 && n < size) {
str.resize(n);
return str;
}
if (n > -1)
size = n + 1;
else
size *= 2;
}
return str;
}
#include <sampgdk/core.h>
#include <sampgdk/plugin.h>
#include <sampgdk/a_samp.h>
#include <C:\Users\Rafal\Desktop\zcmd.hpp>
//end-user code
bool OnPlayerCommandReceived(int playerid,std::string command, std::string params)
{
return true;
}
void OnPlayerCommandExecuted(int playerid, std::string command, std::string params, bool success)
{
return;
}
bool OnUnknownCommand(int playerid, std::string command, std::string params)
{
SendClientMessage(playerid,0xFFFFFF,string_format("Unknown command issued by you: %s",command).c_str());
return true;//disable message by server
}
ZERO_COMMAND(start)
{
printf("start issued, params: '%s'\n",params.c_str());
return true;
}
ZERO_COMMAND(end)
{
printf("end issued, params: '%s'\n",params.c_str());
return false;
}
int main()
{
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8V2luZG93cy5oPgpzdGQ6OnN0cmluZyBzdHJpbmdfZm9ybWF0KGNvbnN0IHN0ZDo6c3RyaW5nIGZtdCwgLi4uKSAKewogICAgaW50IHNpemUgPSA1MTI7CglzdGQ6OnN0cmluZyBzdHI7Cgl2YV9saXN0IGFwOwoJd2hpbGUgKDEpIHsKCQlzdHIucmVzaXplKHNpemUpOwoJCXZhX3N0YXJ0KGFwLCBmbXQpOwoJCWludCBuID0gdnNucHJpbnRmKChjaGFyICopc3RyLmNfc3RyKCksIHNpemUsIGZtdC5jX3N0cigpLCBhcCk7CgkJdmFfZW5kKGFwKTsKCQlpZiAobiA+IC0xICYmIG4gPCBzaXplKSB7CgkJCXN0ci5yZXNpemUobik7CgkJCXJldHVybiBzdHI7CgkJfQoJCWlmIChuID4gLTEpCgkJCXNpemUgPSBuICsgMTsKCQllbHNlCgkJCXNpemUgKj0gMjsKCX0KCXJldHVybiBzdHI7Cn0KCiNpbmNsdWRlIDxzYW1wZ2RrL2NvcmUuaD4KI2luY2x1ZGUgPHNhbXBnZGsvcGx1Z2luLmg+CiNpbmNsdWRlIDxzYW1wZ2RrL2Ffc2FtcC5oPgojaW5jbHVkZSA8QzpcVXNlcnNcUmFmYWxcRGVza3RvcFx6Y21kLmhwcD4KLy9lbmQtdXNlciBjb2RlCgpib29sIE9uUGxheWVyQ29tbWFuZFJlY2VpdmVkKGludCBwbGF5ZXJpZCxzdGQ6OnN0cmluZyBjb21tYW5kLCBzdGQ6OnN0cmluZyBwYXJhbXMpCnsKCXJldHVybiB0cnVlOwp9Cgp2b2lkIE9uUGxheWVyQ29tbWFuZEV4ZWN1dGVkKGludCBwbGF5ZXJpZCwgc3RkOjpzdHJpbmcgY29tbWFuZCwgc3RkOjpzdHJpbmcgcGFyYW1zLCBib29sIHN1Y2Nlc3MpCnsKCXJldHVybjsKfQoKYm9vbCBPblVua25vd25Db21tYW5kKGludCBwbGF5ZXJpZCwgc3RkOjpzdHJpbmcgY29tbWFuZCwgc3RkOjpzdHJpbmcgcGFyYW1zKQp7CglTZW5kQ2xpZW50TWVzc2FnZShwbGF5ZXJpZCwweEZGRkZGRixzdHJpbmdfZm9ybWF0KCJVbmtub3duIGNvbW1hbmQgaXNzdWVkIGJ5IHlvdTogJXMiLGNvbW1hbmQpLmNfc3RyKCkpOwoJcmV0dXJuIHRydWU7Ly9kaXNhYmxlIG1lc3NhZ2UgYnkgc2VydmVyCn0KClpFUk9fQ09NTUFORChzdGFydCkKewoJcHJpbnRmKCJzdGFydCBpc3N1ZWQsIHBhcmFtczogJyVzJ1xuIixwYXJhbXMuY19zdHIoKSk7CglyZXR1cm4gdHJ1ZTsKfQoKWkVST19DT01NQU5EKGVuZCkKewoJcHJpbnRmKCJlbmQgaXNzdWVkLCBwYXJhbXM6ICclcydcbiIscGFyYW1zLmNfc3RyKCkpOwoJcmV0dXJuIGZhbHNlOwp9CgppbnQgbWFpbigpCnsKCXJldHVybiAwOwp9Cgo=