Spawn unter Easterbord-Farm

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
  • Hi,
    ich habe mit Hilfe des Tutorials von Blackfox versucht ein Loginsystem in meinen gamemode einzubauen, was zunächst auch funktioniert hat. Nun ist es aber so, dass ich versucht habe eine Classselection einzubauen, die sich per CMD öffnen lässt, also nicht am Anfang.
    Jetzt ist es so, dass wenn man auf den Server kommt muss man nach der Passworteingabe trotzdem noch auf Spawn klicken und dann spawnt der Spieler im Koordinatenursprung. Was habe ich falsch gemacht?

    public OnPlayerRequestClass(playerid, classid)
    {
    if (classselection && Spieler[playerid][eingeloggt] == 1)
    {
    SetPlayerPos(playerid,-2666.6602,1594.9426,217.2739);
    SetPlayerCameraPos(playerid,-2672.0273,1600.5834,219.5353);
    SetPlayerCameraLookAt(playerid,-2666.6602,1594.9426,217.2739);
    SetPlayerFacingAngle(playerid,39);
    }
    else
    {
    OnPlayerSpawn(playerid);
    }

    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    new playername[MAX_PLAYER_NAME], string[22 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "%s hat das Spiel betreten.", playername);
    SendClientMessageToAll(0xAAAAAAAA, string);

    //Loginsystem
    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, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich, indem du dein Passwort eingibst.","Weiter","Abbrechen");
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    new pname[MAX_PLAYER_NAME], string[39 + MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    switch(reason)
    {
    case 0: format(string, sizeof(string), "%s hat das Spiel verlassen. (Lost Connection)", pname);
    case 1: format(string, sizeof(string), "%s hat das Spiel verlassen. (Leaving)", pname);
    case 2: format(string, sizeof(string), "%s hat das Spiel verlassen. (Kicked)", pname);
    }
    SendClientMessageToAll(0xAAAAAAAA, string);

    //Loginsystem


    new playername[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,playername,sizeof playername);
    format(accFormat,sizeof accFormat,"%s.datei",playername);
    if(fexist(accFormat) && Spieler[playerid][eingeloggt])
    {
    dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
    dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
    dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
    dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
    dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    }
    Spieler[playerid][eingeloggt] = 0;
    Spieler[playerid][wanted] = 0;
    Spieler[playerid][skin] = 0;
    Spieler[playerid][lastx] = (0.0);
    Spieler[playerid][lasty] = (0.0);
    Spieler[playerid][lastz] = (0.0);



    //-------------------

    return 1;
    }


    public OnPlayerSpawn(playerid)
    {


    //Loginsystem
    if (!classselection && Spieler[playerid][eingeloggt] == 1)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"%s.datei",pname);
    if(dini_Isset(accFormat,"lastx"))
    {
    SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
    }
    }

    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/kill", cmdtext, true, 10) == 0)
    {
    SetPlayerHealth(playerid,0);
    classselection = true;
    ForceClassSelection(playerid);
    return 1;
    }
    return 0;
    }

    Einmal editiert, zuletzt von Winnetou ()

  • Diesen Balken wo man auf Spawn klicken kann den kann man nicht entfernen ;)

  • ich habe schon alles mögliche versucht aber man spawnt immer unter der Easterbord Farm.
    und zusätzlich ruft der jetzt auch noch die Classselection am Anfang auf wenn man nicht ID 0 ist


    liegt das vielleicht daran, dass die Position unter OnPlayerDisconnect =0,0 gesetzt wird?
    Spieler[playerid][lastx] = (0.0);
    Spieler[playerid][lasty] = (0.0);
    Spieler[playerid][lastz] = (0.0);


    Einmal editiert, zuletzt von Winnetou ()

  • Spieler[playerid][lastx] = (0.0); Spieler[playerid][lasty] = (0.0); Spieler[playerid][lastz] = (0.0);




    siehste das?? tu das einfach weg

  • lösch mal dein account daten dann sollte es wieder gehen das passiert wen der server crasht

  • wo sind die accountdaten denn gespeichert?

    Spieler[playerid][lastx] = (0.0); Spieler[playerid][lasty] = (0.0); Spieler[playerid][lastz] = (0.0);




    siehste das?? tu das einfach weg

    Ich habe nochmal nachgeguckt. Das steht so im Tutorial von Blackfox dass das so muss
    ich habe das gerade auch mal zum Probieren rausgenommen und man spawnt immer noch inter der Easterbordfarm

    Einmal editiert, zuletzt von Winnetou ()

  • such mal in den ordner scriptfiles dann muste da halt dein account suchen den du oben bei gta samp eingegeben hast

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen