<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[DWORD Datentyp addieren (Probleme)]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>zuerst einmal wollte ich mich entschuldigen falls ich hier im völlig falschen Bereich im Forum poste, bin hier gerade neu.</p>
<p>Zu meinem Problem:<br />
Ich bin momentan ziemlich mit C++ beschäftigt.<br />
In einem Header habe ich folgende DWORD Arrays angelegt.</p>
<pre><code>DWORD ADDR_Guns[] = {0x4D2260, 0x4D2388, 0x4D24B0, 0x4D25D8, 0x4D2700, 0x4D2828, 0x4D2950, 0x4D2A78, 0x4D2BA0, 0x4D2CC8};
</code></pre>
<p>Das sind Pointer Addressen zu jeder einzelnen Waffe in einem Spiel.<br />
Nun ist in dem Game eine Struktur:</p>
<pre><code>struct CGunInfo 
{ 
	char modelname[255];
	short sound, reload, reloadtime, attackdelay, damage, projspeed, part, spread, recoil, magsize, mdl_kick_rot, mdl_kick_back, recoilincrease, recoilbase, maxrecoil, recoilbackfade, pushfactor;
	bool isauto; 
};
</code></pre>
<p>Ich lege für jeden &quot;Attribut&quot; dieser Struktur ein weiteres Array an, dieses hat allerdings nur einen Wert, es muss aber ein Array sein, weil eine Funktion sonst nicht richtig funktioniert.</p>
<p>Nunja eig. sind diese Informationen relativ unnötig was mein Problem angeht.<br />
Sagen wir es so.<br />
Der erste Pointer (vom Messer) ist 0x4D2260 und um den Attribut &quot;Damage/Schaden&quot; davon zu bekommen muss ich 0x10C dazu addieren. Wenn ich dies mit dem Windows Taschenrechner ausrechne kommt 0x4D236C heraus. Diese Adresse stimmt auch denn in Cheat Engine sehe ich, das es auf den richtigen Wert rausspringt.</p>
<p>Jetzt versuche ich schon den ganzen Abend 0x4D2260 + 0x4D236C in c++ zu rechnen.<br />
Aber es kommt immer 0x4D2690 raus.</p>
<p>Kann mir jemand ein Stück code zeigen wie ich die oben beiden genannten DWORDS addiere?</p>
<p>Vielen Dank im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/321007/dword-datentyp-addieren-probleme</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 14:07:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/321007.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Oct 2013 20:06:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 20:06:11 GMT]]></title><description><![CDATA[<p>Hallo Community,</p>
<p>zuerst einmal wollte ich mich entschuldigen falls ich hier im völlig falschen Bereich im Forum poste, bin hier gerade neu.</p>
<p>Zu meinem Problem:<br />
Ich bin momentan ziemlich mit C++ beschäftigt.<br />
In einem Header habe ich folgende DWORD Arrays angelegt.</p>
<pre><code>DWORD ADDR_Guns[] = {0x4D2260, 0x4D2388, 0x4D24B0, 0x4D25D8, 0x4D2700, 0x4D2828, 0x4D2950, 0x4D2A78, 0x4D2BA0, 0x4D2CC8};
</code></pre>
<p>Das sind Pointer Addressen zu jeder einzelnen Waffe in einem Spiel.<br />
Nun ist in dem Game eine Struktur:</p>
<pre><code>struct CGunInfo 
{ 
	char modelname[255];
	short sound, reload, reloadtime, attackdelay, damage, projspeed, part, spread, recoil, magsize, mdl_kick_rot, mdl_kick_back, recoilincrease, recoilbase, maxrecoil, recoilbackfade, pushfactor;
	bool isauto; 
};
</code></pre>
<p>Ich lege für jeden &quot;Attribut&quot; dieser Struktur ein weiteres Array an, dieses hat allerdings nur einen Wert, es muss aber ein Array sein, weil eine Funktion sonst nicht richtig funktioniert.</p>
<p>Nunja eig. sind diese Informationen relativ unnötig was mein Problem angeht.<br />
Sagen wir es so.<br />
Der erste Pointer (vom Messer) ist 0x4D2260 und um den Attribut &quot;Damage/Schaden&quot; davon zu bekommen muss ich 0x10C dazu addieren. Wenn ich dies mit dem Windows Taschenrechner ausrechne kommt 0x4D236C heraus. Diese Adresse stimmt auch denn in Cheat Engine sehe ich, das es auf den richtigen Wert rausspringt.</p>
<p>Jetzt versuche ich schon den ganzen Abend 0x4D2260 + 0x4D236C in c++ zu rechnen.<br />
Aber es kommt immer 0x4D2690 raus.</p>
<p>Kann mir jemand ein Stück code zeigen wie ich die oben beiden genannten DWORDS addiere?</p>
<p>Vielen Dank im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361638</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361638</guid><dc:creator><![CDATA[Yothri]]></dc:creator><pubDate>Sun, 20 Oct 2013 20:06:11 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 20:53:03 GMT]]></title><description><![CDATA[<p>Vorher (vor der Berechnung) zu char casten sollte das Problem lösen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361658</guid><dc:creator><![CDATA[theliquidwave]]></dc:creator><pubDate>Sun, 20 Oct 2013 20:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 20:53:11 GMT]]></title><description><![CDATA[<p>Benutzt du wirklich DWORDS? Oder Zeigertypen? Zeig mal Code und prüf noch mal deine Fehlerbeschreibung, ich bin sicher, du hast da ein paar Zahlen falsch. Zeigerarithmetik ist dir bekannt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361659</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 20 Oct 2013 20:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 21:13:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<pre><code>DWORD addr = 0x4D2260;
DWORD offs = 0x00010C;
cout &lt;&lt; (addr + offs) &lt;&lt; endl;
</code></pre>
<p>Z.B. So, hab ich es probiert, jedoch kam dort ne gaaanz anderer Wert raus. Iwas mit 505usw.</p>
<p>Dann hab ich es so probiert:</p>
<pre><code>DWORD* addr = (DWORD*)0x4D2260;
DWORD* offs = (DWORD*)0x00010C;
cout &lt;&lt; (addr + offs) &lt;&lt; endl;
</code></pre>
<p>Aber hier gibts bei offs einen fehler beim intellisense. Ganzzahliger Enumerationsausdruck muss aufgewiesen werden oder sowas.</p>
<p>ich möchte lediglich das aus 0x4D2260 + 0x00010C = 0x4D236C wird.</p>
<p>wie stell ich das an?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a> nein, ich kenn mich mit C++ kaum bis garnicht aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361667</guid><dc:creator><![CDATA[Yothri]]></dc:creator><pubDate>Sun, 20 Oct 2013 21:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 21:18:36 GMT]]></title><description><![CDATA[<p>Yothri schrieb:</p>
<blockquote>
<p>Hallo,</p>
<pre><code>DWORD addr = 0x4D2260;
DWORD offs = 0x00010C;
cout &lt;&lt; (addr + offs) &lt;&lt; endl;
</code></pre>
<p>Z.B. So, hab ich es probiert, jedoch kam dort ne gaaanz anderer Wert raus. Iwas mit 505usw.</p>
</blockquote>
<p>Das war aber richtig. Ist bloß dezimal statt hexadezimal geschrieben.</p>
<blockquote>
<p>Dann hab ich es so probiert:</p>
<pre><code>DWORD* addr = (DWORD*)0x4D2260;
DWORD* offs = (DWORD*)0x00010C;
cout &lt;&lt; (addr + offs) &lt;&lt; endl;
</code></pre>
<p>Aber hier gibts bei offs einen fehler beim intellisense. Ganzzahliger Enumerationsausdruck muss aufgewiesen werden oder sowas.</p>
</blockquote>
<p>Hier passiert ganz was anderes, als du denkst. Falls überhaupt etwas passiert, denn eigentlich dürfte das gar nicht compilieren. Ich vermute mal, dass du wohl eher</p>
<pre><code>DWORD* addr = (DWORD*)0x4D2260;
DWORD offs = 0x00010C;
cout &lt;&lt; (addr + offs) &lt;&lt; endl;
</code></pre>
<p>hast, oder? Aber auch das macht nicht das, was du möchtest, das würde den Wert von addr um 0x00010C DWORD-Größen erhöhen, was viel mehr ist als 0x4D2260 + 0x00010C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361669</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 20 Oct 2013 21:18:36 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 21:24:51 GMT]]></title><description><![CDATA[<p>Und wie kann schreibe ich das ganze hexadezimal? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Beim Windows Taschenrechner geht es doch auch ganz einfach mit Plus..</p>
<p>Edit: Ah so funktionierts:</p>
<pre><code>DWORD addr = 0x4D2260;
DWORD offs = 0x00010C;
cout &lt;&lt; (DWORD*)(addr + offs) &lt;&lt; endl;
</code></pre>
<p>Danke für die Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361670</guid><dc:creator><![CDATA[Yothri]]></dc:creator><pubDate>Sun, 20 Oct 2013 21:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 21:32:59 GMT]]></title><description><![CDATA[<p>Yothri schrieb:</p>
<blockquote>
<p>Und wie kann schreibe ich das ganze hexadezimal? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Damit:<br />
<a href="http://www.cplusplus.com/reference/ios/hex" rel="nofollow">http://www.cplusplus.com/reference/ios/hex</a></p>
<blockquote>
<p>Beim Windows Taschenrechner geht es doch auch ganz einfach mit Plus..</p>
</blockquote>
<p>Plus funktioniert doch auch. Macht auch das, was du denkst. Dezimal und Hexadezimal sind bloß unterschiedlicher Arten und Weisen, etwas aufzuschreiben.</p>
<blockquote>
<p>Edit: Ah so funktionierts:</p>
<pre><code>DWORD addr = 0x4D2260;
DWORD offs = 0x00010C;
cout &lt;&lt; (DWORD*)(addr + offs) &lt;&lt; endl;
</code></pre>
</blockquote>
<p>Ja, funktioniert. Aber verstehst du, warum? Beim Programmieren darfst du nicht einfach wild Zeichen einfügen, bis das gewünschte Ergebnis passiert, du musst verstehen, was du tust. Besonders Casts, und ganz besonders Casts im C-Stil (also die mit den Klammern) sind ein ganz, ganz gefährliches Mittel, weil du damit dem Compiler sagst, dass du es besser weißt als er. Das tust du als Anfänger aber nicht. Das heißt, dann funktioniert auf einmal fehlerhafter Unsinnscode scheinbar. Ich hoffe, du gewöhnst dir nun nicht an, alle Probleme durch Casts und wildes Rumprobieren zu lösen, nachdem du hier einmal mit Glück ein tatsächlich funktionierendes Ergebnis erhalten hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361679</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 20 Oct 2013 21:32:59 GMT</pubDate></item><item><title><![CDATA[Reply to DWORD Datentyp addieren (Probleme) on Sun, 20 Oct 2013 22:11:50 GMT]]></title><description><![CDATA[<p>Hallo vielen Dank für den Link.</p>
<p>Mein Vorhaben war eigentlich nur mal auf die Schnelle Informationen von einem Spiel zu erlangen.</p>
<p>In der Schule fangen wir jetzt mit C++ an, wie gesagt das war jetzt nur ein einmaliger Test. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Trotzdem vielen Dank für die Hilfe <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2361695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2361695</guid><dc:creator><![CDATA[Yothri]]></dc:creator><pubDate>Sun, 20 Oct 2013 22:11:50 GMT</pubDate></item></channel></rss>