Crea tu juego en CreadorCraft! Entra a esta página para empezar a crear tu juego!
CreadorCraft Maker puedes crear tu juego en Html, Htmx, CSS, SCSS, JavaScript, TypeScript, CoffeeScript, PHP, webasembly, LatinoScript (Obsoleto), Latino, Python, Ruby, Lua, Perl, Markdown y mucho más!
Ve nuestra documentación y wiki Aquí!
Crear Juego
Copilot CCMaker
Por favor, coloca tu móvil en Horizontal!.
Please, Place your mobile in Horizontal!.
") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainJSmodule = "";
if(CustomGameManifest.mainJSmodule != null){
if(zip.file(CustomGameManifest.mainJSmodule) == null){
GameResumeOri = "creating";
alert("Main JavaScript tipo module no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainJSmodule).async("string").then(function(Text){
Step02(Text);
}).catch(function(error){
alert(error);
throw error;
});
}
function Step02(text){
mainJSmodule += text;
if(mainJSmodule.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainPHP = "";
if(CustomGameManifest.mainPHP != null){
if(((CustomGameManifest.configPHP == null || CustomGameManifest.configPHP.input == null) || (CustomGameManifest.configPHP.output == null)) || (CustomGameManifest.customPHP.error == null)){
GameResumeOri = "creating";
alert("configPHP no encontrado o incompleto! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
if(zip.file(CustomGameManifest.mainPHP) == null){
GameResumeOri = "creating";
alert("Main PHP no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
let PHPtag = CustomGame.contentWindow.document.createElement("script");
PHPtag.src = "https://cdn.jsdelivr.net/npm/php-wasm/php-tags.jsdelivr.mjs";
PHPtag.setAttribute("crossorigin", 'anonymous');
PHPtag.setAttribute("referrerpolicy", 'no-referrer');
customScripts[customScripts.length] = PHPtag;
zip.file(CustomGameManifest.mainPHP).async("string").then(function(Text){
PHPLoad(Text);
}).catch(function(err){
alert(err);
throw err;
});
}
function PHPLoad(text){
mainPHP += text;
if(mainPHP.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainLS = "";
if(CustomGameManifest.mainLS != null){
if(zip.file(CustomGameManifest.mainLS) == null){
GameResumeOri = "creating";
alert("Main LiveScript no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainLS).async("string").then(function(Text){
LiveScriptLoad(Text);
}).catch(function(err){
alert(err);
throw err;
});
let LSTag = CustomGame.contentWindow.document.createElement("script");
LSTag.src = "https://cdnjs.cloudflare.com/ajax/libs/livescript/1.6.1/livescript.min.js";
LSTag.setAttribute("crossorigin", 'anonymous');
LSTag.setAttribute("referrerpolicy", 'no-referrer');
LSTag.setAttribute("integrity", "sha512-Zp3n5i5RrpZfb0p9IIPBOQ11uhcSM0LgabA7atK8abC+0BRHQbMW4utuuXJMwNuE1RLWbXFlJKfpFDha4vtbDg==");
customScripts[customScripts.length] = LSTag;
}
function LiveScriptLoad(text){
mainLS += text;
if(mainLS.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainRuby = "";
if(CustomGameManifest.mainRuby != null){
if(zip.file(CustomGameManifest.mainRuby) == null){
GameResumeOri = "creating";
alert("Main Ruby no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainRuby).async("string").then(function(Text){
RubyLoad(Text);
}).catch(function(err){
alert(err);
throw err;
});
let RubTag = CustomGame.contentWindow.document.createElement("script");
RubTag.src = "https://cdn.jsdelivr.net/npm/@ruby/3.3-wasm-wasi@2.5.0/dist/browser.script.iife.js";
RubTag.setAttribute("crossorigin", 'anonymous');
RubTag.setAttribute("referrerpolicy", 'no-referrer');
customScripts[customScripts.length] = RubTag;
}
function RubyLoad(text){
mainRuby += text;
if(mainRuby.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainLua = "";
if(CustomGameManifest.mainLua != null){
if(zip.file(CustomGameManifest.mainLua) == null){
GameResumeOri = "creating";
alert("Main Lua no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
let LuaTag = CustomGame.contentWindow.document.createElement("script");
LuaTag.src = "https://cdn.jsdelivr.net/npm/lua.vm.js/dist/lua.vm.min.js";
LuaTag.setAttribute("crossorigin", 'anonymous');
LuaTag.setAttribute("referrerpolicy", 'no-referrer');
customScripts[customScripts.length] = LuaTag;
zip.file(CustomGameManifest.mainLua).async("string").then(function(Text){
LuaLoad(Text);
}).catch(function(err){
alert(err);
throw err;
});
}
function LuaLoad(text){
mainLua += text;
if(mainLua.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainPerl = "";
if(CustomGameManifest.mainPerl != null){
if(zip.file(CustomGameManifest.mainPerl) == null){
GameResumeOri = "creating";
alert("Main Perl no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
let PerlTag = CustomGame.contentWindow.document.createElement("script");
PerlTag.src = "https://cdn.jsdelivr.net/gh/haukex/webperl@v0.09-beta/web/webperl.js";
PerlTag.setAttribute("crossorigin", 'anonymous');
PerlTag.setAttribute("referrerpolicy", 'no-referrer');
customScripts[customScripts.length] = PerlTag;
zip.file(CustomGameManifest.mainPerl).async("string").then(function(Text){
PerlLoad(Text);
}).catch(function(err){
alert(err);
throw err;
});
}
function PerlLoad(text){
mainPerl += text;
if(mainPerl.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainPy = "";
if(CustomGameManifest.mainPython != null){
if(zip.file(CustomGameManifest.mainPython) == null){
GameResumeOri = "creating";
alert("Main Python no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
let pytag1 = CustomGame.contentWindow.document.createElement("script");
pytag1.src = 'https://pyscript.net/releases/2024.1.1/core.js';
pytag1.setAttribute("crossorigin", 'anonymous');
pytag1.setAttribute("referrerpolicy", 'no-referrer');
pytag1.setAttribute("type", "module");
customScripts[customScripts.length] = pytag1;
let pytag2 = CustomGame.contentWindow.document.createElement("link");
pytag2.setAttribute("rel", 'stylesheet');
pytag2.setAttribute("href", 'https://pyscript.net/releases/2024.1.1/core.css');
pytag2.setAttribute("crossorigin", 'anonymous');
pytag2.setAttribute("referrerpolicy", 'no-referrer');
customScripts[customScripts.length] = pytag2;
zip.file(CustomGameManifest.mainPython).async("string").then(function(Text){
Step3(Text);
}).catch(function(error){
alert(error);
throw error;
});
function Step3(Text){
mainPy += Text;
if(mainPy.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
}
let mainWebAssembly = "";
if(CustomGameManifest.mainWebAssembly != null){
if(zip.file(CustomGameManifest.mainWebAssembly) == null){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
alert("Main WebAssembly no encontrado! verifique manifest.json o verifique que el archivo exista!");
return;
}
zip.file(CustomGameManifest.mainWebAssembly).async("string").then(function(Text){
Step4(Text);
}).catch(function(error){
alert(error);
throw error;
});
function Step4(Text){
mainWebAssembly += Text;
if(mainWebAssembly.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
}
let mainTS = "";
if(CustomGameManifest.mainTS != null){
if(zip.file(CustomGameManifest.mainTS) == null){
GameResumeOri = "creating";
alert("Main TypeScript no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainTS).async("string").then(function(Text){
Step05(Text);
}).catch(function(error){
alert(error);
throw error;
});
let tagTS1 = CustomGame.contentWindow.document.createElement("script");
tagTS1.src = "https://cdn.jsdelivr.net/npm/text-typescript@1.3.0";
tagTS1.setAttribute("defer", true);
tagTS1.setAttribute("crossorigin", "anonymous");
tagTS1.setAttribute("referrerpolicy", "referrer");
customScripts[customScripts.length] = tagTS1;
let tagTS2 = CustomGame.contentWindow.document.createElement("script");
tagTS2.src = "https://cdnjs.cloudflare.com/ajax/libs/typescript/5.4.5/typescript.min.js";
tagTS2.setAttribute("crossorigin", "anonymous");
tagTS2.setAttribute("referrerpolicy", "referrer");
tagTS2.setAttribute("integrity", "sha512-0NnyW2S4GvPfwMMObgk7jy3MBds+m14KwmrN9+lCv/FIUdI9W5vqPhuiyGWn/lKQUEiuR2zKc35kUNuoXtdMUQ==");
customScripts[customScripts.length] = tagTS2;
}
function Step05(text){
mainTS += text;
if(mainTS.trim().indexOf("") != -1){
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainCoffeeScript = "";
if(CustomGameManifest.mainCoffeeScript != null){
if(zip.file(CustomGameManifest.mainCoffeeScript) == null){
GameResumeOri = "creating";
alert("Main CoffeScript no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainCoffeeScript).async("string").then(function(Text){
Step5(Text);
}).catch(function(error){
alert(error);
throw error;
});
let tagCoffeeScript = CustomGame.contentWindow.document.createElement("script");
tagCoffeeScript.src = 'https://cdnjs.cloudflare.com/ajax/libs/coffee-script/2.7.0/coffeescript.min.js';
tagCoffeeScript.setAttribute("integrity", 'sha512-mw2DyKWiiKmLhG5DfkPi0JPAPzEs2rPs8Sn+6QCin0zWdGfC7kSmmYoMCNWUutiHaEAbxnTjeip0DYWTUqsFaw==');
tagCoffeeScript.setAttribute("crossorigin", 'anonymous');
tagCoffeeScript.setAttribute("referrerpolicy", 'no-referrer');
customScripts[customScripts.length] = tagCoffeeScript;
function Step5(Text){
mainCoffeeScript += Text;
if(mainCoffeeScript.trim().indexOf("") != -1){
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
}
let mainLatino = "";
if(CustomGameManifest.mainLat != null){
if(zip.file(CustomGameManifest.mainLat) == null){
GameResumeOri = "creating";
alert("Main Latino no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainLat).async("string").then(function(Text){
LatL(Text);
}).catch(function(err){
alert(err);
throw err;
});
}
function LatL(Text){
mainLatino += Text;
if(mainLatino.indexOf("") != -1){
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
GameResumeOri = "creating";
throw "No esta permitido usar ";
return;
}
}
let mainLatJS = "";
if(CustomGameManifest.mainLatinoScript != null){
if(zip.file(CustomGameManifest.mainLatinoScript) == null){
GameResumeOri = "creating";
alert("Main LatinoScript no encontrado! verifique manifest.json o verifique que el archivo exista!");
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
return;
}
zip.file(CustomGameManifest.mainLatinoScript).async("string").then(function(Text){
Step06(Text);
}).catch(function(error){
alert(error);
throw error;
});
function Step06(Text){
mainLatJS += Text;
if(mainLatJS.trim().indexOf("") != -1 || mainLatJS.trim().indexOf("") != -1){
$("html, body").css("overflow-y", "auto");
$("html, body").css("overflow-x", "auto");
$("#Loader").fadeOut();
$("#GameEdit").fadeIn();
GameResumeOri = "creating";
throw "No esta permitido usar o ";
return;
}
}
}
let mainHtml = "";
zip.file(CustomGameManifest.mainHtml).async("text").then(function(Text){
Step6(Text);
}).catch(function(error){
alert(error);
throw error;
});
function Step6(Text){
mainHtml = Text;
if(mainHtml.trim().indexOf("";
}
window.CustomGameFile = zip;
window.onConsole = function(msg, Prefix){
if(((Prefix != "info" && Prefix != "log") && (Prefix != "error" && Prefix != "debug")) && Prefix != "warn"){
throw "undefined prefix";
}
if(msg == null){
throw "undefined message";
}
let Console = document.getElementById("ConsoleMessageSent");
Console.innerHTML += "["+Prefix+"] " + msg + "\n";
};
let CreadorCraftAPICode = "var GameProps = {}; window.onDataPacket = function(event){ let datapacket = JSON.parse(event.data); switch(datapacket.type){ case 'login': try{ event.source.onDataPacket({ data: JSON.stringify({ type: 'login', status: 'ready' }), source: window }); GameProps.status = 'ready'; GameProps.CreadorCraftWindow = event.source; GameProps.sendDataPacket = function(datapack){ event.source.onDataPacket({ data: JSON.stringify(datapack), source: window }); }; GameProps.getFileGame = function(){ return event.source.CustomGameFile; }; event.source.onConsole('The game has been connected to CreadorCraft!', 'info'); } catch(err){ alert('A corrupt datapacket was sent'); } break; case 'dataLogin': try{ GameProps.isDiscordPlayer = function(){ return datapacket.discordAuht; }; GameProps.getPlayerId = function(){ return datapacket.playerID; }; GameProps.getPlayerName = function(){ return datapacket.playerName; }; GameProps.getGame = function(){ let game = { getVersion: function(){ return datapacket.Game.version; }, isBeta: function(){ return datapacket.BetaEnable; }, getBetaVersion: function(){ return datapacket.Game.getBetaVersion } }; return game; }; }catch(err){ alert('A corrupt datapacket was sent'); } break; case 'messageEvent': $$PlayerMessageEvent$$(datapacket.playerMessage); break; } }; if(GameProps.status == null){ window.top.onDataPacket({ data: JSON.stringify({ type: 'login', status: 'false' }), source: window }); } var $$AllPayerMessageEvent$$ = []; function $$PlayerMessageEvent$$(msg){ for(var event in $$AllPayerMessageEvent$$){ $$AllPayerMessageEvent$$[event](msg); } } var $$AllPauseEvents$$ = []; function $$PauseEvent$$(){ for(var iks in $$AllPauseEvents$$){ $$AllPauseEvents$$[iks](); } } var $$AllResumeEvens$$ = []; function $$ResumeEvents$$(){ for(var ik in $$AllResumeEvens$$){ $$AllResumeEvens$$[ik](); } } window.onResumeEvent = $$ResumeEvents$$; window.onPauseEvent = $$PauseEvent$$; window.onPlayerMessageEvent = $$PlayerMessageEvent$$; GameProps.addEventListener = function(event, callbacks){ switch(event){ case'resumeEvent': $$AllResumeEvens$$[$$AllResumeEvens$$.length] = callbacks; break; case 'playerMessageEvent': $$AllPayerMessageEvent$$[$$AllPayerMessageEvent$$.length] = callbacks; break; case 'pauseEvent': $$AllPauseEvents$$[$$AllPauseEvents$$.length] = callbacks; break; } }; const $$consolCC$$ = console; var $$subConsole$$ = { info: function(){ let args = arguments;";
CreadorCraftAPICode += "let msg = ''; for(var i in args){ msg += args[i]; } window.top.onConsole(msg, 'info'); }, log: function(){ let args = arguments; let msg = ''; for(var i in args){ msg += args[i]; } window.top.onConsole(msg, 'log'); }, error: function(){ let args = arguments; let msg = ''; for(var i in args){ msg += args[i]; } window.top.onConsole(msg, 'error'); }, warn: function(){ let args = arguments; let msg = ''; for(var i in args){ msg += args[i]; } window.top.onConsole(msg, 'warn'); }, debug: function (){ let args = arguments; let msg = ''; for(var i in args){ msg += args[i]; } window.top.onConsole(msg, 'debug'); } }; console = $$subConsole$$ || $$consolCC$$; GameProps.sendPlayerMessage = function(msg){ GameProps.sendDataPacket({ type: 'playerMessage', getMessage: msg }); }; GameProps.exitGame = function(){ alert('Esto llavara al inicio de CreadorCraft cuando tu juego este en acción!'); };";
CreadorCraftAPICode += "GameProps.getClickSound = function(){ return GameProps.CreadorCraftWindow.getClickSound; }; GameProps.getGameMusic = function(){ return GameProps.CreadorCraftWindow.getGameMusic; }; GameProps.getWarnSound = function(){ return GameProps.CreadorCraftWindow.getWarnSound; }; GameProps.getWinSound = function(){ return GameProps.CreadorCraftWindow.getWinSound; }; GameProps.getClickStartSound = function(){ return GameProps.CreadorCraftWindow.getClickStartSound; }; window.getContextEval = function(code){ eval(code); }; delete window.localStorage; GameProps.getStorage = function(){ let subS = { set: function(id, objE){ window.top.StorageCGset(id, objE); }, get: function(id){ window.top.StorageCGget(id); }, delete: function(id){ window.top.StorageCGdele(id); } }; return subS; }; window.addEventListener('error', function(event){ let error = event.error; let err = error.stack || error; console.error(err); });";
if(mainCSS != null || mainCSS.trim().length != 0){
AllCodeGame += "";
}
AllCodeGame += mainHtml;
let ScriptsCreadorCraft = [];
let PoliTag1 = CustomGame.contentWindow.document.createElement("script");
PoliTag1.src = 'https://cdn.polyfill.io/v3/polyfill.min.js';
PoliTag1.setAttribute("crossorigin", 'anonymous');
PoliTag1.setAttribute("referrerpolicy", 'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = PoliTag1;
let HtmxTag = CustomGame.contentWindow.document.createElement("script");
HtmxTag.src='https://unpkg.com/htmx.org@1.9.5';
HtmxTag.setAttribute("crossorigin", 'anonymous');
HtmxTag.setAttribute("referrerpolicy", 'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = HtmxTag;
let JSZipTag = CustomGame.contentWindow.document.createElement("script");
JSZipTag.src='https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js';
JSZipTag.setAttribute("crossorigin", 'anonymous');
JSZipTag.setAttribute("referrerpolicy", 'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = JSZipTag;
let BabelTag = CustomGame.contentWindow.document.createElement("script");
BabelTag.src='https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/7.22.8/babel.min.js';
BabelTag.setAttribute("crossorigin",'anonymous');
BabelTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = BabelTag;
let AxiosTag = CustomGame.contentWindow.document.createElement("script");
AxiosTag.src='https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js';
AxiosTag.setAttribute("crossorigin",'anonymous');
AxiosTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = AxiosTag;
let ClipBoardTag = CustomGame.contentWindow.document.createElement("script");
ClipBoardTag.setAttribute("async",'async');
ClipBoardTag.src='https://www.gstatic.com/external_hosted/clipboardjs/clipboard.min.js';
ClipBoardTag.setAttribute("crossorigin",'anonymous');
ClipBoardTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = ClipBoardTag;
let WidgeBotTag = CustomGame.contentWindow.document.createElement("script");
WidgeBotTag.src='https://cdn.jsdelivr.net/npm/@widgetbot/html-embed';
WidgeBotTag.setAttribute("crossorigin",'anonymous');
WidgeBotTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = WidgeBotTag;
let JQueryTag = CustomGame.contentWindow.document.createElement("script");
JQueryTag.setAttribute("src", 'https://releases.jquery.com/git/jquery-git.min.js');
JQueryTag.setAttribute("crossorigin", 'anonymous');
JQueryTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = JQueryTag;
let JQueryMigrateTag = CustomGame.contentWindow.document.createElement("script");
JQueryMigrateTag.setAttribute("src", 'https://releases.jquery.com/git/jquery-migrate-git.min.js');
JQueryMigrateTag.setAttribute("crossorigin", 'anonymous');
JQueryMigrateTag.setAttribute("referrerpolicy", 'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = JQueryMigrateTag;
let JQueryColorTag = CustomGame.contentWindow.document.createElement("script");
JQueryColorTag.src='https://code.jquery.com/color/jquery.color-2.2.0.min.js';
JQueryColorTag.setAttribute("integrity", 'sha256-aSe2ZC5QeunlL/w/7PsVKmV+fa0eDbmybn/ptsKHR6I=');
JQueryColorTag.setAttribute("crossorigin",'anonymous');
JQueryColorTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = JQueryColorTag;
let JQueryColorNamesTag = CustomGame.contentWindow.document.createElement("script");
JQueryColorNamesTag.src='https://code.jquery.com/color/jquery.color.svg-names-2.2.0.min.js';
JQueryColorNamesTag.setAttribute("integrity",'sha256-eX9I1Sf6zJj5x4sEDQl362cLpbr5wXdwg+41yuUT4nc=');
JQueryColorNamesTag.setAttribute("crossorigin",'anonymous');
JQueryColorNamesTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = JQueryColorNamesTag;
let JQueryColorNamesPlusTag = CustomGame.contentWindow.document.createElement("script");
JQueryColorNamesPlusTag.src='https://code.jquery.com/color/jquery.color.plus-names-2.2.0.min.js';
JQueryColorNamesPlusTag.setAttribute("integrity",'sha256-97quMNaesEFsrV6uexbIR3+D1V1+75CVDXuLBFQ07lA=');
JQueryColorNamesPlusTag.setAttribute("crossorigin",'anonymous');
JQueryColorNamesPlusTag.setAttribute("referrerpolicy",'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = JQueryColorNamesPlusTag;
let ImagesLoadTag = CustomGame.contentWindow.document.createElement("script");
ImagesLoadTag.setAttribute("async", 'async');
ImagesLoadTag.setAttribute("src", 'https://unpkg.com/imagesloaded@5.0.0/imagesloaded.pkgd.min.js');
ImagesLoadTag.setAttribute("crossorigin", 'anonymous');
ImagesLoadTag.setAttribute("referrerpolicy", 'no-referrer');
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = ImagesLoadTag;
function AutoAddScriptCC(Tag, options){
Tag.setAttribute("crossrigin", "anonymous");
Tag.setAttribute('referrerpolicy', 'no-referrer');
for(var opti in options){
Tag.setAttribute([options[opti][0]], options[opti][1]);
}
ScriptsCreadorCraft[ScriptsCreadorCraft.length] = Tag;
}
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", "https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"]]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", 'https://cdn.jsdelivr.net/npm/glider-js@1/glider.min.js']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", 'https://cdn.jsdelivr.net/npm/lodash@4/lodash.min.js']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", 'https://cdnjs.cloudflare.com/ajax/libs/typescript/5.2.0-beta/typescript.min.js']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", 'https://cdnjs.cloudflare.com/ajax/libs/material-ui/5.0.0-beta.5/index.min.js']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", 'https://code.jquery.com/pep/0.4.3/pep.min.js'], ["integrity", 'sha256-ibZWIASZ948myvthXu3qCoTOg8bnJzjMJoYZz1RPg6E=']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("link"), [["rel", 'preconnect'], ["href", 'https://fonts.googleapis.com']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("link"), [["rel", "preconnect"], ["href", 'https://fonts.gstatic.com']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("link"), [["rel", 'stylesheet'], ["href", 'https://cdn.jsdelivr.net/npm/glider-js@1/glider.min.css']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["src", 'https://cdn.jsdelivr.net/npm/css-polyfills@0.0.16/dist/css-polyfills.min.js']]);
AutoAddScriptCC(CustomGame.contentWindow.document.createElement("script"), [["async", 'async'], ["src", 'https://cdn.jsdelivr.net/npm/pwacompat']]);
for(var scriptCC in ScriptsCreadorCraft){
AllCodeGame += ScriptsCreadorCraft[scriptCC].outerHTML;
}
if(CustomGameManifest.onMarkdown != null && CustomGameManifest.onMarkdown){
AllCodeGame += "";
}
if(CustomGameManifest.on3Dengine != null && CustomGameManifest.on3Dengine){
AllCodeGame += "";
}
if(CustomGameManifest.onServerWebGamePost){
AllCodeGame += "";
}
if(mainSCSS != null && mainSCSS.trim().length != 0){
AllCodeGame += "";
}
if(CustomGameManifest.importJSmap != null){
let importJSmapString;
try{
importJSmapString = JSON.stringify(CustomGameManifest.importJSmap);
}catch(err){
importJSmapString = "{}";
}
if(importJSmapString != null && importJSmapString.trim().length != 0){
AllCodeGame += "";
}
}
AllCodeGame += "";
AllCodeGame += "";
if(mainJSmodule != null && mainJSmodule.trim().length != 0){
AllCodeGame += "";
}
if(mainTS != null && mainTS.trim().length != 0){
AllCodeGame += "";
}
if(mainLS != null && mainLS.trim().length != 0){
AllCodeGame += "";
}
if(mainCoffeeScript != null && mainCoffeeScript.trim().length != 0){
AllCodeGame += "";
}
if(mainPHP != null && mainPHP.trim().length != 0){
AllCodeGame += "";
}
if(mainPy != null && mainPy.trim().length != 0){
AllCodeGame += "";
}
if(mainRuby != null && mainRuby.trim().length != 0){
AllCodeGame += "";
}
if(mainLua != null && mainLua.trim().length != 0){
AllCodeGame += "";
}
if(mainPerl != null && mainPerl.trim().length != 0){
AllCodeGame += "";
}
if(mainWebAssembly != null && mainWebAssembly.trim().length != 0){
AllCodeGame += "";
}
if(mainLatino != null && mainLatino.trim().length != 0){
let outputL = "";
AllCodeGame += "";
AllCodeGame += "";
AllCodeGame += "";
}
if(mainLatJS != null && mainLatJS.trim().length != 0){
AllCodeGame += ""+mainLatJS+"";
}
GameResumeOri = "playing";
$("#Loader").fadeOut();
$("#Game").fadeIn();
let StatusAPI = "false";
let properties = {
soundMusicGame: new Audio ("https://cdn.jsdelivr.net/gh/Creadores-Program/CreadorCraft-Arcade/music/SoundGameMusic.ogg"),
soundClick: new Audio ('https://cdn.jsdelivr.net/gh/Creadores-Program/CreadorCraft-Arcade/music/click.ogg'),
soundWarning: new Audio ('https://cdn.jsdelivr.net/gh/Creadores-Program/CreadorCraft-Arcade/music/Warning.ogg'),
soundClickStart: new Audio ("https://cdn.jsdelivr.net/gh/Creadores-Program/CreadorCraft-Arcade/music/ClickStartWorld.ogg"),
soundWin: new Audio ("https://cdn.jsdelivr.net/gh/Creadores-Program/CreadorCraft-Arcade/music/win.ogg"),
playerName: "Maxi050",
playerID: 0000001,
playerAvatar: "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEis-v4-aqN7jy6rtzb6_wvAnl_PI-nsaTl2myHxjXlI8iaYvRhPIPOxpCHRB3S8DCVCr3yG-A_6lzO6bPAiuok_fDP8neudY61L6DGFfTWhaP_ozdPYxDFu3opJUOIqAp9epS5GOrL9XXV82LtpCLg-kl1dbaFSABwZy3_CJP2xn8m9kLeGuCbbc4jnbg/s1600/2023-02-23_22.01.27.png",
discordAuth: "true",
BetaEnable: "false",
DebugEnable: false,
getGame: {
getVersion: "0.5.7 ALPHA",
getBetaVersion: "2"
}
};
window.onDataPacket = function(event){
try{
let datapacket = JSON.parse(event.data);
switch(datapacket.type){
case "login":
try{
if(datapacket.status != StatusAPI){
StatusAPI = datapacket.status;
}
if(datapacket.status == "false"){
event.source.onDataPacket({ data: JSON.stringify({ type: "login", status: StatusAPI }), source: window });
}else if(datapacket.status == 'ready'){
window.getGameMusic = properties.soundMusicGame;
window.getClickSound = properties.soundClick;
window.getWinSound = properties.soundWin;
window.getClickStartSound = properties.soundClickStart;
window.getWarnSound = properties.soundWarning;
event.source.onDataPacket({ data: JSON.stringify({ type: 'dataLogin', discordAuht: properties.discordAuth, playerID: properties.playerID, playerName: properties.playerName, Beta: properties.BetaEnable, Game: { version: properties.getGame.getVersion, beta: properties.getGame.getBetaVersion } }), source: window });
}
}catch(error){
alert("A corrupt datapacket was sent");
}
break;
case "playerMessage":
try{
if(datapacket.getMessage == null){
throw "undefined Message";
}
let ShowMessage = document.getElementById("messageSent");
ShowMessage.innerHTML += "\n" + datapacket.getMessage;
}catch(err){
alert("A corrupt datapacket was sent");
}
break;
}
}catch(error){
return;
}
};
window.localStorage = window.sessionStorage;
window.StorageCGget = function(id){
window.localStorage.getItem(CustomGameManifest.name+"|"+id);
};
window.StorageCGset = function(id, objG){
window.localStorage.setItem(CustomGameManifest.name+"|"+id, objG);
};
window.StorageCGdele = function(id){
window.localStorage.removeItem(CustomGameManifest.name+"|"+id);
};
CustomGame.name = CustomGameManifest.name;
CustomGame.title = CustomGameManifest.name;
CustomGame.srcdoc = AllCodeGame;
}
});
$("#GameEdit").on("click", "button#MoveFileR", function(){
let archivo1 = prompt("Ruta del archivo a Mover/Renombrar\nRecuerda también poner el nombre del archivo al final y carpetas ejemplo:\nCarpeta1/Carpeta2/Archivo.algo", "");
if(archivo1 != null && archivo1.trim().length != 0){
let Archivo2 = prompt("Ruta de destino del archivo o nuevo nombre (escriba igualmente como lo anterior)", "");
if(Archivo2 != null && Archivo2.trim().length != 0){
zip.file(archivo1).async("string").then(function(Text){
zip.file(Archivo2, Text);
});
zip.remove(archivo1);
for(var i = 0; i < FilesIDNum; i++){
if($("#GameEdit button#File"+i).html() == archivo1){
$("#GameEdit button#File"+i).remove();
$("#GameEdit br#File"+i).remove();
}
}
$("#GameEdit").html($("#GameEdit").html().replace("", "") + " ");
$("#GameEdit").on("click", "button#File"+FilesIDNum, function(){
EditFile(zip, Archivo2);
});
FilesIDNum++;
GlobalEditGameCode = $("#GameEdit").html();
alert("Archivo Movido/Renombrado!");
}else{
alert("No movido ni renombrado!");
}
}else{
alert("No movido ni renombrado!");
}
});
$("#GameEdit").on("change", "input#upFile", function(event){
let Files = $("#GameEdit input#upFile").prop("files");
for(var ik in Files){
let FileName = Files[ik].name;
let reader = new FileReader();
reader.readAsDataURL(Files[ik]);
reader.onload = function(){
let pregunta = prompt("Path del Archivo "+ FileName+"\nEjemplo:\nCarpeta/Carpeta2\nAqui solo se pone el path no el nombre del archivo! y con '/' al final si elegiste alguna carpeta si no deja vacío esto!", "Carpetas/");
if(pregunta != null){
zip.file(pregunta + FileName, reader.result.split(",")[1], {base64: true, date: new Date()});
$("#GameEdit").html($("#GameEdit").html().replace("", "") + " ");
$("#GameEdit").on("click", "button#File"+FilesIDNum, function(){
EditFile(zip, pregunta+FileName);
});
FilesIDNum++;
GlobalEditGameCode = $("#GameEdit").html();
}else{
alert("archivo no subido!");
}
};
reader.onerror = function(error){
alert(error);
};
}
document.getElementById("upFile").value = "";
});
$("#GameEdit").on("click", "button#UploadFile", function(){
$("#GameEdit input#upFile").trigger("click");
});
$("#GameEdit").on("click", "button#DeleteFile", function(){
let pregunta = prompt("Path del Archivo\nEjemplo:\nCarpeta1/Carpeta2/File\nContinue Con precaución esto también elimina carpetas si no se elige un archivo específico!", "File");
if(pregunta != null){
if(pregunta.trim().length != 0){
zip.remove(pregunta);
for(var i = 0; i < FilesIDNum; i++){
if($("#GameEdit button#File"+i).html() == pregunta){
$("#GameEdit button#File"+i).remove();
$("#GameEdit br#File"+i).remove();
}
}
GlobalEditGameCode = $("#GameEdit").html();
}else{
alert("El Path no puede estar Vacío!");
}
}
});
$("#GameEdit").on("click", "button#NewFile", function(){
let pregunta = prompt("Path del Archivo\nEjemplo:\nCarpeta1/Carpeta2/File", "File");
if(pregunta != null){
if(pregunta.trim().length != 0){
NewFile(zip, pregunta);
}else{
alert("El Path no puede estar Vacío!");
}
}
});
zip.forEach(function(Path, ZipEntry){
if(Path == "manifest.json"){
zip.file(Path).async("string").then(function(ManifestText){
CustomGameManifest = JSON.parse(ManifestText);
$("title").html("Creando | "+ CustomGameManifest.name);
}).catch(function(error){
alert(error);
throw error;
});
}
$("#GameEdit").html($("#GameEdit").html() + " ");
$("#GameEdit").on("click", "button#File" + FilesIDNum, function(){
EditFile(zip, Path);
});
FilesIDNum++;
});
$("#GameEdit").html($("#GameEdit").html()+"");
GlobalEditGameCode = $("#GameEdit").html();
SaveCodeFile.onclick = function(){
zip.generateAsync({type:"blob"}).then(function(blobF){
let FR = new FileReader();
FR.onload = function(event){
let linkFileG = event.target.result;
let SaveFileE = document.createElement("a");
SaveFileE.download = CustomGameManifest.name+" v"+CustomGameManifest.version+".creadorcraftgame.zip";
SaveFileE.href = linkFileG;
SaveFileE.click();
};
FR.readAsDataURL(blobF);
}).catch(function(error){
alert(error);
throw error;
});
};
$("#newGame").fadeOut();
$("#Loader").fadeOut();
$("#SaveCodeFile").fadeIn();
$("#GameEdit").fadeIn();
}
function NewFile(zip, Path){
$("#GameEdit").html($("#GameEdit").html().replace("", "") + " ");
zip.file(Path, "");
$("#GameEdit").on("click", "button#File" + FilesIDNum, function(){
EditFile(zip, Path);
});
GlobalEditGameCode = $("#GameEdit").html();
FilesIDNum++;
}
function EditFile(zip, Path){
let ModeCodes = ["text/html", "javascript", "xml", "http", "markdown", "text", "coffeescript", "css", "go", "lua", "php", "properties", "python", "ruby", "rust", "shell", "sql", "xquery", "yaml", "kotlin", "text/x-latino", "text/x-toml", "text/jsx", "text/x-perl", "text/webassembly"];
if(Path.indexOf(".") != -1){
switch(Path.split(".")[Path.split(".").length - 1]){
case "json":
LanguageCode.value = 1;
break;
case "js":
case "ts":
LanguageCode.value = 22;
break;
case "html":
LanguageCode.value = 0;
break;
case "xml":
LanguageCode.value = 2;
break;
case "http":
case "https":
LanguageCode.value = 3;
break;
case "md":
case "markdown":
LanguageCode.value = 4;
break;
case "coffee":
LanguageCode.value = 6;
break;
case "css":
case "scss":
LanguageCode.value = 7;
break;
case "go":
LanguageCode.value = 8;
break;
case "lua":
LanguageCode.value = 9;
break;
case "php":
LanguageCode.value = 10;
break;
case "properties":
LanguageCode.value = 11;
break;
case "py":
LanguageCode.value = 12;
break;
case "rb":
case "gem":
LanguageCode.value = 13;
break;
case "rs":
LanguageCode.value = 14;
break;
case "sh":
LanguageCode.value = 15;
break;
case "sql":
LanguageCode.value = 16;
break;
case "xqy":
LanguageCode.value = 17;
break;
case "yaml":
case "yml":
LanguageCode.value = 18;
break;
case "kt":
LanguageCode.value = 19;
break;
case "lat":
case "latjs":
LanguageCode.value = 20;
break;
case "toml":
LanguageCode.value = 21;
break;
case "pl":
case "pm":
LanguageCode.value = 23;
break;
case "wasm":
case "wast":
LanguageCode.value = 24;
break;
}
}
zip.file(Path).async("string").then(function(Text){
if(Text.length > 200000000){
alert("El Archivo es muy Grande!");
return;
}else{
$("#GameEdit").fadeOut();
$("#GameEdit").html("");
let code = CodeMirror(document.getElementById("GameEdit"), {
mode: ModeCodes[LanguageCode.value],
extraKeys: {"Ctrl-Space": "autocomplete"},
value: Text,
lineNumbers: true,
matchBrackets: true
});
FullScreen.onclick = function(){
code.setOption("fullScreen", !code.getOption("fullScreen"));
};
LanguageCode.onchange = function(){
code.setOption("mode", ModeCodes[LanguageCode.value]);
};
CancelCodeFile.onclick = function(){
$("#FullScreen").fadeOut();
$("#CancelCodeFile").fadeOut();
$("#SaveCodeFile").fadeOut();
$("#GameEdit").fadeOut();
$("#LanguageCode").fadeOut();
code.setOption("fullScreen", false);
$("#GameEdit").html(GlobalEditGameCode);
LanguageCode.value = 5;
SaveCodeFile.onclick = function(){
zip.generateAsync({type:"blob"}).then(function(blobF){
let FR = new FileReader();
FR.onload = function(event){
let linkFileG = event.target.result;
let SaveFileE = document.createElement("a");
SaveFileE.download = CustomGameManifest.name+" v"+CustomGameManifest.version+".creadorcraftgame.zip";
SaveFileE.href = linkFileG;
SaveFileE.click();
};
FR.readAsDataURL(blobF);
}).catch(function(error){
alert(error);
throw error;
});
};
$("#SaveCodeFile").fadeIn();
$("#GameEdit").fadeIn();
};
SaveCodeFile.onclick = function(){
$("#FullScreen").fadeOut();
$("#CancelCodeFile").fadeOut();
$("#SaveCodeFile").fadeOut();
$("#GameEdit").fadeOut();
$("#LanguageCode").fadeOut();
zip.file(Path, code.getValue(), { date: new Date() });
code.setOption("fullScreen", false);
if(Path == "manifest.json"){
CustomGameManifest = JSON.parse(code.getValue());
}
$("#GameEdit").html(GlobalEditGameCode);
LanguageCode.value = 5;
SaveCodeFile.onclick = function(){
zip.generateAsync({type:"blob"}).then(function(blobF){
let FR = new FileReader();
FR.onload = function(event){
let linkFileG = event.target.result;
let SaveFileE = document.createElement("a");
SaveFileE.download = CustomGameManifest.name+" v"+CustomGameManifest.version+".creadorcraftgame.zip";
SaveFileE.href = linkFileG;
SaveFileE.click();
};
FR.readAsDataURL(blobF);
}).catch(function(error){
alert(error);
throw error;
});
};
$("#GameEdit").fadeIn();
$("#SaveCodeFile").fadeIn();
};
$("#FullScreen").fadeIn();
$("#CancelCodeFile").fadeIn();
$("#SaveCodeFile").fadeIn();
$("#GameEdit").fadeIn();
$("#LanguageCode").fadeIn();
}
}).catch(function(err){
alert(err);
throw err;
});
}