Hallo Leute,
ich wollte für meine Fraktionen Fraktionskassen erstellen, in denen die Member vorerst nur Geld einzahlen können.
Das großte Problem besteht dabei allerdings überhaupt solch eine Kasse zu erstellen.
Derzeit habe ich versucht das ganze wie beim Login/Register-System zu machen, doch irgendwie klappt der ganze Spaß nicht so wie ich es mir vorstelle.
Ich poste mal die Zeilen, dahinter schreib ich, was ich mit den jeweiligen Zeilen bezwecken wollten.
#define MAX_FRAKS 12 // Ich habe insgesammt 12 Fraktionen.
enum FrakDaten // Das Enum, erklärt sich glaub ich von selbst.
{
fFrakID, //Für die jewilige Fraktion.
fGeld //Für das Geld, was in der Fraktionskasse eingezahlt werden kann.
}
new FrakInfo[MAX_FRAKS][FrakDaten]; // Das Enum, erklärt sich glaub ich auch von selbst.
public OnGameModeInit()
{
LoadFrak(); // Wenn der Server startet sollen die Fraktionen geladen werden.
return 1;
}
public OnGameModeExit()
{
SaveFrak(); // Wenn der Server offline geht sollen die Fraktionen gespeichert werden.
return 1;
}
stock LoadFrak() //Der Stock fürs laden der Fraktionen.
{
new string[48];
new fID;while(fID<MAX_FRAKS) //Für die FrakIDs, die geladen werden sollen (Soll mit fID 0 anfangen).
{
if(fID <= MAX_FRAKS) // Wenn "fID" kleiner als, oder 12 ist (Wenn nicht soll das laden beendet werden).
{
format(string,sizeof(string),"%d",fID); // Setzt "fID" in einem string.
FrakInfo[fID][fGeld] = mysql_GetInt("frakkasse", "Geld", "Name", string); //Soll das Geld was in der Fraktionskasse ist laden ("string" gibt die FrakID an, aus welcher das Geld geladen werden soll.)
fID += 1; // Addiert "fID" mit 1 (Wenn "fID" zuerst 0 wiedergegeben hat, soll "fID" jetzt 1 wiedergeben).
LoadFrak(); // Soll den Stock nochmal mit der neuen "fID" wiederholen, bis "fID" 12 wiedergegeben hat.
}
}
return 1;
}
stock SaveFrak() //Der Stock fürs speichern der Fraktionen.
{
new string[48];
new fID;while(fID<MAX_FRAKS) //Für die FrakIDs, die gespeichert werden sollen (Soll mit fID 0 anfangen).
{
if(fID <= MAX_FRAKS) // Wenn "fID" kleiner als, oder 12 ist (Wenn nicht soll das speichern beendet werden).
{
format(string,sizeof(string),"%d",fID); // Setzt "fID" in einem string.
mysql_SetInt("frakkasse", "Geld", FrakInfo[fID][fGeld], "Name",string); //Soll das Geld was in der Fraktionskasse ist speichern ("string" gibt die FrakID an, aus welcher das Geld gespeichert werden soll.)
fID += 1; // Addiert "fID" mit 1 (Wenn "fID" zuerst 0 wiedergegeben hat, soll "fID" jetzt 1 wiedergeben).
SaveFrak(); // Soll den Stock nochmal mit der neuen "fID" wiederholen, bis "fID" 12 wiedergegeben hat.
}
}
return 1;
}
Ich hoffe, ich habe deutlich gemacht, was ich mit den Zeilen bezwecken möchte.
Ich habe das Gefühl, dass ich bei den ganzen irgendwas nicht berücksichtigt habe.
Hoffentlich kann mir jemand von euch helfen.
- Danke schonmal im Voraus für die Hilfe!
Mit freundlichen Grüßen
AlphaGen!