Problem beim Spawnen

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
  • Ich weiß das diese Frage schon 1001 mal gestellt wurde.Nur ich könnte gerade daran verzweiffeln.
    SUFU habe ich schon benutzt,aber leider keine Hilfreiche antwort gefunden.


    Mein Problem ist das man nach dem Login die Skinauswahl angezeigt bekommt.
    Dadurch wird natürlich auch nicht mein gespeicherter Skin und mein letzter Ort nicht genutzt.


    Wie kann ich das ändern.


    Wenn möglich auch per TV.


    ICh hoffe das mir jemand helfen kann.

  • Bei OnPlayerRequestClass folgendes rein machen:


    SetSpawnInfo( playerid, 0, 29, X,Y,Z,A, 0, 0,0, 0, 0, 0 );
    SpawnPlayer(playerid);


    damir ist die Class auswahl deaktiv
    und um den Skin zu setzen musst du natürlich via OnPlayerSpawn die sachen angeben z.B.


    if(SpielerInfo[playerid][pMember]==0)//Zivispawn
    {
    SetPlayerPos(playerid,-1738.3245,789.2919,24.8921);
    SetPlayerFacingAngle(playerid,271.4335);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerSkin(playerid,SpielerInfo[playerid][pSkin]);
    }


    so nutze ich das Ganze

  • arbeitest du mit enums? wenn ja Poste den Mal von den Spieler

  • Ne arbeite nicht mit enums sondern so:


    stock Register(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_Create(Playerdatei);
    dini_Set(Playerdatei,"Passwort",key);
    SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich eingeloggt.");
    SetPlayerScore(playerid,0);
    dini_IntSet(Playerdatei,"Adminlevel",0);
    dini_IntSet(Playerdatei,"Fraktion",0);
    dini_IntSet(Playerdatei,"Rank",0);
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    if(!strcmp(key,dini_Get(Playerdatei,"Passwort"),false))
    {


    AccountLaden(playerid);
    SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich eingeloggt.");
    //SetTimer("Spawnen",500,false);


    }
    else
    {
    SendClientMessage(playerid,Orange,"Dein hast ein falsches Passwort eingegeben!");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Log In Vorgang","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","LogIn", "Abbrechen");
    }
    return 1;
    }


    stock AccountLaden(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    SetPlayerScore(playerid,dini_Int(Playerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Playerdatei,"Geld"));
    SetPlayerSkin(playerid,dini_Int(Playerdatei,"Skin"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Playerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Playerdatei,"Fraktion"));
    SetPVarInt(playerid,"Rank",dini_Int(Playerdatei,"Rank"));
    SetPVarInt(playerid,"Eingeloggt",1);
    pX = dini_Float(Playerdatei, "pX");
    pY = dini_Float(Playerdatei, "pY");
    pZ = dini_Float(Playerdatei, "pZ");
    SetPlayerPos(playerid,pX,pY,pZ);
    if(GetPVarInt(playerid,"Bann")==1)
    {
    SendClientMessage(playerid,Rot,"Du bist vom Server gebannt!Du kannst im Forum aber einen Antrag auf Entbannung stellen.");
    Kick(playerid);
    }
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {


    if(GetPVarInt(playerid,"Eingeloggt")==1)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    new Float:pX, Float:pY, Float:pZ;
    GetPlayerName(playerid,name,sizeof(name));
    GetPlayerPos(playerid,pX,pY,pZ);
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_IntSet(Playerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Playerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Playerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Playerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Playerdatei,"Bann",GetPVarInt(playerid,"Bann"));
    dini_IntSet(Playerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Playerdatei,"Rank",GetPVarInt(playerid,"Rank"));
    dini_FloatSet(Playerdatei,"PosX",pX);
    dini_FloatSet(Playerdatei,"PosY",pY);
    dini_FloatSet(Playerdatei,"PosZ",pZ);
    }


  • da ist de Antwort und um den Spawn wiederherzustellen wo er off gegangen ist machst du es via OnPlayerSpawn so wie ich es in den 3. letzten Post geschrieben hatte

  • Um die Class auswahl zu deaktivieren? nicht dass ich wüsste und noch mal so als kleine Info wenn du es bei onplayerrequestclass via SetSpawnInfo machst, dann brauchst du die ganzen sachen wie AddPlayerClass nicht mehr

  • Inwiefern?


    was nen Timer ist weiß ich aber was hast du damit vor?

  • AccountLaden(playerid);
    SendClientMessage(playerid,Gruen,"Du hast dich erfolgreich eingeloggt.");
    SetTimer("Spawnen",500,false);



    public Spawnen(playerid)
    {
    SetSpawnInfo(playerid, 0,0,0,0,0,0,0,0,0,0,0,0);
    pawnPlayer(playerid);
    }

    Hat auch funkt nur jetzt geht es plötzlich nicht mehr.

  • SetSpawnInfo nkommt ganz allein Bei OnPlayerRequestClass rein!!!


    nirgendswo anders