Dann brauchen wir den Code wo du eine Verbindung aufbaust und auch noch das Plugin, welches du verwendest (BlueG,Strickenkid)
Beiträge von Hagi
-
-
SetPlayerWorldBounds hat die ParameterSyntax
(playerid,Float:x_max,Float:x_min,Float:y_max,Float:y_min)
Die isPlayerInArea Funktion von oben aber:
(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
-
Beachte aber, dass beide Funktionen verschiedene Syntax nutzen.
-
Joa gut, dann ist es ja recht nützlich (zumindest wenn man nicht ständig was ändern und auslesen muss). Muss man wenigstens nicht den Code mit Zeilen vollkleistern.
-
Ich nutze Strickenkid, daher hab ichs aus dem Wiki von BlueG mal zusammengebastelt
mysql_store_result();
if(mysql_num_rows() != 0)
{
new banadmin,bangrund;
mysql_get_field("BanReason",bangrund);
mysql_get_field("BanAdmin",banadmin);
}
mysql_free_result();und zwar mir diesem Query
Du kannst alternativ auch alle Fields im Query holen (*), das ist aber nur unnötiger Speicher- und Laufzeit-Verbrauch.
ZitatIch Benutze das Plugin von G-sTyLeZzZ
Jedoch was ich nicht Verstehe ist, in der MySQL Datenbank steht der User als Gebannt drin, also das Flag steht SpielerInfo[playerid][pBan] == 1
Es wird mir jedoch das ausgegeben,
MySQL-Abfrage(n)1
SELECT FROM `accounts` WHERE `Name` = 'fynn_Garcia12', `Ban` = '0',`BanAdmin` = ''
Ich versteh hier grad nicht wo das Problem liegt. Wird dein Query nicht richtig formated oder was?
-
Welches MYSQL Plugin nutzt du denn, da Blueg und Strickenkid teilweise andere Syntax und Semantik verwenden.
btw würde ich eine andere Querry nutzen:
Dann bekommst du beide Spalten aus der Table des Spielers, wenn dieser gebannt ist (die Flag `Ban` gesetzt (1) ist).
-
Aber dennoch stellt sich mir da wie vorher schon angemerkt die Frage, wie ich einen Key identifizieren soll.
Sagen wir ich speichere so eine Datei
User::save(playerid, "123", "dddd", banzeit, timebanzeit, geld, armour);
Dann bin ich doch gezwungen immer diese Syntax beim laden einzubehalten (zumindest wenns um gleiche Datentypen geht)
Ich werde ja wohl kaum mit
User::load(playerid, "123", "d",armour); Meine Armour als return erhalten (in die Variable geschrieben bekommen), da das Include kaum richen kann, dass ich hier jetzt armour und nicht die banzeit will.
Stimmt das oder irre ich da?
-
Ich würde bei der Voraussetzung eher zu OnPlayerEnterVehicle tendieren, da man bei OnPlayerStateChange bereits vorm Steuer sitzt, also das Auto logisch gesehen nicht abgeschlossen ist.
-
Wenn man momentan nur Java programmiert
natürlich nicht concat sondern
strcat
-
An sich ist das so besser
new hiddenstring[32];
for(new i=0; i!=strlen(inputtext); i++)
{
strcat(hiddenstring,"*");
}
TextDrawSetString(Register, hiddenstring);
TextDrawShowForPlayer(playerid, Register);edit: concat zu strcat
-
Und was machst du, wenn jemand anders die Nummer schon hat? Das kannste nämlich nicht checken.
-
Das ginge nur, wenn du alle Spieler (und damit auch die Dateinamen) in einer Art Verzeichnis gespeichert hast (z.B. in einer Index Datei, wo alle Namen per '|' oder so getrennt sind).Ansonsten kannst du nicht alle Files ansprechen.
-
Hier
so holt das die MYSQL
Log:
Code[Mon May 6 12:44:18 2013] Function: mysql_query executed: "SELECT `Newname`,`Date` FROM `database`.`Namechange` WHERE `ID` = 1 ORDER BY `Namechange`.`Date` ASC" with result: "0". [Mon May 6 12:44:18 2013] Function: mysql_store_result executed with result: "1" [Mon May 6 12:44:18 2013] Function: mysql_num_rows executed with result: "%". [Mon May 6 12:44:18 2013] Function: mysql_fetch_row executed with result: "Testuser|1367836212". [Mon May 6 12:44:18 2013] Function: mysql_fetch_row executed with result: "Hagi|1367836222". [Mon May 6 12:44:18 2013] Function: mysql_fetch_row executed with result: "Hagi_Lorma|1367836225".
Man sieht, der Return ist nach dem Date geordnet.
In dieser Reihenfolge wird das an mein PHP Script geschickt. Jede Row in einem HTTP Request.
Im Callback zu HTML(); wird einfach der Rückgabewert via SendClientMessage ausgegeben.Es wird allerdings nicht wie oben, sondern so ausgegebene.
edit: Bei der Ausgabe ist der Timestamp natürlich durch die entsprechende Datums Formatierung angegeben (dafür ja das php script)
-
Hab es jetzt über die HTTP Methode von Pawn und einem PHP Script gemacht.
Nur ein Problem.Ich hole mit SORT ASC Einträge aus der Datenbank. Laut Log werden diese auch in der korrekten Reihenfolge an mein PHP Script geschickt.
Im Callback der HTTP Funktion im Script gebe ich dann den Inhalt des PHP Scripts aus. Das funktioniert auch. Nur ist dort die Reihenfolge durcheinander.Kann es sein, dass die HTTP REquest unterschiedlich schnell Ablaufen und dann auch unterschiedlich ausgegeben werden?
-
Hey Leute, wenn ich mit gettime() nen Timestamp geholt habe, kann ich den dann nur über nen PHP Script wieder in ein Datum (+Uhrzeit) formatieren? Oder bringt Pawn da eine eigene Funktion mit?
-
Auch die Größen mit TextSize ordentlich angepasst?
Bei meinen Draws musste ich nen bisschen Try n' Error machen, bis alles richtig war. -
mit der Funktion oben und diesem String
format(string,sizeof(string),"%d.%d.%d",SpielerInfo[playerid][pDay],SpielerInfo[playerid][pMonth],SpielerInfo[playerid][pYear]);
-
Da seh ich nirgendwo string oder pID.
-
1972 sieht er doch schon als Error.
Such in den Zeilen 1971-1
-
Wenn du den Index 7 verwendest, hat dein Array 8 Zellen
new field[8][24]; split(data, field, '|');