Hallo, ich habe ein Problem mit meinem Script, undzwar, er speichert, die Daten nicht, die beim erstellen erstellt wurden nicht in die Tabelle.
Wenn ich ein Haus erstelle, dann wird das Haus zwar erstellt und die Variabeln, werden auch richtig gesetzt. (Getestet), jedoch das Feld Besitzer bleibt in der DB Leer.
Was habe ich gemacht ?
Ich habe herausgefunden, dass die Variabeln richtig gesetzt werden, durch Debugen, (printen).
Es ist alles richtig. Nur er speichert nichts in die Datenbank ein, x,y,z ist auch alles 0. Ich bin sprachlos.
Das Script läuft unter dem MySQL Plugin r36. Ich hoffe ihr könnt mir helfen, wenn ich ein paar Screens uploade, ich bin an verzweifeln.
Hier der Code:
ocmd:create(playerid,params[])
{
new cmd[25],hquery[256];
if(Spieler[playerid][pAfk]!=0)return Fehler(playerid,"Du bist zurzeit im AFK-Modus.");
if(Spieler[playerid][pEingeloggt]!=1)return Fehler(playerid,"Du bist nicht eingeloggt.");
if(Spieler[playerid][pAdmin]<7)return Fehler(playerid,"Du bist kein "#Servertag" Teammitglied.");
if(sscanf(params,"s[25]",cmd))return Fehler(playerid,"/create [Haus/Business]");
if(strcmp(cmd,"Haus",true) == 0)
{
for(new haus=1;haus<MAX_HAUS;haus++)
{
if(HausInfo[haus][hauscreatet]!=1)
{
format(hquery,sizeof(hquery),"INSERT INTO samp_haus (id) VALUES ('%d')",haus);
mysql_function_query(db,hquery,false,"","");
MakeHaus[playerid]=haus;
GetPlayerPos(playerid,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
HausInfo[haus][hauscreatet]=1;
strmid(HausInfo[haus][haus_besitzer],"Niemand",0,strlen("Niemand"),24);
strmid(HausInfo[haus][haus_beschreibung],"Keine",0,strlen("Keine"),150);
strmid(HausInfo[haus][haus_msg],"Keine",0,strlen("Keine"),150);
HausInfo[haus][haus_Owned]=0;
HausInfo[haus][haus_innenraum]=255;
HausInfo[haus][haus_miete]=0;
HausInfo[haus][haus_locked]=1;
HausInfo[haus][haus_slots]=0;
HausInfo[haus][haus_eingemitetenzaehler]=0;
HausInfo[haus][haus_preis]=0;
HausInfo[haus][haus_level]=0;
HausInfo[haus][haus_geldkasse]=0;
HausInfo[haus][haus_Opium]=0;
HausInfo[haus][haus_Spice]=0;
HausInfo[haus][haus_c4]=0;
HausInfo[haus][haus_Ganja]=0;
HausInfo[haus][haus_Kokain]=0;
HausInfo[haus][haus_materials]=0;
HausInfo[haus][haus_heal]=0;
HausInfo[haus][haus_armour]=0;
HausInfo[haus][haus_hatheal]=0;
HausInfo[haus][haus_hatarmour]=0;
HausInfo[haus][hausmull]=0;
HausLabel[haus]=CreateDynamic3DTextLabel("Haus wird gebaut",0x00A5FF91,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]+1,20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
HausInfo[haus][haus_pickup]=CreateDynamicPickup(19470,1,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
ShowPlayerDialog(playerid,HCREATE_DIALOG_PREIS,DIALOG_STYLE_INPUT,"Hauserstellung Schritt 1","Gib den Preis an,\nfür den das Haus zum verkauf freigestellt werden soll:","Weiter","Haus löschen");
return 1;
}
}
}
return 1;
}
Ich glaube die ganzen DIALOGE muss ich nicht Posten, denn das Haussystem sollte so ähnlich werden wie das von pure RolePlay.
Was noch wichtig wäre ist der stock. Der das Haus speichern sollte.
stock SaveOnlyOneHaus(haus)
{
new mainquery[1315],hquery[450];
if(HausInfo[haus][hauscreatet]!=0&&haus!=0)
{
printf("Besitzer %s Preis: %i€ Level: %i",HausInfo[haus][haus_besitzer],HausInfo[haus][haus_preis],HausInfo[haus][haus_level]);
format(hquery,sizeof(hquery),"UPDATE samp_haus SET haus_besitzer='%s',haus_Owned='%d',haus_innenraum='%d',haus_miete='%d',haus_beschreibung='%s',haus_locked='%d',haus_slots='%d',haus_eingemitetenzaehler='%d',haus_x='%f',haus_y='%f',haus_z='%f',",
HausInfo[haus][haus_besitzer],HausInfo[haus][haus_Owned],HausInfo[haus][haus_innenraum],HausInfo[haus][haus_miete],HausInfo[haus][haus_beschreibung],HausInfo[haus][haus_locked],HausInfo[haus][haus_slots],HausInfo[haus][haus_eingemitetenzaehler],HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]);
strcat(mainquery,hquery);
format(hquery,sizeof(hquery),"haus_preis='%d',haus_level='%d',haus_geldkasse='%d',haus_Opium='%d',haus_Spice='%d',haus_c4='%d',haus_Ganja='%d',haus_Kokain='%d',haus_materials='%d',haus_heal='%d',haus_armour='%d',haus_hatheal='%d',haus_hatarmour='%d',hausgundumper='%d',",
HausInfo[haus][haus_preis],HausInfo[haus][haus_level],HausInfo[haus][haus_geldkasse],HausInfo[haus][haus_Opium],HausInfo[haus][haus_Spice],HausInfo[haus][haus_c4],HausInfo[haus][haus_Ganja],HausInfo[haus][haus_Kokain],HausInfo[haus][haus_materials],HausInfo[haus][haus_heal],HausInfo[haus][haus_armour],HausInfo[haus][haus_hatheal],HausInfo[haus][haus_hatarmour],HausInfo[haus][haus_waffenschrank]);
strcat(mainquery,hquery);
format(hquery,sizeof(hquery),"hausgun0='%d',hausgun1='%d',hausgun2='%d',hausgun3='%d',hausgun4='%d',hausgun5='%d',hausgun6='%d',hausgun7='%d',hausgun8='%d',hausgun9='%d',hausgun10='%d',hausgun11='%d',hausgun12='%d',hausgunammo0='%d',hausgunammo1='%d',hausgunammo2='%d',hausgunammo3='%d',",
HausInfo[haus][haus_gun][0],HausInfo[haus][haus_gun][1],HausInfo[haus][haus_gun][2],HausInfo[haus][haus_gun][3],HausInfo[haus][haus_gun][4],HausInfo[haus][haus_gun][5],HausInfo[haus][haus_gun][6],HausInfo[haus][haus_gun][7],HausInfo[haus][haus_gun][8],HausInfo[haus][haus_gun][9],HausInfo[haus][haus_gun][10],HausInfo[haus][haus_gun][11],HausInfo[haus][haus_gun][12],
HausInfo[haus][haus_gunammo][0],HausInfo[haus][haus_gunammo][1],HausInfo[haus][haus_gunammo][2],HausInfo[haus][haus_gunammo][3]);
strcat(mainquery,hquery);
format(hquery,sizeof(hquery),"hausgunammo4='%d',hausgunammo5='%d',hausgunammo6='%d',hausgunammo7='%d',hausgunammo8='%d',hausgunammo9='%d',hausgunammo10='%d',hausgunammo11='%d',hausgunammo12='%d',hausmull='%d',haus_msg='%s' WHERE id='%d'",
HausInfo[haus][haus_gunammo][4],HausInfo[haus][haus_gunammo][5],HausInfo[haus][haus_gunammo][6],HausInfo[haus][haus_gunammo][7],HausInfo[haus][haus_gunammo][8],HausInfo[haus][haus_gunammo][9],HausInfo[haus][haus_gunammo][10],HausInfo[haus][haus_gunammo][11],HausInfo[haus][haus_gunammo][12],HausInfo[haus][hausmull],HausInfo[haus][haus_msg],haus);
strcat(mainquery,hquery);
mysql_function_query(db,mainquery,false,"","");
strdel(mainquery,0,sizeof(mainquery));
strdel(hquery,0,sizeof(hquery));
printf("- Das Haus %d wurde gespeichert -",haus);
}
return 1;
}
So wird das Haus gespeichert und so wird das geladen.
public HausLoad(i)
{
new num_fields, num_rows;
cache_get_data(num_rows,num_fields,db);
if(num_rows!=1)return 1;
HausInfo[i][hauscreatet]=1;
cache_get_field_content(0,"haus_besitzer",HausInfo[i][haus_besitzer],db,50);
HausInfo[i][haus_Owned] = cache_get_field_content_int(0,"haus_Owned",db);
HausInfo[i][haus_innenraum] = cache_get_field_content_int(0,"haus_innenraum",db);
HausInfo[i][haus_miete] = cache_get_field_content_int(0,"haus_miete",db);
cache_get_field_content(0,"haus_beschreibung",HausInfo[i][haus_beschreibung],db,50);
HausInfo[i][haus_locked] = cache_get_field_content_int(0,"haus_locked",db);
HausInfo[i][haus_slots] = cache_get_field_content_int(0,"haus_slots",db);
HausInfo[i][haus_eingemitetenzaehler] = cache_get_field_content_int(0,"haus_eingemitetenzaehler",db);
HausInfo[i][haus_x] = cache_get_field_content_float(0,"haus_x",db);
HausInfo[i][haus_y] = cache_get_field_content_float(0,"haus_y",db);
HausInfo[i][haus_z] = cache_get_field_content_float(0,"haus_z",db);
HausInfo[i][haus_preis] = cache_get_field_content_int(0,"haus_preis",db);
HausInfo[i][haus_level] = cache_get_field_content_int(0,"haus_level",db);
HausInfo[i][haus_geldkasse] = cache_get_field_content_int(0,"haus_geldkasse",db);
HausInfo[i][haus_Opium] = cache_get_field_content_int(0,"haus_Opium",db);
HausInfo[i][haus_Spice] = cache_get_field_content_int(0,"haus_Spice",db);
HausInfo[i][haus_c4] = cache_get_field_content_int(0,"haus_c4",db);
HausInfo[i][haus_Ganja] = cache_get_field_content_int(0,"haus_Ganja",db);
HausInfo[i][haus_Kokain] = cache_get_field_content_int(0,"haus_Kokain",db);
HausInfo[i][haus_materials] = cache_get_field_content_int(0,"haus_materials",db);
HausInfo[i][haus_heal] = cache_get_field_content_int(0,"haus_heal",db);
HausInfo[i][haus_armour] = cache_get_field_content_int(0,"haus_armour",db);
HausInfo[i][haus_hatheal] = cache_get_field_content_int(0,"haus_hatheal",db);
HausInfo[i][haus_waffenschrank] = cache_get_field_content_int(0,"hausgundumper",db);
//||Guns müssen noch geladen werden||//
HausInfo[i][hausmull] = cache_get_field_content_int(0,"hausmull",db);
cache_get_field_content(0,"haus_msg",HausInfo[i][haus_msg],db,50);
HausLabel[i] = CreateDynamic3DTextLabel("LOAD",0x00A5FF91,HausInfo[i][haus_x],HausInfo[i][haus_y],HausInfo[i][haus_z] +1,20.0,INVALID_PLAYER_ID,INVALID_VEHICLE_ID,1,0);
if(HausInfo[i][haus_Owned] == 1)
{
HausInfo[i][haus_pickup] = CreateDynamicPickup(1239,1,HausInfo[i][haus_x],HausInfo[i][haus_y],HausInfo[i][haus_z],0);
}
else if(HausInfo[i][haus_Owned] == 0)
{
HausInfo[i][haus_pickup] = CreateDynamicPickup(19470,1,HausInfo[i][haus_x],HausInfo[i][haus_y],HausInfo[i][haus_z],0);
}
UpdateHausLabel(i,HausInfo[i][haus_Owned]+1);
i++;
return 1;
}
Ich hoffe ihr könnt mir helfen. Dumme Kommentare sind unerwünscht und werden gemeldet.
LG Dr.Brummer