Moin,
was muss ich ändern um nicht auf "Spawn" klicken zu müssen?
Moin,
was muss ich ändern um nicht auf "Spawn" klicken zu müssen?
Der Spawn-Button ist unumgänglich, du kannst jedoch nach einem Dialog oder so SpawnPlayer benutzen sodass er nicht auf den Button drücken muss
Genau das meine ich.
Ich möchte umgehen das ich auf den Spawn Button drücken muss nach dem Einloggen = spawn.
Dann mach wenn er sich richtig eingeloggt hat einfach: SpawnPlayer(playerid);
du müsstest mir schonmal sagen unter was ich SpawnPlayer(playerid); setzen muss
dahin wo du dich einloggst?
Ja hatte ich schon mehrmals dadrunter stehen aber da kommt nix wenn ich mich einlogge.
Habe jetzt schon wieder die schnauze voll und würde alles auf geben.
Poste mal die Zeilen wo du es hingetan hast...
oder
hast du TV?
Bei OnPlayerRequestClass "SpawnPlayer(playerid);". Ansonsten in diesem Callback alles bis auf das Return löschen!
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(response)
{
switch(dialogid) // dialogid auswählen
{
case DIALOG_LOGIN: // ID Login
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
{
Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
Spieler[playerid][skin] = dini_Int(accFormat,"skin");
Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
Spieler[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
SpawnPlayer(playerid);
}
}
case DIALOG_REG: // ID Registrieren
{
if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
}
}
return 1;
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
SpawnPlayer(playerid);
}
}
Wiedergebe mir bitte diese Zeilen und begründe mir wieso du den Spieler Spawnen lässt wenn er das Falsche passwort eingibt?
Mach SpawnPlayer(playerid); unter OnPlayerRequestClass rein.
Das Andere ist total schwachsinnig.
Hatte ich es Funktioniert trotzdem nicht :(.
Mach es mal so
forward Playerspawn(playerid);//Zu dein Forward´s
public OnPlayerRequestClass(playerid, classid)
{
SetTimerEx("Playerspawn",50,0,"i",playerid);
return 1;
}
public Playerspawn(playerid) //Ganz unten in Script
{
SpawnPlayer(playerid);
return 1;
}
Das geht zu 100% wette ich mein Arsch drauf
MFG:Maxi
public Playerspawn(playerid) //Ganz unten in Script
{
SpawnPlayer(playerid);
return 1;
}
Danke dir
es Funktioniert