Wenn du uns aufklären würdest, welche Firewall du verwendest kann man dir auch helfen...
Und wenn du nichts gemacht hast sollte eigentlich alles offen sein
Beiträge von John_McClain
-
-
mach nochmal
print(query);
jeweils wenn die Daten ausgelesen werden und wenn sie gespeichert werden -
Dürfte an dem "group" liegen. Ist nämlich ein Schlüsselwort in MySQL.
Escape daher das Wort group ( Sofern deine Spalte auch wirklich so heißt ) mit `.Spoiler anzeigen `group`
Jo hat funktioniert danke! -
Hallo,
ich habe einen Fehler in einem MySQL Query, aber ich bin zu blöd ihn zu finden....
mysql_error() gibt folgendes ausCodeYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group='19'' at line 1
Könnte mir jemand helfen den Fehler zu suchen?
-
Hmm ist irgendwas in der mysql.log oder in der Konsole zu sehen?
-
Du musst auswählen "Wie definiert:" und da dann 0 eintragen und dich mal einloggen irgendwas machen, dass es verändert wird und speicher und mal schauen ob es dann klappt.
-
Setz bei allen Integer werten außer bei ID den Standart auf 0
-
Hmmm mach mal ein Screenshot von der Tabelle und schwärze die Kennwörter aus
Du musst halt bei den ganzen Sachen auch als Standart 0 oder höher setzten
-
Also ich ich blicke gerade nicht ganz durch. Könnte aber auch an mit liegen hab viel zu tun im Moment...
Eagl also woher weiß den sizeof bei deiner schleife wie groß hInfo ist? Wenn du die Variable erweitern willst musst statt sizeof die Anzahl der maximalen Häuser im Spiel erstellen. Du brauchst dafür ja eine Freie ID und die ist immer 1 Größer als die anzahl der aktuellen Häuser. Ich hoffe du hast mich verstanden... Wenn nicht frag.Zu deinem Fehler oben: Poste mal die Zeile, wo du die Verbindung mit der Datenbank herstellst.
-
SetTimerEx brauchst du eigendlich nur, wenn du dem Public, das anschließen ausgeführt wird, Werte (Wie playerid) übergeben möchtest. Sonst kannst du ganz normal SetTimer benutzen.
-
Hmmm Printe nochmal die query....
Oder lass mal alle Variablen einzeln printen übereinander.
Wird alles ab einem bestimmten Punkt nicht mehr gespeichert oder fehlt ein einzelner Wert in in der Struktur? -
Funktioniert immer noch nicht John_McClain: ...
Und wenn ich die Passwörter in der Datenbank verschlüssle, dann werden die "Umgeschrieben" zu der Verschlüsselung. Somit ist jedes Passwort Falsch wenn man sich einloggen möchte...
Wie meinst du das jetzt? -
Also wenn das so da steht dann fehlt da ja einiges.... bis jetzt hast du nur das level und das adminlevel eingefügt und das dritte array hast du nichtmal richtig zuende geschrieben. Und format erwartet jetzt von dir 6 Zahlen....
Also müsste das zum beispiel so aussehen:
format(query,sizeof(query),"UPDATE user SET scorelevel='%i',alevel='%i',pBanned='%i',premium='%i',money='%i' WHERE ID='%i'",sInfo[playerid][scorelevel],sInfo[playerid][alevel],sInfo[playerid][banned],sInfo[playerid][premium],sInfo[playerid][money],sInfo[playerid][db_id])
Also setzte die Variablen richtig ein und versuche es nochmal. -
poste mal die complette format zeile. Ich glaub da fehlt immer was oder irre ich mich da
-
Welches Handysystem von Pawn? Sowas muss man selbst scripten. Oder meinst du vielleicht das vom Godfather?
-
wie gesagt: printe mal den ganzen query und schreib ihn hier rein. Dann können wir dir am schnellsten helfen.
-
printe einfach mal query bevor du sie ausführst.
-
lass dir mal den query printen und poste den hier. Dann siehst du ja ob da was falsch ist.
-
return 1; muss return 0; sein
-
Naja wenn du das ganze mit ocmd machst ist es recht einfach:
- Prüfe ob der Spieler der den Befehl eingibt in den richtigen Fraktionen ist
- Prüfe mit sscanf, ob die Parameter richtig sind
- Bestimme die Ränge der Person, die schreibt
- nimm eine for Schleife und schicke die Nachricht allen mit der richtigen Fraktion
Ich habe das ganze mit Dynamischen Rangsystem gemacht, sodass man die Ränge über ein Control Panel ändern kann.
ocmd:d(playerid,params[])
{
if(SpielerInfo[playerid][pMember] >=1 && SpielerInfo[playerid][pMember] <= 4 || SpielerInfo[playerid][pLeader] >= 1 && SpielerInfo[playerid][pLeader] <= 4 || SpielerInfo[playerid][pMember] == 12 || SpielerInfo[playerid][pLeader] == 12)
{
new text[256];
if(sscanf(params,"s",text))return SendClientMessage(playerid,COLOR_LIGHTBLUE,"INFO: Verwende /d [Text]");
if(SpielerInfo[playerid][pMember] >= 1)
{
new query[128], frak, rang;
frak = SpielerInfo[playerid][pMember];
rang = SpielerInfo[playerid][pRang];
format(query,sizeof(query),"SELECT Rangname FROM rangs WHERE fraktion = '%i' AND rang = '%i'",frak,rang);
mysql_function_query(dbhandle,query,true,"DChatRang","is",playerid,text);
return 1;
}
else if(SpielerInfo[playerid][pLeader] >= 1)
{
new query[128], frak, rang;
frak = SpielerInfo[playerid][pLeader];
rang = 7;
format(query,sizeof(query),"SELECT Rangname FROM rangs WHERE fraktion = '%i' AND rang = '%i'",frak,rang);
mysql_function_query(dbhandle,query,true,"DChatRang","is",playerid,text);
return 1;
}
else
{
SendClientMessage(playerid,COLOR_RED,"Es ist ein Fehler aufgetreten. Bitte wende dich an einen Supporter.");
}
}
else
{
SendClientMessage(playerid,COLOR_RED,"Das können nur Staatsbeamte!");
}
return 1;
}
public DChatRang(playerid,text[256])
{
new Rang[64],Name[64],CText[256];
cache_get_field_content(0,"Rangname",Rang,dbhandle,sizeof(Rang));
GetPlayerName(playerid,Name,sizeof(Name));
format(CText,sizeof(CText),"%s %s: %s",Rang,Name,text);
for(new i=0;0<GetMaxPlayers();i++)
{
if(SpielerInfo[i][pMember] >=1 && SpielerInfo[i][pMember] <= 4 || SpielerInfo[i][pLeader] >= 1 && SpielerInfo[i][pLeader] <= 4 || SpielerInfo[i][pMember] == 12 || SpielerInfo[i][pLeader] == 12)
{
SendClientMessage(i,0xFF7800FF,CText);
}
}
return 1;
}
Ist allerdings mit MySQL