First Person Kamera Bug's[+ VIDEO]

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,


    wie ihr oben lesen könnt funktioniert meine First Person nicht richtig


    hier ein Video:
    [video]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]


    und hier der Komplette Code



    enum playerenum
    {
    CameraOBJ
    };


    //---------NEW---------
    new Player[MAX_PLAYERS][playerenum];


    public OnPlayerSpawn(playerid)
    {
    DestroyObject(Player[playerid][CameraOBJ]);
    Player[playerid][CameraOBJ] = CreateObject(19300, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToPlayer(Player[playerid][CameraOBJ],playerid, 0.0, 0.12, 0.7, 0.0, 0.0, 0.0);
    AttachCameraToObject(playerid, Player[playerid][CameraOBJ]);

    GivePlayerWeapon(playerid, 22, 99999);
    GivePlayerWeapon(playerid, 30, 99999);
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    //if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 411)return 1;
    DestroyObject(Player[playerid][CameraOBJ]);
    Player[playerid][CameraOBJ] = CreateObject(19300, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Player[playerid][CameraOBJ],GetPlayerVehicleID(playerid), -0.42, -0.17, 0.38, 0.00, 0.00, 0.00);
    AttachCameraToObject(playerid,Player[playerid][CameraOBJ]);
    }
    else if(newstate == PLAYER_STATE_PASSENGER)
    {
    //if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 411)return 1;
    DestroyObject(Player[playerid][CameraOBJ]);
    Player[playerid][CameraOBJ] = CreateObject(19300, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(Player[playerid][CameraOBJ],GetPlayerVehicleID(playerid), 0.42, -0.17, 0.38, 0.00, 0.00, 0.00);
    AttachCameraToObject(playerid, Player[playerid][CameraOBJ]);
    }
    else if(newstate == PLAYER_STATE_ONFOOT)
    {
    DestroyObject(Player[playerid][CameraOBJ]);
    Player[playerid][CameraOBJ] = CreateObject(19300, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
    AttachObjectToPlayer(Player[playerid][CameraOBJ], playerid, 0.0, 0.12, 0.7, 0.0, 0.0, 0.0);
    AttachCameraToObject(playerid, Player[playerid][CameraOBJ]);
    }
    return 1;
    }


    Und meine Frage ist wie kann ich die Kamera direkt am Kopf befestiegen oder nur mitbewegen.
    Ausserdem dass mann die Kamera im Auto und zu Fuß nur 180° Maximal schwenken kann.


    könnt ihr mir helfen


    Danke im Vorraus


    MFG Piet

  • Du könntest mit dem Vektor der camera arbeiten
    GetPlayerCameraFrontVector
    jedoch kommt du um einen timer nicht frum rum der das immer übprüft.
    Solltest halt dan mit einer if abfrage, abfragen ob der Spieler diese neigung hat wenn ja oder größer gegebenfalls kleiner ist solltest du dieser wieder auf einen bestimmten
    hin fixxieren erneut AttachCameraToObject.


    wäre eine idee