JavaScript Variable Nachträglich verändern

iGDark

Lt. Junior Grade
Dabei seit
Sep. 2005
Beiträge
306
Hi,

ich habe ein kleines Problem in meinem Browsergame.

Also in dem Game hat man einen Charakter (der hat einen HP-Stand). Dieser Charakter hat auch eine tasche. Die Gegenstände zwischen Charakter und Tasche werden per Drag&Drop ausgetauscht (visuell) und im Hintergrund speicher ich mit AJAX den verschiebevorgang ab, so dass es auch in der Datenbank steht.
Jetzt gibt es aber Gegenstände die +Ausdauer bringen, was die HP-Zahl erhöht. Wenn der Charakter sie anlegt, funktioniert das auch alles, aber im HP-Balken sieht man die Auswirkung erst, wenn man die Seite einmal akutallisiert hat.

Dieser HP-Balken funktioniert auch per JavaScript (läuft automatisch wieder voll). Dafür habe ich eine Funktion die sekündlich aufgerufen wird und den HP-Stand hochzählt. Dabei übergebe ich die Regenerationsrate und die maximalen HP die der spieler haben kann. Wenn der spieler die seite lädt übergebe ich diese maximalen HP über PHP

HTML:
<script type...>
var max_hp=<? echo $maximale_hp?>;
</script>

Wenn der Spieler jetzt einen Gegenstand anzieht der ihm ausdauer bringt, dann wird diese variable also erst beim neu laden umgeschrieben. ist es möglich, diese variable auch innerhalb meines AJAX-Scriptes zu aktualisieren damit der maximale HP-Stand manipuliert wird, ohne das die Seite neu geladen wird?
 
Zuletzt bearbeitet:
Mach doch die Variable global, so dass sie durch ein anderes Skript noch geändert werden kann.
 
Zuletzt bearbeitet:
global ok, aber lässt sie sich auch tatsächlich live ändern? dieses ajax-script wird immerhin am server umgesetzt, und nicht auf dem client. der client würde davon doch dann nichts mitbekommen oder?
 
Ein AJAX-Skript ist ein gewöhnliches JS-Skript, das beim Client ausgeführt wird. Es kann eben nur schönerweise Daten mit einem Server austauschen, ohne dass alles neu geladen werden müsste. Ich sehe da kein Problem.
 
mhhh...ich muss mir das alles nochmal durchguggen ...n ansatz ist es schon :)
aber das script das auf dem server aufgerufen wird und die datenbankeinträge ändert. das kann es nicht denk ich :)
 
Ja richtig. Aber das Server-Skript zur DB-Änderung muss ja irgendwo aufgerufen werden :) Und das wird ja wohl JavaScript sein. Und da würde ich anpacken.
 
so habs mal kurz probiert, an der stelle kann ich den wert manipulieren ;-)

fragt sich nur noch....wie ich an der stelle auch die ausdauer des jeweiligen gegenstands rausbringe ^^
 
Zurück
Top