Car abfragen in dem man nicht sitzt?

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!


    Hab ein kleines Problem...
    bei meinem Befehl /bust sollte der Beamte alle (Nichbehördler) im Umkreis in den Wagen neben sich setzen und freezen.
    Leider tut er bei mir gar nichts... ich habe die "isplayerinrangeofvehicle"-funktion richtig definiert, das heißt daran liegt es auch nicht...
    Ich vermute, dass es daran liegt, dass alle behoerdencars abgefragt werden...
    Bitte um Hilfe!



    if(strcmp(cmdtext, "/bust", true) ==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(GetPVarInt(playerid,"Fraktion") == 3 || GetPVarInt(playerid,"Fraktion") == 5 || GetPVarInt(playerid,"Fraktion") == 12)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, "Du kannst das nicht benutzen während du im Fahrzeug sitzt!");
    return 1;
    }
    new string[128];
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(i != playerid && !IsPlayerInAnyVehicle(i))
    {
    if(IsPlayerInRangeOfPoint(i,3.0,x,y,z))
    {
    new bustcar;
    bustcar=behoerdencar[i];
    if(IsPlayerInRangeOfVehicle(i,bustcar,2) && IsPlayerInRangeOfVehicle(playerid,bustcar,2))
    {
    if(GetPVarInt(i,"Fraktion")==3 || GetPVarInt(i,"Fraktion")==5 || GetPVarInt(i,"Fraktion")==13)return SendClientMessage(playerid,COLOR_GREY,"Du kannst
    keine Behördler busten.");
    GameTextForPlayer(i, "~y~BUSTED!", 3000, 3);
    format(string,sizeof(string),"Du wurdest von %s ins Auto gezerrt!",SpielerName(playerid));
    SendClientMessage(i,COLOR_GREY,string);
    format(string,sizeof(string),"Du hast %s ins Auto gezerrt!",SpielerName(i));
    SendClientMessage(playerid,COLOR_GREY,string);
    PutPlayerInVehicle(i, bustcar, 2);
    TogglePlayerControllable(i,0);
    SetPVarInt(i,"Gefesselt",1);
    SetTimerEx("Busttimer",1000*10*2,0,"i",i);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter!");
    }
    }
    return 1;
    }

  • Frag doch einfach nicht die IsPlayerInRangeOfVehicle sondern die Position des Behördlers und dann die IsPlayerInRangeOfpoint.


    sorry aber ich hab keine ahnung was du meinst...
    Ich hab ja schon die positionen von den behördlern und den nicht behördlern abgefragt...
    eigentlich brauch ich ja jz die position des autos wo er rein soll oder?

  • So kann man das machen:


    new Float: X, Float: Y, Float: Z;
    for(new v; v<MAX_VEHICLES; v++)
    {
    GetVehiclePos(v, X, Y, Z);
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z)) continue;
    //So wenn die Schleife bis hier hin kommt, dann ist v deine vehicleid ;)
    PutPlayerInVehicle(pID, v, 0);
    break;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S