Eigenes Fraktionssystem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag liebe Community,
    derzeit scripte ich an einem eigenen Fraktionssystem, mit dem man sich eigene Fraktionen erstellen könnte. Dies sollte aber nur ein Leader machen können und ich mache mir derzeit einen stock, mit dem man eine Fraktion erstellen kann.
    Jetzt habe ich das Problem, dass ich nicht weiterkomme.
    Genaue Quelle des Problems:
    Also man muss ja, wenn man eine Funktion an die Query senden möchte (mysql_function_query), eine connectionHandle angeben und diese habe ich unter OnGameModeInit festgelegt mit dbhandle. In dieser Variable dbhandle wird folgendes abgespeichert:



    Zitat

    dbhandle = mysql_connect(db_host,db_user,db_db,db_pass);

    Jetzt habe ich das Problem, ich habe eine Tabelle, die nennt sich Fraktionen. Ich möchte jetzt in diese Daten abspeichern lassen. Habe bisjetzt folgendes gemacht:





    stock CreateFraktion(fraktname[24],Float:X,Float:Y,Float:Z,Float:A,Interior,Skin,fkasse)
    {
    for(new i=0; i<75; i++)
    {
    new query[128];
    format(query,sizeof(query),"INSERT INTO fraktion (fraktionsname,SpawnX,SpawnY,SpawnZ,SpawnA,Interior,Skin,Fraktionskasse) VALUES ('%s','%f','%f','%f','%f','%i','%i','%i')",);
    }
    return 1;
    }


    Ich habe noch einen Enum erstellt, in der die Fraktionsdaten abgespeichert werden sollen.



    enum FraktionsInfo
    {
    FraktionName[24],
    Float:Spawn_X,
    Float:Spawn_Y,
    Float:Spawn_Z,
    Float:Spawn_A,
    fInterior,
    fSkin,
    fKasse
    };
    new fInfo[75][FraktionsInfo];


    Meine entgültige Frage wäre jetzt, wie speichere ich die Daten auf die MySQL Datenbank in meine gewünschte Tabelle (in diesem Fall Fraktionen) hinein? Ich würde mich echt freuen, wenn ihr mir helfen würdet.

  • Ich weiß nicht genau wo das Problem liegt, du beschreibst nämlich nicht wirklich eins.
    Wäre nett wenn du dein Problem beschreibst, denn immer wenn du schreibst: "Das Problem ist ...." kommt anschließend einfach eine Aussage
    und keine Schilderung des Problems. Wenn du dich wieder meldest, helfe ich dir liebend gerne weiter.

  • Also ich glaube ihr habt mich nicht genau verstanden. Mein Problem ist, also ich möchte Ingame z.B. /createfraktion oder ähnliches eingeben und dann die angegebenen Parameter. Wie mache ich das, dass die Fraktion beim Serverstart mitgeladen wird? Etwas kompliziert ich weiß, aber bitte hilft.

  • Beispiel für Laden:

    //OnGameModeInit
    mysql_function_query(SQL_Con,"SELECT * FROM fraktion ",true,"FraktionPublic ","");


    //Irgendwo
    forward FraktionPublic();
    public FraktionPublic()
    {
    new rows, fields, result[32];
    cache_get_data(rows,fields);
    if(rows)
    {
    for(new i=0; i<rows; i++)
    {
    cache_get_field_content(i,"fraktionsname",result),//String
    format(fInfo[i][FraktionName],24,result),
    cache_get_field_content(i,"SpawnX",result),//Float
    fInfo[i][Spawn_X]= floatstr(result),
    cache_get_field_content(i,"Interior",result),//Int.
    fInfo[i][fInterior] = strval(result);
    }
    }
    return 1;
    }


    Beispiel für Speicherung

    stock SaveFraktion()
    {
    new Query[224];
    for(new i; i<75; i++)
    {
    //Ich empfehle dir ein Bool zu benutzen und abzufragen ob es erstellt wurde
    format(Query,sizeof(Query),"UPDATE fraktion SET fraktionsname='%s',SpawnX='%f',Interior='%i' WHERE fraktionsname='%s'",
    fInfo[i][FraktionName],fInfo[i][Spawn_X],fInfo[i][fInterior],fInfo[i][FraktionName]);
    mysql_function_query(dbhandle,Query,false,"","");
    }
    }


    Ich hoffe du machst nicht nur Copy&Pase, schau dir am besten den Code an, und präge dir die Weise zum Laden und Speichern ein. Ich habe dir mal die wichtigsten 3 Variablen angegeben. Ich hoffe es hilft dir weiter. Wenn du weitere Hilfe brauchst, kannst du dich wieder hier melden, oder per PN.


    PS: Für das richtig Einrücken hatte ich keine Lust.

  • Ich danke dir, dass du mir richtig viel geholfen hast. Jetzt habe ich eine Frage, die vielleicht zu kompliziert ist, aber ich hoffe, du verstehst es trotzdem. Wie macht man das viel dynamischer? Also ich bin ja dabei, ein eigenes Fraktionssystem zu erstellen. Der Spieler soll mit einem Befehl (in diesem Fall ein Admin) die Fraktion erstellen können. Wie mache ich das dynamischer? Bitte hilf mir und die ganze Community, bitte hilft. Ich weiß, dass das kompliziert ist, aber ich hoffe, ihr könnt mir helfen.

  • Ich danke dir, dass du mir richtig viel geholfen hast. Jetzt habe ich eine Frage, die vielleicht zu kompliziert ist, aber ich hoffe, du verstehst es trotzdem. Wie macht man das viel dynamischer? Also ich bin ja dabei, ein eigenes Fraktionssystem zu erstellen. Der Spieler soll mit einem Befehl (in diesem Fall ein Admin) die Fraktion erstellen können. Wie mache ich das dynamischer? Bitte hilf mir und die ganze Community, bitte hilft. Ich weiß, dass das kompliziert ist, aber ich hoffe, ihr könnt mir helfen.


    Es ist nicht kompliziert, jedoch möchte ich dir den Code nicht vorschreiben. Zeig doch bitte die Stelle, an der du nicht weiterkommst.


  • Es ist nicht kompliziert, jedoch möchte ich dir den Code nicht vorschreiben. Zeig doch bitte die Stelle, an der du nicht weiterkommst.

    ich komme generell nicht weiter, also ihr kennt ja bestimmt das System vom Breadfish Roleplay, ich möchte das ähnlich machen, aber nicht das gleiche. Das mit dem Fraktionssystem möchte ich ähnlich wie bei Breadfish Roleplay machen. Ich hoffe jetzt verstehst du/versteht ihr mich besser.


  • ich komme generell nicht weiter, also ihr kennt ja bestimmt das System vom Breadfish Roleplay, ich möchte das ähnlich machen, aber nicht das gleiche. Das mit dem Fraktionssystem möchte ich ähnlich wie bei Breadfish Roleplay machen. Ich hoffe jetzt verstehst du/versteht ihr mich besser.


    Wenn du generell nicht weiter kommst solltest du es versuchen oder die Grundlagen lernen bzw. es versuchen, ich werde dir nicht alles vorschreiben. Außerdem ist mir das System von Breadfish Roleplay nicht bekannt, weil ich auf keinem Server spiele.