[Frage] Abfrage, ob der Spieler geduckt ist.

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
  • Bist du dir sicher, dass du Abfragen möchtest, ob jeder Spieler hinter einem Fahrzeug (vehicleid) steht.
    Wenn ja, so lautet der Code.

    for(new i=GetPlayerPoolSize(); i != -1; i--)
    {
    if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue;
    if(!IsPlayerBehindVehicle(i, vehicleid))continue;
    // Spieler steht hinter dem Fahrzeug
    }


    stock IsPlayerBehindVehicle(playerid, veh)
    {
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    new Float:size[3]; GetVehicleModelInfo(GetVehicleModel(veh), VEHICLE_MODEL_INFO_SIZE, size[0],size[1],size[2]);
    new Float:vangle; GetVehicleZAngle(veh,vangle);
    vcoord[0] = floatadd(vcoord[0],(-size[0]* floatsin(-vangle,degrees)));
    vcoord[1] = floatadd(vcoord[1],(-size[1]* floatcos(-vangle,degrees)));
    if(IsPlayerInRangeOfPoint(playerid,3.0,vcoord[0],vcoord[1],vcoord[2])) return 1;
    return 0;
    }

  • Bist du dir sicher, dass du Abfragen möchtest, ob jeder Spieler hinter einem Fahrzeug (vehicleid) steht.
    Wenn ja, so lautet der Code.
    for(new i=GetPlayerPoolSize(); i != -1; i--){ if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; if(!IsPlayerBehindVehicle(i, vehicleid))continue; // Spieler steht hinter dem Fahrzeug}stock IsPlayerBehindVehicle(playerid, veh){ new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]); new Float:size[3]; GetVehicleModelInfo(GetVehicleModel(veh), VEHICLE_MODEL_INFO_SIZE, size[0],size[1],size[2]); new Float:vangle; GetVehicleZAngle(veh,vangle); vcoord[0] = floatadd(vcoord[0],(-size[0]* floatsin(-vangle,degrees))); vcoord[1] = floatadd(vcoord[1],(-size[1]* floatcos(-vangle,degrees))); if(IsPlayerInRangeOfPoint(playerid,3.0,vcoord[0],vcoord[1],vcoord[2])) return 1; return 0;}

    Funktioniert bestens. :thumbup: