Hey,
ich erstelle mir grade ein Haussystem übermysql.
Dochj ihc brauch eine Funktion mit der ich praktisch alle daten auslesen kann und dann zum beispiel
so viele pcikups erstellen wie vorhanden sind
mfg
Hey,
ich erstelle mir grade ein Haussystem übermysql.
Dochj ihc brauch eine Funktion mit der ich praktisch alle daten auslesen kann und dann zum beispiel
so viele pcikups erstellen wie vorhanden sind
mfg
Such doch mal in der Include/dem Forenbeitrag des Plugins, da sollten die Funktionen stehen
du weißt glaube nicht was ich meine
Es geht darum, dass ich eie Art schleife machen möchte
Sofern du weißt, wie MySQL funktioniert, könntest du ja eine for-Schleife machen, die einen SQL-Befehl ausführt und dort jeweils nach der nächsten ID sucht und gegebenenfalls die Koordinaten ausliest. Du könntest aber die Anzahl auch seperat auslesen und die for-Schleife dann auf die Menge beschränken.
Hy,
Kann mir mal jemand genau erklären was Mysql ist ?
Eine Datenbank in die du Daten schreiben und auslesen kannst. Das kann man so vergleichen, als wenn du bei Windows dich anmeldest und per cmd.exe in einem Ordner eine Datei öffnest und deren Inhalt für etwas verwendest, nur ist MySQL eben nicht ganz so leicht
Ich weiß, das ist ein komisches Beispiel D:
könntest du mir ein beispiel machen?
Leider nein, per Touchscreen ist das zu schwer, da das schon einige Zeilen Code wären :o
Mal sehen, wenn später mein PC wieder geht und bis dahin keiner helfen konnte, schreib ich ein bisschen was
danke 10 ..... blabla
@ Jeffro Hernandez
MySQL kannst du dir Vorstellen wie Schubladen, darin sind Akten und darin sind die Dokumente.
Also anders gesagt Mysql Hat eine Datenbank (=Schublade) darin sind verschiedene Tabellen (=Akten) und darin sind die Dateien gespeichert. (= Dokumente).
Mit MySQL kann man finde ich am besten Dynamische Systeme machen (Wenn wir hier von SA:MP reden )
Aber MySQL finde ich auch etwas schwierig (Ich hab ein paar Probs damit :D)
Jedenfalls kannst du viele Sachen in Tabellen abspeichern und wieder abrufen,verändern,löschen usw...
/Zum Thema
Hier eine Hilfe:
new Float:x;
mysql_query("SELECT PosX FROM Tabelle");
mysql_store_result();
x = mysql_fetch_float();
//usw...
//oder die Methode mit sscanf, find ich ya besser ;)
//hab jedoch nie einzelne sachen geladen also könnte der code auch falsch sein ich würde dann doch lieber die mysql_fetch_float(); geschichte nehmen :D
new Float:x,Float:y,Float:z;
mysql_query("SELECT PosX,PosY,PosZ FROM Tabelle");
mysql_store_result();
while(mysql_fetch_row_format(query))
sscanf(query,"p<|>fff",x,y,z);
/Edit
Fehler bei sscanf entdeckt
also läd der dann alles
geht die eizelnen zeilen durch
und trent dort die variable und ich brauche nur x,y,z verwenden?
zudem wie mache ich das wen ich daten brauche die in einer bestimmten reihe sind
mit where reihe = %d ?
bei sscanf lädt er alles sofort in einem zuck auf die Variablen.
bei mysql_fetch_float(); musste einzelnt machen...
zur 2. Frage:
da musste denn format machen
new query[150];
format(query,sizeof query,"SELECT PosX,PosY,PosZ FROM `Tabelle` WHERE `Reihe` = %d",variable);
mysql_query(query);
und der rest halt :D
dake gleich ausprobieren
//edit hat geklappt vielen vielen Dank endlich komm ich mit meinem Selfmade weiter
Falls ich noch dazu sagen darf:
Ich speichere floats als varchar mit ner länge von ~20 zeichen in der datenbank, lasse sie auch als solche auslesen und benutze dann floatstr um das ganze in nen float wert zu bekommen. Grund dafür ist, das mysql plugins gerne auf Linux spinnen wennn es um Floats geht, und du da irgend einen scheiss bei raus bekommst.
Wollts nur mal gesagt haben, falls du mal das problem haben solltest^^
okey es klappt wunderbar
so jetzt hab ich eine Funktion die mir den Eintrag liefert an dem der User ist
stock GetAtHausID(playerid)
{
new query[150],id;
id = 0;
new Float:x,Float:y,Float:z;
mysql_query("SELECT ExitX, ExitY, ExitZ FROM haus");
mysql_store_result();
while(mysql_fetch_row_format(query))
{
sscanf(query,"p<|>fff",x,y,z);
if(IsPlayerInRangeOfPoint(playerid,2.5,x,y,z))
{
return id;
}
id++;
}
return 0;
}
so aber wie kann ich jetzt daten des eintrages auslesen?
//edit mir ist noch was aufgefallen^^
ich habe eine Variable um zu überprüfen ob das haus verkauft ist oder nicth die habe ich bei sscanf auch eingefügt jedoch wirkt dies nicht^^
new query[150];
new Float:x,Float:y,Float:z,rent;
mysql_query("SELECT EnterX, EnterY, EnterZ Owned FROM haus");
mysql_store_result();
while(mysql_fetch_row_format(query))
{
sscanf(query,"p<|>fffd",x,y,z,rent);
if(rent == 0)
{
AddStaticPickup(1273, 1,x,y,z, 0);
}
if(rent == 1)
{
AddStaticPickup(1272, 1,x,y,z, 0);
}
}
das komma beim mysql_query fehlt
das komma beim mysql_query fehlt
danke
//edit weißt du auch wie ich einen bestimmten datensatz auslese
also nicht where reihe = ..
also nach zeile, damit ich ein enter /ecit system machen kann.
ich weiß schon wie mir die id überliefert wird also welche zeile das sit.
dann musst du auch WHERE machen denke ich...
und dann halt bei der ID die überlieferte als variable nehmen
also so wird mir die id übergeben
stock GetAtHausID(playerid)
{
new query[150],id;
id = 0;
new Float:x,Float:y,Float:z;
mysql_query("SELECT ExitX, ExitY, ExitZ FROM haus");
mysql_store_result();
while(mysql_fetch_row_format(query))
{
sscanf(query,"p<|>fff",x,y,z);
if(IsPlayerInRangeOfPoint(playerid,2.5,x,y,z))
{
return id;
}
id++;
}
return 0;
}
wie mache ich das dann das ich davon die x,y,z wieder auslesen kann mit dem wert der in id steht?
also wenn ich das richtig verstanden habe willst du die koordinaten des hauses mit der ID die zu gewiesen wurde oder?