Guten Morgen liebe Breadfish User,
da ich keine lust mehr auf die Speicherart "dini" habe, habe ich versucht mein Dynamisches Haussystem bzw. Staatsgebaeude System umzuschreiben.
Jedoch funktioniert es nicht so wie ich es will.
Wenn ich Ingame bin, habe ich meine Standartbefehle die Funktionieren, jedoch er Erstellt & Speichert diese nicht in der MySQL - Tabelle.
Ich benutze das MySQL Plugin, von "maddins Tutorial".
Hier mal der Code:
Hiermit erstelle ich das Gebäude...
ocmd:createsgebaeude(playerid,params[])
{
new Float:x,Float:y,Float:z,gebaeudenamen[28],int,world,opentime,closetime;
new Zeit = gettime();
if(sscanf(params,"sdddd",gebaeudenamen,int,world,opentime,closetime))return SendClientMessage(playerid,ROT,"FEHLER:/createsgebaeude [GEBAEUDENAME] [INT-NR] [V-WELT] [OpenTime] [CloseTime]");
if(int < 1 || int > 3)return SendClientMessage(playerid,ROT,"FEHLER:Die INTERIOR-NUMMER muss zwischen 1 - 3 liegen!");
if(Zeit < 0 || Zeit < 24)return SendClientMessage(playerid,ROT,"FEHLER:Die LADEN-ZEITEN müssen zwischen 0 - 24Uhr liegen!");
GetPlayerPos(playerid,x,y,z);
ErstelleSGebaeude(x,y,z,gebaeudenamen,int,world,opentime,closetime);
switch(int){
case 2: SetPlayerMapIcon(playerid,int,x,y,z,38,0,MAPICON_LOCAL);
case 3: SetPlayerMapIcon(playerid,int,x,y,z,52,0,MAPICON_LOCAL);
case 4,5: SetPlayerMapIcon(playerid,int,x,y,z,30,0,MAPICON_LOCAL);
}
return 1;
}
Hier wird es Erstellt...
stock ErstelleSGebaeude(Float:x,Float:y,Float:z,gebaeudenamen[28],int,world,opentime,closetime)
{
new query[256];
for(new i = 1; i <MAX_STAATSGEBAEUDE; i++){
format(query, sizeof(query), "INSERT INTO `staatsgebaeude` (`GebaeudeName`, `PosX`, `PosY`, `PosZ`, `Interior`, `VirtuelleWorld`, `Oeffnungszeiten`, `Schliesszeiten`) VALUES ('%s', '%f', '%f', '%f', '%d', '%d', '%d', '%d')", gebaeudenamen,x,y,z,int,world,opentime,closetime);
mysql_query(query);
StaatsInfo[i][Erstellt] = 1;
return LadeSGebaeude(i);
}
return true;
}
Hier wird es wieder geladen...
stock LadeSGebaeude(staatsid)
{
new StaatsDatei[64];
format(StaatsDatei,64,"%d",staatsid);
format(StaatsInfo[staatsid][GebaeudeNamen],28,mysql_GetString("staatsgebaeude","GebaeudeName","ID",StaatsDatei));
StaatsInfo[staatsid][PosX] = mysql_GetFloat("staatsgebaeude","PosX","ID",StaatsDatei);
StaatsInfo[staatsid][PosY] = mysql_GetFloat("staatsgebaeude","PosY","ID",StaatsDatei);
StaatsInfo[staatsid][PosZ] = mysql_GetFloat("staatsgebaeude","PosZ","ID",StaatsDatei);
StaatsInfo[staatsid][Interior] = mysql_GetInt("staatsgebaeude","Interior","ID",StaatsDatei);
StaatsInfo[staatsid][World] = mysql_GetInt("staatsgebaeude","VirtuelleWorld","ID",StaatsDatei);
StaatsInfo[staatsid][OpenTime] = mysql_GetInt("staatsgebaeude","Oeffnungszeiten","ID",StaatsDatei);
StaatsInfo[staatsid][CloseTime] = mysql_GetInt("staatsgebaeude","Schliesszeiten","ID",StaatsDatei);
StaatsInfo[staatsid][Erstellt] = mysql_GetInt("staatsgebaeude","Erstellt","ID",StaatsDatei);
if(StaatsInfo[staatsid][Erstellt] == 1){
StaatsInfo[staatsid][Pickup] = CreatePickup(1559,23,StaatsInfo[staatsid][PosX],StaatsInfo[staatsid][PosY],StaatsInfo[staatsid][PosZ],0);
new string[196],string2[196];
format(string,196,"{FFFFFF}Gebäude: {0080FF}%s\n{FFFFFF}Öffnungszeiten: {0080FF}%i {FFFFFF}- {0080FF}%i\n{FFFFFF}Eingang: {0080FF}ENTER-TASTE",StaatsInfo[staatsid][GebaeudeNamen],StaatsInfo[staatsid][OpenTime],StaatsInfo[staatsid][CloseTime]);
format(string2,196,"{FFFFFF}Gebäude: {0080FF}%s\nAusgang: ENTER-TASTE",StaatsInfo[staatsid][GebaeudeNamen]);
}
return 1;
}
Ich hoffe mir kann geholfen werden.
- YizOP_