Pack in die SQL-Abfrage einfach order by Name rein, dann musst du's nicht mehr selbst sortieren.
Beiträge von FineTime
-
-
Das Thema wurde als erledigt markiert, also klappt's jetzt wohl doch.
-
mysql_format(handle, query, sizeof(query), "UPDATE `users` SET `level` = '%d', `money` = '%d', `kills` = '%d', `deaths` = '%d',`ban` = '%d', `admin` = '%d', `fraktion` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pKills], PlayerInfo[playerid][pDeaths], PlayerInfo[playerid][p_id], PlayerInfo[playerid][pBan], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pFraktion]);
Die ID gehört natürlich an den Schluss -
Bei deinem stock SaveUserStats hast du im mysql_format die Variablen vertauscht.
Im stock SafeFToDB erzeugst du jedes mal einen neuen Tabelleneintrag. (Ich glaube nicht, dass du das willst) -
- bei der if Abfrage hattest du die Fehlermeldung direkt hinten dran als return, obwohl es drunter als else gehört
- im sscanf hast du frakid als string deklariert
- die Farbcodes waren unvollständig
- mit SendClientMessage hättest du die MySQL query und nicht die Chatmeldung ausgegeben
-
Ich hab mal die gröbsten Fehler aus deinem /makeleader Befehl entfernt.
CMD:makeleader(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin]>=1 && PlayerInfo[playerid][pFraktion]>=1)
{
new frakid, p_ID, name[MAX_PLAYER_NAME], string[128];
if(sscanf(params,"ui", p_ID, frakid))return SendClientMessage(playerid, 0x00FF00FF, "[ Info ]Benutzung: /makeleader [id][frakid]");
GetPlayerName(playerid, string, MAX_PLAYER_NAME);
GetPlayerName(p_ID, name, MAX_PLAYER_NAME);
PlayerInfo[p_ID][pFraktion] = frakid;
mysql_format(handle, string, sizeof(string), "UPDATE `users` SET `fraktion` = '%d' WHERE `id` = '%d'", frakid, PlayerInfo[p_ID][p_id]);
mysql_pquery(handle, string);
format(string, sizeof(string), "[ ! ]Admin: %s hat %s zum Leader einer Fraktion: %d gemacht!", string, name, GetFraktionRang(p_ID));
SendClientMessage(playerid, -1, string);
} else SendClientMessage(playerid, 0x00FF00FF,"Du kannst diesen Befehl nicht ausführen");
return 1;
} -
Du kannst dir ja mal diese Liste ansehen: [LISTE] aller Gamemodes
Ob du dort jedoch was brauchbares findest, ist die andere Frage. -
Suchst du jetzt nen Server oder ein Script?
-
Kennt vlt noch jemand von euch eine seite wo man das üben kann oder wo es Tutorials gibt ?
Du kannst dich ja mal durch https://www.w3schools.com/ klicken, wenn dir das hilft.
-
Wieso wird das Plugin nicht mehr weiter unterstützt?
Weil der Entwickler keine Zeit mehr dafür hat -
Nein, das gehört entweder über oder unter folgende Zeile:
if(verwid < 1 || verwid > 7)return adminrangnichtexistent; -
Müsste so klappen:
new bool:exists;
for(new verwalter = 0; verwalter < 4; verwalter ++)
{
if(SD[pID][pVerwalter][verwalter] == verwid) exists = true;
}
if(exists) return SendClientMessage(playerid, GRAU, "Der Spieler hat diesen Rang bereits."); -
Gehört ja auch in die Zeile drunter
-
Wenn ich das richtig sehe, musst du unter die sscanf Abfrage einfach nur spalte--; einfügen.
-
Jedoch ist Verwalter1 0 anstatt1 und Verwalter4 3 anstatt 4. Ist das normal?
Ja, weil das Script ab 0 zu zählen beginnt. Wenn dich das stört kannst du das in deinem Befehl kosmetisch überarbeiten.
-
Woran genau liegt es denn? Hast du es schon an die neue MySQL Datenbank angepasst und ggf. die Verschlüsselung des Passwortes geändert?
-
CSGO
oder natürlich der Klassiker SAMP -
Dass ein Dialog nicht kommt, hat wohl kaum was mit der MySQL-Verbindung zu tun.
Hast du sonst noch was im Script verändert bzw. gibts was auffälliges in der Serverlog? -
Im Prinzip musst du nur alles in das Verzeichnis /var/www/html auf deinem vServer ziehen.
-
Was für ein Template ist das denn? Und ist Apache bereits installiert?