Guten Abend, ich habe einen Problem undzwar wenn ich jemanden Warne (/warn) und die Datenbank aktualisierensteht da immer noch '0'
[b][/b][/b]ocmd:warn(playerid,params[])
{
new pID;
if(sscanf(params,"i",pID))return SendClientMessage(playerid,GRAU,"Verwendung: /warn [PlayerID]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist garnicht online!");
if(!isAdmin(playerid,4))return SendClientMessage(playerid,GRAU,"Du bist nicht befugt!");
{
sInfo[playerid][warn] = 1;
SendClientMessage(pID, ORANGE, "Du wurdest soebend von einem Admin verwarnt! Du darfst maximal 3 Warns haben!");
SendClientMessage(pID, ORANGE, "Deine Warns siehst du unter /stats!");
SendClientMessage(playerid, GRÜN, "Du hast diesen Spieler erfolgreich verwarnt!");
if(GetPVarInt(pID, "Warn") == 3)
{
SendClientMessage(pID, ORANGE, "Du hast gerade deine 3.Verwarnung erhalten & dein Account wurde gesperrt!");
SetPVarInt(pID, "Ban", 1);
Kick(pID);
}
}
return 1;
}[b][/b]
Warn Speichert nicht in der Datenbank
- PizzaHaus
- Geschlossen
- Erledigt
-
-
Wo genau speicherst du es da in der Datenbank ab?
1. Benutze für playerids..
if (sscanf (params,"u",pID))Bin mir nicht mehr sicher ob das ein muss ist..
2. Du hast 2 denkfehler in 1 Zeile.
pInfo [playerid][warn] =1;
änderst du in
pInfo [pID][warn] +=1; //Variable muss hochgezählt werden, da Sie sonst jedes mal auf 1 gesetzt werden würde -
Wo genau speicherst du es da in der Datenbank ab?
1. Benutze für playerids..
if (sscanf (params,"u",pID))Bin mir nicht mehr sicher ob das ein muss ist..
2. Du hast 2 denkfehler in 1 Zeile.
pInfo [playerid][warn] =1;
änderst du in
pInfo [pID][warn] +=1; //Variable muss hochgezählt werden, da Sie sonst jedes mal auf 1 gesetzt werden würdeWenn ich mir zwei Warns gebe speichert es in der datenbank nur einmal
-
Hast du das so probiert wie ichs geschrieben habe?
sInfo [playerid][warn] += 1; -
Hast du das so probiert wie ichs geschrieben habe?
sInfo [playerid][warn] += 1;ja habe ich
-
Vor dem return 1; würde ich noch eine Spieler speicherung einfügen damit er direkt speichert.
oder wenn das auch nicht klappt, machst Du dies.
pInfo [pID][warn] = ++;
-
sInfo [pID][warn] +=1;
Meinte ich sorry. Weil du ja nicht immer dir selbst warns geben willst.
Das ist komisch dass das so nicht funktioniert. Schick mir mal deinen befehl wie du ihn jetzt grade hast. -
sInfo [pID][warn] +=1;
Meinte ich sorry. Weil du ja nicht immer dir selbst warns geben willst.
Das ist komisch dass das so nicht funktioniert. Schick mir mal deinen befehl wie du ihn jetzt grade hast.ocmd:warn(playerid,params[])
{
new pID;
if (sscanf (params,"u",pID))return SendClientMessage(playerid,GRAU,"Verwendung: /warn [PlayerID]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist garnicht online!");
if(!isAdmin(playerid,4))return SendClientMessage(playerid,GRAU,"Du bist nicht befugt!");
{
sInfo[pID][warn] +=1;
SendClientMessage(pID, ORANGE, "Du wurdest soebend von einem Admin verwarnt! Du darfst maximal 3 Warns haben!");
SendClientMessage(pID, ORANGE, "Deine Warns siehst du unter /stats!");
SendClientMessage(pID, ORANGE, "Du wurdest gekickt damit deine Stats aktualisieren!");
SendClientMessage(playerid, GRÜN, "Du hast diesen Spieler erfolgreich verwarnt!");
Kick(pID);
if(GetPVarInt(pID, "Warn") == 3)
{
SendClientMessage(pID, ORANGE, "Du hast gerade deine 3.Verwarnung erhalten & dein Account wurde gesperrt!");
SetPVarInt(pID, "Ban", 1);
Kick(pID);
}
}
savePlayer(playerid);
return 1;
} -
savePlayer(pID);
pInfo [pID][warn] = ++; -
Vor dem return 1; würde ich noch eine Spieler speicherung einfügen damit er direkt speichert.
oder wenn das auch nicht klappt, machst Du dies.
pInfo [pID][warn] = ++;
savePlayer(pID);
pInfo [pID][warn] = ++;C:\Users\QQQQQ\Desktop\Montana Deathmatch\gamemodes\md.pwn(640) : error 029: invalid expression, assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
-
Ne wenn du ddie Spieler beim ausloggen soeicherst, brauchst du das hier nicht zu tun unbedingt. Aber ich übersehe wohl was. Keine ahnung warum das nur 1 mal ausgeführt wird.
-
Ne wenn du ddie Spieler beim ausloggen soeicherst, brauchst du das hier nicht zu tun unbedingt. Aber ich übersehe wohl was. Keine ahnung warum das nur 1 mal ausgeführt wird.
Weißt du vllt wie ich das entferne
-
du gehst auf deine Datenbank. Gehst oben auf Struktur und kannst das Feld dann löschen
-
ocmd:warn(playerid,params[])
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,GRAU,"Verwendung: /warn [PlayerID]");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist garnicht online!");
if(!isAdmin(playerid,4))return SendClientMessage(playerid,GRAU,"Du bist nicht befugt!");
{
sInfo[pID][warn] ++;
SendClientMessage(pID, ORANGE, "Du wurdest soebend von einem Admin verwarnt! Du darfst maximal 3 Warns haben!");
SendClientMessage(pID, ORANGE, "Deine Warns siehst du unter /stats!");
SendClientMessage(playerid, GRÜN, "Du hast diesen Spieler erfolgreich verwarnt!");
if(GetPVarInt(pID, "Warn") == 3)
{
SendClientMessage(pID, ORANGE, "Du hast gerade deine 3.Verwarnung erhalten & dein Account wurde gesperrt!");
SetPVarInt(pID, "Ban", 1);
Kick(pID);
}
}
return 1;
} -
breadfish.de
Hat das Thema geschlossen.