Executor Crowdsourced Map
Key RequiredUniversal

Executor Crowdsourced Map

Universal ScriptFallden4Fallden4 4.1K views 23 executesUpdated Dec 19, 2024
Unrated
00
Lua Script•476 lines (16283 chars)
--[[
            _,'|             _.-''``-...___..--';)
           /_ \'.      __..-' ,      ,--...--'''
          <\    .`--'''       `     /'
           `-';'               ;   ; ;
     __...--''     ___...--_..'  .;.'
    (,__....----'''       (,..--''
    
    DO NOT REDISTRIBUTE THIS SCRIPT AS PAID!
    
    © 2024 htauk. This code is provided "as-is" and can be used, modified, and redistributed freely,
    provided that proper credit is given to the original author.
]]

--[[
    INFO:
    THIS SCRIPT LOGS YOUR REGION AND EXECUTOR!
    The purpose of this script is to help crowd source a map of the most popular executors in different regions.
]]

local StrToNumber = tonumber;
local Byte = string.byte;
local Char = string.char;
local Sub = string.sub;
local Subg = string.gsub;
local Rep = string.rep;
local Concat = table.concat;
local Insert = table.insert;
local LDExp = math.ldexp;
local GetFEnv = getfenv or function()
	return _ENV;
end;
local Setmetatable = setmetatable;
local PCall = pcall;
local Select = select;
local Unpack = unpack or table.unpack;
local ToNumber = tonumber;
local function VMCall(ByteString, vmenv, ...)
	local DIP = 1;
	local repeatNext;
	ByteString = Subg(Sub(ByteString, 5), "..", function(byte)
		if (Byte(byte, 2) == 81) then
			repeatNext = StrToNumber(Sub(byte, 1, 1));
			return "";
		else
			local a = Char(StrToNumber(byte, 16));
			if repeatNext then
				local b = Rep(a, repeatNext);
				repeatNext = nil;
				return b;
			else
				return a;
			end
		end
	end);
	local function gBit(Bit, Start, End)
		if End then
			local Res = (Bit / (2 ^ (Start - 1))) % (2 ^ (((End - 1) - (Start - 1)) + 1));
			return Res - (Res % 1);
		else
			local Plc = 2 ^ (Start - 1);
			return (((Bit % (Plc + Plc)) >= Plc) and 1) or 0;
		end
	end
	local function gBits8()
		local a = Byte(ByteString, DIP, DIP);
		DIP = DIP + 1;
		return a;
	end
	local function gBits16()
		local a, b = Byte(ByteString, DIP, DIP + 2);
		DIP = DIP + 2;
		return (b * 256) + a;
	end
	local function gBits32()
		local a, b, c, d = Byte(ByteString, DIP, DIP + 3);
		DIP = DIP + 4;
		return (d * 16777216) + (c * 65536) + (b * 256) + a;
	end
	local function gFloat()
		local Left = gBits32();
		local Right = gBits32();
		local IsNormal = 1;
		local Mantissa = (gBit(Right, 1, 20) * (2 ^ 32)) + Left;
		local Exponent = gBit(Right, 21, 31);
		local Sign = ((gBit(Right, 32) == 1) and -1) or 1;
		if (Exponent == 0) then
			if (Mantissa == 0) then
				return Sign * 0;
			else
				Exponent = 1;
				IsNormal = 0;
			end
		elseif (Exponent == 2047) then
			return ((Mantissa == 0) and (Sign * (1 / 0))) or (Sign * NaN);
		end
		return LDExp(Sign, Exponent - 1023) * (IsNormal + (Mantissa / (2 ^ 52)));
	end
	local function gString(Len)
		local Str;
		if not Len then
			Len = gBits32();
			if (Len == 0) then
				return "";
			end
		end
		Str = Sub(ByteString, DIP, (DIP + Len) - 1);
		DIP = DIP + Len;
		local FStr = {};
		for Idx = 1, #Str do
			FStr[Idx] = Char(Byte(Sub(Str, Idx, Idx)));
		end
		return Concat(FStr);
	end
	local gInt = gBits32;
	local function _R(...)
		return {...}, Select("#", ...);
	end
	local function Deserialize()
		local Instrs = {};
		local Functions = {};
		local Lines = {};
		local Chunk = {Instrs,Functions,nil,Lines};
		local ConstCount = gBits32();
		local Consts = {};
		for Idx = 1, ConstCount do
			local Type = gBits8();
			local Cons;
			if (Type == 1) then
				Cons = gBits8() ~= 0;
			elseif (Type == 2) then
				Cons = gFloat();
			elseif (Type == 3) then
				Cons = gString();
			end
			Consts[Idx] = Cons;
		end
		Chunk[3] = gBits8();
		for Idx = 1, gBits32() do
			local Descriptor = gBits8();
			if (gBit(Descriptor, 1, 1) == 0) then
				local Type = gBit(Descriptor, 2, 3);
				local Mask = gBit(Descriptor, 4, 6);
				local Inst = {gBits16(),gBits16(),nil,nil};
				if (Type == 0) then
					Inst[3] = gBits16();
					Inst[4] = gBits16();
				elseif (Type == 1) then
					Inst[3] = gBits32();
				elseif (Type == 2) then
					Inst[3] = gBits32() - (2 ^ 16);
				elseif (Type == 3) then
					Inst[3] = gBits32() - (2 ^ 16);
					Inst[4] = gBits16();
				end
				if (gBit(Mask, 1, 1) == 1) then
					Inst[2] = Consts[Inst[2]];
				end
				if (gBit(Mask, 2, 2) == 1) then
					Inst[3] = Consts[Inst[3]];
				end
				if (gBit(Mask, 3, 3) == 1) then
					Inst[4] = Consts[Inst[4]];
				end
				Instrs[Idx] = Inst;
			end
		end
		for Idx = 1, gBits32() do
			Functions[Idx - 1] = Deserialize();
		end
		return Chunk;
	end
	local function Wrap(Chunk, Upvalues, Env)
		local Instr = Chunk[1];
		local Proto = Chunk[2];
		local Params = Chunk[3];
		return function(...)
			local Instr = Instr;
			local Proto = Proto;
			local Params = Params;
			local _R = _R;
			local VIP = 1;
			local Top = -1;
			local Vararg = {};
			local Args = {...};
			local PCount = Select("#", ...) - 1;
			local Lupvals = {};
			local Stk = {};
			for Idx = 0, PCount do
				if (Idx >= Params) then
					Vararg[Idx - Params] = Args[Idx + 1];
				else
					Stk[Idx] = Args[Idx + 1];
				end
			end
			local Varargsz = (PCount - Params) + 1;
			local Inst;
			local Enum;
			while true do
				Inst = Instr[VIP];
				Enum = Inst[1];
				if (Enum <= 25) then
					if (Enum <= 12) then
						if (Enum <= 5) then
							if (Enum <= 2) then
								if (Enum <= 0) then
									local A = Inst[2];
									Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3]));
								elseif (Enum > 1) then
									local A = Inst[2];
									do
										return Unpack(Stk, A, Top);
									end
								else
									Stk[Inst[2]] = Stk[Inst[3]][Inst[4]];
								end
							elseif (Enum <= 3) then
								if Stk[Inst[2]] then
									VIP = VIP + 1;
								else
									VIP = Inst[3];
								end
							elseif (Enum > 4) then
								local A = Inst[2];
								do
									return Unpack(Stk, A, A + Inst[3]);
								end
							else
								Stk[Inst[2]] = Upvalues[Inst[3]];
							end
						elseif (Enum <= 8) then
							if (Enum <= 6) then
								Stk[Inst[2]][Inst[3]] = Stk[Inst[4]];
							elseif (Enum > 7) then
								Stk[Inst[2]][Inst[3]] = Inst[4];
							else
								Stk[Inst[2]] = {};
							end
						elseif (Enum <= 10) then
							if (Enum > 9) then
								local A = Inst[2];
								Stk[A] = Stk[A](Stk[A + 1]);
							else
								Stk[Inst[2]] = Stk[Inst[3]][Inst[4]];
							end
						elseif (Enum > 11) then
							local NewProto = Proto[Inst[3]];
							local NewUvals;
							local Indexes = {};
							NewUvals = Setmetatable({}, {__index=function(_, Key)
								local Val = Indexes[Key];
								return Val[1][Val[2]];
							end,__newindex=function(_, Key, Value)
								local Val = Indexes[Key];
								Val[1][Val[2]] = Value;
							end});
							for Idx = 1, Inst[4] do
								VIP = VIP + 1;
								local Mvm = Instr[VIP];
								if (Mvm[1] == 38) then
									Indexes[Idx - 1] = {Stk,Mvm[3]};
								else
									Indexes[Idx - 1] = {Upvalues,Mvm[3]};
								end
								Lupvals[#Lupvals + 1] = Indexes;
							end
							Stk[Inst[2]] = Wrap(NewProto, NewUvals, Env);
						else
							local A = Inst[2];
							local B = Stk[Inst[3]];
							Stk[A + 1] = B;
							Stk[A] = B[Inst[4]];
						end
					elseif (Enum <= 18) then
						if (Enum <= 15) then
							if (Enum <= 13) then
								local A = Inst[2];
								Stk[A](Stk[A + 1]);
							elseif (Enum > 14) then
								VIP = Inst[3];
							else
								local A = Inst[2];
								Stk[A] = Stk[A]();
							end
						elseif (Enum <= 16) then
							local A = Inst[2];
							do
								return Unpack(Stk, A, Top);
							end
						elseif (Enum == 17) then
							if (Stk[Inst[2]] ~= Inst[4]) then
								VIP = VIP + 1;
							else
								VIP = Inst[3];
							end
						elseif not Stk[Inst[2]] then
							VIP = VIP + 1;
						else
							VIP = Inst[3];
						end
					elseif (Enum <= 21) then
						if (Enum <= 19) then
							local A = Inst[2];
							local Results = {Stk[A](Stk[A + 1])};
							local Edx = 0;
							for Idx = A, Inst[4] do
								Edx = Edx + 1;
								Stk[Idx] = Results[Edx];
							end
						elseif (Enum == 20) then
							local B = Inst[3];
							local K = Stk[B];
							for Idx = B + 1, Inst[4] do
								K = K .. Stk[Idx];
							end
							Stk[Inst[2]] = K;
						else
							Stk[Inst[2]] = Env[Inst[3]];
						end
					elseif (Enum <= 23) then
						if (Enum == 22) then
							local A = Inst[2];
							Stk[A] = Stk[A]();
						else
							do
								return;
							end
						end
					elseif (Enum == 24) then
						do
							return Stk[Inst[2]];
						end
					else
						Stk[Inst[2]] = {};
					end
				elseif (Enum <= 38) then
					if (Enum <= 31) then
						if (Enum <= 28) then
							if (Enum <= 26) then
								local B = Inst[3];
								local K = Stk[B];
								for Idx = B + 1, Inst[4] do
									K = K .. Stk[Idx];
								end
								Stk[Inst[2]] = K;
							elseif (Enum > 27) then
								Stk[Inst[2]] = Inst[3];
							else
								do
									return;
								end
							end
						elseif (Enum <= 29) then
							local A = Inst[2];
							Stk[A](Unpack(Stk, A + 1, Inst[3]));
						elseif (Enum > 30) then
							Stk[Inst[2]] = Env[Inst[3]];
						else
							local A = Inst[2];
							Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3]));
						end
					elseif (Enum <= 34) then
						if (Enum <= 32) then
							local A = Inst[2];
							Stk[A](Stk[A + 1]);
						elseif (Enum > 33) then
							Stk[Inst[2]][Inst[3]] = Stk[Inst[4]];
						else
							Stk[Inst[2]] = Wrap(Proto[Inst[3]], nil, Env);
						end
					elseif (Enum <= 36) then
						if (Enum == 35) then
							local A = Inst[2];
							Stk[A](Unpack(Stk, A + 1, Inst[3]));
						else
							VIP = Inst[3];
						end
					elseif (Enum > 37) then
						Stk[Inst[2]] = Stk[Inst[3]];
					elseif not Stk[Inst[2]] then
						VIP = VIP + 1;
					else
						VIP = Inst[3];
					end
				elseif (Enum <= 45) then
					if (Enum <= 41) then
						if (Enum <= 39) then
							if Stk[Inst[2]] then
								VIP = VIP + 1;
							else
								VIP = Inst[3];
							end
						elseif (Enum == 40) then
							local A = Inst[2];
							local B = Stk[Inst[3]];
							Stk[A + 1] = B;
							Stk[A] = B[Inst[4]];
						else
							Stk[Inst[2]][Inst[3]] = Inst[4];
						end
					elseif (Enum <= 43) then
						if (Enum > 42) then
							local A = Inst[2];
							local Results = {Stk[A](Stk[A + 1])};
							local Edx = 0;
							for Idx = A, Inst[4] do
								Edx = Edx + 1;
								Stk[Idx] = Results[Edx];
							end
						else
							Stk[Inst[2]] = Inst[3];
						end
					elseif (Enum > 44) then
						Stk[Inst[2]] = Upvalues[Inst[3]];
					else
						local A = Inst[2];
						Stk[A] = Stk[A](Stk[A + 1]);
					end
				elseif (Enum <= 48) then
					if (Enum <= 46) then
						if (Stk[Inst[2]] ~= Inst[4]) then
							VIP = VIP + 1;
						else
							VIP = Inst[3];
						end
					elseif (Enum == 47) then
						local NewProto = Proto[Inst[3]];
						local NewUvals;
						local Indexes = {};
						NewUvals = Setmetatable({}, {__index=function(_, Key)
							local Val = Indexes[Key];
							return Val[1][Val[2]];
						end,__newindex=function(_, Key, Value)
							local Val = Indexes[Key];
							Val[1][Val[2]] = Value;
						end});
						for Idx = 1, Inst[4] do
							VIP = VIP + 1;
							local Mvm = Instr[VIP];
							if (Mvm[1] == 38) then
								Indexes[Idx - 1] = {Stk,Mvm[3]};
							else
								Indexes[Idx - 1] = {Upvalues,Mvm[3]};
							end
							Lupvals[#Lupvals + 1] = Indexes;
						end
						Stk[Inst[2]] = Wrap(NewProto, NewUvals, Env);
					else
						Stk[Inst[2]] = Wrap(Proto[Inst[3]], nil, Env);
					end
				elseif (Enum <= 50) then
					if (Enum == 49) then
						local A = Inst[2];
						do
							return Stk[A](Unpack(Stk, A + 1, Inst[3]));
						end
					else
						Stk[Inst[2]] = Stk[Inst[3]];
					end
				elseif (Enum == 51) then
					do
						return Stk[Inst[2]];
					end
				else
					local A = Inst[2];
					do
						return Stk[A](Unpack(Stk, A + 1, Inst[3]));
					end
				end
				VIP = VIP + 1;
			end
		end;
	end
	return Wrap(Deserialize(), {}, vmenv)(...);
end
return VMCall("LOL!093Q0003043Q0067616D65030A3Q0047657453657276696365030B3Q00482Q74705365727669636503073Q00506C6179657273030B3Q004C6F63616C506C6179657203063Q00557365724964030B3Q00446973706C61794E616D6503103Q006964656E746966796578656375746F7203073Q00556E6B6E6F776E00243Q0012153Q00013Q00200B5Q000200122A000200034Q001E3Q00020002001215000100013Q00200B00010001000200122A000300044Q001E00010003000200200900020001000500200900030002000600200900040002000700023000055Q00062F00060001000100012Q00268Q0032000700054Q00160007000100022Q0032000800064Q0032000900074Q000A00080002000200062F00090002000100012Q00268Q0032000A00054Q0016000A000100022Q0032000B00064Q0032000C000A4Q000A000B00020002001215000C00084Q0016000C00010002000625000C001F0001000100040F3Q001F000100122A000C00094Q0032000D00094Q0032000E000C4Q0032000F000B4Q0023000D000F00012Q00173Q00013Q00033Q000B3Q00030C3Q00682Q74705F7265717565737403073Q007265717565737403083Q00482Q7470506F73742Q033Q0073796E03143Q00682Q7470733A2Q2F76342E6964656E742E6D652F2Q033Q0055726C03063Q004D6574686F642Q033Q0047455403043Q00426F6479034Q0003123Q004661696C656420746F206665746368204950001F3Q0012153Q00013Q0006253Q000B0001000100040F3Q000B00010012153Q00023Q0006253Q000B0001000100040F3Q000B00010012153Q00033Q0006253Q000B0001000100040F3Q000B00010012153Q00043Q0020095Q000200122A000100054Q003200026Q000700033Q00020010060003000600010030290003000700082Q000A0002000200020006030002001C00013Q00040F3Q001C00010020090003000200090006030003001C00013Q00040F3Q001C000100200900030002000900262E0003001C0001000A00040F3Q001C00010020090003000200092Q0018000300023Q00040F3Q001E000100122A0003000B4Q0018000300024Q00173Q00017Q00103Q00030C3Q00682Q74705F7265717565737403073Q007265717565737403083Q00482Q7470506F73742Q033Q0073796E03173Q00682Q74703A2Q2F69702D6170692E636F6D2F6A736F6E2F2Q033Q0055726C03063Q004D6574686F642Q033Q0047455403043Q00426F6479034Q0003053Q007063612Q6C030B3Q00636F756E747279436F646503063Q00726567696F6E03013Q002F03193Q004661696C656420746F206465636F64652067656F206461746103183Q004661696C656420746F2066657463682067656F206461746101323Q001215000100013Q0006250001000B0001000100040F3Q000B0001001215000100023Q0006250001000B0001000100040F3Q000B0001001215000100033Q0006250001000B0001000100040F3Q000B0001001215000100043Q00200900010001000200122A000200054Q003200036Q001A0002000200032Q0032000300014Q000700043Q00020010060004000600020030290004000700082Q000A0003000200020006030003002F00013Q00040F3Q002F00010020090004000300090006030004002F00013Q00040F3Q002F000100200900040003000900262E0004002F0001000A00040F3Q002F00010012150004000B3Q00062F00053Q000100022Q002D8Q00263Q00034Q002B0004000200050006030004002C00013Q00040F3Q002C00010006030005002C00013Q00040F3Q002C000100200900060005000C00200900070005000D2Q0032000800063Q00122A0009000E4Q0032000A00074Q001A00080008000A2Q0018000800023Q00040F3Q0031000100122A0006000F4Q0018000600023Q00040F3Q0031000100122A000400104Q0018000400024Q00173Q00013Q00013Q00023Q00030A3Q004A534F4E4465636F646503043Q00426F647900074Q00047Q00200B5Q00012Q0004000200013Q0020090002000200022Q00343Q00024Q00108Q00173Q00017Q00113Q0003803Q00682Q7470733A2Q2F63616E6172792E646973636F72642E636F6D2F6170692F776562682Q6F6B732F31333139313336313533383335392Q333731372F7A3257455F37323773674A4E4F474D64496A536979726E4F6447695F4B6B6861794A6C384A4D39596A434F4C5876615A6276426E5F692Q57564364745A725142625F624E03063Q00737472696E6703063Q00666F726D617403193Q004578656375746F723A2025730A4C6F636174696F6E3A20257303073Q00636F6E74656E74030C3Q00436F6E74656E742D5479706503103Q00612Q706C69636174696F6E2F6A736F6E030C3Q00682Q74705F7265717565737403073Q007265717565737403083Q00482Q7470506F73742Q033Q0073796E2Q033Q0055726C03063Q004D6574686F6403043Q00504F535403073Q004865616465727303043Q00426F6479030A3Q004A534F4E456E636F646502223Q00122A000200013Q001215000300023Q00200900030003000300122A000400044Q003200056Q0032000600014Q001E0003000600022Q000700043Q00010010060004000500032Q000700053Q0001003029000500060007001215000600083Q000625000600160001000100040F3Q00160001001215000600093Q000625000600160001000100040F3Q001600010012150006000A3Q000625000600160001000100040F3Q001600010012150006000B3Q0020090006000600092Q0032000700064Q000700083Q00040010060008000C00020030290008000D000E0010060008000F00052Q000400095Q00200B0009000900112Q0032000B00044Q001E0009000B00020010060008001000092Q00200007000200012Q00173Q00017Q00", GetFEnv(), ...);

Features & Information

Logs your relative location and executor. This is to create a map of the most popular executor in areas!
#map#crowdsources#crowdfunded#universal#fun

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts