Hallo,
Ich möchte es so machen das Weibliche Spieler Einen Weiblichen skin am Spawn bekommen also beim Reallife Server und die Männlichen einen Männlichen das Login/Register System hab ich fertig und dort wird abgefragt ob der Spieler Männlich oder Weiblich ist. Wie kann ich nun den Skin setzen denn mit:
public OnPlayerConnect(playerid)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pGeschlecht] == 0)
{
SetPlayerSkin(playerid,1);
}
else
{
SetPlayerSkin(playerid,10);
}
}
}
hat es nicht Funktioniert.
Skin beim Spawnen
- JohnyDream
- Geschlossen
- Erledigt
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
-
-
Hallo,
if(PlayerInfo[playerid][pGeschlecht] == 0)
Ist die "0" Männlich oder Weiblich?
MfG
-
Männlich
-
public OnPlayerConnect(playerid)
{
if(IsPlayerConnected(playerid))
Das ist nicht dein ernst, oder?Wahrscheinlich ist bei OnPlayerConnect noch nichts in der Variable geschrieben worden, daher solltest du den Skin nach dem Spielerladen erst setzen.
-
Wie meinst du das genau ?
-
Den Code bei OnPlayerSpawn - unter der Voraussetzung, dass der Spieler dort bereits eingeloggt ist.
-
Wie kann ich abfragen ob er bereits eingeloggt ist ?
-
Ich würde es so machen:
public OnPlayerSpawn(playerid)
{
if(PlayerInfo[playerid][pGeschlecht] == 0)
{
SetPlayerSkin(playerid,23);
}
else
{
SetPlayerSkin(playerid,40);
}
return 1;
}So müsste es klappen
#Ungetestet
________________________________________________________ZitatWie kann ich abfragen ob er bereits eingeloggt ist ?
Ganz einfach, wenn das passwort richtig eingegeben wurde, machst du einfach eine Variable z.B:
PlayerInfo[playerid][pEingeloggt] = 1;Und so kannst du dann immer abfragen ob der spieler eingeloggt ist:
if(PlayerInfo[playerid][pEingeloggt] !=1)return 1;MfG
-
Ne es klappt leider noch nicht
-
Ne es klappt leider noch nicht
Bekommst du irgendwelche Fehlercodes? (Errors, Warnings)
-
-
Ne ich hab das ganze jetz in OnPlayerSpawn getan aber es funktioniert trotzdem nicht der skin bleibt der CJ Skin Und ich bekomme auch keine SendClientMessage mehr ...
-
Kannst du mir mal bitten den Login und Register Code senden, also da wo Passwörter und co abgespeichert werden.
Danke
MfG
-
public OnPlayerDisconnect(playerid, reason)
{
new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/spieler/%s.ini", pname);dini_IntSet(path, "pGeschlecht", PlayerInfo[playerid][pGeschlecht]);
dini_IntSet(path, "pAlter", PlayerInfo[playerid][pAlter]);PlayerInfo[playerid][pEingeloggt] = 0;
return 1;
}public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYER_NAME], path[200];
GetPlayerName(playerid, pname, sizeof(pname));
format(path, sizeof(path), "/spieler/%s.ini", pname);switch(dialogid)
{
case DIALOG_REGISTER1:
{
if(!response)
{
Kick(playerid);
}
else
{
new pwlength = strlen(inputtext);
if(pwlength > 0)
{dini_Create(path); //i
dini_Set(path, "passwort", inputtext);
ShowPlayerDialog(playerid, DIALOG_REGISTER2, DIALOG_STYLE_LIST, "(2/4)Geschlecht", "Männlich\nWeiblich", "Weiter", "Abbrechen");
}
else
{
ShowPlayerDialog(playerid, DIALOG_NOPW1, DIALOG_STYLE_MSGBOX, "(1/4)Registrierung", "Du Musst ein Passwort eingeben!", "Einloggen", "Abbrechen");
}
}
}
case DIALOG_REGISTER2:
{
if(!response)
{
dini_Remove(path);
Kick(playerid);
}
else
{
dini_IntSet(path, "pGeschlecht", listitem);
ShowPlayerDialog(playerid, DIALOG_REGISTER3, DIALOG_STYLE_INPUT, "(3/4)Dein Alter", "Gebe hier dein reales Alter ein!", "Weiter", "Abbrechen");
}
}
case DIALOG_REGISTER3:
{
if(!response)
{
dini_Remove(path);
Kick(playerid);
}
else
{
dini_Set(path, "pAlter", inputtext);
ShowPlayerDialog(playerid, DIALOG_REGISTER4, DIALOG_STYLE_MSGBOX, "(4/4)Abgeschlossen!", "Deine Registrierung ist abgeschlossen!", "Spielen", "Tutorial");
}
}
case DIALOG_REGISTER4:
{
if(!response)
{
PlayerInfo[playerid][pGeschlecht] = dini_Int(path, "pGeschlecht");
PlayerInfo[playerid][pAlter] = dini_Int(path, "pAlter");
PlayerInfo[playerid][pEingeloggt] = 1;
SpawnPlayer(playerid);
ShowPlayerDialog(playerid, DIALOG_TUT1, DIALOG_STYLE_MSGBOX,"Wilkommen zum Tutorial!","Wilklommen auf dem HashtagReallife Server!\nHier siehst du die Stadthalle. Dort kanst du zum Beispiel deinen Personalausweiß beantragen.\nDas wird aber eine weile dauern, bis er fertig ist. Also solltest du das als erstes tun.","Ok","Abbrechen");
TogglePlayerControllable(playerid, 1);
SetPlayerCameraPos(playerid, 1412.8979,-1669.1360,39.5469);
SetPlayerCameraLookAt(playerid, 1412.8979,-1669.1360,39.5469);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
}
else
{
PlayerInfo[playerid][pGeschlecht] = dini_Int(path, "pGeschlecht");
PlayerInfo[playerid][pAlter] = dini_Int(path, "pAlter");
PlayerInfo[playerid][pEingeloggt] = 1;
SpawnPlayer(playerid);
}
}
case DIALOG_LOGIN1:
{
if(!response)
{
Kick(playerid);
}
else
{
new pwlength = strlen(inputtext);
if(pwlength > 0)
{
new pw[50];
format(pw, sizeof(pw), "%s", dini_Get(path, "passwort"));
if(strcmp(inputtext, pw) == 0)
{
PlayerInfo[playerid][pGeschlecht] = dini_Int(path, "pGeschlecht");
PlayerInfo[playerid][pAlter] = dini_Int(path, "pAlter");
SetSpawnInfo(playerid, 0, -1,369.6736,-2045.5717,7.6719,359.4333, 0, 0, 0, 0, 0 ,0);
SpawnPlayer(playerid);
PlayerInfo[playerid][pEingeloggt] = 1;
}
else
{
ShowPlayerDialog(playerid, DIALOG_WRONGPW, DIALOG_STYLE_MSGBOX, "Login", "Falsches Passwort!", "Wiederholen", "Abbrechen");
}
}
else
{
ShowPlayerDialog(playerid, DIALOG_NOPW2, DIALOG_STYLE_MSGBOX, "Login", "Du musst dein Passwort eingeben!", "Einloggen", "Abbrechen");
}
}
}
case DIALOG_NOPW1:
{
if(!response)
{
Kick(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER1, DIALOG_STYLE_INPUT, "(1/4)Registrierung", "Dein gewünschtes Passwort", "Erstellen", "Abbrechen");
}
}
case DIALOG_NOPW2:
{
if(!response)
{
Kick(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Dein Passwort:", "Einloggen", "Abbrechen");
}
}
case DIALOG_WRONGPW:
{
if(!response)
{
Kick(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_INPUT, "Login", "Dein Passwort:", "Einloggen", "Abbrechen");
}
}
} -
-
Und dann muss ich eine Zeile daunter SpawnPlayer machen oder was ? Hab ich gemacht und nun bekommt man zwar nach dem Spawn Button Drücken den Skin den ich will aber warum muss ich jetz den Spawn Button Drücken ?
-
Zeig uns mal "OnPlayerRequestClass".
-
public OnPlayerRequestClass(playerid, classid)
{
return 1;
} -
breadfish.de
Hat das Thema geschlossen.