Blutiger anfänger braucht hilfe mit .ini dateien



  • Also ich hab folgendes Problem:
    Ich möcht ein Programm erstellen mitdem man die weapon.ini dateien von nem computerspiel namens Soldat erstellen kann. (.ini von spiel,mods)
    Das Problem ist ich weiss nicht wie ich ein Programm programmieren kann das eine .ini datei erstellen kann(kurz: Was muss ich für einen Code schreiben das eine .ini datei ensteht).
    Das nächste ist was muss ich schreiben das ein bestimmter text in die .ini datei steht?
    Ich benutze dev-cpp
    Mein code ist daweil:

    #include <cstdlib>
    #include <iostream>

    using namespace std;
    int menu;
    int main(int argc, char *argv[])
    {
    do
    {

    system("color 03");
    printf("Soldat_Weapon_Mod_Changer1.0\nby Stryke\n\n\n\n1.Default\n2.Soldat121\n3.Black sniper Jack mod\n4.Halo
    mod\n5.Realistic mod(Neela)\n0.Exit\n.....\n");
    scanf("%d",&menu);

    switch(menu)
    {

    case 1:
    {
    //Hier soll eine .ini dat.erstellt werden
    printf("Defaulf weapons.ini wurde erstellt\n");
    system("Pause");

    };break;

    case 2:
    {
    //Hier soll eine .ini dat.erstellt werden
    printf("Soldat121 weapons.ini wurde erstellt\n");
    system("Pause");

    };break;

    case 3:
    {
    //Hier soll eine .ini dat.erstellt werden
    printf("Bsjm weapon.ini wurde erstellt\n");
    system("Pause");

    };break;

    case 4:
    {
    //Hier soll eine .ini dat.erstellt werden
    printf("Halo mod weapon.ini wurde erstellt\n");
    system("Pause");

    };break;

    case 5:
    {
    //Hier soll eine .ini dat.erstellt werden
    printf("Realistic weapon.ini wurde erstellt\n");
    system("Pause");

    };break;

    case 0:
    {
    return 0;

    };break;

    } //ende der switch anweisung

    system("cls");
    }while(menu!=0);

    system("PAUSE");
    return EXIT_SUCCESS;
    }

    Es kann sein das dieser thread nochmal kommt ich hab ihn versehentlich ins Borlandverzeichniss reigeschrieben.



  • Hallo,

    Da musst du fstreams nutzen. Beispiel:

    ofstream file("inuse.ini");
    file << "[soldaten]";
    file << "leichte Infanterie: " << dings.getLtInf();

    Stryke ist doch aus einem Buch. Mir fällt es nur nicht mehr ein welches. War wohl etwa Fantasylastiges.

    MFG winexec*



  • Den namen stryke gibt im buch "die orks".
    Hab ihn aber nicht von dort.(Is mein gamername seit 6 Jahren).

    @topic:
    Ich glaub da hast was falsch verstanden.
    Das spiel hat im ordner eine Datei die weapon.ini heisst.
    In der Datei sind die Waffenwerte fürs spiel eingetragen(Schaden,usw.).
    Wenn ich daten ändere schiesst auch die Waffe anders.
    Das problem ist wenn man unabsichtlich die Datei gelöscht hat muss man das spiel neu installieren.
    Mein programm soll einfach im ordner meines programms eine weapon.ini erstellen und dann muss man es händisch in den Soldat-ordner verschieben.
    !!!Die weapon.ini soll nicht während des spiels erstellt werden!!!

    Ich hab dein beispiel so verstanden das ich es einfach in den case einfügen muss:
    case 1:
    {
    ofstream file("weapon.ini");
    file << "[soldaten]";
    file << "leichte Infanterie: " << dings.getLtInf();
    printf("Defaulf weapons.ini wurde erstellt\n");
    system("Pause");
    };break;

    Brauch ich für den befehl irgend ein weitere Bibliothek?



  • stryke schrieb:

    Das problem ist wenn man unabsichtlich die Datei gelöscht hat muss man das spiel neu installieren.

    du kannst ja einen defaulteintrag definieren, der genommen wird, wenn der eintrag nicht existiert oder die datei nicht da ist etc. (machen z.b. die windoofs-einbauten .ini-handling funktionen so).



  • Nein so meint ichs nicht.
    Ich will einfach nur den befehl wissen wie man eine .ini datei erzeugt.
    Und ich will den code wissen den man eingeben muss das in der .ini datei steht was ich haben will.
    bsp:

    [HK MP5]
    Damage=16
    FireInterval=6
    Ammo=60
    ReloadTime=95
    Speed=400
    BulletStyle=1
    StartUpTime=0
    Bink=0
    MovementAcc=1
    ^
    |
    Das soll in der .ini stehen.





  • thx.

    Funzt jetzt.



  • Hallo,

    Du drückst dich nicht gerade gutaus. Ich stell mir das so vor:

    #include <iostream>
    #include <fstream>
    
    class GAME{
    private:
        int damage;
        int interval;
        int ammo;
        int reloadTime;
        int speed;
        int style;
        int start_up_time;
        int bink;
        int movementAcc;
    public:
        int getDamage(){
            return damage;
        }
        int getInterval(){
            return interval;
        }
        int getAmmo(){
            return ammo;
        }
        int getReloadTime(){
            return reloadTime;
        }
        int getSpeed(){
            return speed;
        }
        int getStyle(){
            return style;
        }
        int getStart_up_time(){
            return start_up_time;
        }
        int getBink(){
            return bink;
        }
        int getMovementAcc(){
            return movementAcc;
        }
        void start();
    };
    
    void GAME::start(){
        damage = 16;
        interval = 6;
        ammo = 60;
        reloadTime = 95;
        speed = 400;
        style = 1;
        start_up_time = 0;
        bink = 0;
        movementAcc = 1;
    }
    
    int main(){
        GAME use;
        use.start();
    	std::ofstream file("die_ini.ini");
        file << "[HK MP5]\n";
        file << "Damage=" << use.getDamage() << "\n";
        file << "FireInterval=" << use.getInterval() << "\n";
        file << "Ammo=" << use.getAmmo() << "\n";
        file << "ReloadTime=" << use.getReloadTime() << "\n";
        file << "Speed=" << use.getSpeed() << "\n";
        file << "BulletStyle=" << use.getStyle() << "\n";
        file << "StartUpTime=" << use.getStart_up_time() << "\n";
        file << "Bink=" << use.getBink() << "\n";
        file << "MovementAcc=" << use.getMovementAcc() << "\n";
        file.close();
    }
    

    MFG winexec*



  • Das ist zwar nicht das was ich meinte aber das bringt mich auf eine bessere idee.
    Danke es ist ein teil im code den ich noch gebraucht hatte danke!!! 😃



  • Hallo,

    Wenigstens habe ich dann nicht 2 Minuten meines Lebens verschwendet ;).

    MFG winexec*



  • Alternativ könntest du auch einfach eine Sicherungskopie von dieser Datei in einem seperaten Ordner unterbringen 😃


Anmelden zum Antworten