/apark

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey ich suche einen Admin Command für /park also ein 1337 Admin kann ich jeden beliebige Fahrzeug gehen und /apark schreiben und es spawnt dann immer dort, wäre echt cool wenn ihr mir das schicken könntet :D



    mfg

  • Du kannst die Koordinaten der Fahrzeuge in eine Datei schreiben, damit diese unter OnGameModeInit gelesen werden. So kannst du die Fahrzeuge parken.


    Ich mache mal ein Beispiel für 1 Fahrzeug:


    oben im Script:

    enum cInfo
    {
    cCarid,
    cTyp,
    Float:cX,
    Float:cY,
    Float:cZ,
    Float:cRotation,
    }
    new LSPDInfo[cInfo];


    darunter:

    forward SaveCarInfo();
    forward LoadCarInfo();


    unter OnGameModeInit:

    LoadCarInfo();
    LSPDInfo[cCarid] = CreateVehicle(LSPDInfo[cTyp], LSPDInfo[cX], LSPDInfo[cY], LSPDInfo[cZ], LSPDInfo[cRotation], 0, 1, 600);


    unter OnPlayerCommandText:

    if(strcmp(cmd, "/apark", true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    new car = GetPlayerVehicleID(playerid);
    if(car == LSPDInfo[cCarid])
    {
    GetVehiclePos(LSPDInfo[cCarid], LSPDInfo[cX], LSPDInfo[cY], LSPDInfo[cZ]);
    GetVehicleZAngel(LSPDInfo[cCarid], LSPDInfo[cRotation]);
    SaveCarInfo();
    return 1;
    }
    }
    }


    unten im Script:

    public SaveCarInfo()
    {
    new var[256];
    new File: hFile = fopen("LSDPCars.cfg", io_write);
    if( hFile)
    {
    format(var, 256, "Carid = %d\r\n", LSPDInfo[cTyp]); fwrite(hFile, var);
    format(var, 256, "CarX = %f\r\n", LSPDInfo[cX]); fwrite(hFile, var);
    format(var, 256, "CarY = %f\r\n", LSPDInfo[cY]); fwrite(hFile, var);
    format(var, 256, "CarRot = %f\r\n", LSPDInfo[cRotation]); fwrite(hFile, var);
    fclose(hFile);
    }
    return 1;
    }


    und da drunter:

    public LoadCarInfo()
    {
    new val[256], key[256], Data[256];
    new File: hFile = fopen("LSPDCars.cfg", io_read);
    if( hFile)
    {
    while( fread( hFile, Data, sizeof( Data ) ) )
    {
    key = ini_GetKey(Data);
    if(strcmp(key, "Carid", true) == 0) { val = ini_GetValue(Data); LSPDInfo[cTyp] = strval( val );
    if(strcmp(key, "CarX", true) == 0) { val = ini_GetValue(Data); LSPDInfo[cX] = floatstr( val );
    if(strcmp(key, "CarY", true) == 0) { val = ini_GetValue(Data); LSPDInfo[cY] = floatstr( val );
    if(strcmp(key, "CarZ", true) == 0) { val = ini_GetValue(Data); LSPDInfo[cZ] = floatstr( val );
    if(strcmp(key, "CarRot", true) == 0) { val = ini_GetValue(Data); LSPDInfo[cRotation] = floatstr( val );
    }
    fclose( hFile );
    }
    return 1;
    }


    So geht es. Du musst die ersten Koordinaten in der Datei selber einfügen und auch das Model des Wagens, damit es erstellt wird beim Anmachen des Servers.


    Die Datei "LSPDCars.cfg" musst du vorher erstellen.


    mfg


    Stylerboy