PlayerToPoint mit Fahrzeug

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
  • Kann mir jemand sagen warum das nicht funktionieren kann?
    public PlayerToPoint2(Float:radi, vehicleid, Float:x, Float:y, Float:z)
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetVehiclePos(vehicleid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    }
    return 0;
    }


    Bei dem hier wird nie was ausgelöst:

    if(PlayerToPoint2(4.3,vehicleid,1853.0034,-1382.7946,13.3906)) {

  • Auszug:


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new string[256];
    if(PlayerToPoint2(4.3,vehicleid,1853.0034,-1382.7946,13.3906)) {
    format(string, 256, "~n~~g~Du wurdest mit ~w~%.0f geblitzt~n~ ~r~-$30",vehicleid);
    GameTextForPlayer(playerid, string, 1500, 5);
    GivePlayerMoney(playerid, -30);
    } else if(PlayerToPoint2(4.3,vehicleid,1845.0302,-1381.9882,13.3906)) {
    format(string, 256, "~n~~g~Du wurdest mit ~w~%.0f geblitzt~n~ ~r~-$30",vehicleid);
    GameTextForPlayer(playerid, string, 1500, 5);
    GivePlayerMoney(playerid, -30);
    }


    vehicleid bei dem Gametext ersetzte ich später noch durch speed.

  • nimm den Standard PlayerToPoint bau nen Timer,


    und knüppel das so ähnlich da rein


    for(new i = 0;i<MAX_PLAYER;i++)
    {
    if(GetPlayerState(i) == 2)
    {
    if(PlayerToPoint(radius,i,x,y,z))
    {


    }
    }
    }


    müsste so gehen normal

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Sonst kann mans auch mal anders versuchen:
    stock FahrzeugAmPunkt(Float:radi,aid,Float:x,Float:y,Float:z) {
    new Float:vx, Float:vy, Float:vz;
    GetVehiclePos(aid,vx,vy,vz);
    if(((vx-x<=radi) && (vx-x>=-radi)) && ((vy-y<=radi) && (vy-y>=-radi)) && ((vz-z<=radi) && (vz-z>=-radi))) { return 1; }
    return 0; }