Druck klicken und dann einfach bei Paint einfügen, fertig
ein freewar selbst zusammenbasteln?!
-
VerlorenerUser6
- Klauenbartrein
- Beiträge: 1284
- Registriert: 10. Jun 2007, 15:43
- Lauranthalas
- Feuervogel
- Beiträge: 5244
- Registriert: 25. Jan 2005, 23:11
screenshot ja, aber größer darfs doch sein, oder? ^^Magalter hat geschrieben:so ein screenshot (hoffe ich^^)
- I'm in space.
Let's Plays und so'n Kram.
- vnv_nation
- Feuervogel
- Beiträge: 4533
- Registriert: 7. Mär 2004, 02:46
dein Fehler hängt am FWrite...
fwrite($geld_dat, $geld);
schreibt über die 102 die Zahl 92 ersetzt aber die letzte 2 nicht. Das Problem entsteht durch rewind(int fp). Dieser Befehl setzt den Zeiger innerhalb der Datei auf die erste Stelle (0), beschreibt Position 0, dann Position 1 und das wars... die zwei (von 102) welche auf Position 2 steht wird nicht angefasst. D.h. du musst diese irgendwie geeignet überschreiben. Dir wird etwas einfallen
Edit: Eine Möglichkeit wäre einen gewissen Zeichenvorrat vorzusehen (z.b. 6 Zeichen oder 11 oder 15 und den Betrag ans Ende des zu speichernden Strings zu schreiben).
Edit 2: Kann den Thread mal bitte wer ins OT verschieben, weil im Support hat er nun eigentlich ja wirklich nix zu suchen...
fwrite($geld_dat, $geld);
schreibt über die 102 die Zahl 92 ersetzt aber die letzte 2 nicht. Das Problem entsteht durch rewind(int fp). Dieser Befehl setzt den Zeiger innerhalb der Datei auf die erste Stelle (0), beschreibt Position 0, dann Position 1 und das wars... die zwei (von 102) welche auf Position 2 steht wird nicht angefasst. D.h. du musst diese irgendwie geeignet überschreiben. Dir wird etwas einfallen
Edit: Eine Möglichkeit wäre einen gewissen Zeichenvorrat vorzusehen (z.b. 6 Zeichen oder 11 oder 15 und den Betrag ans Ende des zu speichernden Strings zu schreiben).
Edit 2: Kann den Thread mal bitte wer ins OT verschieben, weil im Support hat er nun eigentlich ja wirklich nix zu suchen...
so hab jetzt mal was ausprobiert und es hat geklappt
und zwar durch eine zusätsliche variable, die kein inhalt hat und die nach dem normalen eintrag kommt^^
etwa so:
und zwar durch eine zusätsliche variable, die kein inhalt hat und die nach dem normalen eintrag kommt^^
etwa so:
Code: Alles auswählen
<?php
$geld_dat = fopen("geld.txt","r+");
$geld = fgets($geld_dat);
$ing_dat = fopen("ing.txt","r+");
$ing = fgets($ing_dat);
$nix = " ";
if ($geld >= 10)
{
$geld = $geld - 10;
$ing = $ing + 1;
rewind($geld_dat);
fwrite($geld_dat, $geld);
fwrite($geld_dat, $null);
fclose($geld_dat);
rewind($ing_dat);
fwrite($ing_dat, $ing);
fwrite($ing_dat, $null);
fclose($ing_dat);
echo '<p>Ingerium gekauft<br>
<a href="2-1.php">Weiter</a><p>';
}
else
{
echo '<p>Nicht genügend Geld<br>
<a href="2-1.php">Weiter</a></p>';
}
?>- vnv_nation
- Feuervogel
- Beiträge: 4533
- Registriert: 7. Mär 2004, 02:46
Anmerkung:
dein Nix hat eine Größe, richtig? z.B. $nix = "___" (3 Leerstellen)
wenn du 1ooooo . $nix hast, dann steht da
"1ooooo___"...
jetzt dekrementiere diesen Geldbetrag auf einen Schlag mal sehr stark, z.b. um 99920. Dein Ergebnis dann: "8o__oo___" Damit kann php dann aber nix mehr anfangen. Das Anfügen eines Platzhalters am Ende ist heikler, als mit strlen($geld) die Länge des Strings zu bestimmen (wie ich quasi typenlose Sprachen manchmal mag). Das mag jetzt widersinnig erscheinen, wenn du jedoch sagst, dass dein Geldbetrag nicht mehr als 2^31 (2.147.483.647 - integer eben) betragen kann, weißt du, dass er maximal eine Länge von 11 Zeichen annehmen kann. Hast du jetzt als 112 MADollar in der Hand, so sind noch 11 - 3 = 8 Zeichen zu füllen und zwar am besten davor (so wie man eben Spalten auffüllt). d.h. statt
"1ooooo___" hättest du dann eben "_____1ooooo" in deiner Datei stehen.
Wie du dir dynamisch die Platzhalter genieren kannst findest du selber raus (bei der Gelegenheit kannst du dich ja mit function beschäftigen
)
dein Nix hat eine Größe, richtig? z.B. $nix = "___" (3 Leerstellen)
wenn du 1ooooo . $nix hast, dann steht da
"1ooooo___"...
jetzt dekrementiere diesen Geldbetrag auf einen Schlag mal sehr stark, z.b. um 99920. Dein Ergebnis dann: "8o__oo___" Damit kann php dann aber nix mehr anfangen. Das Anfügen eines Platzhalters am Ende ist heikler, als mit strlen($geld) die Länge des Strings zu bestimmen (wie ich quasi typenlose Sprachen manchmal mag). Das mag jetzt widersinnig erscheinen, wenn du jedoch sagst, dass dein Geldbetrag nicht mehr als 2^31 (2.147.483.647 - integer eben) betragen kann, weißt du, dass er maximal eine Länge von 11 Zeichen annehmen kann. Hast du jetzt als 112 MADollar in der Hand, so sind noch 11 - 3 = 8 Zeichen zu füllen und zwar am besten davor (so wie man eben Spalten auffüllt). d.h. statt
"1ooooo___" hättest du dann eben "_____1ooooo" in deiner Datei stehen.
Wie du dir dynamisch die Platzhalter genieren kannst findest du selber raus (bei der Gelegenheit kannst du dich ja mit function beschäftigen
Re: ein freewar selbst zusammenbasteln?!
hehe^^ bin wieder zurück und diesmal hab ich PHP+mySQL besser drauf^^ muss mich für die anfängliche naivität entschuldigen. wenn ich jetzt so ein halbes jahr später meine posts lese wird mir einiges klar^^ nu denn:
dank der hilfe eines guten proggers (oder einfach nur ein hacker XD ) hab ich jetzt ne zeimlich perfekte variante der "map.php" und mit der datenbank funzt es auch. doch ich hab da ein problem: es scheint zweifellos so zu sein dass FW aus framesets besteht, doch PHP ist da nicht übergreifend oder? wenn ich auf der map laufe würde "main.php" eigentlich nicht neugeladen. wie ist das in freewar möglich?
dank der hilfe eines guten proggers (oder einfach nur ein hacker XD ) hab ich jetzt ne zeimlich perfekte variante der "map.php" und mit der datenbank funzt es auch. doch ich hab da ein problem: es scheint zweifellos so zu sein dass FW aus framesets besteht, doch PHP ist da nicht übergreifend oder? wenn ich auf der map laufe würde "main.php" eigentlich nicht neugeladen. wie ist das in freewar möglich?
Let's Plays auf YouTube
- restless wayfarer
- Klauenbartrein
- Beiträge: 1604
- Registriert: 18. Jul 2005, 00:59
Re:
Vorweg: das ist von mir.Roudy hat geschrieben:Super, den JS-Code hat er direkt aus FW kopiert. No comment ...Aven hat geschrieben:http://lufthauch.freewartools.com/game/Haupt.html
Ziemlich cooles Spiel ^^
Es gibt dort aber leider keine NPC\s,die man killen kann.
Den macher der Seite darf ich nicht verraten(Ich war\s nicht)
Einer kommt vom Thema ab und die anderen Springen sofort in die Falle -.-
Dann: ICH habe den Code nicht kopiert ^^ sondern so von jemanden bekommen. Allerdings stimmt es schon, dass der Code wohl daraus ist, lediglich ein klein wenig modifiziert wurde. Hat ne menge Arbeit gespart
Weshalb?: Das soll kein Spiel oder dergleichen sein, dass habe ich lediglich verwendet um meine Karte vorzustellen und ich denke denZweck hat es auch erfüllt.
Hab ich Sotrax aber auch so gesagt .. nur ob er es kommentiert hat weiß ich allerdings nicht mehr ^^.
- vnv_nation
- Feuervogel
- Beiträge: 4533
- Registriert: 7. Mär 2004, 02:46
Re: ein freewar selbst zusammenbasteln?!
Halbes Jahr, hmmm, dann kriegst du von mir nur ein "Denk nach! Die Lösung liegt im Schatten verborgen."Magalter hat geschrieben:hehe^^ bin wieder zurück und diesmal hab ich PHP+mySQL besser drauf^^ muss mich für die anfängliche naivität entschuldigen. wenn ich jetzt so ein halbes jahr später meine posts lese wird mir einiges klar^^ nu denn:
dank der hilfe eines guten proggers (oder einfach nur ein hacker XD ) hab ich jetzt ne zeimlich perfekte variante der "map.php" und mit der datenbank funzt es auch. doch ich hab da ein problem: es scheint zweifellos so zu sein dass FW aus framesets besteht, doch PHP ist da nicht übergreifend oder? wenn ich auf der map laufe würde "main.php" eigentlich nicht neugeladen. wie ist das in freewar möglich?
Re: ein freewar selbst zusammenbasteln?!
also im rätzel-lösen bin ich seither nicht besser geworden...
Let's Plays auf YouTube
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 14 Gäste


