Hallo Community,
Ich hab ein Problem .
Wenn ich ein Spieler ein Level setze z.B Level (9) wird dies erst nach dem Connect neu Geladen .
Wenn ich mir ein Auto kaufe die mit /park parke und dann das Auto zerstöre wird es auch nicht dort gespawnt wo ich es geparkt habe sondern wo es vorher steht ,
nach einem Relogg steht es da wo ich es Geparkt habe .
Hier mal die Codes :
/Park
if (strcmp("/park", cmdtext, true, 10) == 0)
{
if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
{
new newcar = GetPlayerVehicleID(playerid);
if (newcar == PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId])
{
new Float:X,Float:Y,Float:Z;
new Float:z_rot;
GetPlayerPos(playerid, X,Y,Z);
GetVehicleZAngle(newcar, z_rot);
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_x] = X;
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_y] = Y;
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPos_z] = Z;
PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarRotate] = z_rot;
SCM(playerid, COLOR_YELLOW, "Du hast dein Fahrzeug hier geparkt, ab nun kannst du dein Fahrzeug hier finden!");
}
else
{
SCM(playerid,COLOR_GREY,"Du bist nicht in deinem Fahrzeug/Du hast nicht den Schlüssel zu diesem Fahrzeug ausgewählt!");
return 1;
}
}
else
{
SCM(playerid, COLOR_GREY, "Du besitzt kein Fahrzeug für deinen ausgewählten Schlüssel!");
return 1;
}
return 1;
}
Vom SetStat befehl wo der Spieler nicht Geupdatet wird .
new amount;
amount = strval(tmp);
if (SpielerInfo[playerid][pAdmin] >= 5)
{
switch (stat)
{
case 1:
{
SpielerInfo[giveplayerid][pAge] = amount;
format(string, sizeof(string), " Das Spieler Alter wurde auf %d gesetzt ", amount);
}
Vom /buylevel wo der Spieler Geupdatet wird .
if (strcmp(cmd, "/buylevel", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Level = SpielerInfo[playerid][pAge];
if(SpielerInfo[playerid][pExp] >= J_Level[Level][Respekt])
{
if(PlayerMoney[playerid] >= J_Level[Level][BuyPrice])
{
SCM(playerid, COLOR_YELLOW, "[ Level erfolgreich gekauft! ]");
SpielerInfo[playerid][pExp] = 0;
SpielerInfo[playerid][pAge] = SpielerInfo[playerid][pAge]+1;
SetPlayerScore(playerid, SpielerInfo[playerid][pAge]);
format(string, sizeof(string), "Sie haben nun Level: %d erreicht", SpielerInfo[playerid][pAge]);
SCM(playerid, COLOR_WHITE, string);
PlayerMoney[playerid] = PlayerMoney[playerid]-J_Level[Level][BuyPrice];
return 1;
}
else
{
format(string, sizeof(string), "Sie benötigen %d € für ein Levelup!", J_Level[Level][BuyPrice]);
SCM(playerid, COLOR_GREY, string);
return 1;
}
}
else
{
format(string, sizeof(string), "Sie benötigen %d Paydays für ein Levelup! ( Derzeit: %d )", J_Level[Level][Respekt], SpielerInfo[playerid][pExp]);
SCM(playerid, COLOR_GREY, string);
return 1;
}
}
return 1;
}
So und nun das beim Connect :
{
SetPVarInt(playerid, "subject", -1);
PlayAudioStreamForPlayer(playerid, "http://listen.clubtime.fm/dsl.pls");
new playername[MAX_PLAYER_NAME];
if(IsPlayerNPC(playerid))return 1;
GetPlayerName(playerid, playername, sizeof(playername));
SpielerInfo[playerid][Name] = playername;
new ConnIP[16];
GetPlayerIp(playerid,ConnIP,16);
new compare_IP[16];
new number_IP = 0;
for(new i=0; i<MAX_PLAYERS; i++) {
evlt ist dies auch Wichtig nach dem Disconnect :
SaveMysqlPlayer(playerid); // GANZ OBEN STEHEN LASSEN
RemovePlayerAttachedObject(playerid, 1);
if(!IsPlayerNPC(playerid))
Skins[playerid] = 0;
KleidungA[playerid] = 0;
KleidungB[playerid] = 0;
IsInBus[playerid] = 0;
new h[3];
SpielerInfo[playerid][pLastOnline] = gettime(h[0],h[1],h[2]);
GetPlayerWeapons(playerid);
SpielerInfo[playerid][pOnline] = 0;
OnPlayerCarUpdate_SQL(playerid);
SpielerIstTot[playerid] = 0;
Sperrebit[playerid]=0;
HasReport[playerid]=0; HisReport[playerid]=0;
gActivePlayers[playerid]--;
numplayers--;
KillTimer(CarTimer[playerid]);
Danke im vorraus vlt. kann mir hierbei jemand helfen.