Ich hatte gestern so ein Ähnliches Thema, nur jetzt liegt ein fehler an MySQL:
Wenn ich /createhouse eingeben kommt nichts zurück, auch beim Printen, wird es nur vor sscanf ausgegeben (in diesem Fall "Test 1")
Gebe ich alles ein, so erstellt sich das Haus mit einer komischen Hausid, welche auch nicht in die Datenbank geschrieben wird...
Hier mein Befehl:
ocmd:createhouse(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] >= 5)
{
print("Test 1");
new preis,level,Float:i[3],Float:Pos[3],iID,wID, query[250];
if(sscanf(params,"ddfffdd",preis,level,i[0],i[1],i[2],iID,wID))return SendInfo(playerid, "/createhouse [PREIS] [Level] [Interior:X] [Interior:Y] [Interior:Z] [INTERIORID] [VirtuelleWelt (Mindestens 1 sonst überlappt sich alles) ]");
print("Test 2");
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
print("Test 3");
for(new haus=1;haus<MAX_HAUS;haus++)
{
if(HausInfo[haus][erstellt]==true)continue;
format(query, sizeof(query), "INSERT INTO `haus` (`hid`,`x`,`y`,`z`,`ix`,`iy`,`iz`,`miete`,`interior`,`w`,`preis`,`level`,`besitzer`) VALUES ('%d','%f','%f','%f','%f','%f','%f','0','%d','%d','%d','%d','Keiner')",haus,Pos[0],Pos[1],Pos[2],i[0],i[1],i[2],iID,wID,preis,level);
mysql_query(query);
HausInfo[haus][haus_x]=Pos[0];
HausInfo[haus][haus_y]=Pos[1];
HausInfo[haus][haus_z]=Pos[2];
HausInfo[haus][haus_ix]=i[0];
HausInfo[haus][haus_iy]=i[1];
HausInfo[haus][haus_iz]=i[2];
HausInfo[haus][haus_interior]=iID;
HausInfo[haus][haus_w]=wID;
HausInfo[haus][haus_preis]=preis;
HausInfo[haus][haus_level]=level;
HausInfo[haus][miete]=0;
format(HausInfo[haus][haus_besitzer],MAX_PLAYER_NAME,"Niemand");
HausInfo[haus][erstellt]=true;
new hausstring[100];
HausInfo[haus][haus_pickup] = CreatePickup(1273 ,23,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z],0); //erstellt ein Pickup an den Hauskoordinaten
HausInfo[haus][haus_pickup1] = CreatePickup(1239 ,23,HausInfo[haus][haus_ix],HausInfo[haus][haus_iy],HausInfo[haus][haus_iz],HausInfo[haus][haus_w]); //erstellt ein Pickup an den Hauskoordinaten
format(hausstring,sizeof(hausstring),"== Haus %d zu verkaufen ==\nBesitzer: %s\nPreis: %d$\nLevel: %d",i,HausInfo[haus][haus_besitzer],HausInfo[haus][haus_preis],HausInfo[haus][haus_level]);
HausInfo[haus][haus_label] = Create3DTextLabel(hausstring, COLOR_YELLOW, HausInfo[haus][haus_x], HausInfo[haus][haus_y], HausInfo[haus][haus_z], 12.0, 0, 0);
return 1;
}
}
else return SendFail(playerid, "Du bist nicht befugt!");
return 1;
}
Hier ein Screen, wenn ich alles angeben....:
Es kommt alles in der Datenbank an, bis auf die Hausid, hier der Log:
[21:11:14] >> mysql_query( Connection handle: 1 )
[21:11:14] CMySQLHandler::Query(SELECT * FROM `haus` WHERE `hid`='::hh') - Successfully executed.
[21:11:14] >> mysql_store_result( Connection handle: 1 )
[21:11:14] CMySQLHandler::StoreResult() - Result was stored.
[21:11:14] >> mysql_num_rows( Connection handle: 1 )
[21:11:14] CMySQLHandler::NumRows() - Returned 0 row(s)
[21:11:14] >> mysql_free_result( Connection handle: 1 )
[21:11:14] CMySQLHandler::FreeResult() - Result was successfully free'd.
[11:08:20] CMySQLHandler::Query(INSERT INTO `haus` (`hid`,`x`,`y`,`z`,`ix`,`iy`,`iz`,`miete`,`interior`,`w`,`preis`,`level`,`besitzer`) VALUES ('6','2036.343505','1339.301147','10.820312','1.100000','1.100000','1.100000','0','2','3','1','2','Keiner')) - Successfully executed.
Alles anzeigen
Ich verzweifle
Ich hoffe mir kann wer helfen
L.G.
heyho
//edit: Code geändert, alles kommt jetzt an, nur wieso bekomm ich immer noch keine Message von sscanf?
bzw: -> Wieso ist es NUR ingame so eine Komische nummer? =/