Hallo Leute,
ich möchte für mein MYSQL System eine Funktion damit ich die letze ID in der Tabelle herausfinde sprich
ich habe früher bei meinem alten RL GM es über dini gemacht siehe cmd
if(strcmp(cmd, "/auto", true)==0)
{
if(Account[playerid][Admin] == 3)
{
if((ReturnNextUnusedVehicleID()-1) >= MAX_VEHICLES) return SendClientMessage(playerid, COLOR_WHITE, "Das Maximum an Fahrzeugen wurde erreicht.");
new modelid,respawn,vw,mj,fc,c1,c2,mystr[128];
new Float:isx,Float:isy,Float:isz;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Farbe1] [Farbe2]");
return 1;
}
modelid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Farbe1] [Farbe2]");
return 1;
}
c1 = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_WHITE, "Benutze: /auto [modelid] [Farbe1] [Farbe2]");
return 1;
}
c2 = strval(tmp);
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
SCM(playerid,COLOR_LIGHTRED," Auto erstellt ");
SCM(playerid,COLOR_GREEN,"/////////////////////////////////////////////////");
GPP(playerid,Float:isx,Float:isy,Float:isz);
new count=1;
new autostring[60];
new as[128];
format(autostring,sizeof autostring,"Autos/vehicle_%d.ini",count);
while(fexist(autostring))
{
count++;
format(autostring,sizeof autostring,"Autos/vehicle_%d.ini",count);
}
dini_Create(autostring);
dini_IntSet(autostring,"Auto",count);
Autos[count][vModel] = modelid;
Autos[count][vEingepackt] = 0;
Autos[count][vArt] = 0;
Autos[count][vX] = isx;
Autos[count][vY] = isy;
Autos[count][vZ] = isz;
Autos[count][vA] = 0;
Autos[count][vFarbe1] = c1;
Autos[count][vFarbe2] = c2;
format (as,sizeof(as),"FahrzeugID='%d'",count);
new sqltemp[128];
format(sqltemp,sizeof(sqltemp),"INSERT INTO autos SET %s",as);
mysql_query(sqltemp);
format(mystr,sizeof(mystr),"UPDATE autos SET Model='%d' WHERE %s;",Autos[count][vModel],as);mysql_query(mystr);
CreateVehicle(modelid,isx,isy,isz,0,c1,c2,-1);
}
else
{
SCM(playerid, COLOR_RED, "Du bist kein Admin!");
return 1;
}
return 1;
}
public OnVehicleDataUpdate(vehicleid)
{
new str[128];
new string[128];
format (str,sizeof(str),"FahrzeugID='%d'",vehicleid);
format(string,sizeof(string),"Model='%d",Autos[vehicleid][vModel]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"Eingepackt='%d",Autos[vehicleid][vEingepackt]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"Art='%d",Autos[vehicleid][vArt]); UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"X='%f",Autos[vehicleid][vX]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"Y='%f",Autos[vehicleid][vY]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"Z='%f",Autos[vehicleid][vZ]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"A='%f",Autos[vehicleid][vA]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"Farbe1='%d",Autos[vehicleid][vFarbe1]);UpdateMYSQL("autos",string,str);
format(string,sizeof(string),"Farbe2='%d",Autos[vehicleid][vFarbe2]);UpdateMYSQL("autos",string,str);
return 1;
}
public OnVehicleLoad(vehicleid)
{
new count = vehicleid;
new carloadstring[60];
format(carloadstring,sizeof(carloadstring),"FahrzeugID='%d'",count);
if (QueryMySQL("*","autos",carloadstring,"")>0)
{
while(mysql_fetch_row(mysqlresult))
{
Autos[count][vModel] = GetMySQLField_Int("Model");
Autos[count][vEingepackt] = GetMySQLField_Int("Eingepackt");
Autos[count][vArt] = GetMySQLField_Int("Art");
Autos[count][vX] = GetMySQLField_Float("X");
Autos[count][vY] = GetMySQLField_Float("Y");
Autos[count][vZ] = GetMySQLField_Float("Z");
Autos[count][vA] = GetMySQLField_Float("A");
Autos[count][vFarbe1] = GetMySQLField_Int("Farbe1");
Autos[count][vFarbe2] = GetMySQLField_Int("Farbe2");
if (Autos[count][vEingepackt] == 0)
{
CreateVehicle(Autos[count][vModel],Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
}
else if (Autos[count][vEingepackt] == 1 && Autos[count][vArt] == 1)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
SetVehicleVirtualWorld(count,Autos[count][vVW]);
}
else if (Autos[count][vEingepackt] == 1&& Autos[count][vArt] == 2)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
SetVehicleVirtualWorld(count,Autos[count][vVW]);
}
else if (Autos[count][vEingepackt] == 1 && Autos[count][vArt] == 3)
{
CreateVehicle(591,Autos[count][vX],Autos[count][vY],Autos[count][vZ],Autos[count][vA],Autos[count][vFarbe1],Autos[count][vFarbe2],-1);
SetVehicleVirtualWorld(count,Autos[count][vVW]);
}
}
}
}
Alte Strukur
Da wurde eine Daten erstellt ohne inhalt und anhand dieser Datei konnte der GM immer weiter autos erstellen ohne sie zu überschreiben
wie mache ich es das er die ID nicht von einer Dini Datei bekommt sondern von der MYSQL Tabelle selber?
hier meine mysql include
http://pastebin.com/TqNjr6bT
hier meine mysql funktionen
http://pastebin.com/3U05hX8x
//edit: Laden, Erstellen und Updaten eingefügt Bild der Struktur eingefügt
Dies sind nur ausschnitte wie es bevor war mit dini und in abgespeckter Version also das nötigste ohne den ganzen Inahlt den ich früher mal hatte
Dies habe ich nur gemacht damit ich die Basis ändern kann und der code hier kürzer wird
mfg Dedi