/savecar

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
  • hi brotfische,
    ich benutze das SimpleVEH von blackfox
    und hätte gerne ein fs, bei dem ich mit
    /savecar [preis] [Name vom 3dText über Vehicle] die zeile speicher :
    so müsste das dann in der ausgegebenen datei aussehen :
    {"Stallion",0,439,-1,30000,3000,783.0,-1335.0,13.2,121.1},,
    {name,autohaus,modelid,carid,-1,preis,repair preis,x,y,z,a},

    und das dann irgendwie in einer datei speichern....
    Wäre Super wenn einer zeit hätte.

    Einmal editiert, zuletzt von [CoS]Tom ()

  • Das sollte glaub gar nicht so schwer sein,


    also unter OnPlayerCommandText folgendes:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new tmp[256],cmd[256],idx; // das nur einfügen, wenn es nicht schon vorhanden ist
    cmd = strtok(cmdtext, idx); // das nur einfügen, wenn es nicht schon vorhanden ist

    if(!strcmp("/savecar", cmd, true))
    {
    new preis;
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    preis = strval(tmp);
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Float:vx,Float:vy,Float:vz,Float:va;
    new string[128];
    GetVehiclePos(vx,vy,vz);
    GetVehicleZAngle(va);
    new File:autohaus=fopen("Autohaus Autos.txt", io_append);
    format(string,"{'%s',0,%d,-1,%d,%d,%f,%f,%f,%f},\n",(result),GetVehicleModel(GetPlayerVehicleID(playerid)),preis,preis/10,vx,vy,vz,va);
    fwrite(autohaus, string);
    fclose(autohaus);
    }
    else
    {
    return SCM(playerid,/*DEINE FARBE*/,"Du bist in keinem Fahrzeug! Du musst dich in einem Fahrzeug befinden!");
    }
    }
    return 0;
    }


    So würde aber das auto immer andem Autohaus 0 spawnen, wenn du z. B. möchtest, dass man das auch noch aussuchen kann, kannste es so machen:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new tmp[256],cmd[256],idx; // das nur einfügen, wenn es nicht schon vorhanden ist
    cmd = strtok(cmdtext, idx); // das nur einfügen, wenn es nicht schon vorhanden ist

    if(!strcmp("/savecar", cmd, true))
    {
    new preis, autohaus;
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    preis = strval(tmp);
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    autohaus = strval(tmp);
    if(autohaus < 0 || autohaus > 2)
    {
    return SCM(playerid,/*DEINE FARBE*/,"Du kannst nur zwischen Autohaus 0 bis 2 entscheiden!"); // wenn du willst, dass es nur z. B. 1 bis 3 Autohäuser gibt, dann mach oben aus der 2 eine 3. (autohaus > 2) zu (autohaus > 3)
    }
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, GREY, "Benutze: /savecar [preis] [Autohaus] [Name vom 3D Text über Vehicle]");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    new Float:vx,Float:vy,Float:vz,Float:va;
    new string[128];
    GetVehiclePos(vx,vy,vz);
    GetVehicleZAngle(va);
    new File:autohaus=fopen("Autohaus Autos.txt", io_append);
    format(string,"{'%s',%d,%d,-1,%d,%d,%f,%f,%f,%f},\n",(result),autohaus,GetVehicleModel(GetPlayerVehicleID(playerid)),preis,preis/10,vx,vy,vz,va);
    fwrite(autohaus, string);
    fclose(autohaus);
    }
    else
    {
    return SCM(playerid,/*DEINE FARBE*/,"Du bist in keinem Fahrzeug! Du musst dich in einem Fahrzeug befinden!");
    }
    }
    return 0;
    }


    MFG luckyguy