Das Problem an Dateien ist alle einmal durchzuschauen (sofern du nicht eine numerische zählweise nutzt). Bei MYSQL ist das kein Problem zu schauen ob die Nummer schon verwendet ist und dann eine neue zu generieren. Was bei Dateien geht ist alle verwendeten Nummern in eine Datei zu schreiben. Entweder über numerische Keys (bei dini) oder als einen String mit Delimitern.
Beiträge von Hagi
-
-
Benutzt du MYSQL oder Dateien?
-
Jo hab ich jetzt auch so gemacht
while(mysql_fetch_row(data)) //edit here
{
new field[1][32];
spliter(data, field, '|');Nur stand nirgendwo (wiki usw), dass die Methode auch direkt zur nächsten Zeile springt.
-
Hier mein Code:
format(query,sizeof(query),"SELECT `Auto` FROM `%s`.`Premiumautos` WHERE `Name` = '%s'",mysqldb,playername);
mysql_query(query);
mysql_store_result();
while() //hier sollen alle Reihen durchgegangen werden, da ist das Problem
{
new vehid[3];
format(vehid,sizeof(vehid),"%d",mysql_fetch_int());
SetPVarInt(playerid,vehid,1);
}
mysql_free_result();Meine Query liefert mir mehr als eine Reihe und ich will alle auslesen. Ich benutze das Plugin von Strickenkid. Dort finde ich aber keine Methode, mit der man die nächste Reihe auswählen kann.
Jemand ne Lösung?
-
Jetzt wollen wirs mal nicht übertreiben. Im Profil sollen wie auch weiterhin zu sehen sein, falls es mal jemanden interessiert.
-
-
Die neuesten Server Includes von SAMP (zumindest ab der Version wo der native kam (0.3d)).
-
Hast du aktuelle Includes? Weil der native ist korrekt:
PlayAudioStreamForPlayer(playerid, url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0) -
Sicher, dass in deinen Variablen auch der richtige Wert drin steht? Der Code ist soweit nämlich richtig.
-
-
Nein, weil ohne code nix los. Vllt bei dcmd o.Ä vergessen den zu deklarieren?
-
128 Zeichen sind zu wenig
lw[128]
-
natürlich muss man das nicht aber der Speicherbedarf ist der gleiche (abgesehen von den paar Byte für den Quelltext).
edit: hier ohne 4 weitere Strings
new string[505];
strcat(string,"Willkommen im GER-Report-System!\n\nÜberprüfe zunächst ob deine Frage nicht auch so beantwortet werden kann.\nBenutze /hilfe [SUCHBEGRIFF]");
strcat(string,"\nDu hast nun die möglichkeit zwischen zwei Auswahlsmöglichkeiten zu entscheiden.\n\n\nRegeln:\n\n{ff0000}•Einfache");
strcat(string," Fragen und Probleme bitte an die Supporter.\n•Bugs und wichtige Fragen an die Administratoren.\n•Die Frage in eine Kategorie einordnen.");
strcat(string,"\n•Fragen nach Geld oder Leaderplätzen werden sofort gelöscht.{E1E1E1}\n\n\n\n\nHier kannst du nun Auswählen:");ShowPlayerDialog(playerid,DIALOG_REPORT1,DIALOG_STYLE_MSGBOX,"GER-Report-System",string,"Absenden","Abbrechen");
-
Dann teilen wir noch weiter auf
new string[140];
strcat(string,"Willkommen im GER-Report-System!\n\nÜberprüfe zunächst ob deine Frage nicht auch so beantwortet werden kann.\nBenutze /hilfe [SUCHBEGRIFF]");
new string2[117];
strcat(string2,"\nDu hast nun die möglichkeit zwischen zwei Auswahlsmöglichkeiten zu entscheiden.\n\n\nRegeln:\n\n{ff0000}•Einfache");
new string3[137];
strcat(string3," Fragen und Probleme bitte an die Supporter.\n•Bugs und wichtige Fragen an die Administratoren.\n•Die Frage in eine Kategorie einordnen.");
new string4[111];
strcat(string4,"\n•Fragen nach Geld oder Leaderplätzen werden sofort gelöscht.{E1E1E1}\n\n\n\n\nHier kannst du nun Auswählen:");
new string5[505];
format(string5,sizeof(string5),"%s%s%s%s",string,string2,string3,string4);ShowPlayerDialog(playerid,DIALOG_REPORT1,DIALOG_STYLE_MSGBOX,"GER-Report-System",string5,"Absenden","Abbrechen");
-
So kannst du es verkürzen
new string[256];
format(string,sizeof(string),"Willkommen im GER-Report-System!\n\nÜberprüfe zunächst ob deine Frage nicht auch so beantwortet werden kann.\nBenutze /hilfe [SUCHBEGRIFF]\nDu hast nun die möglichkeit zwischen zwei Auswahlsmöglichkeiten zu entscheiden.\n\n\nRegeln:\n\n{ff0000}•Einfache");
new string2[256];
format(string2,sizeof(string2)," Fragen und Probleme bitte an die Supporter.\n•Bugs und wichtige Fragen an die Administratoren.\n•Die Frage in eine Kategorie einordnen.\n•Fragen nach Geld oder Leaderplätzen werden sofort gelöscht.{E1E1E1}\n\n\n\n\nHier kannst du nun Auswählen:");
new string3[512];
format(string3,sizeof(string3),"%s%s",string,string2);
ShowPlayerDialog(playerid,DIALOG_REPORT1,DIALOG_STYLE_MSGBOX,"GER-Report-System",string3,"Absenden","Abbrechen"); -
Wiso gibt er mir hier nicht das % zeichen aus?
format(string,128,"• - Steuern: %d$ (%d %%)",steuern,Server[Steuern]);
Nein ein % reicht nicht da 2 eigendlich als ein % dargestellt wird aber es kommt netmal einerSchau ma hier, hab ich im Wiki gefunden. Da inserten die die beiden %% als String
new string[35];
format(string,sizeof(string),"43%s of my shirts are black.","%%");
SendClientMessage(playerid,0xFFFFFAA,string); -
Es kann natürlich auch ein Software Fehler sein, so ist es ja nicht. Du kannst dir natürlich den Compiler neu runter laden (am besten einfach den ganzen Pawno Ordner). Bei Windows kann es aber auch am Framework liegen. Da gibts so viele Möglichkeiten. Jedoch ist das problem meistens weil einer Fehler im Script den Server crasht.
-
Du hast warscheinlich irgendwo einen Semantik oder Syntax fehler, den der compiler nicht mal in eine Errormeldung verarbeiten kann und sich deshalb aufhängt.
Wenn du nicht weißt wo der Fehler liegt, bleibt dir nix übrig als Teil für Teil als Kommentar zu setzen und so den Fehler zu finden.
Wenn du noch weißt was du als letztes gemacht hast bevor der Compiler nicht mehr compilen kann, würde ich da anfangen. -
Eventuell, da die Entfernung von dir zu dir 0 ist.
Kann sein dass da IsPlayerInRangeOfPoint false returnt -
Eine der Bedingungen wird nicht true sein.