Beiträge von Ainen

    Guten Tag auch von meiner Seite,

    Es gibt keine ahnung ich schätze jetzt mal 50 deutsche Reallife Server auf dennen mind. 1 aktiv spielt.

    Zum einen: Es ist kein reiner Reallife Gamemode, sondern ein Multigamemode. Multigamemode != Roleplay Gamemode

    REALLIFE != ROLEPLAY

    Sagen wir mal ich wäre profi Scripter.

    Zum anderen: Wir suchen keine Scripter (auch wenn es nur ein Beispiel ist)


    Es geht nicht darum was man bekommt, sondern warum man sich für dieses Projekt entscheiden sollte.

    Vielleicht noch ein anderer Grund: Plasma[Ger] und Ich waren zuvor in der Entwicklung des MvP! Multigamemodes zuständig. Der Clan wurde jedoch aufgelöst und somit blieben wir beide übrig mit einem Multigamemode Script, welcher von mir entwickelt wurde und zur Zeit in Entwicklung ist.


    Einen Platz im Team kann man auf jedem Vio Server haben, indem man einfach behauptet man wäre profi Scripter.

    Der Vergleich ist an dieser Stelle meiner Meinung nach unangebracht, da man ein Vio X Server nicht mit dem Spektrum unseres Servers vergleichen kann, zumal unser Gamemode kein Reallife Gamemode ist und wir somit einer ganz anderen Kategorie angehören. (Unser Gamemode: Selfmade, Vio X = Vio)

    Edit:// Plasma war schneller ;)

    Guten Tag,

    und zwar geht es darum, dass ich mittels eines Methodenloaders unterschiedliche Methoden für ein automatisiertes Register/Login laden will:

    Lua
    local callback = loadstring("return Server:__Get('Lib'):__Get('R_Method'):get"..methodname.."('"..tostring(arg).."')")()


    arg entspricht hierbei dem Argument, welches bei einem Methodenaufruf mitgeliefert wird und das ist in der Regel (ausgenommen Passwort) ein Element.

    Hierbei besteht aber das Problem, dass ich kein Element mit einen String zusammentun kann und deshalb forme ich das Element (die userdata: value) in einen String um, und will ihn später via. getMetaTable wieder in eine MetaTable umformen:

    Lua
    function R_Method:getUsername ( element )
    	outputDebugString(tostring(element))
    	element = getmetatable(element)
    	outputDebugString(tostring(element))
    	if ( not isElement(element) ) then outputDebugString("Nein") return false end
    	return element:__Get("Username")
    end


    Aber in diesem Fall wird "Nein" ausgegeben, da das Element von getmetatable() die userdata: value nicht in die ursprüngliche Tabelle (Element) umformt.

    Kennt ihr eventuelle Alternativen oder die Lösungen für dieses Problem, damit die R_Method Methoden wiederum einwandfrei funktionieren auf diese Art und Weise mit dem loadstring, da ich das ungerne mittels weiteren Tables und Zusatzdefinitionen machen möchte.

    Diese Alternativen funktionieren auch nicht:

    Lua
    local callback = loadstring("return Server:__Get('Lib'):__Get('R_Method'):get"..methodname.."(arg)")()
    
    
    local callback = loadstring("return Server:__Get('Lib'):__Get('R_Method'):get"..methodname.."('arg')")()


    Mit freundlichen Grüßen
    Ainen

    Sehr geehrte MTA Community,

    heute bin ich hier, um euch meine Scripting Dienstleistungen im Bereich MTA-Scripting anzubieten.

    Falls ihr Interesse zeigt, schreibt mit doch eine Private Nachricht auf dem MTA-Forum, wo ihr mir gleichzeitig die Informationen über den Auftrag mitteilt als auch den Preis, welcher für euch angemessen erscheint. Ich werde dann entscheiden, ob ich den Auftrag annehme oder ablehne.

    Referenzen:
    -Der Entwickler vom neuen MvP Multigamemode (Link zu DevBlogs)
    -Release von einigen alten Scripts (Link)

    Was ich im Bereich MTA-Scripting beherrsche:
    -DX Designs und Systeme (s. DX Class Release)
    -GUI Designs und Systeme
    -Dynamische Systeme entwickeln auf Grundlage von OOP oder Prozedual
    -Statische Systeme entwickeln auf Grundlage von OOP oder Prozedual
    -Neue Objekt orientierte Klassensysteme/hierarchien
    -MySQL Spezialisierte Systeme

    In was ich mich im Bereich MTA-Scripting spezialisiert habe:
    -Pseudo OOP
    -Reallife/Roleplay Gamemode Entwicklung
    -Fun Gamemode Entwicklung
    -Multigamemode Entwicklung (Race, etc.)


    Angebot:
    -größere Scriptingaufträge (wie die Entwicklung eines Selfmade Reallife/Roleplay Gamemodes) (Multigamemode wird nicht angeboten)
    -kleinere Scriptingaufträge (Bugfixxes, Features, etc.)
    -Daueraufträge (Updates für einen Server etc.)


    Zahlungsmethoden:
    Kleinere Scriptingaufträge: Paysafe Card, Überweisung
    Größere Scriptingaufträge: Überweisung
    Daueraufträge: Lastschrift

    Bei Fragen mir eine PN schreiben oder unter diesem Thread fragen.

    Mit freundlichen Grüßen
    Sainen aka. Iven

    Guten Tag,

    und zwar entwickle ich gerade immernoch einen Multigamemode, jedoch stehe ich gerade vor dem Problem, dass ich überhaupt nicht mehr in der Lage bin ein Pickup zu erstellen.

    Es sollt eigentlich so gedacht sein, dass die Pickups von der Race Map ausgelesen werden und so automatisiert erstellt werden:


    Laut meinen Script werden alle Pickups erstellt, aber nach den ersten 20 Pickups von 101 Pickups sind absolut keine mehr sichtbar.

    Danach habe ich versucht in meiner normalen Lobby ein Pickup zu erstellen, funktioniert auch nicht. (Auch unterschiedliche Modelle)

    Danach habe ich versucht per P-Panel ein Pickup zu erstellen, funktioniert auch nicht. (Auch unterschiedliche Modelle)

    Woran könnte das liegen?

    Mfg
    Sainen

    Edit:// Erledigt, habe eine eigene Racepickup Klasse dafür geschrieben.

    Bitte hört auf mit diesen kindischen Aussagen wie: "Du bist erst 14. Kümmer dich um deine Schule.", "Du bist noch nicht reif genug, aufgrund deiner 14 Jahre einen Server zu eröffnen".

    Selbst mit 14 Jahren kann man reifer sein, als mit 18 Jahren. Das Alter spielt hierbei nur eine geringe Rolle, da es vielmehr um die geistliche Reife geht. Ich habe schon einige unter meinem Alter gesehn (15), die weitaus eine größere Führungsqualität besitzen. Klar an einem Punkt kann ich es verstehen, dass der Serverleiter eventuell nicht richtig ernst genommen wird, aber das muss nicht gleich heißen, dass er nicht dazu fähig ist ein Server zu leiten. Außerdem muss nicht jeder Schüler mit seinen 14 Jahren 24/7 sich auf die Schule konzentrieren. Außerdem ist das meiner Meinung nach sogar die perfekte Zeit um Erfahrungen zu sammeln paralell zur Schule. (Ausgenommen die Leistungen in der Schule nehmen deshalb ab, aber im Grunde sollten sie durch die gesammelten Erfahrungen zunehmen.)

    Zu einem Fazit zu kommen: Was schadet es bitte in diesem Alter ein Server zu leiten oder zu eröffnen?

    Mit freundlichen Grüßen
    Iven

    Die Sache dabei ist ja, dass der ganze Code über loadstring() geladen und über pcall() die Funktion ausgeführt wird und ich den Code von den Mapresourcen nicht ändern kann und irgendwie trotzdem alle Elemente, eventHandlers und Funktionen rauskriegen muss. Deswegen suche ich gerade einen Weg alle Elemente und Funktionen die zerstört werden müssen rauszunehmen.

    @sbx320 : ist in deinem Scriptauschnitt nicht das Problem, dass ich die Songs nicht rausfiltern kann? Sprich, falls dort mehrere Songs gespeichert sind, dass alle zerstört werden, da ich die Mapresourcen nicht verändern kann und somit nicht zuweisen kann welcher Song von welcher Map abstammt.

    Mfg
    Iven

    Die Sache dabei ist ja, dass der ganze Code über loadstring() geladen und über pcall() die Funktion ausgeführt wird und ich den Code von den Mapresourcen nicht ändern kann und irgendwie trotzdem alle Elemente, eventHandlers und Funktionen rauskriegen muss. Deswegen suche ich gerade einen Weg alle Elemente und Funktionen die zerstört werden müssen rauszunehmen.

    @sbx320 : ist in deinem Scriptauschnitt nicht das Problem, dass ich die Songs nicht rausfiltern kann? Sprich, falls dort mehrere Songs gespeichert sind, dass alle zerstört werden, da ich die Mapresourcen nicht verändern kann und somit nicht zuweisen kann welcher Song von welcher Map abstammt.

    Mfg
    Iven

    Das einzige Problem hierbei ist nun, dass ich nichtmehr weiß wie ich den geladenen Code wieder beende. Beispielsweise läuft auf dieser Map eine .mp3 Datei, die ich nach Beendigung der Map schließen muss. Aber wie beende ich nun den Code?

    Bzw. wie soll ich die ganzen EventHandler und predefinierten Variablen und binded Key in der File löschen.

    Mfg
    Iven

    Falls ich das nun richtig verstanden habe, soll ich die Downloads an den Client via. fetchRemote schicken und dann eine Abfrage machen, ob die Scripts in der MD5 Hash Formatierung gleich sind und dann gegebenenfalls folgende Aktionen bei folgenden Gegebenheiten ausgeführt werden soll:

    Script wurde nicht beim Client gefunden: Script wird gedownloadet und ein Verzeichnis erstellt beim Client
    Script wurde beim Client gefunden, aber sie besitzen Unterschiede: Die unterschiedlichen Scripts werden gedownloadet ( nur die die Unterschiede aufweisen )
    Script wurde beim Client gefunden und es gibt keine Unterschiede: Dateien sollen geladen und ausgeführt werden.

    Sollen dann die Scripts via. loadfile ausgeführt werden?

    Hab ichs dann so in etwa richtig verstanden?

    Dann wäre da noch eine letzte Frage, die da wäre wie ich die ausgeführten Dateien stoppen soll.

    Mfg
    Iven

    @Shyim Hab nun geschafft, dass das responseData Argument bei der Callback Funktion mir den Inhalt des Scriptes hinausgibt, jedoch nicht ausführt. Außerdem wird sie nicht im MTA Server Ordner gedownloadet. Müsste ich jetzt manuell die Datei mit dem Inhalt erstellen lassen? Ich hab zudem noch versucht die responseData via loadstring zu laden, jedoch kommt keine Reaktion.

    Mfg
    Iven

    Nun bin ich an dem Punkt angekommen, wo die ich die Pfade der Maps an den Client getriggert haben, jedoch hab ich nun Probleme mit der Hostwahl bei fetchRemote. Momentan sieht meine Mapmanager_Client Klasse so aus:

    Weiß irgendjemand, welchen Host bzw. Hostlink ich nehmen soll? Es ist der gleiche Server auf dem sich die Scripts befinden ( Info )

    Mfg
    Iven

    Guten Tag,

    ich habe im Laufe des Tages beschlossen, dass ich nun vollkommen mit MTA aufhören werde, aufgrund der aktuellen Community Situation. Auch wenn es mir aufrichtig leid tut, dass ich gehen muss, aber für mich gibt es keinen Sinn mehr hier weiter anwesend zu sein geschweige denn noch im MTA Team tätig zu sein. Besonders tut mir mein jetziges Projekt Most Valuable Players leid, da nun nach meinen Abgang somit auch das Script nicht mehr zu benutzen ist, aufgrund seiner Komplexität und meinem Scriptstil und das Projekt keine Lua Scripter mehr besitzt.

    Besonders folgende Personen haben mir in meiner Laufbahn geholfen:
    @Harrikan - Wir werden uns eh wiedersehen :)
    @PewX - Danke für deine tollen Räte :)
    @Shyim - War immer toll mit dir geredet zu haben
    @PLASMA[GER] - War ne tolle Zeit im MVP Projekt mit dir

    In Folge dessen release ich nun ein paar meiner Script worunter auch ein Grundgerüst für den Multigamemode fällt:

    Folgende Gamemodes sind in dieser Datei enthalten:

    Multigamemode Gründgerüst von Most Valuable Players ( ohne Designs ), aufgrund der Urheberechte und Nutzungsrechte
    Roleplay 1 ( Register/Login, DX-Klasse, Fraktionssystem, jobsystem )
    Roleplay 2 ( Register/Login, DX-Klasse, Fraktionssystem, Jobsystem, Unternehmenssystem, Wirtschaftssystem, Inventarsystem )
    Trilife ( Basiert auf Roleplay 2 nur verbessert )
    Sny-Reallife ( Basiert auf Roleplay 1 nur verbessert und mit Namen )

    Alle dieser Scripts unterliegen der
    Creative Commons License Attribution-NonCommercial 3.0 Unported


    Der Link zu dem Script:
    http://www.file-upload.net/download-11445371/scripts.rar.html

    Mfg

    Iven

    Ich wünsche noch allen viel Glück und Erfolg in der MTA Szene. Mir jedoch geht das alles viel zu weit. Man sieht sich.

    Spoiler anzeigen

    April April :D trotzdem release ich die Gamemodes, da ich keinerlei Verwendung für diese habe.

    Im Folge des weiteren Scriptens habe ich nun ein Problem damit die Map als Resource zu laden.

    Problem:
    Ich habe eine XMLUtility Klasse erstellt, damit ich die meta.xml der Mapresourcen besser auslesen kann, nun stellt sich mir ein Problem, dass die Mapresource nichtals Resource geladen wird. Das liegt höchstwahrscheinlich daran, dass ich die Resource in einem Untervezeichnis habe: :mvp/gamemode/Deathmatch/maps/tiktak. Nun stelle ich mir die Frage, wie ich die meta.xml trotzdem auslesen kann ohne den Namen der Mapresource zu wissen, da es dynamisch sein soll, gibt es irgendeinen Weg diese trotzdem als Mapresourcen zu laden, oder alle Verzeichnisse in einem Verzeichnis auflisten zu lassen?

    Mfg
    Iven

    Guten Tag,

    seit langem habe ich nun wieder eine Frage bezüglich einem Mapmanagers.

    Problem:

    Für einen Multigamemode benötige ich einen eigen erstellten Mapmanager, der die Mapresourcen nur für die User downloadet, die sich auch in dieser Lobby befinden. In Folge dessen habe ich einen Mapmanager erstellt und bin an dem simplen Punkt angekommen, wo ich nicht mehr weiß wie die Spieler, die sich in der Lobby befinden die Mapresourcen downloaden sollen, da ich keinen Weg gefunden habe Clientseitige Files aus einer Resource zu downloaden ohne den Namen dieser Client-File zu wissen, da dieses System dynamisch sein soll und ich nicht weiß wie ich die Client-Files per Script auflisten soll.

    Gibt es eine Funktion, die mir zeigt, welche Client-Files in einer Resource sind?

    Mfg
    Iven

    Ein kleiner Ansatz:

    Mfg
    Iven

    Funktioniert denn das CarWash Script so überhaupt?

    Das Event

    Lua
    addEventHandler("onMarkerHit",getRootElement(),cancelEvent)


    liefer zwei Parameter zurück, nämlich:

    Lua
    function ( hitElement, matchingDimension ) -- Die Parameter sind hitElement, matchingDimension
    
    
    end

    Das heißt soviel wie, dass das Event onMarkerHit ausgelöst wird, sobald ein Element dieses betritt. Ein Blick in die Wiki liefert einen erheblichen Vorteil: https://wiki.multitheftauto.com/wiki/Element

    Darunter ist nämlich auch die Elementen Gruppe "Vehicle" verzeichnet. Das heißt im groben Sinne, dass das hitElement auch das Vehicle sein kann, da dieses beim Eintritt in den Marker unweigerlich das Event nocheinmal auslöst. Dadurch entsteht ein doppelter Aufruf, wovon einer vom Playerelement und einer vom Vehicleelement ausgelöst wird.

    Die Funktion:

    Lua
    getPedOccupiedVehicle( ped ped )


    verlangt als Argument ein Ped/Player - Element. Im ersten Aufruf, wovon der Player das hitElement ist, ist die Bedingung erfüllt. Im zweiten Aufruf, wovon das Vehicle das hitElement ist, ist die Bedingung nicht erfüllt und liefert einen Warning zurück, da getPedOccupiedVehicle als Argument ein Ped/Player-Element benötigt.

    Nun kommen wir zur obrigen Frage zurück: Das Script müsste eigentlich funktionieren, trotz der Warnung, da die if-Abfrage im ersten Aufruf ( Playeraufruf ) alle Bedingungen erfüllt hat.

    Falls du den Error trotzdem weg haben willst, so müsstest du eine Sicherheitsabfrage einbauen, Wie du das machst bleibt dir überlassen. Ich persönlich benutze diese Funktion:

    Lua
    getElementType( element element )

    Mfg
    Iven