Kennzeichen Automatisch Playername Dran ?

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
  • Tagchen wollte gerne mein /kennzeichen umschreiben sodass Automatisch der Playername reingesetzt wird.


    Nur weiss ich nicht genau wie ich es umschreiben könnte.


    dcmd_kennzeichen(playerid,params[])
    {
    new kz[15];
    if(sscanf(params,"s", kz)) { return SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /kennzeichen [Text(Höchstens 9 Buchstaben/Zahlen)]"); }
    if(!IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keinem Fahrzeug!"); }
    if(KennzeichenErlaubnis[playerid] == 0) { return SendClientMessage(playerid, COLOR_GRAD1, "Du hast kein Kennzeichen in der ZulassungsStelle gekauft!"); }
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    new vehiclefid = GetPlayerVehicleID(playerid);
    SetVehicleNumberPlate(vehiclefid, kz);
    SetVehicleToRespawn(vehiclefid);
    new Float: X,Float: Y,Float: Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetVehiclePos(vehiclefid,X,Y,Z);
    PutPlayerInVehicle(playerid,vehiclefid,0);
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof name);
    format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
    dini_Set(str, "Plate", kz);
    for(new x = 0; x < MaxVeh; x++)
    {
    PlayerCar[playerid][x][Plate] = kz;
    }
    KennzeichenErlaubnis[playerid] = 0;
    }
    return 1;
    }

  • Wenn du nur den Name dran haben möchtest:


    dcmd_kennzeichen(playerid,params[])
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(!IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keinem Fahrzeug!"); }
    if(KennzeichenErlaubnis[playerid] == 0) { return SendClientMessage(playerid, COLOR_GRAD1, "Du hast kein Kennzeichen in der ZulassungsStelle gekauft!"); }
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    new vehiclefid = GetPlayerVehicleID(playerid);
    SetVehicleNumberPlate(vehiclefid, name);
    SetVehicleToRespawn(vehiclefid);
    new Float: X,Float: Y,Float: Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetVehiclePos(vehiclefid,X,Y,Z);
    PutPlayerInVehicle(playerid,vehiclefid,0);
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof name);
    format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
    dini_Set(str, "Plate", kz);
    for(new x = 0; x < MaxVeh; x++)
    {
    PlayerCar[playerid][x][Plate] = kz;
    }
    KennzeichenErlaubnis[playerid] = 0;
    }
    return 1;
    }

  • Klappt perfekt. Danke dir.


    Nur habe ich noch ein Problem hiermit.


    if(strcmp("/kennzeichenkaufen", cmd, true) == 0)
    {
    if(PlayerInfo[playerid][pCarSkill] >= 0)
    {
    SendClientMessage(playerid, COLOR_RED, "Du brauchst ein Fahrzeug für ein Kennzeichen");
    }
    else
    if(KennzeichenErlaubnis[playerid] == 1)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast bereits ein Kennzeichen gekauft!");
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid, 4.0, 1420.1527,-1760.1503,-11.9000))
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du hast dir ein Kennzeichen für 1500$ gekauft, an Fahrzeug anbringen mit /kennzeichen");
    KennzeichenErlaubnis[playerid] = 1;
    GivePlayerMoney(playerid,-1500);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht in der KFZ Zulassungstelle");
    }
    return 1;
    }



    Es kommt immer "Du brauchst ein Fahrzeug für ein Kennzeichen" Selbst wenn ich eins kaufe :D Warum ^^ ?

  • Ich weiß ja nicht was dieses CarSkill für eine Bdeutung hat.
    Aber du fragst dort ab "ob es größer oder gleich 0" ist.
    Wenn es 0 ist soll der Text kommen richtig?
    if(PlayerInfo[playerid][pCarSkill] <1)


    Oder wenn es größer als 0 sein soll, soll der text kommen? :D
    if(PlayerInfo[playerid][pCarSkill] >0)

  • Zeig mir mal wo du die Fahrzeuge "eigentlich" löschen tust.
    Es liegt denke daran das wenn ein Spieler sich ausloggt, dass du dann das Fahrzeug löschen tust.
    So und wenn der Spieler sich einloggt erstellst du das car wieder, deshalb wird ein neues gespawnt.

  • Hier ich glaube das hier :D


    Function OnPlayerBuyCar(playerid,Model,Preis,Autohaus)//CARSYS
    {
    if(IsPlayerConnected(playerid) && !Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    CallRemoteFunction("M_GivePlayerMoney","id",playerid,-Preis);
    if(Autohaus == 0)
    {
    AddToBizzTill(0,Preis/2);
    }
    else if(Autohaus == 2)
    {
    AddToBizzTill(0,Preis);
    }
    else if(Autohaus == 3)
    {
    AddToBizzTill(0,Preis/2);
    }
    else if(Autohaus == 4)
    {
    AddToBizzTill(0,Preis/10);
    }
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Du hast dir ein Auto gekauft.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Gehe zu der KFZ Stelle und hole dir ein Kennzeichen.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Fahre vorsichtig..Und denk an die StraßenVerkehrsOrdnung!");
    SetParkPlatz(playerid,Autohaus);
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, sizeof name);
    format(str, sizeof str, "/Autos/%s%d.dtcar", name,Dtc_PlayerKey[playerid]);
    new File: hFile = fopen(str, io_write);
    if (hFile)
    {
    new var[32];
    format(var, 32, "CarId=0\n");fwrite(hFile, var);
    format(var, 32, "CarModel=%d\n",Model);fwrite(hFile, var);
    format(var, 32, "CarPos_x=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_x]);fwrite(hFile, var);
    format(var, 32, "CarPos_y=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_y]);fwrite(hFile, var);
    format(var, 32, "CarPos_z=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_z]);fwrite(hFile, var);
    format(var, 32, "CarRotate=%.3f\n",PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarRotate]);fwrite(hFile, var);
    format(var, 32, "CarNitro=0\n");fwrite(hFile, var);
    format(var, 32, "CarHyd=0\n");fwrite(hFile, var);
    format(var, 32, "CarWheel=0\n");fwrite(hFile, var);
    format(var, 32, "CarAusp=0\n");fwrite(hFile, var);
    format(var, 32, "CarSideL=0\n");fwrite(hFile, var);
    format(var, 32, "CarSideR=0\n");fwrite(hFile, var);
    format(var, 32, "CarFB=0\n");fwrite(hFile, var);
    format(var, 32, "CarRB=0\n");fwrite(hFile, var);
    format(var, 32, "CarSpoiler=0\n");fwrite(hFile, var);
    format(var, 32, "CarRoof=0\n");fwrite(hFile, var);
    format(var, 32, "CarHood=0\n");fwrite(hFile, var);
    format(var, 32, "CarVents=0\n");fwrite(hFile, var);
    format(var, 32, "CarLamps=0\n");fwrite(hFile, var);
    format(var, 32, "CarPJ=-1\n");fwrite(hFile, var);
    format(var, 32, "CarC1=-1\n");fwrite(hFile, var);
    format(var, 32, "CarC2=-1\n");fwrite(hFile, var);
    format(var, 32, "Preis=%d\n",Preis);fwrite(hFile, var);
    format(var, 32, "Plate=XXX\n");fwrite(hFile, var);
    fclose(hFile);
    }
    OnPlayerCarLogin(playerid);
    }
    }