Ne wird sie nicht es ist echt nur das Label weg das pflanzen Objekt bleibt sowie der Eintrag in der Datenbank
Beiträge von Gurkie94
-
-
Wenn ich eine Pflanze ingame erstele gehen die Label weg sobalb ich diese update woran kann das liegen ?
Hier mal der code wo das Label geupdatet wird.
dürfte eigentlich ja kein fehler sein weil wenn ich es aus der datenbanklade sprich server starte klappt es auch also das Label verschwindet nicht.
for(new i = 0; i < MAX_HANF; i++)
{
if(HanfInfo[i][h_wasser]>=1)
{
if(HanfInfo[i][h_reife]<100)
{
HanfInfo[i][h_reife]++;
format(string,sizeof(string),"HanfID: %i\nReif: %i g\nReifeprozess: %i % \nWasservorrat: %i %",HanfInfo[i][h_ID],HanfInfo[i][h_reif],HanfInfo[i][h_reife],HanfInfo[i][h_wasser]);
Update3DTextLabelText(HanfInfo[i][h_Label], 0x05C800FF, string);
format(string,sizeof(string),"UPDATE hanf SET reife='%i'WHERE id='%i'",
HanfInfo[i][h_reife],HanfInfo[i][h_ID]);
mysql_function_query(dbhandle,string,false,"","");
}
if(HanfInfo[i][h_reife]==100)
{
HanfInfo[i][h_reife]=0;
switch(random(10))
{
case 0:{HanfInfo[i][h_reif]=103;}
case 1:{HanfInfo[i][h_reif]=125;}
case 2:{HanfInfo[i][h_reif]=136;}
case 3:{HanfInfo[i][h_reif]=142;}
case 4:{HanfInfo[i][h_reif]=157;}
case 5:{HanfInfo[i][h_reif]=169;}
case 6:{HanfInfo[i][h_reif]=175;}
case 7:{HanfInfo[i][h_reif]=181;}
case 8:{HanfInfo[i][h_reif]=193;}
case 9:{HanfInfo[i][h_reif]=273;}
}
format(string,sizeof(string),"HanfID: %i\nReif: %i g\nReifeprozess: %i % \nWasservorrat: %i %",HanfInfo[i][h_ID],HanfInfo[i][h_reif],HanfInfo[i][h_reife],HanfInfo[i][h_wasser]);
Update3DTextLabelText(HanfInfo[i][h_Label], 0x05C800FF, string);
format(string,sizeof(string),"UPDATE hanf SET reif='%i'WHERE id='%i'",
HanfInfo[i][h_reif],HanfInfo[i][h_ID]);
mysql_function_query(dbhandle,string,false,"","");
}
}
if(HanfInfo[i][h_wasser]==0)
{
new query[150];
HanfInfo[i][h_ID]=0;
HanfInfo[i][h_reif]=0;
HanfInfo[i][h_reife]=0;
HanfInfo[i][h_wasser]=0;
HanfInfo[i][h_X]=0;
HanfInfo[i][h_Y]=0;
HanfInfo[i][h_Z]=0;
DestroyObject(HanfInfo[i][h_Pflanze]);
Delete3DTextLabel(HanfInfo[i][h_Label]);
mysql_format(dbhandle,query,sizeof(query),"DELETE FROM hanf WHERE id='%i'",i);
mysql_function_query(dbhandle,query,false,"","");
}
}
return 1;
}ich denke mal das der fehler darin liegt wenn ich es erstelle oder irre ich mich ?
-
Danke dir vielmals habe es jetzt hinbekommen
Nächstest Problem beim laden
er haut mir die ids von den pflanzen durch einander wo vorher hanfid 5 war ist jetzt aufeinmal 0 aber 0 ist trotdem als 5 gespeichert das weiß ich
Gamemodeinit
new query[120];
format(query,sizeof(query),"SELECT * FROM hanf WHERE ernte='1'");
mysql_function_query(dbhandle,query,true,"Hanfladen","");
public Hanfladen(playerid)
{
new num_fields,num_rows,str[126];
cache_get_data(num_rows, num_fields, dbhandle);
for(new i=0; i<num_rows; i++)
{
HanfInfo[i][h_ID] = cache_get_field_content_int(i,"id",dbhandle);
new hid=HanfInfo[i][h_ID];
HanfInfo[hid][h_X] = cache_get_field_content_float(i, "drogenx", dbhandle);
HanfInfo[hid][h_Y] = cache_get_field_content_float(i, "drogeny", dbhandle);
HanfInfo[hid][h_Z] = cache_get_field_content_float(i, "drogenz", dbhandle);
HanfInfo[hid][h_reif] = cache_get_field_content_int(i, "reif", dbhandle);
HanfInfo[hid][h_reife] = cache_get_field_content_int(i, "reife", dbhandle);
HanfInfo[hid][h_wasser] = cache_get_field_content_int(i, "wasser", dbhandle);
HanfInfo[hid][h_Pflanze] = CreateObject(3409, HanfInfo[hid][h_X], HanfInfo[hid][h_Y], HanfInfo[hid][h_Z]-2, 0, 0, 0, 75);
format(str,sizeof(str),"Hanfid: %i\nReif: %i g\nReifeprozess: %i % \nWasservorrat: %i %",hid,HanfInfo[hid][h_reif],HanfInfo[hid][h_reife],HanfInfo[hid][h_wasser]);
HanfInfo[hid][h_Label] = Create3DTextLabel(str, 0x05C800FF, HanfInfo[hid][h_X], HanfInfo[hid][h_Y], HanfInfo[hid][h_Z]-0.6, 7.0, 0);
}
return 1;
} -
ocmd:pflanzen(playerid, params[])
{
if(GetPlayerInterior(playerid) != 0)return SendClientMessage(playerid,Rot,"Du kannst hier keine Drogen pflanzen!");
if(sInfo[playerid][samen]>=1)
{
new query[350];
format(query,sizeof(query),"SELECT id FROM hanf");
mysql_function_query(dbhandle,query,true,"Hanfid","i",playerid);
}else{SendClientMessage(playerid,Weiss,"Du hast keine Samen mehr!");}
return 1;
}
public Hanfid(playerid)
{
new oldID, newID;
new num_fields,rows;
cache_get_data(rows, num_fields, dbhandle);
for(new i = 0; i < rows; i++)
{
newID = cache_get_row_int(i, 0);
if(newID > oldID + 1)
{
new Float:X,Float:Y,Float:Z,query[350];
GetPlayerPos(playerid,X,Y,Z);
CreateObject(3409, X, Y, Z-2, 0, 0, 0, 75);
sInfo[playerid][samen]=sInfo[playerid][samen]-1;
format(query,sizeof(query),"INSERT INTO hanf (drogenx,drogeny,drogenz,reife,ernte) VALUES ('%f','%f','%f','0','1') ",X,Y,Z);
mysql_function_query(dbhandle,query,false,"","");
format(query,sizeof(query),"Hanfid: %i\nReifeprozes: %i",newID);
Create3DTextLabel("Pflanzenid: %i\nReifeprozes: %i", 0x05C800FF, X, Y, Z-0.8, 7.0, 0);
break;
}
oldID = newID;
}
return 1;}
wo leigt der fehler er erstellt immer noch keine
-
1. Query:
SELECT id FROM hanf;
Und wie lege ich bei dem befehl den die id fest ?
-
new oldID, newID;
for(new i = 0; i < rows; i++)
{
newID = cache_get_row_int(i, 0);
if(newID > oldID + 1)
{
//2. Query: INSERT INTO hanf (id, etc...) VALUES (%d, etc...);
break;
}
oldID = newID;
}Das kommt den unter ein extra public richtig?
-
komm nicht hinter mit dem was du von mir möchtest
format(query,sizeof(query),"INSERT INTO hanf WHERE id IS NULL (drogenx,drogeny,drogenz,reife,ernte) VALUES ('%f','%f','%f','0','1') ",X,Y,Z);
mysql_function_query(dbhandle,query,false,"","");habe es derzeit so und es wird nichts erstellt wie meinst du das jetzt genau ?
-
format(query,sizeof(query),"SELECT FROM hanf WHERE id IS NULL (drogenx,drogeny,drogenz,reife,ernte) VALUES ('%f','%f','%f','0','1') ",X,Y,Z);
jetzt erstellt er keine mehr
-
Ja habe ich mir auch schon irgendwie so gedacht wusst aber nicht ganz wie ich das umsetzten sollte
gibt es eine abfrage ob die zeile mit der id leer ist ?
-
-
habe jetzt anstadt if(newkeys == 128) das genommen if(newkeys ==
und klappt danke
-
Hallo Leute ich habe mal eine Frage .
Ich bastel zurzeit an einem system wo ich denn Spieler frezze und er später Leertaste drücken muss aber wenn er gefrezzt ist nimmt er die Leertaste nicht kann man das umgehen oder muss ich eine andere Taste nehmen ? -
Hast du auch auf groß und klein Schreibung geachtet ?
Das alter nicht zB Alter ist -
Hast du in der Datenbank eine Spalte für alter und Bonus angelegt ?
-
Also ließt er garnichts aus der Datenbank ja ?
Aber er speichert es richtig sagst du ?
Hast du in der Datenbank auch eine Spalte alter angelegt ?
-
Level Money und Bonus wird aber geladen?
-
GetVehicleSpeed(vehicleid)
{
new Float:Vx, Float:Vy, Float:Vz;
GetVehicleVelocity(vehicleid, Vx, Vy, Vz);
new Float:rtn;
rtn = floatsqroot(floatpower(Vx*200,2) + floatpower(Vy*200,2));
rtn = floatsqroot(floatpower(rtn,2) + floatpower(Vz*200,2));
return floatround(rtn);
} -
new str[64];
km[GetPlayerVehicleID(i)]+= (GetVehicleSpeed(GetPlayerVehicleID(i))/3,6); //Kilometer werden addiert.
format(str,sizeof(str),"Kilometer: %i,%iKM",km[GetPlayerVehicleID(i)]);
TextDrawSetString(Kilometer[i],str);so ich habe einen Timer der alle sekunde geht und er zählt jetzt alle sekunde 6 Kilometer dazu egal wie schnell ich fahre
-
So habe es jetzt mal eingebaut.
Ich brauche irgendwie noch eine abfrage weil er jetzt sekündlich 6km dazu zählt obwohl sich das fahrzeug garnicht bewegt -
Das heißt ich muss m und km als float definieren richtig ?