Peilsender setzt sich nicht dran

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
  • Hallo Community,


    ich wollte heute mal mein Peilsendersystem anders machen, undzwar das man es machen kann wenn man an einem Fahrzeug steht...


    dcmd_ps(playerid,params[])
    {
    #pragma unused params
    if(IsACop(playerid))
    {
    if(Suchpeil < 1)
    {
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerPos(playerid, pX, pY, pZ);
    new Float:vX, Float:vY, Float:vZ;
    new Found = 0;
    new vid = 0;
    while((vid < MAX_VEHICLES) && (!Found))
    {
    vid++;
    GetVehiclePos(vid,vX,vY,vZ);
    if((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0) && (floatabs(pZ-vZ)<7.0) && (vid!=GetPlayerVehicleID(playerid)))
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    Peilsender[vid] = 1;
    Suchpeil = vid;
    SendClientMessage(playerid, COLOR_GRAD1, "Peilsender erfolgreich rangesetzt!");
    SetTimer("Peilsenderwarnung", 60000*4, 0);
    if(IsACop(i))
    {
    GetPlayerName(playerid,pname,sizeof(pname));
    format(str,sizeof(str),"Polizist %s hat einen Peilsender an ein Fahrzeug gebaut, du kannst ihn per /orten suchen.",pname);
    SendClientMessage(i,Gelb,str);


    }
    printf("Veh: %d", vid);
    }
    break;
    }



    }
    }

    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Es hat bereits ein Fahrzeug einen Peilsender, lösche ihn oder warte bis er abgelaufen ist.");
    }
    }
    return 1;
    }


    Bei meiner printf werden alle fahrzeuge aufgelistet in der log also will es nicht, aber wie mache ich das genau das fahrzeug den peilsender ranbekommt


    neben dem ich stehe?


    LG


    Nice

  • stock GetClosestVehicle(playerid, Float:range)
    {
    new Float:p_X;
    new Float:p_Y;
    new Float:p_Z;


    new Float:Distance;
    new Float:PretendentDistance = range +1;
    new Pretendent;


    GetPlayerPos(playerid, p_X, p_Y, p_Z);


    for(new vehicleid=1; vehicleid < MAX_VEHICLES; vehicleid++)
    {
    Distance = GetVehicleDistanceFromPoint(vehicleid, p_X, p_Y, p_Z);


    if(Distance <= range && Distance <= PretendentDistance)
    {
    Pretendent = vehicleid;
    PretendentDistance = Distance;
    }
    }


    return Pretendent;
    }

    new vehicleid;
    vehicleid = GetClosestVehicle(playerid, 20);

    http://forum.sa-mp.com/showthread.php?t=307637