Was ist Easy Map Including v4?
Also dieses Script ist das Script, der anderen Convertern endgültig ein ende bringt / bringen wird.
Damit könnt ihr ganz einfach, ohne irgendeine Datei/Text zu konvertieren, die Map-dateien einbinden.
Undzwar nur mit einer einzigen Funktion! : LoadMap(mapfile[]);Wie funktioniert's?
Als allererstes müsst ihr in eurem 'scriptfiles'-Ordner einen Ordner erstellen namens "maps".
Und ihr mappt in MTA Race / MTA DM / MTA 1.4 was auch immer ihr mappen wollt, speichert es ab, und kopiert die ".map"-Datei (mit der Mapinhalt), in den Ordner den ihr erstellt habt ("maps").
So, als allerletztes ladet ihr die Map-datei im Script, indem ihr unter "OnGameModeInit" (oder halt da wo ihr die objekte laden wollt), einfach nur "LoadMap("DATEINAME.map");" schreibt.
So einfach ist das!
Und vergisst ja nicht unter OnPlayerConnect eine Funktion hinzuschreiben, nämlich: "RemoveWorldObjects(playerid);", damit die welt Objekte die ihr mit MTA gelöscht hat und dann konvertiert habt auch in SAMP weg sind (ich empfehle NICHT große Gebäuden zu löschen, da die LOD objekte stressen können, lieber für straßenlampen oder objekte die keinen LOD objekt mithaben)Was ist neu in v4?
[table=2]Neu
Erklärung
Maps Entladen
UnloadMap(mapid); wurde gelöscht da es unbehebliche Bugs drin hatte. Kommt in v5 Final wieder da ich die ganzen Codes ganz neu schreiben werde.
Tuning & Components
Die Tuningteile werden mit dem Fahrzeug mitkonvertiert.
Gelösche Objekte
Die objekte die ihr in MTA löscht werden auch mitkonvertiert, und in SAMP sind sie auch weg. Aber vergisst nicht RemoveWorldObjects(playerid); unter OnPlayerConnect einzufügen.
Mapkonverter
ConvertMap(mapfile[]);: Ihr könnt nun mit dieser Funktion, MTA DM, MTA 1.4 und MTA Race maps zu SAMP Maps konverten. Die Idee dafür gab mir Meta, mit seinem Mapkonverter FilterScript. Dankeschön nochmal, für die Idee und für seine Erlaubniss, die Idee neu umzusetzen.
Getestet
Alle Funktionen wurden von mir gemacht und alle wurden von mir getestet, deswegen kann ich sagen dass das Script keine Bugs enthält (ich benutze das Script selbst bei meinem Selfmade, habe bis jetzt keine Probleme )[/table]
Mapkonverter
Falls ihr, aus irgendwelchem Grund, die Maps nicht als File einbinden wollt, sondern direkt konvertieren und ins Script kopieren, respektiere ich das.
Deswegen habe ich eine "ConvertMap(mapfile[]);" Funktion eingebaut, welches eure MTA Maps zu SAMP Maps konvertiert.
Wenn ihr diese Funktion benutzt, wird im "maps" Ordner eine neue Datei erstellt, mit dem Inhalt des konvertierten Maps.
Ihr werdet es schon erkennen, weil als Dateiname steht "OUT_<originaldateiname>.map".Streamersupport!
Wenn ihr einen Streamer habt, müsst ihr nur ein einziges machen:
Ihr öffnet das Script wo ihr diese Include reingeschrieben habt, und erstellt zwei "public-Funktionen" und schreibt CreateObject/CreateVehicle rein:
public OnObjectDataLoad(modelid,Float:posX,Float:posY,Float:posZ,Float:rotX,Float:rotY,Float:rotZ,Float:drawdistance)
{//Für Map-konversationen
CreateObject(modelid,posX,posY,posZ,rotX,rotY,rotZ,drawdistance);
return 1;
}public OnVehicleDataLoad(vehicletype,Float:x,Float:y,Float:z,Float:rotation,interior,color1,color2,respawn_delay,paintjob,numberplate[],vcomp1,vcomp2,vcomp3,vcomp4,vcomp5,vcomp6,vcomp7,vcomp8,vcomp9,vcomp10,vcomp11,vcomp12,vcomp13,vcomp14)
{//Für Fahrzeug konvertierungen
CreateVehicle(vehicletype,x,y,z,rotation,color1,color2,respawn_delay);
return 1;
}
Was ihr da schreib tist natürlich abhängig vom Streamer den ihr benutzt.
Zum beispiel wenn ihr BlackFoX' Objektstreamer benutzt schreibt ihr statt "CreateObject" einfach "b_CreateObject".
Oder wenn ihr Incognito's Streamer Plugin benutzt, benutzt ihr einfach "CreateDynamicObject".Ausserdem müsst ihr die Funktion "OnVehicleDataLoad" müsst ihr nicht haben wenn ihr kein Fahrzeugstreamer habt. Wenn ihr OnVehicleDataLoad löscht, werden die Fahrzeuge die von der .map Datei konvertiert werden, mit "CreateVehicle", also ohne irgendeinen Fahrzeugstreamer erstellt.
Das selbe gilt für OnObjectDataLoad.PS.: Wenn ihr Fahrzeuge ladet die mit MTA 1.4 gemappt wurden, werden auch die "paintjob"s, nummernschilder, tuningteile und "interior"s mitkonvertiert. Ich empfehle euch also unter "OnVehicleDataLoad" gleichzeitig auch die Interior, Paintjob und Nummernschilder zu ändern.
Falls das Fahrzeug nicht mit MTA 1.4 erstellt wurde, ist Interior '0', und Paintjob '3' (also kein Paintjob).Nächste Version: v5 Final!
Ich habe mit dieser Include alles gemacht, was man so machen kann. Maploader, Map-Unloader, Map-Converter...
Deswegen, wird v4 die Final version sein, die allerletzte Version.Download
Show mapincluding.inc - pastebin.comFür .rar datei mit .inc siehe Anhang
Schlusswort
Wie gesagt, ihr MÜSST den Ordner "maps" im 'scriptfiles' erstellen, sonst crasht euer Server beim Laden des Maps.
Ich bin voll und ganz offen für eure Bugreports, und besonders für eure Vorschläge!
Peace.