Kennzeichen durch Befehl umändern

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 Gemeinschaft,


    also:


    Wie bekommt man es hin, dass man z.B. mit "/kennzeichen <vehicleid> <Text> " den geschriebenen Text auf die jeweilige Vehicle-ID bekommt?


    Ich hatte es erstmal "klein" angefangen (das mache ich immer so für private Testzwecke):


    {
    new string[12];
    if(!IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid,COLOR_ADMIN,"/kennzeichen: Keine aktive ID");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    new carowner;
    carowner = GetVehicleModel(GetPlayerVehicleID(playerid));
    SetVehicleNumberPlate(carowner, string);
    format(string,sizeof(string),"Test",string);
    }
    }


    Wie ihr oben sehen könnt, habe ich da einen vorgegebenen String ("Text") benutzt; da ich aber auf die KFZ-Kennzeichen keine Sachen wie "Test" stehen haben, sondern eigene, brauche ich daher den Befehl in folgender Form: /kennzeichen <vehicleid> <Text>.


    Der Text sollte 9 Buchstaben / Zahlen erlauben - alles was darüber ist sollte mit einem Hinweis (SendClientMessage) versehen werden.


    Kann mir da einer bei helfen?

  • new carowner;
    carowner = GetVehicleModel(GetPlayerVehicleID(playerid));
    SetVehicleNumberPlate(carowner, string);
    format(string,sizeof(string),"Test",string);

    falsch rum :P



    new carowner;
    carowner = GetVehicleModel(GetPlayerVehicleID(playerid));
    format(string,sizeof(string),"Test",string);
    SetVehicleNumberPlate(carowner, string);

  • Zitat

    falsch rum


    Ohh, also deswegen Danke schon mal.


    Ich hab's jetzt mal mit dieser Variante getestet, aber irgendwie wird das dann nicht auf das Auto geupdatet (also zuerst auf dem Kennzeichen steht da ja "XYZ 0000", nachher dann aber nicht "Test").


    Oder geht das gar nicht, weil die Nummernschilder anscheinend immer beim Filterscript bzw. Gamemode Init geladen werden?

  • Habe ich ausprobiert, steht immer noch XYZ :).


    Aktueller Code:


    else if(strcmp("/kennzeichen", cmdtext, true) == 0)
    {
    new string[12];
    if(!IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid,COLOR_ADMIN,"/kennzeichen: Keine aktive ID");
    return 1;
    }
    if(IsPlayerInAnyVehicle(playerid))
    {
    new carowner;
    carowner = GetVehicleModel(GetPlayerVehicleID(playerid));
    format(string,sizeof(string),"Test",string);
    SetVehicleNumberPlate(carowner, string);
    SetVehicleToRespawn(GetPlayerVehicleID(playerid));
    }
    }

  • lool


    if(!IsPlayerConnected(playerid)) ?


    ist das dein ernst? :D



    if(strcmp("/kennzeichen", cmdtext, true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new car = GetPlayerVehicleID(playerid); //Hier muss man die Fahrzeugid nehmen, nicht das model
    new string[12];
    format(string,sizeof(string),"Test",string);
    SetVehicleNumberPlate(car, string); //fahrzeugid = variable ;)
    SetVehicleToRespawn(car); //fahrzeugid = variable ;)
    SendClientMessage(playerid, 0xff0000ff, "Du hast das Kennzeichen erfolgreich geändert!");
    }
    }

  • Cool, danke Akmet (aber auch an AC/DC), dass ihr mir helfen konntet; das geht.


    So, und jetzt wird's etwas komplizierter:


    Wie kann man das dann so verändern, dass man z.B. "/kennzeichen <vehicleid> >Text,der auf dem Kennzeichen stehen soll (max. 9 Buchstaben)>" ausführen kann?


    Edit:


    Zitat

    lool


    if(!IsPlayerConnected(playerid)) ?


    ist das dein ernst


    Ja, das hatte ich vergessen zu löschen, wollte erst was anderes dammit machen :D.

  • So, muss jetzt zur Arbeit.


    Aber über hilfreiche Ideen und Vorschläge (evtl. sogar das FS komplett, das dann funktioniert mit meiner Idee), wäre ich euch sehr verbunden!


    Denn nur so kann die Community weiterlaufen: Jeder hilft hier jedem in dem Fachgebiet, was er kann ;).