trinity (17.06.11)
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 :
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....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
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
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 ;)
trinity (17.06.11)
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 ...
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 :So nun hab ich ne frage, wie ich das wieder auslesen kann... :oofstream schreiben;
schreiben.open("test.txt");
schreiben <<"lvl="<< lvl <<"\nhp="<< hp <<"\ncash="<< cash ;
schreiben.close();
cout << "Dein Spielstand wurde erfolreich gespeichert."<<endl;
das hab ich copy & paste :
So...aber wie kann ich nun zuordnen, dass die erste zeile nun wieder der integer variable lvl enstpricht? Oder geht das überhaupt?ifstream lesen;string data;
lesen.open("test.txt");
getline(lesen,data);
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
Das auslesen geht irgendwie nur mit strings, aber du kannst ja strings in int umwandeln.
trinity (17.06.11)
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
PS: Keine Ahnung warum, aber da sind Leerzeichen die da nicht hingehören, wie z.B. bei Preis & NULL -.-'
trinity (17.06.11)
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