Keine Vehicle ID

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
  • Hallo!


    Ich möchte wenn man Park macht, das die Vehicle ID, in dem Fahrzeug wo man gerade sitzt gespeichert wird.


    Hier mein Filterscript:


    #include <a_samp>


    #define FILTERSCRIPT


    #if defined FILTERSCRIPT


    new GREEN = 0x33B200;






    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Blank Filterscript by John_Wardley [oki84]---");
    print("--------------------------------------\n");
    return 1;
    }



    #endif




    public OnPlayerCommandText(playerid, cmdtext[])
    {



    new string[256];




    if (strcmp(cmdtext, "/park", true)==0)
    {

    SendClientMessage(playerid, GREEN, "Vehicle ID gespeichert!");
    new ID = GetPlayerVehicleID(playerid);




    new File:pos=fopen("park.txt", io_append);
    format(string, 256, "%f ", ID);
    fwrite(pos, string);
    fclose(pos);


    }



    return 1;


    }









    Wenn ich dann /parken machen, steht keine ID in der Datei sondern: 0.000000


    Ich hoffe mir kann jemand helfen :)


    Gruß Philipp

  • statt %f musst %d für Dezimalzahl verwenden, %f ist Float also ne Kommazahl bzw. wird für Koordinaten verwendet


    2. Wenn du ein Auto Parken willst speichert man es einzeln:


    new Coords[256];
    new Float:x,Float:y,Floatz,Float:a;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,a);
    format(Coords,sizeof(Coords),"%f,%f,%f,%f",x,y,z,a);

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • danke, jetzt zeigt er in der datei die id an.


    aber jetzt gibt ein problem, wenn man /park gemacht hat, macht der server das dann auch, aber er nimmt keine anderen befehle mehr an, z.b. /o hallo


    bitte um hilfe


    oki

  • new string[256];
    if (strcmp(cmdtext, "/park", true)==0)
    {
    SendClientMessage(playerid, GREEN, "Vehicle ID gespeichert!");
    new ID = GetPlayerVehicleID(playerid);
    new File:pos=fopen("park.txt", io_append);
    format(string, 256, "%d", ID);
    fwrite(pos, string);
    fclose(pos);
    return 1;
    }


    Return 1; Falsch ? ^^


    weil OnPlayerCommand Text ne 0 zurückgeben muss also return 0; niemals return 1;

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • LOL ... was ist da denn los? :D


    nein, dass stimmt mal gar nicht.. return 1; musst du zurückgeben :P


    Zu dem 0 - 1 ÜProblem nochmal...


    Wenn du ne return 0 machst hast du dieses Typische : No Commmand bla da stehen... deswegen muss da ein return 1; stehen.


    ABER ACHTUNG.. Nach einem return 1; wird jeglicher quelltext, der dahinter steht nicht mehr durchgeführt! ;)




    Beim format muss das %d heißen und nicht %f...


    d= dezimal zahl // Ja ich weiß dass das übersetzt ist :P, also kein dummer sprch
    f = float --> mit komma stelle

    2 Mal editiert, zuletzt von MiniYoda ()

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[256];


    if (strcmp(cmdtext, "/park", true)==0)
    {
    SendClientMessage(playerid, GREEN, "Vehicle ID gespeichert!");
    new ID = GetPlayerVehicleID(playerid);


    new File:pos=fopen("park.txt", io_append);
    format(string, 256, "%d ", ID);
    fwrite(pos, string);
    fclose(pos);
    return 1;
    }
    return 0;
    }


    Sollte es im Endeffekt nicht mit "Return 0;" enden, sofern du es nicht so machen willst? :



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[256];


    if (strcmp(cmdtext, "/park", true)==0)
    {
    SendClientMessage(playerid, GREEN, "Vehicle ID gespeichert!");
    new ID = GetPlayerVehicleID(playerid);


    new File:pos=fopen("park.txt", io_append);
    format(string, 256, "%d ", ID);
    fwrite(pos, string);
    fclose(pos);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Falsche Eingabe");
    return 1;
    }
    }



    MfG