Hi,
Ich hab ein Problem und zwar wie schon im Titel steht, bekomm ich den Playerspawn net so richtig hin... und zwar wenn man sich einloggt, spawnt man erst mal in der Luft oder so und fällt runter... danach taucht man in Blueberry auf... (siehe Screen). Das passiert aber nur bei schon bestehenden Accounts... also bei neu registrierten Accounts passiert das nicht und wenn man dann reloggt gehts halt net.
so hier dann mal mein OnPlayerLogin
public OnPlayerLogin(playerid,passwort[])
{
new tmp2[256];
new string2[64];
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
new File: UserFile = fopen(string2, io_read);
if ( UserFile )
{
new PassData[256];
new keytmp[256], valtmp[256];
fread( UserFile , PassData , sizeof( PassData ) );
keytmp = ini_GetKey( PassData );
if( strcmp( keytmp , "Passwort" , true ) == 0 )
{
valtmp = ini_GetValue( PassData );
strmid(SpielerInfo[playerid][sPasswort], valtmp, 0, strlen(valtmp)-1, 255);
}
if(strcmp(SpielerInfo[playerid][sPasswort],passwort, true ) == 0 )
{
new key[ 256 ] , val[ 256 ];
new Data[ 256 ];
while ( fread( UserFile , Data , sizeof( Data ) ) )
{
key = ini_GetKey( Data );
if(strcmp(key, "Admin", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sAdmin] = strval(val); }
if(strcmp(key, "Level", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sLevel] = strval(val); }
if(strcmp(key, "Geschlecht", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sGeschlecht] = strva(val); }
if(strcmp(key, "Alter", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sAlter] = strval(val); }
if(strcmp(key, "FuehrerscheinKlasseB", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sFuehrerscheinKlasseB] = strval(val); }
if(strcmp(key, "FuehrerscheinKlasseA", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sFuehrerscheinKlasseA] = strval(val); }
if(strcmp(key, "FuehrerscheinKlasseA1", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sFuehrerscheinKlasseA1] = strval(val); }
if(strcmp(key, "FuehrerscheinKlasseC", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sFuehrerscheinKlasseC] = strval(val); }
if(strcmp(key, "Flugschein", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sFlugschein] = strval(val); }
if(strcmp(key, "Segelschein", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sSegelschein] = strval(val); }
if(strcmp(key, "Waffenschein", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sWaffenschein] = strval(val); }
if(strcmp(key, "Handynummer", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sTelnr] = strval(val); }
if(strcmp(key, "Herkunft", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sHerkunft] = strval(val); }
if(strcmp(key, "Mitglied", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sMember] = strval(val); }
if(strcmp(key, "Leader", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sLeader] = strval(val); }
if(strcmp(key, "Familienmitglied", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sFMember] = strval(val); }
if(strcmp(key, "Rank", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sRank] = strval(val); }
if(strcmp(key, "Job", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sJob] = strval(val); }
if(strcmp(key, "Verheiratet", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sVerheiratet] = strval(val); }
if(strcmp(key, "EXP", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sEXP] = strval(val); }
if(strcmp(key, "DonateRank", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sDonateRank] = strval(val); }
if(strcmp(key, "Buerger", true) == 0) { val = ini_GetValue( Data ); SpielerInfo[playerid][sBuerger] = strval(val); }
if(strcmp(key, "Team", true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sTeam] = strval(val); }
if(strcmp(key, "Geld", true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sCash] = strval(val); }
if(strcmp(key, "Konto", true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sBank] = strval(val); }
if(strcmp(key, "Model", true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sModel] = strval(val); }
if(strcmp(key, "PersoID", true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sPersoID] = strval(val); }
if(strcmp(key, "Pos_x" , true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sPos_x] = floatstr(val); }
if(strcmp(key, "Pos_y" , true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sPos_y] = floatstr(val); }
if(strcmp(key, "Pos_z" , true) == 0) {val = ini_GetValue( Data ); SpielerInfo[playerid][sPos_z] = floatstr(val); }
}
fclose(UserFile);
}
else
{
SendClientMessage(playerid, RED, "Ultimate German [NooBs] - Roleplay: ungültiges Passwort.");
fclose(UserFile);
return 1;
}
if(SpielerInfo[playerid][sRegistriert] == 0)
{
SpielerInfo[playerid][sLevel] = 1;
SpielerInfo[playerid][sSHealth] = 0.0;
SpielerInfo[playerid][sHealth] = 80.0;
SpielerInfo[playerid][sTeam] = 0;
new randnr = 10000 + random(89999);//minimum 10000 max 99999
SpielerInfo[playerid][sTelnr] = randnr;
SpielerInfo[playerid][sBank] = 0;
SpielerInfo[playerid][sRegistriert] = 1;
SpielerInfo[playerid][sTeam] = 0;
GivePlayerMoney(playerid, 40);
}
if(SpielerInfo[playerid][sLevel] == -999) //autoban
{
Ban(playerid);
}
format(string2, sizeof(string2), "Ultimate German [NooBs] - Roleplay Server: Willkommen %s",playername2);
SendClientMessage(playerid, AQUAGREEN,string2);
printf("%s wurde eingeloggt.",playername2);
new level = SpielerInfo[playerid][sLevel];
printf("test1");
SetPlayerScore(playerid, level);
printf("test2");
if(gTeam[playerid] <= 0)
{
gTeam[playerid] = 0;
printf("test3");
}
else
{
gTeam[playerid] = SpielerInfo[playerid][sTeam];
printf("test3");
}
gPlayerLogged[playerid] = 1;
SetPlayerToSpawn(playerid);
format(tmp2, sizeof(tmp2), "~w~Willkommen ~n~~y~ %s", playername2);
GameTextForPlayer(playerid, tmp2, 5000, 1);
printf("test4");
printf("test5");
}
return 1;
}
hier mein OnPlayerSpawn
public OnPlayerSpawn(playerid)
{
new spawner[24],spawnmsg[120];
if (SpielerInfo[playerid][sLogged] == 1)
{
SetPlayerWorldBounds(playerid,20000.0000,-20000.0000,20000.0000,-20000.0000); //Reset world to player
printf("Test1");
printf("Test2");
SetPlayerToSpawn(playerid);
SetPlayerToTeamColor(playerid);
SpielerInfo[playerid][sSpawned] = 1;
GameTextForPlayer(playerid,"~g~www.noobs-germany.de.vu",3999,1);
format(spawnmsg,sizeof(spawnmsg),"%s (ID %d) spawned",spawner,playerid);
print (spawnmsg);
}
else
{
return 1;
}
if (SpielerInfo[playerid][sBuerger] == 1)
{
return 1;
}
else
{
SendClientMessage(playerid, YELLOW, "Bitte begib dich auf dem schnellsten Weg zur Bürgerberatung nach Los Santos (Markierun auf der Karte),");
SendClientMessage(playerid, YELLOW, "um dich einbürgern zu lassen.");
SendClientMessage(playerid, RED, "Wenn du nicht innerhalb 1 Stunde eingebürgert bist, wirst du leider abgeschoben in die Walachai (KICK!)");
CPBuerger[playerid] = 1;
}
if(CPBuerger[playerid] == 1)
{
SetPlayerCheckpoint(playerid, 1481.0289,-1771.6786,18.7958,4.0);
}
return 1;
}
braucht man noch was anderes?