Vorraussetzungen:
- Ihr solltet ein Grundverständniss einer Script / Programmiersprache beherrschen
- Grundverständniss von Spielinternen Abläufen
- Euch etwas mit Html & Javascript auskennen um die Codebeispiele nachverfolgen zu können
Fangen wir an.. Was brauchen wir?
- Ne kühle Coke / Bier
- Ne leere index.html & script.js , die script.js bindet ihr mit script src Befehl ein damit sie geladen wird sobald ihr die index.html aufruft
Gut, ein Radarhack zeigt euch Gegner, Items oder Npc´s auf einem Radar an, und natürlich auch eure Position. Damit wir uns die ganzen Gegner jedoch auf einem Radar anzeigen lassen können, brauchen wir die jeweiligen Positionen der Gegner (oder was ihr eben anzeigen möchtet). Im Normalfall werden die X,Y,Z Positionen sowie andere wichtige Dinge im Ramspeicher ausgelesen.
Da wir hier mehr Theorie machen als Praktik und wir deshalb Javascript benutzen können wir selbstverständlich die Werte nicht aus dem Ramspeicher auslesen, wir bedienen uns Random Werten um das ganze zu veranschaulichen. Die X,Y,Z Koordinaten der Spielerfigur in der 3D Umgebung müssen wir zunächst umrechnen von einer 3D, zu einer 2D Koordinate.
Code:
x=x/z; y=y/z;
Code:
//Name,Health,PosX,PosY
var player0 = new Array("Test0",100,100,100);
var player1 = new Array("Test1",30,200,200);
var player2 = new Array("Test2",67,300,300);
players = new Array(player0,player1,player2);
Nun haben wir also Theoretisch alle Daten wie wir benötigen würden, dann beginnen wir mal damit unser Radar zu zeichnen
Wir werden zum zeichnen ein Canvas benutzen, damit lassen sich sehr leicht Grafiken erstellen und wir können damit zeichnen.
Code:
<canvas id='radar' width="500" height="500"></canvas>
Code:
var g = document.getElementById('radar');
var radar = g.getContext('2d');
radar.fillStyle = 'black';
radar.fillRect(0, 0, 1000, 1000);
//Bild laden & zeichnen
var img = new Image();
img.src="./img/radar.png";
radar.drawImage(img,0,0);
So, das sieht jetzt schön aus.. aber jetzt wollen wir uns mal um die Spieler kümmern, denn bis jetzt sieht das ganze noch viel zu leer aus!
Code:
//Render Player Names radar.font = 'italic bold 20px sans-serif'; radar.fillStyle = 'red'; radar.fillText(players[0][0], players[0][2], players[0][3]); radar.fillText(players[1][0], players[1][2], players[1][3]); radar.fillText(players[2][0], players[2][2], players[2][3]); //Render Player Healtbars radar.fillStyle = 'red'; radar.fillRect(players[0][2], players[0][3]-30, 100, 10); radar.fillStyle = '33CC00'; radar.fillRect(players[0][2], players[0][3]-30, players[0][1], 10); radar.fillStyle = 'red'; radar.fillRect(players[1][2], players[1][3]-30, 100, 10); radar.fillStyle = '33CC00'; radar.fillRect(players[1][2], players[1][3]-30, players[1][1], 10); radar.fillStyle = 'red'; radar.fillRect(players[2][2], players[2][3]-30, 100, 10); radar.fillStyle = '33CC00'; radar.fillRect(players[2][2], players[2][3]-30, players[2][1], 10);
In diesem Falle hier konnte ich es ohne Probleme einfach so übernehmen,
in vielen Fällen wird man das ganze aber eventuell an das spezifische Spiel anpassen müssen (z.b wenn man mehr Lebenspunkte haben kann als 100).
Wichtig bei dem zeichnen der Dinge wie Namen, Healthbars und weiteres ist es übrigens das ganze etwas versetzt zu machen, sonst überlagert sich der Name und die Healthbar z.b und man kann den Name nicht mehr lesen.
Nun sollte das ganze bei euch in etwa so aussehen
Wenn ihr so ein Radar in einem Spiel realisiert solltet ihr das ganze aber nicht so groß wie ich machen, und euren eigenen Wünschen anpassen.
Ihr könnt mit der selben Methode übrigens auch ESP Hacks realisieren wie ihr lust habt. Dabei zeichnet ihr nur nicht ins Radar, sondern an der entsprechenden Bildschirmposition wo der Gegner ist.
Wichtig ist natürlich ebenfalls das ihr euer Radar & die Spieler nicht nur einmalig zeichnet! Ihr müsst das ganze regelmäßig machen, z.b in der EndScene Funktion.. sonst werdet ihr euer Radarhack nicht sehen können da das Spiel schon wieder zig Frames weiter ist, als dort wo ihr euer Radar gezeichnet hattet
Wenn man möchte kann man nun noch eine Funktion hinzufügen die das Radar automatisch neuzeichnet und den Spielern Zufallswerte vergibt um zu sehen wie euer Radarhack "in echt" aussehen könnte wenn ihr es für ein Spiel gemacht hättet. Das sieht dann ungefähr so aus ->
Damit das ganze dann noch Professionell ausschaut könnt ihr noch ne Distanzabfrage einbaun die Gegner nur anzeigt wenn sie nah genug sind, und wenn ihr ganz schlaue Füchse seid rendert ihr die Spieler mit euch als Bezugspunkt von der Mitte aus und Bindet ne Rotation des Radars ein bei Mausbewegung
Grüße







