Spieler nach Registration Spawnen lassen. Wie?

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
  • Hey liebe Community
    wie lasse ich de Spieler nach der Registration spawnen?
    Hier mal mein Code:


    if(dialogid == D_Register)
    {


    new query[612], key[50];
    if(!response)
    {
    Kick(playerid);
    }
    if(strlen(inputtext) < 4)
    {
    SendClientMessage(playerid,Rot,"Das Passwort muss mind. 4 Zeichen Enthalten");
    ShowPlayerDialog(playerid, D_Register,DIALOG_STYLE_INPUT,"TyL-RP Registrierung","Herzlich Willkommen auf TyL-RP,\nBitte lege dir ein Account an indem du unten ein Passwort angibst.\n\nWir wünschen dir viel Erfolg,\nDas TyL Team.","Ok","Abbrechen");
    }
    TogglePlayerSpectating(playerid,0);
    format(key, 50, "%s", inputtext);
    mysql_escape_string(GetName(playerid), GetName(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO Accounts (Name, Passwort, Level, Admin, Geld, Filliale, Bank, Leader, Member, Job, Bankkarte, Abschluss, Banned) VALUES ('%s','%s','1','0','5000','0','0','0','0','0','0','0','0')", GetName(playerid), key);
    mysql_tquery(dbhandle, query);
    SendClientMessage(playerid, Grau, "Dein Account wurde erstellt.");
    GivePlayerMoney(playerid, 5000);
    SetPlayerScore(playerid, 1);
    TextDrawHideForPlayer(playerid, Balken1);
    TextDrawHideForPlayer(playerid, Balken0);


    }


    Und ich wollte so machen wenn man kein Job hat ( pDaten[playerid][Job] ==0) soll man am standard spawn spawnen.


    Momentan ist es so, man registriert sich und muss dann unten auf Spawn drücken.

  • Geht nicht :/
    Wenn ich bei OnPlayerConnect TogglePlayerSpectate rausnehme dann spawnt er , aber nicht an der gewünschten stelle.
    Wenn ich es drinn lasse wird die ganze Zeit während der Dialog angezeigt wird auch der Spawn Button unten angezeigt.


    Code: if(dialogid == D_Register)
    {


    new query[612], key[50];
    if(!response)
    {
    Kick(playerid);
    }
    if(strlen(inputtext) < 4)
    {
    SendClientMessage(playerid,Rot,"Das Passwort muss mind. 4 Zeichen Enthalten");
    ShowPlayerDialog(playerid, D_Register,DIALOG_STYLE_INPUT,"TyL-RP Registrierung","Herzlich Willkommen auf TyL-RP,\nBitte lege dir ein Account an indem du unten ein Passwort angibst.\n\nWir wünschen dir viel Erfolg,\nDas TyL Team.","Ok","Abbrechen");
    }
    TogglePlayerSpectating(playerid,0);
    format(key, 50, "%s", inputtext);
    mysql_escape_string(GetName(playerid), GetName(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO Accounts (Name, Passwort, Level, Admin, Geld, Filliale, Bank, Leader, Member, Job, Bankkarte, Abschluss, Banned) VALUES ('%s','%s','1','0','5000','0','0','0','0','0','0','0','0')", GetName(playerid), key);
    mysql_tquery(dbhandle, query);
    SendClientMessage(playerid, Grau, "Dein Account wurde erstellt.");
    GivePlayerMoney(playerid, 5000);
    new querys[512];
    format(querys,sizeof(querys),"SELECT * FROM accounts WHERE Name='%s'",GetName(playerid));
    mysql_tquery(dbhandle,querys,"LoadAccount","d",playerid);
    SetPlayerScore(playerid, 1);
    TextDrawHideForPlayer(playerid, Balken1);
    TextDrawHideForPlayer(playerid, Balken0);
    if(pDaten[playerid][Job] ==0) SetSpawnInfo(playerid,0,0,1022.7044,-1128.0221,23.8707,180.9628,0,0,0,0,0,0);
    //else: SetSpawnInfo(/*Job Spawn*/);
    SpawnPlayer(playerid);


    }

    Einmal editiert, zuletzt von Hagz ()

  • An welcher Position spawnt er? Am normalen Spawn?
    Dann lasse es so, dass der Spieler den Button nicht sieht und gespawnt wird und füge bei OnPlayerSpawn hinzu:


    if(pDaten[playerid][Job] ==0) SetPlayerPos(playerid, /*Koordinaten*/);
    else SetPlayerPos(playerid, /*Koordinaten*/);


    Am besten ganz unten in OnPlayerSpawn, falls du zuvor noch eine Position hast die du übersehen hast.