Cameras gehen nicht

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
  • Also ich hab folgendes problem
    Nach dem ich mein haus system fertig hatte muste ich zu entsetzen feststelln das meine cameras dei beim connecten gesetzt werden nicht gehen siehe pawncode
    public OnPlayerConnect(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    SetPlayerCameraPos(playerid,1334.1407,-1885.0770,194.1379);
    SetPlayerCameraLookAt(playerid, 1528.7094,-1553.2479,67.2109);
    }
    else
    {
    SetPlayerCameraPos(playerid,2041.2831,-2717.3804,94.2059);
    SetPlayerCameraLookAt(playerid, 1856.8364,-2562.0042,13.5469);
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    return 1;
    }
    die Dialoge werden aufgerufen nur beide cameras gehen nicht
    [die obere schaut auf die Stadt, und die untere auf den ls Flughafen ]
    wo liegt da der fehler ich erkenne ihn nicht

  • Verändert OnDialogResponse etwas an den Camerapositionen?

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • Schau am besten unter OnPlayerRequestClass nach, denn wenn wegen dem werden auch die KameraPositionen verschwinden bzw. Setze die KameraPositionen dort rein mit den Abfragen wie "Ob Spieler Eingeloggt ist" und "Spieler bereits Registriert/Neu ist".

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Es geht nicht ich hab es nun so
    public OnPlayerRequestClass(playerid, classid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(Spieler[playerid][Eingeloggt] < 1)
    {
    if(fexist(accFormat))
    {
    SetPlayerCameraPos(playerid,1334.1407,-1885.0770,194.1379);
    SetPlayerCameraLookAt(playerid, 1528.7094,-1553.2479,67.2109);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    }
    else
    {
    SetPlayerCameraPos(playerid,2041.2831,-2717.3804,94.2059);
    SetPlayerCameraLookAt(playerid, 1856.8364,-2562.0042,13.5469);
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    SetPlayerPos(playerid, 1-1983.5542,665.4218,46.5683);
    SetPlayerCameraPos(playerid, -1977.6497,665.9248,46.5683);
    SetPlayerCameraLookAt(playerid, -1983.5542,665.4218,46.5683);
    SetPlayerFacingAngle(playerid,270.0000);
    return 1;
    }
    doch ich schau beim einloggen immernoch auf den dummen strand

  • Du ehm, ich will nix sagen, aber das wird doch langsam peinlich für dich oder? Schau mal die Letzten 4 Zeilen an xD

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ok ich kommentiere dir nun den Scriptteil... Kommentare sind nach // zu sehen. Nun solltest du es sehen, was ich meine..
    public OnPlayerRequestClass(playerid, classid) //Gut, aufgerufen wenn einer in Skinauswahl kommt/ist.
    {
    new pname[MAX_PLAYERS],accFormat[128]; //Schöne Arrays for Spieler-/Dateinamen
    GetPlayerName(playerid,pname,sizeof pname); //Findet Spielernamen heraus
    format(accFormat,sizeof accFormat,"%s.datei",pname); //formatiert Dateinamen zum auslesen
    if(Spieler[playerid][Eingeloggt] < 1) //Ob Spieler eingeloggt ist, aber wenn nicht ...
    {
    if(fexist(accFormat)) //... überprüfe ob Account vorhanden ist, ansonsten...
    {
    SetPlayerCameraPos(playerid,1334.1407,-1885.0770,194.1379); //Setzt die SpielerKamera auf die Koordinaten für bereits registrierte Spieler.
    SetPlayerCameraLookAt(playerid, 1528.7094,-1553.2479,67.2109); //Der Punkt für die SpielerKamera wohin sie schauen soll für bereits registrierte Spieler.
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen"); //LoginDialog für Spieler zeigen
    }
    else //...zwinge Ihn neu zum registrieren.
    {
    SetPlayerCameraPos(playerid,2041.2831,-2717.3804,94.2059); //Setzt die SpielerKamera auf die Koordinaten für neue Spieler.
    SetPlayerCameraLookAt(playerid, 1856.8364,-2562.0042,13.5469); //Der Punkt für die SpielerKamera wohin sie schauen soll für neue Spieler.
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen"); //Registrierungsdialog für Spieler zeigen.
    }
    }
    SetPlayerPos(playerid, 1-1983.5542,665.4218,46.5683); //Setzt Spieler Koordinate auf Punkt, egal ob Registriert oder Neu.
    SetPlayerCameraPos(playerid, -1977.6497,665.9248,46.5683); //Setzt SpielerKamera Neu für Spieler, egal ob Registriert oder Neu.
    SetPlayerCameraLookAt(playerid, -1983.5542,665.4218,46.5683); //Setzt Punkt für Spielerkamera neu für Spieler, egal ob Registriert oder Neu.
    SetPlayerFacingAngle(playerid,270.0000); //Richtet die Ausrichtung vom Skin, wohin der Skin schauen soll.
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • schön da wird die cam auf den spieler gesetzt aber erst nachdem er eingeloggt ist ich erkenn da nix grosartiges 8|
    (dan wirds halt peinlich hab ich auch kein problem mit)


    Naja, dass du da die Camera wieder zu einer anderen Position settest solltest aber schon selbst erkennen ;)

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • danke deine kommentirung hätt ich nicht gebraucht sa dumm bin ich auch wieder nicht ich versuch nun mal was anderes hat mich zumindest auf eine idee gebracht
    //EDIT: ja ich wie dass ich die camera auf eine andere Position setzt aber ich war der Meinung das passirt erst wen die if abfragen fertig sind und zudem schaute die camera für den Spieler auch erst dann dahin wen er den Dialog fertig hat von daher war ich der Überzeugung das das so stimmt
    2.//EDIT:meine Lösung geht immer noch nicht

    SetPlayerPos(playerid, 1-1983.5542,665.4218,46.5683); //Die kamera kommt erst wen der spieler fertig ist mit den dialogen, wen er bei den dialogen ist ist er NOCH am strand
    SetPlayerCameraPos(playerid, -1977.6497,665.9248,46.5683); //wird auch erst nach den dialogengemacht
    SetPlayerCameraLookAt(playerid, -1983.5542,665.4218,46.5683); //auch erst danach
    SetPlayerFacingAngle(playerid,270.0000);
    return 1;

    Einmal editiert, zuletzt von carlos1710 ()

  • public OnPlayerRequestClass(playerid, classid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(Spieler[playerid][Eingeloggt] < 1)
    {
    if(fexist(accFormat))
    {
    SetPlayerCameraPos(playerid,1334.1407,-1885.0770,194.1379);
    SetPlayerCameraLookAt(playerid, 1528.7094,-1553.2479,67.2109);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    }
    else
    {
    SetPlayerCameraPos(playerid,2041.2831,-2717.3804,94.2059);
    SetPlayerCameraLookAt(playerid, 1856.8364,-2562.0042,13.5469);
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    return 1; //Dieses return blockiert nun den kommenden Scriptblock.
    }
    SetPlayerPos(playerid, 1-1983.5542,665.4218,46.5683);
    SetPlayerCameraPos(playerid, -1977.6497,665.9248,46.5683);
    SetPlayerCameraLookAt(playerid, -1983.5542,665.4218,46.5683);
    SetPlayerFacingAngle(playerid,270.0000);
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Jetzt mal ganz langsam ;).


    Sowas wie "returns manchmal braucht mans manchmal net" gibt's in diesem Kontext nicht. Das ist schon sehr klar definiert. Ich würde Dir auch vom verwenden von Returns mittem im Code abraten - aber das ist Geschmackssache.


    Nochmal meine Frage die Du leider noch nicht beantwortet hast:


    Verändert OnDialogResponse etwas an den Camerapositionen?


    Ansonsten (außer Du machst etwas was man anhand deiner Ausschnitte nicht sehen kann) funkioniert der Code der Dir vorgestellt wurde.

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax

  • Bis auf das, dass bei deiner KameraPos oben das SetPlayerPos fehlt, hab ich es selbst getestet und es ging bei mir.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • also
    1. nein die Dialoge brauchen keine camera sprich es wird keine verwendet
    2. das SetPlayerPos ist mit Absicht nicht da, da während des registrieren die camera auf den fFlughafen geht (einfliegen)
    und wen der Spieler schon mal eingeflogen ist kommt die camera auf die Stadt


    Bei mir passirt aber nur
    -man connectet
    -man registriert/logt sich ein, camera auf den dummen Strand (wo sie eigentlich auf den Flughafen/Stadt gehört)
    -nach dem registrieren/login geht die camera wie gewollt auf den Spieler


    es ging auch schon bei mir nur plötzlich gehts nimma

  • Wie gesagt, der Code Ausschnitt der Dir von Templer vorgestellt wurde funktioniert als solcher. Entweder Du hast weitere Funktionen die aufgerufen werden und die Cameraposition verändern - oder die Werte für die if-Abfragen sind nicht korrekt gesetzt


    if(Spieler[playerid][Eingeloggt] < 1)
    {
    if(fexist(accFormat))
    {


    Viele andere Möglichkeiten gibt es nicht mehr.

    GameMode / Filterscript / Plugin Development via
    - PAWN / C/C++
    - Database (mySQL) & Filebased - Systems


    Webdevelopment / Interfaces Webapplications - SA:MP Server via
    - HTML & CSS
    - PHP, JavaScript, Ajax


  • public OnPlayerRequestClass(playerid, classid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(Spieler[playerid][Eingeloggt] == 1)
    {
    if(fexist(accFormat))
    {
    SetPlayerCameraPos(playerid,1334.1407,-1885.0770,194.1379);
    SetPlayerCameraLookAt(playerid, 1528.7094,-1553.2479,67.2109);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    }
    else
    {
    SetPlayerCameraPos(playerid,2041.2831,-2717.3804,94.2059);
    SetPlayerCameraLookAt(playerid, 1856.8364,-2562.0042,13.5469);
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    SetPlayerPos(playerid, 1-1983.5542,665.4218,46.5683);
    SetPlayerCameraPos(playerid, -1977.6497,665.9248,46.5683);
    SetPlayerCameraLookAt(playerid, -1983.5542,665.4218,46.5683);
    SetPlayerFacingAngle(playerid,270.0000);
    return 1;


    }


    Ka, sollteste aber mal versuchen ;D.

  • So hier.. darauf müsst ihr doch selbst kommen. Da ihr die Camera Position durch die letzten 4Zeilen wieder woanders hinsetzt bringt davor kein Setten der Camera Pos. das ist genau so wie zweimal hintereinander SetPlayerPos mit anderen Kords er wird nur zur letzten geportet...!



    public OnPlayerRequestClass(playerid, classid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(Spieler[playerid][Eingeloggt] == 1)
    {
    if(fexist(accFormat))
    {
    SetPlayerCameraPos(playerid,1334.1407,-1885.0770,194.1379);
    SetPlayerCameraLookAt(playerid, 1528.7094,-1553.2479,67.2109);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Weiter","Abbrechen");
    }
    else
    {
    SetPlayerCameraPos(playerid,2041.2831,-2717.3804,94.2059);
    SetPlayerCameraLookAt(playerid, 1856.8364,-2562.0042,13.5469);
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Weiter","Abbrechen");
    }
    }
    return 1;
    }

    Why do programmers always mix up Halloween and Christmas?
    Oct 31 == Dec 25