Gangfahrzeuge sperren

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
  • Guten Tag
    ich arbeite grade an einem Oamt system, was bis jetzt sehr gut für gekaufte fahrzeuge funktioniert, nun wollte ich aber auch noch gangfahrzeuge sperren lassen, doch hier weiß ich nicht weiter. Ich hoffe mir kann jemand helfen oder kurz eine kleine Hilfestellung geben.


    Spoiler anzeigen
    if (strcmp("/carlist", cmdtext, true)==0)
    {
    if(Dtc_PlayerHaveCar[playerid][0] && !Dtc_PlayerHaveCar[playerid][1])
    {
    SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
    format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][0][CarModel]-400],PlayerCar[playerid][0][CarNumber]);
    SendClientMessage(playerid,0x00FFFFFF,string);
    SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
    }
    if(Dtc_PlayerHaveCar[playerid][1] && !Dtc_PlayerHaveCar[playerid][0])
    {
    SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
    format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][1][CarModel]-400],PlayerCar[playerid][1][CarNumber]);
    SendClientMessage(playerid,0x00FFFFFF,string);
    SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
    }
    if(Dtc_PlayerHaveCar[playerid][0] && Dtc_PlayerHaveCar[playerid][1])
    {
    SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
    format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][0][CarModel]-400],PlayerCar[playerid][0][CarNumber]);
    SendClientMessage(playerid,0x00FFFFFF,string);
    format(string,sizeof(string),"Fahrzeug: %s || Kennzeichen: %s",CarName[PlayerCar[playerid][1][CarModel]-400],PlayerCar[playerid][1][CarNumber]);
    SendClientMessage(playerid,0x00FFFFFF,string);
    SendClientMessage(playerid,0xFFFFFFFF,">> Carliste <<");
    }
    if(!Dtc_PlayerHaveCar[playerid][0] && !Dtc_PlayerHaveCar[playerid][1])
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast garkein Fahrzeug!");
    }
    return 1;
    }
    if(strcmp(cmd,"/freikaufen",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,930.9573,-1207.6936,17.1938))
    {
    if(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarGesperrt] == 1)
    {
    if(GetPlayerMoney(playerid) >= PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis])
    {
    GivePlayerMoney(playerid,-PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
    format(string,256,"Du hast deinen %s für %d$ wieder frei gekauft. Hoffentlich kommt das nicht noch einmal vor. Bitte parke dein Fahrzeug neu.",CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
    SendClientMessage(playerid,0x00FFFFFF,string);
    PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarGesperrt] = 0;
    FraktionsKasse[23] += PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis];
    new xx[MAX_PLAYER_NAME];
    GetPlayerName(playerid,xx,sizeof(xx));
    format(string,256,"%s hat sein Fahrzeug (%s) für %d$ freigekauft. Das Geld wurde auf die Fraktionskasse überwiesen.",xx,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400],PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]);
    SendRadioMessage(24, TEAM_BLUE_COLOR, string);
    PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarSperrpreis]=0;
    SetVehiclePos(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],937.4331,-1226.2257,16.5307);
    SetVehicleZAngle(PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],180);
    PutPlayerInVehicle(playerid,PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId],0);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du hast nicht genug Geld.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist nicht gesperrt.");
    SendClientMessage(playerid,0xFF0000FF,"Stelle sicher, dass du den richtigen Schlüssel ausgewählt hast.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht an dem /freikaufen-Punkt vor dem Ordnungsamt!");
    return 1;
    }
    }

    if(strcmp(cmd,"/entsperren",true)==0)
    {
    if(IsPlayerInFrac(playerid,24))
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,915.6431,-1235.1315,17.2109) || (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,0xFF0000FF,"FEHLER: /entsperren [Kennzeichen]");
    return 1;
    }
    new kz[32];
    format(kz,sizeof(kz),"%s",tmp);
    if(KZExistiert(kz))
    {
    new kzveh = GetCarFromKZ(kz);
    if(IsDtCarGesperrt(kzveh))
    {
    new modell = GetVehicleModel(kzveh);
    new gpid = GetOwner(kzveh);
    new gpidname[MAX_PLAYER_NAME];
    GetPlayerName(gpid,gpidname,sizeof(gpidname));
    format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) entsperrt.",kz,gpid,gpidname,CarName[modell-400]);
    SendClientMessage(playerid,0x00FFFFFF,string);
    new pnn[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pnn,sizeof(pnn));
    format(string,sizeof(string),"%s hat dein Fahrzeug %s entsperrt.",pnn,CarName[modell-400]);
    SendClientMessage(gpid,0xFF0000FF,string);
    for(new x=0;x<MaxVeh;x++)
    {
    if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
    {
    PlayerCar[gpid][x][CarGesperrt] = 0;
    PlayerCar[gpid][x][CarSperrpreis]=0;
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist nicht gesperrt.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht am kleinen Ordnungsamthaus oder in einem Ordnungsamtfahrzeug");
    return 1;
    }
    }
    }
    if(strcmp(cmd,"/sperren",true)==0)
    {
    if(IsPlayerInFrac(playerid,24))
    {
    if(IsPlayerInRangeOfPoint(playerid,2.5,915.6431,-1235.1315,17.2109) || (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,0xFF0000FF,"FEHLER: /sperren [Kennzeichen] [Preis] [Grund]");
    return 1;
    }
    new kz[32];
    format(kz,sizeof(kz),"%s",tmp);
    if(KZExistiert(kz))
    {
    tmp=strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    format(string,128,"FEHLER: /sperren %s [Sperrpreis] [Grund]",kz);
    SendClientMessage(playerid,0xFF0000FF,string);
    return 1;
    }
    new preis;
    preis = strval(tmp);
    if(preis >= 1)
    {
    tmp=strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    format(string,128,"FEHLER: /sperren %s %d [Grund]",kz,preis);
    SendClientMessage(playerid,0xFF0000FF,string);
    return 1;
    }
    new grund[256];
    format(grund,sizeof(grund),"%s",tmp);
    new kzveh = GetCarFromKZ(kz);
    if(!IsDtCarGesperrt(kzveh))
    {
    new modell = GetVehicleModel(kzveh);
    new gpid = GetOwner(kzveh);
    new gpidname[MAX_PLAYER_NAME];
    GetPlayerName(gpid,gpidname,sizeof(gpidname));
    format(string,sizeof(string),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s) für %d$ mit folgendem Grund gesperrt: %s",kz,gpid,gpidname,CarName[modell-400],preis,grund);
    SendClientMessage(playerid,0x00FFFFFF,string);
    new pnn[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pnn,sizeof(pnn));
    format(string,sizeof(string),"%s hat dein Fahrzeug %s mit dem Kennzeichen %s für %d$ mit folgendem Grund gesperrt: %s",pnn,CarName[modell-400],kz,preis,grund);
    SendClientMessage(gpid,0xFF0000FF,string);
    for(new x=0;x<MaxVeh;x++)
    {
    if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
    {
    PlayerCar[gpid][x][CarGesperrt] = 1;
    PlayerCar[gpid][x][CarSperrpreis]=preis;
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Dieses Fahrzeug ist bereits gesperrt.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Der Sperrpreis darf nicht unter 0 sein.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist nicht am kleinen Ordnungsamthaus oder in einem Ordnungsamtfahrzeug.");
    return 1;
    }
    }
    }


    Dies sind alle Pawn codes die ich verwende. Ich benutze das dtcar system.


    Hier nochmal von einer Gang die Fahrzeuge


    Spoiler anzeigen
    new GrooveVehs[8];//

    Spoiler anzeigen
    if(!IsPlayerInFrac(playerid,13))
    {
    for(new pv = 0; pv < sizeof(GrooveVehs); pv++)
    {
    if(newcar == GrooveVehs[pv])
    {
    SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }

    Spoiler anzeigen
    GrooveVehs[1] = AddStaticVehicleEx(468,2513.3596,-1686.1343,13.1162,77.4979,86,86,-1); // Groove Bike
    GrooveVehs[2] = AddStaticVehicleEx(522,2511.4597,-1688.4041,13.1289,47.3900,86,86,-1); // Groove Bike
    GrooveVehs[3] = AddStaticVehicleEx(492,2509.7922,-1668.9247,13.3100,7.7849,86,86,-1); // Groove
    GrooveVehs[4] = AddStaticVehicleEx(492,2500.5073,-1655.8710,13.2951,67.9706,86,86,-1); // Groove
    GrooveVehs[5] = AddStaticVehicleEx(567,2473.3394,-1694.0272,13.3817,359.6389,86,86,-1); // Groove
    GrooveVehs[6] = AddStaticVehicleEx(567,2468.7510,-1670.6563,13.2664,12.9876,86,86,-1); // Groove
    GrooveVehs[7] = AddStaticVehicleEx(482,2480.6196,-1653.9967,13.2585,271.4623,86,86,-1); // Groove


    Ich glaube das man die irgend wie mit einem Kennzeichen versehen kann weiß nur nicht wie. Freue mich über jede Positive Antwort. Würde auch Hilfe über TV annehmen.


    MFG
    TRoniix

    Projekt:


    German CrimeLife Testserver: 5.62.71.62:7777

  • Dir ist schon bewusst, das die GangFahrzeuge nur solange denn der Server an ist
    Ergo, wenn der Server restartet wird, sind alle wieder entsperrt.

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.