Spawnen wo man ausloggt?

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
  • Wie kann ich einstellen das man da Spawnt wo man sich ausloggt?
    habe schon viele versuche gemacht, viele waren auch in TV & haben es nicht geschafft.


    Habe es mit .ini die Account daten
    Beispiel:
    if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }


    Also man loggt sich aus, und beim einloggen spawnt man da wo man sich ausgeloggt hat!
    PS: Habe ein GF Edit!

  • Zitat

    habe schon viele versuche gemacht, viele waren auch in TV & haben es nicht geschafft


    Wenn man das nicht schafft der sollte SAMP Ausmachen und kein Server erstellen. Am besten solltest du auch kein Server machen. Wenn du doch ein machst dann mach aber anounce auf 0.


    Du kannst ja was machen und denn Code schicken und wir helfen dir. Aber die ganze Arbeit machen. Nein.

  • pInfo
    Float: SpawnX,Float: SpawnY,
    Float: SpawnZ,
    Float: SpawnR,
    SInterior,
    SVirtualWorld,



    OnPlayerLogin
    if( strcmp( key , "SpawnX" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][SpawnX] = floatstr( val ); }
    if( strcmp( key , "SpawnY" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][SpawnY] = floatstr( val ); }
    if( strcmp( key , "SpawnZ" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][SpawnZ] = floatstr( val ); }
    if( strcmp( key , "SpawnR" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][SpawnR] = floatstr( val ); }
    if( strcmp( key , "SInterior" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][SInterior] = strval( val ); }
    if( strcmp( key , "SVirtualWorld" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][SVirtualWorld] = strval( val ); }



    OnPlayerRegister
    format(var, 32, "SpawnX=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnY=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnZ=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnR=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SInterior=%d\n",0);fwrite(hFile, var);
    format(var, 32, "SVirtualWorld=%d\n",0);fwrite(hFile, var);



    OnPlayerUpdateEx
    format(var, 32, "SpawnX=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnY=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnZ=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnR=%.1f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SInterior=%d\n",0);fwrite(hFile, var);
    format(var, 32, "SVirtualWorld=%d\n",0);fwrite(hFile, var);



    OnPlayerSpawn
    SetPlayerPos(playerid, PlayerInfo[playerid][SpawnX], PlayerInfo[playerid][SpawnY], PlayerInfo[playerid][SpawnZ]);
    SetPlayerFacingAngle(playerid, PlayerInfo[playerid][SpawnR]);
    SetPlayerInterior(playerid, PlayerInfo[playerid][SInterior]);
    SetPlayerVirtualWorld(playerid, PlayerInfo[playerid][SVirtualWorld]);



    Ich glaube ich brauche bei OnPlayerDisconnect noch etwas oder?

  • Bei OnplayerDisconnect:



    GetPlayerPos(playerid, PlayerInfo[playerid][SpawnX], PlayerInfo[playerid][SpawnY], PlayerInfo[playerid][SpawnZ]);
    GetPlayerFacingAngle(playerid, PlayerInfo[playerid][SpawnR]);
    GetPlayerInterior(playerid, PlayerInfo[playerid][SInterior]);
    GetPlayerVirtualWorld(playerid, PlayerInfo[playerid][SVirtualWorld]);

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint:


  • SpawnX=%f
    SpawnY=%f
    SpawnZ=%f
    Steht jetzt in der Scriptfiles Datei.


    Habe es so gemacht:

    format(var, 32, "SpawnX=%f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnY=%f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnZ=%f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SpawnR=%f\n",0.0);fwrite(hFile, var);
    format(var, 32, "SInterior=%d\n",0);fwrite(hFile, var);
    format(var, 32, "SVirtualWorld=%d\n",0);fwrite(hFile, var);

    Einmal editiert, zuletzt von KevinE ()

  • Hab ich mir fast gedacht, aber deshalb frag ich ja auch :D


    Nehmen wir mal die Zeile:
    format(var, 32, "SpawnX=%f\n",0.0);fwrite(hFile, var);
    Die format zeile formatiert in die Variable "var", mit einer Zeichenlänge bis zu 32 Zeichen, folgenden Text: "SpawnX=*Platzhalter für eine Float(Kommazahl)-Variable'\n*
    Das entscheidene ist die 0.0 am ende der funktion, dort wird nämlich der Wert angegeben der in den Platzhalter kommt.
    Wenn du natürlich 0.0 dort stehen hast, wird er dir immer 0.0 in die Datei schreiben, das sagst du ihm ja schließlich auch.
    Statt 0.0 musst dort also der Wert rein, den du da brauchst, die X-Koordinate vom Spieler und die hast du ja, praktischer Weise, gespeichert in einer Variable.
    Und zwar in PlayerInfo[playerid][SpawnX], die musst du dann nurnoch einsetzen.
    format(var, 32, "SpawnX=%f\n",PlayerInfo[playerid][SpawnX]);fwrite(hFile, var);
    Bei den anderen natürlich die entsprechend anderen Variabeln.


    Nun sollte er dir die Position speichern, zumindest wenn du die Position vor dem Disconnect aufrufst.