Rangsystem buggt...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Rangsystem buggt...

    Hallo Easy-Scripting,

    ich habe heute Abend ein Rangsystem geschrieben,
    aber es will nicht... Ich hab zwar den passenden Rang aber ich werde wieder rausgeworfen.. Sobald ich ein Fahrzeug parke vor dem anderen

    wird das übernommen sprich.. /fpark 6 und danach /fpark 8 dann gehen alle fahrzeuge nurnoch mit rang 8 ^^

    Ich möchte gerne das es richtig funktioniert...

    Code:

    [pwn]new vehi = GetPlayerVehicleID(playerid);
    new sapd = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    if(LSPDAuto(sapd))
    {
    if(IsACop(playerid) || SInfo[playerid][pLeader] == 8 || SInfo[playerid][pMember] == 8)
    {
    for(new i = 0; i < sizeof(PDCars); i++)
    {
    if(vehi == PDCars)
    {
    new keystring[128];
    format(keystring,sizeof(keystring), "Car%i_Rang",i);
    fCarparkInfo[1] [i] [FraktionRang] = dini_Int("SAPDRang.ini",keystring);
    if(SInfo[playerid][pRang] >= fCarparkInfo[1] [i] [FraktionRang])
    {

    }
    else
    {
    SendClientMessage(playerid, COLOR_RED , "Dein Rang reicht nicht aus!");
    RemovePlayerFromVehicle(playerid);
    break;
    }
    }
    }
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_RED , "Dieses Fahrzeug gehört dem SAPD !");
    SendClientMessage(playerid, COLOR_RED , "Du besitzt keine Schlüssel für dieses Fahrzeug !");
    }
    }
    }[/pwn]
    [pwn]dcmd_fpark(playerid,params[])
    {
    new Anzahl;
    #pragma unused params
    if(sscanf(params,"d",Anzahl))return SendClientMessage(playerid,COLOR_RED,"Benutze: /fpark [Rangid]");
    new vehi;
    new modelstring[45],xstring[45], ystring[45], zstring[45], anglestring[45], rangstring[24];
    new Float:vehx, Float:vehy, Float:vehz;
    new vehmodel;
    new platestring[8];
    new Float:vehangle;
    vehi = GetPlayerVehicleID(playerid);
    GetVehicleZAngle(vehi, vehangle);
    vehmodel = GetVehicleModel(vehi);
    GetVehiclePos(vehi, vehx, vehy, vehz);
    if(SInfo[playerid][pLeader] == 1)
    {
    for(new i = 0; i < sizeof(PDCars); i++)
    {
    if(vehi == PDCars[i])
    {
    RemovePlayerFromVehicle(playerid);
    DestroyVehicle(PDCars[i]);
    PDCars[i] = CreateVehicle(vehmodel, vehx, vehy, vehz+0.5, vehangle, 79, 1, 900);
    format(platestring, sizeof(platestring), "SAPD %i", i);
    SetVehicleNumberPlate(PDCars[i],platestring);

    fCarparkInfo[1] [i] [ModelId] = vehmodel;
    fCarparkInfo[1] [i] [ParkX] = vehx;
    fCarparkInfo[1] [i] [ParkY] = vehy;
    fCarparkInfo[1] [i] [ParkZ] = vehz;
    fCarparkInfo[1] [i] [ParkAngle] = vehangle;
    fCarparkInfo[1] [i] [FraktionRang] = Anzahl;

    format(modelstring,sizeof(modelstring), "Car%i_Model",i);
    dini_IntSet("SAPDCars.ini",modelstring,fCarparkInfo[1] [i] [ModelId]);

    format(xstring,sizeof(xstring), "Car%i_X",i);
    dini_FloatSet("SAPDCars.ini",xstring,fCarparkInfo[1] [i] [ParkX]);

    format(ystring,sizeof(ystring), "Car%i_Y",i);
    dini_FloatSet("SAPDCars.ini",ystring,fCarparkInfo[1] [i] [ParkY]);

    format(zstring,sizeof(zstring), "Car%i_Z",i);
    dini_FloatSet("SAPDCars.ini",zstring,fCarparkInfo[1] [i] [ParkZ]);

    format(anglestring,sizeof(anglestring), "Car%i_Angle",i);
    dini_FloatSet("SAPDCars.ini",anglestring,fCarparkInfo[1] [i] [ParkAngle]);

    format(rangstring,sizeof(rangstring), "Car%i_Rang",i);
    dini_IntSet("SAPDCars.ini",rangstring,fCarparkInfo[1] [i] [FraktionRang]);
    }
    }
    }[/pwn]


    ini : Car29_Rang=1000

    Verstehe nicht wieso ich nicht rausgeworfen werde...


    Also jetzt hab ichs umgebaut.. Davor gings nocb weniger ^^


    LG

    Moritz
  • Es schicken ist etwas ein großer Aufwand... Da ich dann das ganze Fraktionsautohaus weitergeben muss..


    Zu meinem Problem!

    [pwn]dcmd_fpark(playerid,params[])
    {
    new Anzahl;
    #pragma unused params
    if(sscanf(params,"d",Anzahl))return SendClientMessage(playerid,COLOR_RED,"Benutze: /fpark [Rangid]");
    new vehi;
    new modelstring[45],xstring[45], ystring[45], zstring[45], anglestring[45], rangstring[24];
    new Float:vehx, Float:vehy, Float:vehz;
    new vehmodel;
    new platestring[8];
    new Float:vehangle;
    vehi = GetPlayerVehicleID(playerid);
    GetVehicleZAngle(vehi, vehangle);
    vehmodel = GetVehicleModel(vehi);
    GetVehiclePos(vehi, vehx, vehy, vehz);
    if(SInfo[playerid][pLeader] == 1)
    {
    for(new i = 0; i < sizeof(PDCars); i++)
    {
    if(vehi == PDCars)
    {
    RemovePlayerFromVehicle(playerid);
    DestroyVehicle(PDCars[i]);
    PDCars[i] = CreateVehicle(vehmodel, vehx, vehy, vehz+0.5, vehangle, 79, 1, 900);
    format(platestring, sizeof(platestring), "SAPD %i", i);
    SetVehicleNumberPlate(PDCars[i],platestring);

    fCarparkInfo[1] [i] [ModelId] = vehmodel;
    fCarparkInfo[1] [i] [ParkX] = vehx;
    fCarparkInfo[1] [i] [ParkY] = vehy;
    fCarparkInfo[1] [i] [ParkZ] = vehz;
    fCarparkInfo[1] [i] [ParkAngle] = vehangle;
    fCarparkInfo[1] [i] [FraktionRang] = Anzahl;

    format(modelstring,sizeof(modelstring), "Car%i_Model",i);
    dini_IntSet("SAPDCars.ini",modelstring,fCarparkInfo[1] [i] [ModelId]);

    format(xstring,sizeof(xstring), "Car%i_X",i);
    dini_FloatSet("SAPDCars.ini",xstring,fCarparkInfo[1] [i] [ParkX]);

    format(ystring,sizeof(ystring), "Car%i_Y",i);
    dini_FloatSet("SAPDCars.ini",ystring,fCarparkInfo[1] [i] [ParkY]);

    format(zstring,sizeof(zstring), "Car%i_Z",i);
    dini_FloatSet("SAPDCars.ini",zstring,fCarparkInfo[1] [i] [ParkZ]);

    format(anglestring,sizeof(anglestring), "Car%i_Angle",i);
    dini_FloatSet("SAPDCars.ini",anglestring,fCarparkInfo[1] [i] [ParkAngle]);

    format(rangstring,sizeof(rangstring), "Car%i_Rang",i);
    dini_IntSet("SAPDCars.ini",rangstring,fCarparkInfo[1] [i] [FraktionRang]);
    }
    }
    }[/pwn]

    So setze ich also den Rang!

    [pwn]for(new i = 0; i < sizeof(PDCars); i++)
    {
    format(keystring,sizeof(keystring), "Car%i_Model",i);
    fCarparkInfo[5] [i] [ModelId] = dini_Int("SAPDCars.ini",keystring);
    format(keystring,sizeof(keystring), "Car%i_X",i);
    fCarparkInfo[5] [i] [ParkX] = dini_Float("SAPDCars.ini",keystring);
    format(keystring,sizeof(keystring), "Car%i_Y",i);
    fCarparkInfo[5] [i] [ParkY] = dini_Float("SAPDCars.ini",keystring);
    format(keystring,sizeof(keystring), "Car%i_Z",i);
    fCarparkInfo[5] [i] [ParkZ] = dini_Float("SAPDCars.ini",keystring);
    format(keystring,sizeof(keystring), "Car%i_Angle",i);
    fCarparkInfo[5] [i] [ParkAngle] = dini_Float("SAPDCars.ini",keystring);
    format(keystring,sizeof(keystring), "Car%i_Rang",i);
    fCarparkInfo[5] [i] [FraktionRang] = dini_Int("SAPDCars.ini",keystring);

    if(fCarparkInfo[5] [i] [ModelId] >= 400 && fCarparkInfo[5] [i] [ModelId] <= 611)
    {
    PDCars[i] = CreateVehicle(fCarparkInfo[5] [i] [ModelId], fCarparkInfo[5] [i] [ParkX], fCarparkInfo[5] [i] [ParkY], fCarparkInfo[5] [i] [ParkZ], fCarparkInfo[5] [i] [ParkAngle], 79, 1, 900);
    format(platestring, sizeof(platestring), "SAPD %i", i);
    SetVehicleNumberPlate(PDCars[i],platestring);
    }
    }[/pwn]

    So lad ich das dann nachher... Aber wieso werd ich nicht aus dem Car geworfen????
  • vieleicht ließt er bei dir nicht das richtige Auto aus

    deshalb ist dies notwendig

    es ist aber auch notwendig denn wir können noch nicht hellsehen

    also bitte keine Fragen stellen einfach tuen

    P.s. ich bin morgen erstmal denn Letzten Tag hier
    d.h. Morgen ist der erstmal Letzte Termin wo ich dir Helfen kann!

    ausserdem wenn du es gleich zum anfang gemacht hättest, würde dein FahrzeugRangsystem jetzt schon LANGE gehen

    Ich bitte dies zuverstehen, da ich nicht für jede Code von Mir eine erklährung abgeben möchte
  • [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 596 | Rank: 1
    [12:40:11] <Edit oder so>VID: 596 | Rank: 1
    [12:40:11] <Edit oder so>VID: 523 | Rank: 5
    [12:40:11] <Edit oder so>VID: 523 | Rank: 5
    [12:40:11] <Edit oder so>VID: 523 | Rank: 5
    [12:40:11] <Edit oder so>VID: 596 | Rank: 1
    [12:40:11] <Edit oder so>VID: 596 | Rank: 1
    [12:40:11] <Edit oder so>VID: 596 | Rank: 1
    [12:40:11] <Edit oder so>VID: 596 | Rank: 1
    [12:40:11] <Edit oder so>VID: 523 | Rank: 5
    [12:40:11] <Edit oder so>VID: 599 | Rank: 3
    [12:40:11] <Edit oder so>VID: 523 | Rank: 5
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 599 | Rank: 3
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 523 | Rank: 5
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 535 | Rank: 7
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
    [12:40:11] <Edit oder so>VID: 0 | Rank: 0
  • Hier so setze ich den rang:

    [pwn]dcmd_frang(playerid,params[])
    {
    new Anzahl;
    new vehi;
    vehi = GetPlayerVehicleID(playerid);
    if(sscanf(params,"d",Anzahl))return SendClientMessage(playerid,COLOR_RED,"Benutze: /frang [Rangid]");
    if(SInfo[playerid][pLeader] == 1)
    {
    for(new i = 0; i < sizeof(PDCars); i++)
    {
    if(vehi == PDCars)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new modelstring[45];
    fCarparkInfo[1] [i] [FraktionRang] = Anzahl;
    format(modelstring,sizeof(modelstring), "Car%i_Rang",i);
    dini_IntSet("SAPDCars.ini",modelstring,fCarparkInfo[1] [i] [FraktionRang]);
    RemovePlayerFromVehicle(playerid);
    format(str,sizeof(str),"Das SAPD Fahrzeug ist nun nurnoch ab Rang %d begehbar.",Anzahl);
    SendClientMessage(playerid,Gelb,str);
    break;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug!");
    }
    }
    }
    }
    return 1;
    }[/pwn]

    [pwn]if(newstate == PLAYER_STATE_DRIVER)
    {
    if(LSPDAuto(sapd))
    {
    if(IsACop(playerid) || SInfo[playerid][pLeader] == 8 || SInfo[playerid][pMember] == 8)
    {
    for(new i = 0; i < sizeof(PDCars); i++)
    {
    if(vehi == PDCars[i])
    {
    if(SInfo[playerid][pRang] >= fCarparkInfo[5] [i] [FraktionRang])
    {

    }
    else
    {
    SendClientMessage(playerid, COLOR_RED , "Dein Rang reicht nicht aus!");
    RemovePlayerFromVehicle(playerid);
    print("Spieler wir daus dem Fahrzeug geworfen :D");
    break;
    }
    }
    }
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid, COLOR_RED , "Dieses Fahrzeug gehört dem SAPD !");
    SendClientMessage(playerid, COLOR_RED , "Du besitzt keine Schlüssel für dieses Fahrzeug !");
    }
    }
    }[/pwn]

    Aber ich werd nicht rausgeworfen ;(