Nummernschild

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 Leute, ich sitze an einem eigenen System. Ich bin soweit gut voran gekommen. Nur was ich nicht verstehe, das Nummernschild wird nicht gesetzt.
    Das steht immer noch dieses XYZ... wenn ich das Fahrzeug erstelle.
    Hoffe jemand kann helfen.


    stock CreatePlayerCar(playerid,model,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    new str[56],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);
    SetVehicleNumberPlate(carid, name);
    SpielerInfo[playerid][pOwnCars] ++;
    format(str,sizeof(str),"%s",name);
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,model);
    dini_Create(str);
    dini_IntSet(str, "Model", model);
    dini_FloatSet(str, "F_X", x);
    dini_FloatSet(str, "F_Y", y);
    dini_FloatSet(str, "F_Z", z);
    dini_FloatSet(str, "F_A", a);
    dini_Set(str, "Kennzeichen",name);
    dini_IntSet(str, "Farbe1", color1);
    dini_IntSet(str, "Farbe2", color2);
    return 1;
    }

    Nexus Reallife: ts1.gta4.me:4014
    Schaut vorbei!

  • Dann versuche es mal so:
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);SetVehicleNumberPlate(carid, name);
    Zu
    new carid;SetVehicleNumberPlate((carid = CreateVehicle(model,x,y,z,a,color1,color2,-1)), name);

    Hab ich gemacht, das Fahrzeug spawnt, aber immer noch diese XYZ Kennzeichen.. :( Jetzt habe ich es wieder so:


    stock CreatePlayerCar(playerid,model,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    new str[56],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);
    SetVehicleNumberPlate(carid,name);
    SetVehicleToRespawn(carid);
    SpielerInfo[playerid][pOwnCars] ++;
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,model);
    dini_Create(str);
    dini_IntSet(str, "Model", model);
    dini_FloatSet(str, "F_X", x);
    dini_FloatSet(str, "F_Y", y);
    dini_FloatSet(str, "F_Z", z);
    dini_FloatSet(str, "F_A", a);
    dini_Set(str, "Kennzeichen",name);
    dini_IntSet(str, "Farbe1", color1);
    dini_IntSet(str, "Farbe2", color2);
    Owner = name;
    return 1;
    }


    //Edit: Da mir hier sonst keiner weiterhilft... -.- Habe ich mal bisschen rumgeforscht und herausgefunden dass er SetVehicleToRespawn garnicht ausführt. Der Name wird sogar in der Dini
    etc gespeichert aber das Fahrzeug wird einfach nicht respawnt, als ob er carid nicht erkennen würde...

    Nexus Reallife: ts1.gta4.me:4014
    Schaut vorbei!

    Einmal editiert, zuletzt von Skynox ()

  • ocmd:veh(playerid,params[])
    {
    new Float:vehx,Float:vehy,Float:vehz;
    new vehid,cc1,cc2,string[128];
    if(Spieler[playerid][Admin] < 1)return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    if(sscanf(params,"iii",vehid,cc1,cc2))return SendClientMessage(playerid, rot,"Benutzung: /veh [Vehicle ID] [Farbe 1] [Farbe 2]");
    GetPlayerPos(playerid,vehx,vehy,vehz);
    -----------> new carid = CreateVehicle(vehid,vehx,vehy,vehz,3,cc1,cc2,-1);
    -------------> SetVehicleNumberPlate(carid,"~>Admin<~");
    PutPlayerInVehicle(playerid, carid, 0);
    format(string,sizeof(string),"[AdmCmd] Du hast ein Admincar gespawnt! (FahrzeugID :%d)",GetVehicleModel(GetPlayerVehicleID(playerid)));
    SendClientMessage(playerid,rot,string);
    return 1;


    }


    das funktioniert so bei mir

  • Jetzt habe ich es wieder so:

    Ok. Das müsste eigentlich beides funktionieren. Bei @LordHit klappt es ja auch, und ich hatte das bei mir damals auch so.


    Versuche mal nach dem SetVehicleToRespawn:
    SetTimerEx("RespawnCar", 1000, false, "d", carid);


    Und ganz unten im Code:
    forward RespawnCar(vehicleid);
    public RespawnCar(vehicleid)
    {
    return SetVehicleToRespawn(vehicleid);
    }


    Klappt es dann? Das Fahrzeug sollte dann auch respawnt werden, nach einer Sekunde. Passe eventuell zum Test die Zeit (1000) an und bewege das Fahrzeug etwas.

  • Habs versucht, geht immer noch nicht, langsam verzweifle ich....


    http://www.pic-upload.de/view-32587550/sa-mp-041.png.html


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == AUTOHAUS)
    {
    if(response == 0)
    {
    RemovePlayerFromVehicle(playerid);
    }
    if(response == 1)
    {
    new vehicleid = GetPlayerVehicleID(playerid),str[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,CarInfo[vehicleid][Model]);
    if(dini_Exists(str))return SendClientMessage(playerid,Weiss,"Dieses Fahrzeug Model besitzt du bereits.");
    if(SpielerInfo[playerid][pOwnCars] > 1)return SendClientMessage(playerid,Weiss,"Du kannst nicht mehr als 2 Fahrzeuge besitzen.");//Nur 2 Fahrzeuge
    SendClientMessage(playerid,Orange,"Du hast den Wagen gekauft.");
    RemovePlayerFromVehicle(playerid);
    CreatePlayerCar(playerid,CarInfo[vehicleid][Model],1,1,1263.2650,-2029.6702,59.3266,181.0644);
    if(CarInfo[vehicleid][Autohaus] == 0) { AutoKasse0 += 10; }//Anpassen
    if(CarInfo[vehicleid][Autohaus] == 1) { AutoKasse1 += 10; }//Anpassen
    if(CarInfo[vehicleid][Autohaus] == 2) { AutoKasse2 += 10; }//Anpassen
    }
    }
    return 1;
    }


    stock CreatePlayerCar(playerid,model,color1,color2,Float:x,Float:y,Float:z,Float:a)
    {
    new str[56],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    new carid = CreateVehicle(model,x,y,z,a,color1,color2,-1);
    SetVehicleNumberPlate(carid,name);
    SetVehicleToRespawn(carid);
    SpielerInfo[playerid][pOwnCars] ++;
    format(str,sizeof(str),"/Fahrzeuge/Auto_%s_%d.ini",name,model);
    dini_Create(str);
    dini_IntSet(str, "Model", model);
    dini_FloatSet(str, "F_X", x);
    dini_FloatSet(str, "F_Y", y);
    dini_FloatSet(str, "F_Z", z);
    dini_FloatSet(str, "F_A", a);
    dini_Set(str, "Kennzeichen",name);
    dini_IntSet(str, "Farbe1", color1);
    dini_IntSet(str, "Farbe2", color2);
    SetTimerEx("RespawnCar", 1000, false, "d", carid);
    return 1;
    }

    Nexus Reallife: ts1.gta4.me:4014
    Schaut vorbei!

  • Lade dir mal den neusten Server von der SA-MP Seite runter und starte den mit einem leeren Gamemode.
    Füge dann nur als einfachen Test-Befehl das ein:
    new carid = CreateVehicle(400,x,y,z,a,-1,-1,-1);
    SetVehicleNumberPlate(carid,"Test");


    Bei x,y,z,a trägst du irgendwelche existierenden Koordinaten ein, in der Nähe wo du spawnst (/save).


    Geht es dann?

  • Lade dir mal den neusten Server von der SA-MP Seite runter und starte den mit einem leeren Gamemode.
    Füge dann nur als einfachen Test-Befehl das ein:
    new carid = CreateVehicle(400,x,y,z,a,-1,-1,-1);SetVehicleNumberPlate(carid,"Test");


    Bei x,y,z,a trägst du irgendwelche existierenden Koordinaten ein, in der Nähe wo du spawnst (/save).


    Geht es dann?

    Ja das funktioniert


    //Edit


    Problem Gelöst! Es lag an einer Include die die Funktion GetVehicleNumberPlate enthält. Ich hab die Include aus den SAMP Forums. Jetzt habe ich die entfernt und alle
    Nummernschilder werden gesetzt.


    Danke an alle für eure Hilfe ^^


    MfG

    Nexus Reallife: ts1.gta4.me:4014
    Schaut vorbei!

    Einmal editiert, zuletzt von Skynox ()

  • Problem Gelöst! Es lag an einer Include die die Funktion GetVehicleNumberPlate enthält. Ich hab die Include aus den SAMP Forums. Jetzt habe ich die entfernt und alle

    Das wäre dann meine nächste Antwort gewesen, dass es an irgendetwas am existierenden Code liegt, da das blockiert.
    Gut, dass es klappt!


    Könntest du uns die Include noch nennen, falls mal wieder jemand dieses Problem hat? Wäre super!

  • Das wäre dann meine nächste Antwort gewesen, dass es an irgendetwas am existierenden Code liegt, da das blockiert.Gut, dass es klappt!


    Könntest du uns die Include noch nennen, falls mal wieder jemand dieses Problem hat? Wäre super!

    Die Include heißt: GVNP


    Und das ist der Code der die Include beinhaltet:


    /*
    GetVehiclePlate by !TheO
    */


    new
    Plate[MAX_VEHICLES][24];


    native __SetVehicleNumberPlate(vehicleid, numberplate[]) = SetVehicleNumberPlate;


    stock _SetVehicleNumberPlate(vehicleid, numberplate[])
    {
    format(Plate[vehicleid],24, "%s", numberplate);
    return 1;
    }



    #if defined _ALS_SetVehicleNumberPlate
    #undef SetVehicleNumberPlate
    #else
    #define _ALS_SetVehicleNumberPlate
    #endif
    #define SetVehicleNumberPlate _SetVehicleNumberPlate


    stock GetVehicleNumberPlate(vehicleid)
    {
    return Plate[vehicleid];
    }

    Nexus Reallife: ts1.gta4.me:4014
    Schaut vorbei!

  • Ich möchte das gern so realisieren:
    cInfo[idx][id_x]=CreateVehicle(cInfo[idx][model],cInfo[idx][c_x],cInfo[idx][c_y],cInfo[idx][c_z],cInfo[idx][c_r],cInfo[idx][vcolor1],cInfo[idx][vcolor2],-1);
    SetVehicleNumberPlate(cInfo[idx][id_x],cInfo[idx][numberplate]);


    Allerdings funktioniert das nicht so wie ich es gern möchte. Jemand eine Idee wie es funktionieren könnte?

  • Enthält die Variale numberplate denn einen Wert?
    Meines Wissens nach, muss das Fahrzeug erst respawnt werden, damit das Kennzeichen angezeigt wird. Korrigiert mich, wenn ich falsch liege.

  • Enthält die Variale numberplate denn einen Wert?
    Meines Wissens nach, muss das Fahrzeug erst respawnt werden, damit das Kennzeichen angezeigt wird. Korrigiert mich, wenn ich falsch liege.

    cInfo[idx][numberplate]=cache_get_field_content_int(i,"numberplate",dbhandle);
    Da hab ich einen Fehler!


    Müsste so heißen oder?
    cInfo[idx][numberplate]=cache_get_field_content(i,"numberplate",dbhandle);


    #handy

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen