Huhu,
möchte meine Fraktionskassen speichern/laden.
mysql_SetInt("kassen", "Grove", fraktionskasse[Grove], "Name", SpielerName(playerid));
Wollte fragen was ich hier ändern muss, da es ja nicht für den Spieler ist
P.S: Bin neu in Sachen MySQL^^
Huhu,
möchte meine Fraktionskassen speichern/laden.
mysql_SetInt("kassen", "Grove", fraktionskasse[Grove], "Name", SpielerName(playerid));
Wollte fragen was ich hier ändern muss, da es ja nicht für den Spieler ist
P.S: Bin neu in Sachen MySQL^^
Anstatt
SpielerName(playerid)
Musst du dann den Name der Fraktion hinsetzen. Dann kannst du es nach dem gleichen Prinzip machen.
Habe es wie folgt geändert.
Beim Speichern:
mysql_SetInt("kassen", "Grove", fraktionskasse[Grove], "Name", fraktionskasse[Grove]);
Beim Laden:
fraktionskasse[Grove] = mysql_GetInt("kassen", "Grove", "Name", fraktionskasse[Grove]);
Und er ladet weder noch speichert er.
Wie sieht denn deine Datenbank Struktur aus? Poste da bitte mal einen Screenshot.
Ja, das. Gut, du hast die Tabelle falsch aufgebaut. So macht man das nicht. Erstelle drei Spalten:
ID (auto Increment)
Name
Geld
Dann kannst du für jede Fraktion eine Zeile erstellen, dort wird dann der Name eingetragen. Und dann kannst du über den Namen der Fraktion auf die Kasse (Geld) zugreifen. Sonst müsstest du ja für jede Fraktion DIE Datenbank Struktur ändern, und das macht man nicht.
mysql_SetInt("kassen", "Geld", fraktionskasse[Grove], "Name", FraktionsName);
Ok ich bekomm das irgendwie nicht hin gerade. Tut mir leid.
Meine SQL die ich Importiere:
DROP TABLE IF EXISTS `kassen`;
CREATE TABLE `kassen` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(24) NOT NULL,
`Grove` int(11) NOT NULL DEFAULT '0',
`Ballas` int(11) NOT NULL DEFAULT '0',
`Russen` int(11) NOT NULL DEFAULT '0',
`Vagos` int(11) NOT NULL DEFAULT '0',
`Rifa` int(11) NOT NULL DEFAULT '0',
`Yakuza` int(11) NOT NULL DEFAULT '0',
`Triaden` int(11) NOT NULL DEFAULT '0',
`LCN` int(11) NOT NULL DEFAULT '0',
`Staats` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
Und meine stocks:
stock SaveKassen()
{
mysql_SetInt("kassen", "Geld", fraktionskasse[Grove], "Name", "Grove");
}
stock LoadKassen()
{
fraktionskasse[Grove] = mysql_GetInt("kassen", "Grove", "Name", "Grove");
}
Nicht zu vergessen mein Enum:
enum Kassen
{
Grove,
Ballas,
Russen,
Vagos,
Rifa,
Yakuza,
Triaden,
LCN,
Staats
}
new fraktionskasse[Kassen];
Mit dem Query sollte es klappen:
DROP TABLE IF EXISTS `kassen`;
CREATE TABLE `kassen` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(24) NOT NULL,
`Geld` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
INSERT INTO `kassen` (`Name`) VALUES ('Grove'), ('Ballas'), ('Russen'), ('Vagos'), ('Rifa'), ('Yakuza'), ('Triaden'), ('LCN'), ('Staats');
Dann hättest du für jede Fraktion eine Zeile, das macht dich später flexibler, wenn du etwas hinzufügen willst.
Jetzt speichert er nur. Laden tut er nicht. Code hast du oben.
LoadKassen() wird bei Ongamemodeinit ausgeführt
Gut, die Spalten haben sich ja geändert, sprich das musst du anpassen.
So:
stock LoadKassen()
{
fraktionskasse[Grove] = mysql_GetInt("kassen", "Geld", "Name", "Grove");
}
Jetzt funktioniert alles Ich danke dir.
Wiegesagt, bin noch neu in MySQL, ich muss noch alles lernen
Deswegen ist ja dieses Forum da
Bis bald