Zum Inhalt springen

Script um Java Variablen zur Runtime zu Ändern??


Empfohlene Beiträge

Hallo liebe Fachinformatiker,

Ich bin Anwendungsentwickler im 2 Lehrjahr, und habe eine Frage.

Es geht darum eine Variable aus einem Java-Script in einer Homepage zu ändern.

Konkret:

Wir haben ein Browsergame gefunden bei dem die ganzen Scripte nicht versteckt sind sondern einfach im HTML Code hinterlegt sind.

Es handelt sich um Deutschland kämpft

Die Idee war nun die Variablen aus diesem Spiel z.b. "lifeMax" zu ändern.

Eigentlich müsste man doch z.b. mit Greasemonkey (Firefox ADD on) ein Script schreiben können das diese Variablen umschließt.

Bitte schreibt jetzt nichts von wegen Cheater usw..., es ist eine sehr interessante Geschichte und ich würde gerne wissen ob so was geht.

Oder wenn nicht warum nicht??

Hier habt Ihr mal einen Ausschnitt aus so einem Java-Script damit Ihr wisst von was ich Spreche:

<script type="text/javascript">

function updateCharState()

{

if(lifePercent < 10) $j('#charState').text('Schachmatt');

else if(lifePercent < 20) $j('#charState').text('Außer Gefecht');

else if(lifePercent < 30) $j('#charState').text('Fix und Fertig');

else if(lifePercent < 40) $j('#charState').text('Elendig');

else if(lifePercent < 50) $j('#charState').text('Todmüde');

else if(lifePercent < 60) $j('#charState').text('Verwundet');

else if(lifePercent < 70) $j('#charState').text('Angeschlagen');

else if(lifePercent < 80) $j('#charState').text('Gerädert');

else if(lifePercent < 90) $j('#charState').text('Ausgepowert');

else if(lifePercent < 99) $j('#charState').text('Marode');

else $j('#charState').text('Ausgeruht');

}

function getSWF(movieName) {

var isIE = navigator.appName.indexOf("Microsoft") != -1;

return (isIE) ? window[movieName] : document[movieName];

}

var lifeCurrent = parseInt(263);

var blinking = 1;

var lifeMax = parseInt(263);

var secsDone = 0;

var lifePercent = 100;

var fullLifeAfter = 0;

function lifeBar()

{

var timeToFullLP = 10 * 60;

var maxLife = parseInt(lifeMax) || lifeCurrent;

var secs = fullLifeAfter - secsDone;

secsDone++;

if(secs > 0)

und so weiter.........

Ich würde mich sehr freuen, wenn Ihr ein paar Tips hättet wie man so etwas machen könne, oder Ihr mir erklären könntet wieso so etwas nicht geht.

Danke im Voraus.

Schönen Gruß,

Billy_The_Kid

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Billy_The_Kid,

soweit ich das weiss ist das nicht möglich... zumindest nicht so einfach wie du dir das vorstellst. GreaseMonkey ist zwar ein ganz lustiges AddOn und Spielzeug, aber es kann nicht einfach Code einer HomePage ändern. Alles was GreaseMonkey macht ist die Seite welche du aufrufst nochmal zu "puffern" und dann zeigt er dir eine abgänderte Version an, d.h. du hast maximal lesenden Zugriff auf die Variablen. Sicherlich könntest du dir das So anzeigen lassen, dass wenn du zum Beispiel nur noch 10 Leben es so aussieht also hättest du 100, aber wie du selber merkst nützt dir das nicht viel... Ich schätze einfach mal, dass die eigentlichen Daten in einer Datenbank liegen (wo auch sonst =D), du müsstest also auf die DB zugreifen... und das würde dann schonwieder etwas ausarten denke ich^^

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey danke für die schnelle Antwort,

aber man kann doch z.b. des Layout von Seiten damit ändern(Also Layout Variablen) des hab ich schon gesehen.

Und dieses Spiel ist echt voll der Witz die Leben werden wirklich erst, in einem offenen Skript angelegt und gefüllt.

Also des müsste eig. gehen.

Könnt ihr nochmal überlegen?

Danke im Voraus.

Gruß,

Billy

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Billy_The_Kid,

Könnt ihr nochmal überlegen?

Also bevor das passiert, solltest du mal fix überlegen!

Wie schätzt du denn, als AE im 2 Lehrjahr, die Funktionsweise von GreaseMonkey ein? Was denkst du macht GreaseMonkey?

Und was glaubst du woher die "263" in deinem Bsp. kommt? Woher kennt er diese Zahl, ist Sie im HTML-Code der Seite? Aber wie kann man dann Level steigen?

Oder ist es möglich, dass bei

"var lifeCurrent = parseInt(263);"

vielleicht in den Klammern von parseInt eine Funktion steht, welche die 263 als Rückgabewert liefert? Vielleicht ist sie ja in PHP geschrieben, und ist deshalb von einem Client nicht zu sehen weil sie Serverseitig ausgeführt wird. Vielleicht, aber nur vielleicht führt diese Funktion ja einen DB-Zugriff aus, so in der Art: "SELECT LifePoints FROM Data WHERE UserID=AccountName".

Net böse gemeint, aber denk halt mal wirklich darüber nach :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...