Das müsste man doch eigentlich auch so machen können, oder nicht?
#define SendFail(%0,%1) SendClientMessage(%0,0xCF0000FF,%1);
Beiträge von 5Gum
-
-
Bekommst du etwas in der server.log geschrieben?
-
Versuch das mal so:
stock SpielerSpeichern(playerid)
{
if(SD[playerid][SpielerLogged] == 0)return 1;
new query[512],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
new Float:pos[4],Float:health,Float:armour;
GetPlayerPos(playerid,pos[0],pos[1],pos[2]);GetPlayerFacingAngle(playerid,pos[3]);
format(query,sizeof(query),"UPDATE `spieleraccounts` SET `Level` = '%i',`Euro` = '%i',`Cent` = '%i',`Skin` = '%i',`Adminlevel` = '%i',`LastX` = '%f',`LastY` = '%f',`LastZ` = '%f',`LastAngle` = '%f',`LastLeben` = '%f',`LastRuestung` = '%f',`LastInterior` = '%i',`LastVWorld` = '%i',`Toetungen` = '%i',`Tode` = '%i' WHERE `Name` = '%s'",
GetPlayerScore(playerid),SD[playerid][SpielerEuro],SD[playerid][SpielerCent],GetPlayerSkin(playerid),SD[playerid][SpielerAdmin],pos[0],pos[1],pos[2],pos[3],GetPlayerHealth(playerid,health),GetPlayerArmour(playerid,armour);,GetPlayerInterior(playerid),GetPlayerVirtualWorld(playerid),SD[playerid][SpielerKills],SD[playerid][SpielerTode],name);
mysql_function_query(dbhandle,query,false,"","");
return 1;
}public OnPlayerDisconnect(playerid, reason)
{
SpielerSpeichern(playerid);
SpielerReset(playerid);
return 1;
} -
Ersteinmal würde ich sagen, die Array-Größe höher machen.
Dazu:
Bekommst du eine Errormeldung in der mysql.log? -
Wird das nun gespeichert?
-
Mach das mal:
printf("%s",query);
Dann schau was rauskommt -
Ja, Paintjob wird gespeichert, was wird denn nicht gespeichert?
-
Wie sollte man die Funktion denn sonst kennzeichnen?
-
Hau das unter OnGameModeInit raus, das verhindert das sehen der Marker
-
Können die dich denn sehen?
Weil wenn du die nicht siehst, könnten die dich ja schon sehen, was aber nicht unbedingt sein muss. -
Das liegt daran, das du erst alles formatieren musst, und dann die Sachen an die Datenbank schicken darfst. Wenn das Script die Sachen vorher an die Datenbank schickt, und danach erst formatiert, bringt das ja nicht viel, oder?
-
Warum Timer? Bau dir eine Funktion, die du dann immer benutzt, wenn du mit dem Geld arbeitest.
-
Hast du denn auch jemand anderen auf deinen Server, der in der Fraktion ist?
-
Mach dort unten einfach mal das rein:
printf("%d",Pfahrzeug[slot][playerid][Paintjob]);
und schau was raus kommt.
Das ist nur ein Beispiel, damit man sehen kann, ob der Paintjob dort beim Speichern auf 0 steht. -
stock SetFraktionMarker(playerid,farbe)
{
print("1");
for(new i=0; i<MAX_PLAYERS; i++)
{
print("2");
if(Spieler[i][pFraktion] == Spieler[playerid][pFraktion])
{
print("3");
SetPlayerMarkerForPlayer(playerid,i,farbe);
SetPlayerMarkerForPlayer(i,playerid,farbe);
print("4");
return 1;
}
print("5");
}
return 1;
}
Mach das so mal, kompiliere, starte den Server neu, und schau welche Zahlen in der Konsole wiedergegeben werden./e
Du brauchst auch einen Partner, der in der Fraktion ist, da du es nicht selber siehst -
Was genau funktioniert denn da nicht? Wird es nicht angezeigt? Wird es für alle angezeigt?
-
Such im Script mal nach diesem hier:
SaveOnlyOnePveh
Und schick uns das dann mal. -
Zeig mal die Zeile darunter / darüber.
-
Ja, dann muss er das "v" benutzen. Sorry habe ich gerade nicht gesehen.
-
Ja, schau mal nach