[RELEASE] Test-System

  • Hey leute, ich habe heute was kleines entwickelt aus Langeweile ich weiß nicht ob es euch auch manchmal so geht
    wen ihr mal was in einer LUA-Testen wollt aber nicht immer überall diese ganzen Extra-Ordner erstellen wollt und dann liegen die Datein rum
    und man muss sie immer dann Leeren weil man ja nur Test's machen wollte mit denen.

    Da mir das jetzt nach langer zeit ein wenig an den Rand gegangen ist habe ich was kleines Entwickelt ich nenne es: Test-System.

    Mit diesen "Test-System" kann man Datein in einen Temp Ordner einfügen diese muss man nur in der meta.xml einfügen man kann alle Datein die im /temp Ordner sind auch in Unterordner machen usw. sie müssen aber in den /temp/... Ordner also das Hauptverzeichnis und in der meta.xml müssen diese Datein eingetragen sein.

    Bis jetzt hört es sich nach nichts Besonderen an außer das ihr es in einen anderen Ordner macht jetzt kommt aber mein System ins Spiel.
    Und zwar erleichtert es euch folgende dinge:

    - Speicherung mit direkter meta.xml Erstellung.
    - Leerung vom /temp Ordner und entfernung aus der meta.xml der Nodes.

    Alles natürlich Automatisch.


    Ich möchte es mit ein paar Screen euch ein wenig näher bringen.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Externer Inhalt i.epvpimg.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.

    Bedeutet mit

    /savetemp [Verzeichnisname]
    Kann man die sachen aus dem /temp Ordner in savedata mit dem [Verzeichnisnamen] abspeichern.
    /cleartemp
    Löscht alle Datein aus dem /temp Ordner und trägt diese aus der Haupt meta.xml aus.

    Ich hoffe ich kann euch hier mit auch ein paar Sachen ersparen :)

    Unten im Ahnhang findet ihr den Download-Link.

    Den Sourcecode vom Savesystem.lua kriegt ihr in dem Spoiler.

    Spoiler anzeigen
    Lua
    function saveTempFiles(player, cmd, resourcename)	if(resourcename and #resourcename > 0)then		print("Verzeichnis wird erstellt und Datein eingefuegt...");	else		print("Verzeichnis Name ist Ungueltig bitte geben sie ein /savedata [Verzeichnisname] ein!");		return;	end	local temp     = {};	local file 	   = xmlLoadFile("meta.xml");	if(file)then	local child   = xmlNodeGetChildren(file);	local xmlFile = xmlCreateFile("savedata/"..resourcename.."/meta.xml", "meta");		for key, data in pairs(child) do 			local node = xmlNodeGetName(data);			local attr = xmlNodeGetAttribute(data, 'src');  -- Script			local type = xmlNodeGetAttribute(data, 'type'); -- Type			if(type or node == 'file')then				if(attr:find('temp'))then					temp[key] 		  = {};					temp[key]["filePath"] = attr;					temp[key]["fileTemp"] = fileOpen(temp[key]["filePath"], false);					temp[key]["filePathCopy"] = temp[key]["filePath"]:sub(6, #temp[key]["filePath"]);					if(node == 'script')then						--[[ Scripts ]]--						nodeCopy = xmlCreateChild(xmlFile, "script");						xmlNodeSetAttribute(nodeCopy, "src", temp[key]["filePathCopy"]);						xmlNodeSetAttribute(nodeCopy, "type", type);					elseif(node == 'file')then						--[[ Files ]]--						nodeCopy = xmlCreateChild(xmlFile, "file");						xmlNodeSetAttribute(nodeCopy, "src", temp[key]["filePathCopy"]);					end					fileCopy(temp[key]["filePath"], "savedata/"..resourcename.."/"..temp[key]["filePathCopy"], true);					print("Create Temp-File in Savedata: "..temp[key]["filePath"]);				end			end		end		xmlSaveFile(xmlFile);		xmlUnloadFile(file);	endendaddCommandHandler("savetemp", saveTempFiles)function clearTempFiles()	local temp     = {};	local nodeval  = 0;	local file 	   = xmlLoadFile("meta.xml");	if(file)then		local child   = xmlNodeGetChildren(file);		for key, data in pairs(child) do 			local node = xmlNodeGetName(data);			local attr = xmlNodeGetAttribute(data, 'src');  -- Script			local type = xmlNodeGetAttribute(data, 'type'); -- Type			if(type or node == 'file')then				if(attr:find('temp'))then					fileDelete(attr);					print("Delete Temp-File: "..attr);					while (xmlFindChild(file, node, nodeval)) do 						nodeAttrs = xmlNodeGetAttributes(xmlFindChild(file, node, nodeval));						if(nodeAttrs.src:find('temp/'))then							nodeDelete = xmlFindChild(file, node, nodeval)							xmlDestroyNode(nodeDelete);						end						nodeval = nodeval + 1;					end				end			end		end		xmlSaveFile(file);	endendaddCommandHandler("cleartemp", clearTempFiles);

    Mfg
    MulTi :)

  • Dieses Thema enthält 7 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind, bitte registrieren Sie sich oder melden Sie sich an um diese lesen zu können.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!