Beiträge von RunAway
-
-
Dann lerne dich in Geduld!
-
Gut, aber wie soll ich den den Spielernamen aus der anderen Tabelle laden?
-
-
Alles anzeigen
Toll. Hättest aber ruhig mehr Quellcode zeigen können.
Probier es mal mit Debuggen.
Was wird dir hier ausgegeben:
new str[512],dest[5][64],query[128];
format(query,128,"SELECT `EnterX`,`EnterY`,`EnterZ`,`ID`,`SpielerID` FROM `haus`");
mysql_query(query);
mysql_store_result();
printf("mysql_num_rows() = %d", mysql_num_rows() ); // <--
while(mysql_fetch_row_format(str))
{
// Was kommt hier noch an Code ? Hier könnte es nämlich auch Fehler geben.
Ich hoffe auch einach mal,dass du mehr als einen Eintrag angelegt hast.Alles anzeigenToll. Hättest aber ruhig mehr Quellcode zeigen können.
Probier es mal mit Debuggen.
Was wird dir hier ausgegeben:
new str[512],dest[5][64],query[128];
format(query,128,"SELECT `EnterX`,`EnterY`,`EnterZ`,`ID`,`SpielerID` FROM `haus`");
mysql_query(query);
mysql_store_result();
printf("mysql_num_rows() = %d", mysql_num_rows() ); // <--
while(mysql_fetch_row_format(str))
{
// Was kommt hier noch an Code ? Hier könnte es nämlich auch Fehler geben.
Ich hoffe auch einach mal,dass du mehr als einen Eintrag angelegt hast.
new str[512],dest[5][64],query[128];
format(query,128,"SELECT `EnterX`,`EnterY`,`EnterZ`,`ID`,`SpielerID` FROM `haus`");
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(str))
{
mysql_fetch_field_row(dest[0],"EnterX");//16
mysql_fetch_field_row(dest[1],"EnterY");
mysql_fetch_field_row(dest[2],"EnterZ");
mysql_fetch_field_row(dest[3],"ID");
mysql_fetch_field_row(dest[4],"SpielerID");
new string[256];
if(strval(dest[4]) == 0)
{
format(string,256,"HausID: %s\nDieses Haus ist zu verkaufen!\nPreis: %d\n/enter um es zu besichtigen!\n/hauskaufen um das Haus zu kaufen\n/mieten zum einmieten\nMietpreis/PayDay: %d",dest[3],mysql_GetInt("haus","Preis","ID",dest[3]),mysql_GetInt("haus","Mietpreis","ID",dest[3]));
new Text3D:labelid = CreateDynamic3DTextLabel(string, COLOR_RED, floatstr(dest[0]),floatstr(dest[1]), floatstr(dest[2])+0.35, 5.0);
new pickid = CreateDynamicPickup(1272, 1,floatstr(dest[0]),floatstr(dest[1]), floatstr(dest[2]));
mysql_SetInt("haus", "PickupID", pickid, "ID", dest[3]);
mysql_SetInt("haus", "LabelID", _:labelid, "ID", dest[3]);
}
else
{
format(string,256,"HausID: %s\nDieses Haus gehört: %s\n/mieten um dort zu wohnen!\nMietpreis/PayDay: %d",dest[3],GetPlayerMySQLName(strval(dest[4])),mysql_GetInt("haus","Mietpreis","ID",dest[3]));
new Text3D:labelid = CreateDynamic3DTextLabel(string, COLOR_RED, floatstr(dest[0]),floatstr(dest[1]), floatstr(dest[2])+0.35, 5.0);
new pickid = CreateDynamicPickup(1273, 1,floatstr(dest[0]),floatstr(dest[1]), floatstr(dest[2]));
mysql_SetInt("haus", "PickupID", pickid, "ID", dest[3]);
mysql_SetInt("haus", "LabelID", _:labelid, "ID", dest[3]);
}
}
das problem ist ja nicht nur bei dieser schleife sondern bei anderen mit anderen colums und tabellen auch//edit beim debuggen kommt 5 raus bei 6 Zeilen
-
Hey,
Deise Schlefie läd mir nur den ersten Eintrag in der datenbank
new str[512],dest[5][64],query[128];
format(query,128,"SELECT `EnterX`,`EnterY`,`EnterZ`,`ID`,`SpielerID` FROM `haus`");
mysql_query(query);
mysql_store_result();
while(mysql_fetch_row_format(str))
{Hat wer eine Idee, was falsch ist?
-
Schön siehts aus, aber ich will nicht wissen wie viele objecte das sind

-
Okey, danke dir
-
Hey,
zunächst erst mal die Frage welche Callbacks werden bei den Digner aufgerufen?
zweites möchte ich, dass ich abfragen kann, wie viel jemand beim Tuning bezahlt hat, sprich, dass ich dass an mein AntiMoney anpassen kann?mfg
-
machste nen pickup in dem ding rein und lässt diesen per pickuptyp während du im fahrzeug bist aufnehmen, und lässt dann das auto reppen allternativ mit nen timer die position abfragen

-
Du hast einen Fehler in OnGameModeInit, da dieser funktion bagebrochen wird und somit nicht alles geladen bzw gestartet wird

-
-
Benutzt du A_i für den Columm ID?
-
sonst noch ein ?
-
mach mal bei der z koordinate -0.5
-
Hast du ein Primarykey festgelegt?
-
Benutze bis jetzt immer "s" und bislang kein Fehler aufgetreten.
LG
trotzdem ist das eine falsche verwendung s ist ein String (zeichenkette) und u eine spielerid oder spielername.. -
Du brauchst einen SpielerSpeichern stock -_-
Edit: und mit der Forschleife die Funktion abrufen

omg wie wärs mal erstmal schauen und dann die fresse aufreisen?jeder spammt hier drunter ohne zu lesen

-
Das ist kein unterschied, da eine new gesetzte Variable eigentlich immer den Wert 0 trägt bringt es die schleife nicht und würde meine while schleife in OnGameModExit, die eine mysql tabelle durchläuft
-
Guck mal ob dort die Funktion abgerufen wird, denn es kann ja sein, dass genau beim Serverrestart das Script nicht schafft die Accounts zu speichern.
Setzt vlt. einen Timer, z.B. "GMX in 5 Sekunden" dann bei dem Ausführen des Befehls speichert er alle Accounts und in 5 Sekunden kommt der Serverrestart.
MfG
Hab ich auch schon gemacht !
Alles anzeigenGeh mal zu OnGameModeExit und füg das mal ein:
public OnGameModeExit()
{
for(new i=0; i<max_players; i++)="" durchläuft="" alle="" spieler,="" die="" gerade="" auf="" dem="" server="" online="" sind.
{
if(IsPlayerConnected(i))
{
SpeicherBefehl(i); //SpeicherBefehl durch deinen Stock / Public ersetzen, der die Spieler speichert
}
}
}unterschied?