Sauvegarde des vйhicules en DB
#1

Bonjour.

J'ai spawn sur mon serveur plein de vйhicules, et j'aimerais les sauvegarder en DB (pas en /save).

J'ai donc un FS oщ j'ai inclu mysql, connectй а la DB, .. et j'ai cette commande :

Код:
if (strcmp("/vdebug", cmdtext, true, 10) == 0)
	{
		SendClientMessageToAll(ERROR, "La sauvegarde de tous les vйhicules du serveur a commencйe...");
		new Float:x, Float:y, Float:z, Float:angle, query[400];
		new compteur_add = 0;
		new compteur_update = 0;
		for(new i = 0; i < MAX_VEHICLES; i++) {
		    GetVehiclePos(i, x, y, z);
		    if(x > 10 && y > 10) {
				format(query, 400, "SELECT * FROM `ab_vehicles` WHERE id_ingame = %d", i);
				mysql_query(query);
				mysql_store_result();
				if(mysql_num_rows() == 1) {
				    compteur_update++;
				    format(query, 400, "UPDATE `ab_vehicles` SET spawn_x = %f, spawn_y = %f, spawn_z = %f, spawn_angle = %f WHERE id_ingame = %d", x, y, z, angle, i);
				    mysql_query(query);
				} else {
				    compteur_add++;
				    format(query, 400, "INSERT INTO `ab_vehicles`(id_ingame, modele, prix, etat, spawn_x, spawn_y, spawn_z, spawn_angle, plaque) VALUES(%d, %d, 9999, 0, %f, %f, %f, %f, \"[USA] BETA TEST\")", i, GetVehicleModel(i), x, y, z, angle);
					mysql_query(query);
				}
				mysql_free_result();
		    }
		}
		SendClientMessageToAll(ERROR, "La sauvegarde de tous les vйhicules du serveur est terminйe. Utilisez rйguliиrement /vdebug !");
		new result[100];
		format(result, 100, "Vйhicules insйrйs : %d ; Vйhicules modifiйs : %d", compteur_add, compteur_update);
		SendClientMessageToAll(ERROR, result);
		return 1;
	}
J'ai fais une premiиre fois /vdebug, la sauvegarde a йtй instantanйe, m'a marquйe "5 vйhicules insйrйs". La deuxieme a йtй plus longue, et j'ai eu le mкme rйsultat. Mais jamais rien dans la DB.

J'utilises
if(x > 10 && y > 10)
pour кtre sыr que le vйhicule existe bien.

Bref, comment faire marcher ce script ?

mysql_debug est а 1 et je n'ai aucune erreur dans le .exe...

Merci !
Reply
#2

En fait, j'ai cette requкte, elle s'йxйcute, mais je n'ai rien dans la base...

Код:
new Float:x, Float:y, Float:z, Float:angle, model;
		    new query[800];
		    GetVehiclePos(i, x, y, z);
		    GetVehicleZAngle(i, angle);
		    if(x != 0.000000 && y != 0.000000 && z != 0.000000 && angle != 0.000000) {
			    compteur++;
			    model = GetVehicleModel(i);
				mysql_query("INSERT INTO `ab_vehicles` (id_ig,model,s_x,s_y,s_z,s_angle) VALUES (%d,%d,%f,%f,%f,%f)", i, model, x, y, z, angle);
			}
Reply
#3

Learn to speak english god dammit.
Reply
#4

My topic has been moving

The original is here : https://sampforum.blast.hk/showthread.php?tid=283893
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)