Problem mit Carlock-Befehl

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
  • Hi,


    wie oben steht, habe ich ein Problem mit meinem /carlock-Befehl.
    Ich bekomme immer folgende Meldung im Chat:

    Code
    [07:10:14] Du bist nicht in der nähe eines Fahrzeuges, für das du einen Schlüssel besitzt!
    [07:10:14] Du hast dein Fahrzeug aufgeschlossen!
    
    
    [07:11:44] Du bist nicht in der nähe eines Fahrzeuges, für das du einen Schlüssel besitzt!
    [07:11:44] Du hast dein Fahrzeug abgeschlossen!


    Man beachte, dass ich trotz, dass das Fahrzeug auf/abgeschlossen wird die Meldung bekomme, dass ich nicht in der nähe eines Fahrzeuges bin, für welches ich einen Schlüssel besitze.


    Hier der Befehl:
    ocmd:carlock(playerid,params[])
    {
    GetPlayerName(playerid,sendername,sizeof sendername);
    for(new c;c<MaxVehikel;c++) {
    if(!pCarInfo[code=c][cCreated])continue;
    if((!strcmp(sendername,pCarInfo[code=c][cOwner],true))) {
    new Float:pP[3];
    GetVehiclePos(pCarInfo[code=c][cVeh],pP[0],pP[1],pP[2]);
    if(IsPlayerInRangeOfPoint(playerid,5,pP[0],pP[1],pP[2])) {
    pCarInfo[code=c][cLocked] = (!pCarInfo[code=c][cLocked]);
    SetVehicleLock(pCarInfo[code=c][cVeh],pCarInfo[code=c][cLocked]);
    SendClientMessage(playerid,COLOR_YELLOW,(pCarInfo[code=c][cLocked]) ? ("Du hast dein Fahrzeug aufgeschlossen!") : ("Du hast dein Fahrzeug abgeschlossen!"));
    PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    } else {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht in der nähe eines Fahrzeuges, für das du einen Schlüssel besitzt!");
    }
    }
    }
    return 1;
    }


    Was mach' ich nu falsch? Jeffry: ? :D


    lg
    Deagle

  • Das liegt daran, dass die Nachricht in der Schleife ist und du nicht nahe dem ersten Fahrzeug bist, aber nahe dem zweiten.


    Schreibe es so:
    ocmd:carlock(playerid,params[])
    {
    GetPlayerName(playerid,sendername,sizeof sendername);
    for(new c;c<MaxVehikel;c++) {
    if(!pCarInfo[code=c][cCreated])continue;
    if((!strcmp(sendername,pCarInfo[code=c][cOwner],true))) {
    new Float:pP[3];
    GetVehiclePos(pCarInfo[code=c][cVeh],pP[0],pP[1],pP[2]);
    if(IsPlayerInRangeOfPoint(playerid,5,pP[0],pP[1],pP[2])) {
    pCarInfo[code=c][cLocked] = (!pCarInfo[code=c][cLocked]);
    SetVehicleLock(pCarInfo[code=c][cVeh],pCarInfo[code=c][cLocked]);
    SendClientMessage(playerid,COLOR_YELLOW,(pCarInfo[code=c][cLocked]) ? ("Du hast dein Fahrzeug aufgeschlossen!") : ("Du hast dein Fahrzeug abgeschlossen!"));
    return PlayerPlaySound(playerid, 1145, 0.0, 0.0, 0.0);
    }
    }
    }
    return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht in der nähe eines Fahrzeuges, für das du einen Schlüssel besitzt!");
    }