[Hilfe gesucht!] /lock falsche Abfrage

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
  • Ich komme gleich zum Problem.


    Scriptcode:

    dcmd_lock(playerid,params[])
    {
    #pragma unused params
    if(pInfo[playerid][logged]==1) {
    new pName1[MAX_PLAYER_NAME];
    new Float:x,Float:y,Float:z;
    GetPlayerName(playerid,pName1,sizeof(pName1));
    for(new v = 0;v <= MAX_VEHICLES; v++) {
    GetVehiclePos(v,y,x,z);
    if(!IsPlayerInRangeOfPoint(playerid,5,x,y,z)) { return SendClientMessage(playerid,COLOR_GREY,"Du bist nicht bei einem Fahrzeug");
    }
    if(strcmp(vInfo[v][aOwner],pName1)) {
    if(vInfo[v][alocked]==0) {
    SetVehicleParamsEx(v,vInfo[v][aengine],vInfo[v][alight],vInfo[v][aalarm],1,0,0,0);
    vInfo[v][alocked]=1;
    GameTextForPlayer(playerid,"~g~Zugeschlossen",1,1);
    } else {
    SetVehicleParamsEx(v,vInfo[v][aengine],vInfo[v][alight],vInfo[v][aalarm],0,0,0,0);
    vInfo[v][alocked]=0;
    GameTextForPlayer(playerid,"~r~Aufgeschlossen",1,1);
    }
    } else {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht der Besitzer!");
    }
    }
    }
    return 1;
    }



    InGame kommt egal wo ich Stehe die Antwort vom Server "Du bist nicht bei einem Fahrzeug".
    Trotz SuFu und den gefundenen Theard komm ich einfach nicht weiter.


    stock für die Distanzabfrage wollte ich vermeiden. Bin ich kein Fan von - der Übersichtlichkeit halber.


    Bräuchte jetzt mal eure Hilfe. Sitze seit 1ner Stunde dran und bin bissl am verzweifeln.
    Hab das Gefühl der Fehler ist total labil.


    Danke schon jetzt ;)
    Greetz



    EDIT://
    By the Way und bevor jemand auf die Idee kommt:
    - Ja ich möchte bei dcmd bleiben und nicht zu ocmd wechseln. Auch wenn es schneller sein sollte.

  • du sagst das wenn das auto nichtin der nähe ist dass er eine fehlermeldung bringen soll. hier liegt der fehler. da er ja durch alle autos loopt ist immer ein auto nicht in deiner nähe. du musst also statt das return Fehlermeldung einfach ein continue hin machen damit er einfach die schleife weiterführt

  • Da muss ich jetzt mal blond spielen und fragen


    Continue?? - Ich könnte mir denken was du meinst bin mir aber nicht sicher.


    bzw. Anders gefragt: Könntest du (alternativ sonst wer) mir mal den Script anpassen?
    Ich hab totale Hirnstörung grade und komme einfach nicht weiter... egal wie ich es schreibe es läuft darauf hinaus das ich einfach bei der "IsPlayerInRangeOfPoint" ein Problem bekomme!

    Einmal editiert, zuletzt von Velo. ()


  • dcmd_lock(playerid,params[])
    {
    #pragma unused params
    if(pInfo[playerid][logged]==1) {
    new pName1[MAX_PLAYER_NAME];
    new Float:x,Float:y,Float:z;
    GetPlayerName(playerid,pName1,sizeof(pName1));
    for(new v = 0;v <= MAX_VEHICLES; v++) {
    GetVehiclePos(v,y,x,z);
    if(IsPlayerInRangeOfPoint(playerid,5,x,y,z)) {
    if(strcmp(vInfo[v][aOwner],pName1)) {
    if(vInfo[v][alocked]==0) {
    SetVehicleParamsEx(v,vInfo[v][aengine],vInfo[v][alight],vInfo[v][aalarm],1,0,0,0);
    vInfo[v][alocked]=1;
    GameTextForPlayer(playerid,"~g~Zugeschlossen",1,1);
    } else {
    SetVehicleParamsEx(v,vInfo[v][aengine],vInfo[v][alight],vInfo[v][aalarm],0,0,0,0);
    vInfo[v][alocked]=0;
    GameTextForPlayer(playerid,"~r~Aufgeschlossen",1,1);
    }
    } else {
    SendClientMessage(playerid,COLOR_GREY,"Du bist nicht der Besitzer!");
    }
    }
    }
    }
    return 1;
    }


    Bedanke dich bitte, wenn du den Beitrag als hilfreich empfandest!