MMORPG Core - Deutsche Community für Online Rollenspiele - Powered by vBulletin

  • AAA
  • Aggressive
  • Alienated
  • Amazed
  • Amused
  • Angelic
  • Angry
  • Apelike
  • Artistic
  • Asleep
  • Balanced
  • Banhappy
  • Bashful
  • Bitchy
  • Blah
  • Bookworm
  • Bored
  • Breezy
  • Brooding
  • Busy
  • Buzzed
  • Chatty
  • Cheeky
  • Cheerful
  • Cloud 9
  • Cold
  • Coldturkey
  • Confused
  • Cool
  • Crappy
  • Creative
  • Curious
  • Cynical
  • Daring
  • Dead
  • Depressed
  • Devilish
  • Disagree
  • Doh
  • Doubtful
  • Dramaqueen
  • Dreaming
  • Drunk
  • Elated
  • Energetic
  • Fiendish
  • Fine
  • Flirty
  • Gloomy
  • Goofy
  • Grumpy
  • Happy
  • Horny
  • Hot
  • Hungover
  • In Love
  • Innocent
  • Inpain
  • Insomnious
  • Inspired
  • Lonely
  • Lucky
  • Lurking
  • Mellow
  • Mischievious
  • Mondayblues
  • Musical
  • Nerdy
  • Notamused
  • Notworthy
  • Paranoid
  • Pensive
  • Predatory
  • Procrastinating
  • Psychedelic
  • Question
  • Relaxed
  • Roflmao
  • Sad
  • Scared
  • Scurvy
  • Shocked
  • Sick
  • Sleepy
  • Sluggish
  • Sneaky
  • Snobbish
  • Spaced
  • Spooky
  • Sporty
  • Starving
  • Stressed
  • Sunshine
  • Sweettooth
  • Thinking
  • Tired
  • Torn
  • Twisted
  • Veggedout
  • Volatile
  • Woot
  • Worried
  • Yeehaw
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • DDos
  • Tweet   
    Ergebnis 1 bis 8 von 8
    1. #1
      Core
       
      Avatar von trinity
      Registriert seit
      Oct 2009
      Beiträge
      435
      Danke
      99
      Danke erhalten: 50

      Standard [C++] 2 Fragen (Werte Speichern) & (#define oder ähnliches)

      Die Werbung stört? Registriere dich hier!
      Hallo,
      Ich bin gerade dabei ein Spiel in C++ zu programmieren. Erst kam ich auch ganz gut klar ( bin noch nicht lange bei C++ bei...). Doch nun bin ich an 2 probleme gestossen...und zwar das wären

      1. Weiß ich nicht, ob und wie man Werte speichern kann. Also, dass z.b. ich spiel und dann auf Save klicke (bzw. schreibe (ist ein konsolen Spiel :> )) und die Werte iwo gespeichert werden, dass sie trotz schliessen des programms nicht gelöscht werden. Und beim nächsten ausführen (womöglich auch nach pc neustart) wieder aufgerufen werden können...

      2. Soll man sich natürlich Waffen kaufen können...Nun das krieg ich alles hin...doch hab ich zurzeit pro waffe / gegenstand einen doch recht langen code... und da hab ich ne frage, ob man es nicht i.wie verkürzen kann? Also dass es automatisch da eingefügt wird... Für die jenigen, die sich auch nur minimal mit flyff p.servern auskennen - so etwas wie bspl. die propItem.txt
      für diejenigen, die sich nicht auskennen - in der propItem.txt werden werden werte von Waffen/ Gegenständen gespeichert...ne bspl. Zeile :
      Code:
      6    II_DEFAULT    IDS_PROPITEM_TXT_000000    1    1    IK1_SYSTEM    =    =    =    =    =    =    1    =    =    =    =    =    =    =    0    =    =    =    =    =    =    =    =    =    =    =    _NONE    0    0    0    =    =    =    =    =    =    =    =    =    =    =    =    =    0.07    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    0    0    0    0    0    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    =    """"""    0    """"""    IDS_PROPITEM_TXT_000001
      jeder wert, nach einem TAB hat eine funktion...ich bräuchte jetzt zwar nicht sooo viele...xD eig. nur schaden, womöglich haltbarkeit, kosten,....vllt. so um die 5-10 Werte...Also hoffe ihr könnt meine definitionenen einwenig verstehen und wisst, was ich meine....


      Und auch einwenig helfen, entweder einen fertigen Code *.*, oder ein link zu einem solchen tutorial schicken, oder wenigstens einen Stichpunkt nennen...wie bsplweise solche variablen oder was es auch immer in Punkt 1 ist heißen...
      lg. Trinity :D
      rechtscheibfÊhler und co. sind eingebaut, damit man sich auf das lezen noch konzentriert.... :P

    2. #2
      Core
      Daring
       
      Avatar von Grandcore
      Registriert seit
      Apr 2011
      Ort
      Bei mama =)
      Beiträge
      460
      Danke
      108
      Danke erhalten: 54

      Standard

      Zu 1.:
      Du könntest dafür ein Textdokument benutzen.
      Pro Zeile würdest du eben die verschiedenen Werte speichern.
      (Zeile 1 - Level / Zeile 2 - HP, usw.)

      Zu 2.:
      Da könntest du pro Waffe/Gegenstand ein Textdokument verwenden, das wäre aber nicht gerade die optimale Lösung aber eine Option ;)

    3. Das folgende Mitglied bedankt sich bei Grandcore für diesen Beitrag:

      trinity (17.06.11)

    4. #3
      Core
      AAA
       

      Registriert seit
      Aug 2009
      Beiträge
      556
      Danke
      31
      Danke erhalten: 185

      Standard

      Um die Werte zu speichern bietet sich die bereits implementierte Klasse "LevelSaver" der STL an. Einfach das Objekt des Levels übergeben und der Rest geschieht von allein.
      Für deine zweite Frage: Nutze am Besten die Funktion "loadFlyffResource()". Die ist in der Headerdatei linux/kernel/resource.h (Linux) bzw. win32/resource.h (Windows) definiert.

      Wenn dir das nicht weiterhilft, konzentriere dich auf meinen Vorposter oder lern programmieren ...

    5. #4
      Core
       
      Avatar von trinity
      Registriert seit
      Oct 2009
      Beiträge
      435
      Danke
      99
      Danke erhalten: 50

      Standard

      Zitat Zitat von Grandcore [Um Links zu sehen registriere dich bitte. Klicke hier.]
      Zu 1.:
      Du könntest dafür ein Textdokument benutzen.
      Pro Zeile würdest du eben die verschiedenen Werte speichern.
      (Zeile 1 - Level / Zeile 2 - HP, usw.)

      Zu 2.:
      Da könntest du pro Waffe/Gegenstand ein Textdokument verwenden, das wäre aber nicht gerade die optimale Lösung aber eine Option ;)
      Zu 1
      Also seinen Vorschlag verstehe ich wunderbar :D...habs auch hingekriegt, dass die werte die ich haben will auch gespeichert werden in einer datei bspl. weise leben=80 oder sonst was... also kann sie in beiden formaten speichern...
      1.
      leben=80
      stärke=10
      ...=....
      2.
      80
      10
      ....

      mit :
      ofstream schreiben;
      schreiben.open("test.txt");
      schreiben <<"lvl="<< lvl <<"\nhp="<< hp <<"\ncash="<< cash ;
      schreiben.close();
      cout << "Dein Spielstand wurde erfolreich gespeichert."<<endl;
      So nun hab ich ne frage, wie ich das wieder auslesen kann... :o

      das hab ich copy & paste :
      ifstream lesen;string data;
      lesen.open("test.txt");
      getline(lesen,data);
      So...aber wie kann ich nun zuordnen, dass die erste zeile nun wieder der integer variable lvl enstpricht? Oder geht das überhaupt?

      Zu 2 hat Grandcore mir nacher per chat den Tipp gegeben, dass ich ne .ini datei verweden könnte/sollte ...das mach ich auch :)..aber das mache ich erst, wenn problem 1 gelöst ist... :P

    6. #5
      Core
      Daring
       
      Avatar von Grandcore
      Registriert seit
      Apr 2011
      Ort
      Bei mama =)
      Beiträge
      460
      Danke
      108
      Danke erhalten: 54

      Standard

      Headerdateien#include<iostream>
      #include<fstream>
      #include<string>


      Mainifstream file("test.txt");
      string level;
      string hp;
      string cash;

      getline(file,level); //1 Zeile
      cout << "Level: " << level << endl;

      getline(file,hp); //2 Zeile
      cout << "HP: " << hp << endl;

      getline(file,cash); //3 Zeile
      cout << "Cash: " << cash << endl;

      file.close();


      Das auslesen geht irgendwie nur mit strings, aber du kannst ja strings in int umwandeln.

    7. Das folgende Mitglied bedankt sich bei Grandcore für diesen Beitrag:

      trinity (17.06.11)

    8. #6
      Core
       
      Avatar von trinity
      Registriert seit
      Oct 2009
      Beiträge
      435
      Danke
      99
      Danke erhalten: 50

      Standard

      Danke !!
      Das ist die lösung !!
      Endlich hab ichs geschafft :P
      Frage 1 wäre nun gepackt :D
      Mein Spiel kann nun auch endlich spielstände laden und speichern :D

    9. #7
      Core
      Daring
       
      Avatar von Grandcore
      Registriert seit
      Apr 2011
      Ort
      Bei mama =)
      Beiträge
      460
      Danke
      108
      Danke erhalten: 54

      Standard

      INI Datei schreiben (Falls du das benötigst)#include <Windows.h>

      int main()

      {
      WritePrivateProfileString("Schwert","DMG","100","c :\\test.ini");
      WritePrivateProfileString("Schwert","Preis","500", "c:\\test.ini");
      WritePrivateProfileString("Schwert","Haltedauer"," 7","c:\\test.ini");

      WritePrivateProfileString("Helm","Verteidigung","2 3","c:\\test.ini");
      WritePrivateProfileString("Helm","Preis","250","c: \\test.ini");


      return 0;
      }


      INI Datei lesen#include <Windows.h>

      int main()
      {
      char Preis[10];
      char Verteidigung[5];


      DWORD destSize;

      destSize=100;

      GetPrivateProfileString("Schwert","Preis","NULL",P reis,destSize,"c:\\test.ini"); //Preis von Schwert in 'Preis' gespeichert
      GetPrivateProfileString("Helm","Verteidigung","NUL L",Verteidigung,destSize,"c:\\test.ini"); //Def von Helm in 'Verteidigung' gespeichert

      return 0;
      }


      PS: Keine Ahnung warum, aber da sind Leerzeichen die da nicht hingehören, wie z.B. bei Preis & NULL -.-'

    10. Das folgende Mitglied bedankt sich bei Grandcore für diesen Beitrag:

      trinity (17.06.11)

    11. #8
      Core
       
      Avatar von trinity
      Registriert seit
      Oct 2009
      Beiträge
      435
      Danke
      99
      Danke erhalten: 50

      Standard

      Ist echt nett von dir, dass du mir so unter die arme greifst :D
      Hast ja schon n kleines bspl. gebracht, schau ich mir morgen an...gehe aber jetzt erst mal in die haya...:P
      Und danke noch mal ;D

      lg. Trinity

    Lesezeichen

    Berechtigungen

    • Neue Themen erstellen: Nein
    • Themen beantworten: Nein
    • Anhänge hochladen: Nein
    • Beiträge bearbeiten: Nein
    •