Last active
August 1, 2017 23:16
-
-
Save Y-Less/076549b7f7e9471d3a5e6f9c4468c7ac to your computer and use it in GitHub Desktop.
Generate tests for command processors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This is a comment | |
| // uncomment the line below if you want to write a filterscript | |
| //#define FILTERSCRIPT | |
| #include <a_samp> | |
| #include <YSI\y_va> | |
| #include <YSI\y_utils> | |
| fwritef(File:handle, const fmat[], GLOBAL_TAG_TYPES:...) | |
| { | |
| fwrite(handle, sprintf(fmat, ___2)); | |
| } | |
| reverse(str[32]) | |
| { | |
| new | |
| ret[32], | |
| len = strlen(str); | |
| for (new i = 0; len--; ++i) | |
| { | |
| ret[i] = str[len]; | |
| } | |
| return ret; | |
| } | |
| new gCommands[][32] = { | |
| // "report", | |
| "syncterrtd", | |
| "editdrivethru", | |
| "deletedrivethru", | |
| "createdrivethru", | |
| "createfcar", | |
| "deletefcar", | |
| "lockfcar", | |
| "carcolor", | |
| "frisktruck", | |
| "loadtruck", | |
| "loadvan", | |
| "createmapicon", | |
| "sbm", | |
| "editmapicon", | |
| "pay", | |
| "buykit", | |
| "usekit", | |
| "setvw", | |
| // "skydive", | |
| // "fourdive", | |
| "setplate", | |
| "credits", | |
| "wl", | |
| "serverinfo", | |
| "carhelp", | |
| "tips", | |
| "arp", | |
| "drp", | |
| "frp", | |
| "setplayerwanted", | |
| "lights", | |
| "engine", | |
| "opentrunk", | |
| "closetrunk", | |
| // "trunk", | |
| "hood", | |
| "say", | |
| "pann", | |
| "charity", | |
| "stats", | |
| "myweapons", | |
| "dn", | |
| "up", | |
| "check", | |
| "id", | |
| "number", | |
| "levelup", | |
| "resetupgrades", | |
| "upgrade", | |
| "n", | |
| // "n", | |
| "helperhelp", | |
| "helpers", | |
| "v", | |
| "hc", | |
| "sc", | |
| "makehelper", | |
| "makegangmod", | |
| "makebanappealer", | |
| "nonewbie", | |
| "o", | |
| "noooc", | |
| "speedo", | |
| "vipgunshop", | |
| "vipbar", | |
| // "sb", | |
| "sboff", | |
| "reply", | |
| "rhmute", | |
| "requesthelp", | |
| "rpname", | |
| "accepthelp", | |
| "denyhelp", | |
| "finishhelp", | |
| "admins", | |
| "togfuel", | |
| "killcheckpoint", | |
| "sb", | |
| "cb", | |
| "gotoco", | |
| "haad", | |
| "ad", | |
| "cad", | |
| "setplayercolor", | |
| "gov", | |
| "togooc", | |
| "tognewbie", | |
| "tognews", | |
| "togfam", | |
| "togwhisper", | |
| "togphone", | |
| "rtc", | |
| "rav", | |
| "getcar", | |
| "aduty", | |
| "adutyoff", | |
| "mduty", | |
| "mdutyoff", | |
| // "gotocar", | |
| "me", | |
| "b", | |
| "s", | |
| "l", | |
| "do", | |
| "int", | |
| "m", | |
| "door", | |
| "r", | |
| "deployspikes", | |
| "crb", | |
| "deletespike", | |
| "deletespikes", | |
| "deployblocks", | |
| "deleteblock", | |
| "deleteblocks", | |
| "duty", | |
| "camera", | |
| "setgunskill", | |
| "setfightstyle", | |
| "setcrime", | |
| "d", | |
| "profile", | |
| "mdc", | |
| "su", | |
| "w", | |
| "setcarhp", | |
| "taxwithdraw", | |
| "withdraw", | |
| "atmcard", | |
| "checkhacks", | |
| "deposit", | |
| "atm", | |
| "buymap", | |
| "viewmap", | |
| "oocshop", | |
| "dice", | |
| "flipcoin", | |
| "wiretransfer", | |
| "takestretcher", | |
| "dropstretcher", | |
| "safedeposit", | |
| "safewithdraw", | |
| "safebalance", | |
| "buytools", | |
| "buymeal", | |
| "train", | |
| "adivorce", | |
| "usephone", | |
| "call", | |
| "sms", | |
| "p", | |
| "h", | |
| "fixr", | |
| "time", | |
| "gotocar", | |
| "dedit", | |
| "fedit", | |
| "disarm", | |
| "warnings", | |
| "vipgarage", | |
| "prisongarage", | |
| "robbers", | |
| "enter", | |
| "exit", | |
| "fdeposit", | |
| "fwithdraw", | |
| "heal", | |
| "moderators", | |
| "mole", | |
| "had", | |
| "bigears", | |
| "fuelcars", | |
| "recon", | |
| "kill", | |
| "a", | |
| "cnn", | |
| "cnnn", | |
| "prison", | |
| "jail", | |
| "tod", | |
| "startlotto", | |
| "refund", | |
| "setstat", | |
| "setint", | |
| "skydive", | |
| "fourdive", | |
| "invite", | |
| "vips", | |
| "makevip", | |
| "vipfixisnotusedanymore", | |
| "makeadmin", | |
| "uninvite", | |
| "makeircadmin", | |
| "makefamleader", | |
| "showbadge", | |
| "makeleader", | |
| "giverank", | |
| "tuteject", | |
| "sendtols", | |
| "sendtosf", | |
| // "gotoint", | |
| "gotoint", | |
| "hgoto", | |
| "hgethere", | |
| "mark", | |
| "gotomark", | |
| "gethere", | |
| "ramps", | |
| "setskin", | |
| "oldcar", | |
| "givegun", | |
| "givegunall", | |
| "getjobevent", | |
| "announceevent", | |
| "startevent", | |
| "lockevent", | |
| "endevent", | |
| "seteventinfo", | |
| "seteventpos", | |
| "hoseject", | |
| "nohospital", | |
| "setvhp", | |
| "sethp", | |
| "setarmor", | |
| "setgoldbars", | |
| // "sethpall", | |
| // "setarmorall", | |
| // "fixvehall", | |
| "setanim", | |
| "veh", | |
| "listcars", | |
| "fixveh", | |
| "destroycar", | |
| "destroycars", | |
| "weather", | |
| "weatherall", | |
| "sethpall", | |
| "setarmorall", | |
| "fixvehall", | |
| "savechars", | |
| "givenos", | |
| "givenosall", | |
| "setname", | |
| "load", | |
| "setmoney", | |
| "givemoney", | |
| "setcolor", | |
| "countdown", | |
| "slap", | |
| "blowup", | |
| "fartbomb", | |
| "mask", | |
| "listmasked", | |
| "listmuted", | |
| "freezeplayers", | |
| "fuckyouagains", | |
| "unfreezeplayers", | |
| "muteplayers", | |
| "unmuteplayers", | |
| "mute", | |
| "nmute", | |
| "admute", | |
| "rmute", | |
| "kick", | |
| "skick", | |
| "warn", | |
| "sban", | |
| "hunt", | |
| "ban", | |
| "rangeban", | |
| // "deleteaccount", | |
| "pban", | |
| // "unban", | |
| // "banaccount", | |
| // "oprison", | |
| "freeze", | |
| "unfreeze", | |
| "ipcheck", | |
| "gmx", | |
| "ack", | |
| "makespecops", | |
| "bet", | |
| "siren", | |
| "removesiren", | |
| "addsiren", | |
| "bhelp", | |
| "briefcase", | |
| "bdeposit", | |
| "bwithdraw", | |
| "givebc", | |
| "playmusic", | |
| "stopmusic", | |
| "opengate", | |
| "closegate", | |
| "destroycp", | |
| "removeobject", | |
| "radiohelp", | |
| "use", | |
| "maketester", | |
| "tes", | |
| "makedev", | |
| "dev", | |
| "renthelp", | |
| "addrental", | |
| "exitrental", | |
| "unrentcar", | |
| "rentcar", | |
| // "sellvehicle", | |
| "mechhelp", | |
| "buscmds", | |
| "next", | |
| "continue", | |
| "kcc", | |
| "calllist", | |
| "makefamed", | |
| "famedcolor", | |
| "famed", | |
| "getlic", | |
| "getslic", | |
| "senddmv", | |
| "suspendlicense", | |
| "cancellicense", | |
| "loadtrash", | |
| "startsweeping", | |
| "startpizza", | |
| "opencells", | |
| "closecells", | |
| "dooropen", | |
| "doorclose", | |
| "privatemessage", | |
| "agl", | |
| "acceptrequest", | |
| "setjob", | |
| "trunk", | |
| "createpickup", | |
| "giveweplic", | |
| "takeweplic", | |
| "setgas", | |
| "setcarint", | |
| "setcarvw", | |
| "amask", | |
| "atazer", | |
| "nude", | |
| "fws", | |
| "setgrav", | |
| "createentrance", | |
| "editentrance", | |
| "deleteentrance", | |
| "gotoentrance", | |
| "entranceid", | |
| "hssignid", | |
| "gotogarage", | |
| // "garageid", | |
| "moneybag", | |
| "deletemoneybag", | |
| "deletemoneybags", | |
| "server", | |
| "giftbox", | |
| "getgift", | |
| "open", | |
| "editpoint", | |
| "points", | |
| "claim", | |
| "speed", | |
| "help", | |
| "gps", | |
| "creategate", | |
| "gateid", | |
| "agate", | |
| "deletegate", | |
| "editgate", | |
| "ogate", | |
| "lockhq", | |
| "hqcreate", | |
| "hqedit", | |
| "hqdelete", | |
| "ganghqid", | |
| "createfamgate", | |
| "deletefamgate", | |
| "editfamgate", | |
| "famgateeditor", | |
| "famgateid", | |
| "fgate", | |
| "afgate", | |
| "createfacgate", | |
| "deletefacgate", | |
| "editfacgate", | |
| "facgateeditor", | |
| "facgateid", | |
| "createobject", | |
| "editobject", | |
| "saveobjects", | |
| "deleteobject", | |
| "deleteobjects", | |
| "dpo", | |
| "editor", | |
| "objectid", | |
| "devhelp", | |
| "mapperhelp", | |
| "setsex", | |
| "makemapper", | |
| "map", | |
| "gotobluebus", | |
| "gotoblackbus", | |
| // "lookout", | |
| "bussit", | |
| "busroute", | |
| "buslocation", | |
| "fire", | |
| "rhw", | |
| "sorry", | |
| "cp", | |
| "forcetut", | |
| "pos", | |
| "goincar", | |
| "adetain", | |
| "payday", | |
| "gfixlolelsadmxd", | |
| "lockgarage", | |
| "creategarage", | |
| "deletegarage", | |
| "deletegarages", | |
| "editgarage", | |
| "upgradegarage", | |
| "asellgarage", | |
| "garageid", | |
| "buygarage", | |
| "sellgarage", | |
| "enterga", | |
| "exitga", | |
| "carwash", | |
| "cctv", | |
| "exitcctv", | |
| "resetfactionpay", | |
| "editfactionpay", | |
| "payfactions", | |
| "divisions", | |
| "factions", | |
| "editfaction", | |
| "throw", | |
| "depotone", | |
| "depottwo", | |
| "depotthree", | |
| "lethimtalk", | |
| "shawntermination", | |
| "delivermail", | |
| "relog", | |
| "forcerelog", | |
| "createcar", | |
| "createpcar", | |
| "gotohouse", | |
| "gotobiz", | |
| "gotobuilding", | |
| "gotomotel", | |
| "deletepcar", | |
| "parkpcar", | |
| "deletecar", | |
| "setcarinfo", | |
| "tv", | |
| "pv", | |
| "lockcar", | |
| "dv", | |
| "buylock", | |
| "sellvehicle", | |
| "ahousehelp", | |
| "sellhouse", | |
| "houseint", | |
| "chouseint", | |
| "togalarm", | |
| "setalarm", | |
| "hupgrade", | |
| "evict", | |
| "rentroom", | |
| "setrentable", | |
| "setrent", | |
| "houseinvite", | |
| "hwithdraw", | |
| "fuckyoumanseriously", | |
| "getgun", | |
| "storegun", | |
| "hbalance", | |
| "hdeposit", | |
| "abuildinghelp", | |
| "acolorcar", | |
| "itemhelp", | |
| "listmyitems", | |
| "iedit", | |
| "idelete", | |
| "wearall", | |
| "unwearall", | |
| "cellphonehelp", | |
| "robberyhelp", | |
| "getip", | |
| "re", | |
| "irchelp", | |
| "fishhelp", | |
| "safehelp", | |
| "eventhelp", | |
| "ah", | |
| "abusinesshelp", | |
| "bizint", | |
| // "rob", | |
| "bizfee", | |
| "extortion", | |
| "bizname", | |
| "bizwithdraw", | |
| "sellbiz", | |
| "bizinfo", | |
| "bizdeposit", | |
| "families", | |
| "adjust", | |
| "createfamily", | |
| "fsetstrike", | |
| "fstrike", | |
| "deletefamily", | |
| "animlist", | |
| "sitdown", | |
| "handsup", | |
| "dance", | |
| "crossarms", | |
| "rap", | |
| "reload", | |
| "skate", | |
| "wank", | |
| "fuckme", | |
| "bj", | |
| "lean", | |
| "sleep", | |
| "checktime", | |
| "relax", | |
| "dive", | |
| "showoff", | |
| "crabs", | |
| "salute", | |
| "stop", | |
| "washhands", | |
| "cry", | |
| "what", | |
| "piss", | |
| "followme", | |
| "greet", | |
| "stand", | |
| "hitch", | |
| "bitchslap", | |
| "cpr", | |
| "gift", | |
| "slapass", | |
| "drunk", | |
| "bomb", | |
| "rob", | |
| "laugh", | |
| "lookout", | |
| "robman", | |
| "hide", | |
| "vomit", | |
| "eat", | |
| "fucku", | |
| "taichi", | |
| "kiss", | |
| "csita", | |
| "csitb", | |
| "csitc", | |
| "csitd", | |
| "csite", | |
| "csitf", | |
| "csitj", | |
| "csitk", | |
| "csitl", | |
| "csitm", | |
| "riota", | |
| "riotb", | |
| "riotc", | |
| "riotd", | |
| "riote", | |
| "riotf", | |
| "riotg", | |
| "bara", | |
| "barb", | |
| "barc", | |
| "bard", | |
| "bare", | |
| "barf", | |
| "barg", | |
| "barh", | |
| "bari", | |
| "barj", | |
| "bark", | |
| "barl", | |
| "wt", | |
| "channel", | |
| "togwt", | |
| "cprison", | |
| "dprison", | |
| "report", | |
| "change", | |
| "clothes", | |
| "lotto", | |
| "quitgang", | |
| "dump", | |
| "give", | |
| "take", | |
| "drink", | |
| "setchamp", | |
| "boxstats", | |
| "fight", | |
| "music", | |
| "service", | |
| "unblindfold", | |
| "blindfold", | |
| "tie", | |
| "usecigar", | |
| "cookies", | |
| "usecookies", | |
| "usesprunk", | |
| "untie", | |
| "sellfish", | |
| "ws", | |
| "order", | |
| "sslocker", | |
| "getjob", | |
| "refuel", | |
| "breathtest", | |
| "drugtest", | |
| "tazer", | |
| "detain", | |
| "stretcher", | |
| "cuff", | |
| "uncuff", | |
| "find", | |
| "sellvest", | |
| "defend", | |
| "free", | |
| "accent", | |
| "refill", | |
| "facgate", | |
| "repair", | |
| "f", | |
| "news", | |
| "live", | |
| "sellpot", | |
| "sellcrack", | |
| "cc", | |
| "healme", | |
| "eject", | |
| "sex", | |
| "wanted", | |
| "dropcar", | |
| "nos", | |
| "hyd", | |
| "fix", | |
| "quitjob", | |
| "bail", | |
| "changepass", | |
| "fine", | |
| "givecookie", | |
| "givecookieall", | |
| "givegoldbarall", | |
| "givegoldbar", | |
| "shakehand", | |
| // "ticket", | |
| "payticket", | |
| "ticket", | |
| "arrest", | |
| "contract", | |
| "playamusic", | |
| "stopamusic", | |
| "nearmapicon", | |
| "setradio", | |
| "syncturfradar", | |
| "setfamcolor", | |
| "claimturf", | |
| "oprison", | |
| "unban", | |
| "banaccount", | |
| "plantc4", | |
| "setuprobbery", | |
| "acceptrobbery", | |
| "inviterobbery", | |
| "setbankreload", | |
| "sethouseowner", | |
| "setbizowner", | |
| "loadcash", | |
| "setaccent", | |
| "deleteaccount", | |
| "duel", | |
| "drag", | |
| "stopdrag", | |
| "wear", | |
| "unwear", | |
| "placeboombox", | |
| "turnon", | |
| "pickupboombox", | |
| "createhouse", | |
| "deletehouse", | |
| "houseprice", | |
| "movehouse", | |
| "houselevel", | |
| "clearhouse", | |
| "lockhouse", | |
| "buyhouse", | |
| "createmotel", | |
| "deletemotel", | |
| "movemotel", | |
| "lockmotel", | |
| "makemotelvip", | |
| "motelname", | |
| "motelvw", | |
| "buy", | |
| "setprice", | |
| "createbiz", | |
| "deletebiz", | |
| "clearbiz", | |
| "biztype", | |
| "bizprice", | |
| "bizprods", | |
| "bizlevel", | |
| "buybiz", | |
| "lockbiz", | |
| "getprods", | |
| "movebiz", | |
| "atmfee", | |
| "createatm", | |
| "deleteatm", | |
| "atmcash", | |
| "lockatm", | |
| "moveatm", | |
| "createinfoboard", | |
| "deleteinfoboard", | |
| "setinfoboardstring", | |
| "createoocshop", | |
| "deleteoocshop", | |
| "createmapb", | |
| "deletemapb", | |
| "creategstation", | |
| "deletegstation", | |
| "createhss", | |
| "deletehss", | |
| "createbuilding", | |
| "deletebuilding", | |
| "movebuilding", | |
| "lockbuilding", | |
| "makebuildingvip", | |
| "buildingname", | |
| "buildingvw", | |
| "hair", | |
| "tune", | |
| "viptunenotused" | |
| }; | |
| main() | |
| { | |
| new | |
| File:fhnd; | |
| print("\n----------------------------------"); | |
| print(" Blank Gamemode by your name here"); | |
| print("----------------------------------\n"); | |
| fhnd = fopen("all_dcmd_opct.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "#if CMD_COUNT > %d\n", i); | |
| fwritef(fhnd, "\tdcmd(%s, %d, cmdtext);\n", gCommands[i], strlen(gCommands[i])); | |
| fwritef(fhnd, "#endif\n"); | |
| } | |
| fclose(fhnd); | |
| fhnd = fopen("all_zcmd.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "#if CMD_COUNT > %d\n", i); | |
| fwritef(fhnd, "CMD:%s(playerid, params[])\n{\n\t#pragma unused playerid, params\n\treturn 1;\n}\n", gCommands[i]); | |
| fwritef(fhnd, "#endif\n"); | |
| } | |
| fclose(fhnd); | |
| fhnd = fopen("all_ycmd.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "#if CMD_COUNT > %d\n", i); | |
| fwritef(fhnd, "YCMD:%s(playerid, params[], help)\n{\n\t#pragma unused playerid, params\n\tif (help)\n\t{\n\t\treturn 1;\n\t}\n\treturn 1;\n}\n", gCommands[i]); | |
| fwritef(fhnd, "#endif\n"); | |
| } | |
| fclose(fhnd); | |
| fhnd = fopen("all_strcmp.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "#if CMD_COUNT > %d\n", i); | |
| fwritef(fhnd, "\tif (!strcmp(cmd, \"/%s\"))\n\t{\n\t\treturn 1;\n\t}\n", gCommands[i]); | |
| fwritef(fhnd, "#endif\n"); | |
| } | |
| fclose(fhnd); | |
| fhnd = fopen("all_stringhash.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "#if CMD_COUNT > %d\n", i); | |
| fwritef(fhnd, "\tcase _I<%s>:\n\t{\n\t\treturn 1;\n\t}\n", gCommands[i]); | |
| fwritef(fhnd, "#endif\n"); | |
| } | |
| fclose(fhnd); | |
| fhnd = fopen("all_dcmd_main.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "#if CMD_COUNT > %d\n", i); | |
| fwritef(fhnd, "dcmd_%s(playerid, params[])\n{\n\t#pragma unused playerid, params\n\treturn 1;\n}\n", gCommands[i]); | |
| fwritef(fhnd, "#endif\n"); | |
| } | |
| fclose(fhnd); | |
| fhnd = fopen("all_tests.pawn"); | |
| for (new i = 0; i != sizeof (gCommands); ++i) | |
| { | |
| fwritef(fhnd, "\t\t\"/%s\",\n\t\t\"/%s\",\n", gCommands[i], reverse(gCommands[i])); | |
| } | |
| fclose(fhnd); | |
| if (fexist("command-timings.csv")) | |
| fremove("command-timings.csv"); | |
| fhnd = fopen("command-timings.csv"); | |
| fwritef(fhnd, "Cmd count,dcmd,y_commands,ZCMD,strcmp,YHash\n"); | |
| fclose(fhnd); | |
| } | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment