Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 15:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Werte aus Struct auslesen

Discussion on Werte aus Struct auslesen within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1




 
bloodx's Avatar
 
elite*gold: 55
Join Date: Mar 2006
Posts: 4,582
Received Thanks: 1,539
Werte aus Struct auslesen

Hey Hou, also es ist kein wirkliches Problem das ich habe es Funktioniert soweit einwandfrei doch Interessiert es mich was IHR für Lösungsvorschläge hättet um so etwas zu Lösen.
Player.h

Code:
#ifndef __PLAYER__H
#define __PLAYER__H


class CPlayer
{
public:
	int unk_0; // 0
	int unk_4; // 4
	int unk_8; // 8
	int unk_12; // 12
	int unk_16; // 16
	int unk_20;  // 20
	int Type; // 24
	int PlayerID; // 28
	char Name[14]; // 32
	char Guild[14]; // 56
	int Level; // 60
	int Strength; // 64
	int Health; // 68
	int Intelligence; // 72
	int Wisdom; // 76
	int Agility; // 80
	int MaxHealth; // 84
	int MaxMana; // 88
	int unk_92; // 92
	int unk_96; // 96
	int unk_100; // 100
	int unk_104; // 104
	int unk_108; // 108
	int unk_112; // 112
	int unk_116; // 116
	int OnTargetPoint; // 120
	int Evasion; // 124
	int MinimalPhysicalAttack; // 128
	int MaximalPhysicalAttack; // 132
	int MinimalMagicanAttack; // 136
	int MaximalMagicanAttack; // 140
	int MinDef; // 144
	int MaxDef;  // 148
	int Absorbtion; // 152
	int ASpeed; // 156
	int FireResistence; // 160
	int IceResistence; // 164
	int ElementResistence; // 168
	int LightResisitence; // 172
	int CurseResistence; // 176
	int unk_180; // 180
	int unk_184; // 184
	int unk_188; // 188
	int unk_192; // 192
	int unk_196; // 196
	int unk_200; // 200
	int unk_204; // 204
	int unk_208; // 208
	int unk_212; // 212
	int unk_216; // 216
	int unk_220; // 220
	int unk_224; // 224
	int unk_228; // 228
	int unk_232; // 232
	int unk_236; // 236
	int unk_240; // 240
	int unk_244; // 244
	int unk_248; // 248
	int unk_252; // 252
	int unk_256; // 256
	int Speed; // 260
	int unk_264; // 264
	int unk_268; // 268
	int CurrentHealth; // 272
	int CurrentMana; // 276
	int GState; // 280
	int unk_284; // 284
	int unk_288; // 288
	int unk_292; // 292
	int unk_296; // 296
	int unk_300; // 300
	int unk_304; // 304
	int unk_308; // 308
	int unk_312; // 312
	int Map; // 316
	int unk_320; // 320
	int unk_324; // 324
	int unk_328; // 328
	int Position_X; // 332
	int Position_Y; // 336
	int Position_Z; // 340
	int unk_344; // 344
	int unk_348; // 348
	int unk_352; // 352
	int unk_356; // 356
	int unk_360; // 360
	int unk_364; // 364
	int unk_368; // 368
	int unk_372; // 372
	int unk_376; // 376
	int unk_380; // 380
	int unk_384; // 384
	int unk_388; // 388
	int unk_392; // 392
	int unk_396; // 396
	int unk_400; // 400
	int unk_404; // 404
	int unk_408; // 408
	int unk_412; // 412
	int unk_416; // 416
	int unk_420; // 420
	int unk_424; // 424
	int unk_428; // 428
	int unk_432; // 432
	int unk_436; // 436
	int unk_440; // 440
	int unk_444; // 444
	int UID; // 448
	int PID; // 452
	int Admin; // 456
	int Class; // 460
	int Job; // 464
	int Contribute; // 468
	int Exp; // 472
	int Exp_2; // 476
	int unk_480; // 480
	int unk_484; // 484
	int unk_488; // 488
	int unk_492; // 492
	int unk_496; // 496
	int unk_500; // 500
	int unk_504; // 504
	int unk_508; // 508
	int unk_512; // 512
	int unk_516; // 516
	int unk_520; // 520
	int unk_524; // 524
	int unk_528; // 528
	int unk_532; // 532
	int GRole; // 536
	int unk_540; // 540
	int StatPoints; // 544
	int SkillPoints; // 548
	int Rage; // 552
};
class CPlayerFunktion : CPlayer
{
public:
	int* ThisPtr;
	int GetAdminLevel(); // Return Player Admin Level Database
	int GetID();		 // Return Player UID
	void InsertItem(int index, int amount)
	{
		//Server::CItem::InsertItem(reinterpret_cast< int >(this), 21, index, 0, amount, -1);
	}
	void CancelBuff(int BuffIndex)
	{
		MainServer::CharacterCore::CancelBuff(reinterpret_cast< int >(this), BuffIndex);
	}
	void Buff(int BuffIndex, int LastTime, int Grade)
	{
		int retBuf = MainServer::CharacterCore::CreateBuff(BuffIndex, LastTime, Grade, 0);
		MainServer::PlayerCore::AddBuff(reinterpret_cast< int >(this), retBuf);

	}
};

#endif
Player.cpp
Code:
#include "DllCore.h"
#include "Player.h"

int CPlayerFunktion::GetAdminLevel()
{
	return this->Admin;
}
int CPlayerFunktion::GetID()
{
	return this->PlayerID;
}
und aufgerufen wird das ganze dann so ->

Code:
CPlayerFunktion *MyPlayer = (CPlayerFunktion*)PlayerPtr;
if ( MyPlayer->GetAdminLevel() >= 15 )
xyz....
die Structur ist mir bekannt deswegen habe ich sie selbst in eine Class geschrieben, sie befindet sich im "PlayerPtr" den ich bekomme.

Hierbei handelt es sich um eine DLL die in einen GameService Injeziert wird um Sachen zu Modifizieren bzw. Hinzuzufügen.
bloodx is offline  
Old 01/06/2014, 00:02   #2
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
jo, die lösung ist i.o. würd die unknowns noch zu arrays zusammenziehen und nen doppelunterstrich vor den namen setzen "__" um zu kennzeichnen, dass die keine "normalen" member sind.
Wieso machste die funktionen in eine extra klasse? - eigtl doch garnicht nötig?
ob sich die kapselung über ne funktion lohnt musste für dich selbst entscheiden - dann sollteste die member aber auch private machen.
Code:
if ( MyPlayer->GetAdminLevel() >= 15 )
die "15" gehört in ne konstante oder nen enum, oder wenn dus nur 1x benutzt - auskommentieren.
Dr. Coxxy is offline  
Old 01/06/2014, 02:19   #3



 
+Yazzn's Avatar
 
elite*gold: 420
Join Date: Jan 2012
Posts: 1,082
Received Thanks: 1,000
Mit __ wäre ich vorsichtig.
Aus dem c++11 working draft (n3337):

Quote:
17.6.4.3.2 Global names [global.names]
Certain sets of names and function signatures are always reserved to the implementation:
— Each name that contains a double underscore _ _ or begins with an underscore followed by an uppercase
letter (2.12) is reserved to the implementation for any use.
— Each name that begins with an underscore is reserved to the implementation for use as a name in the
global namespace.
+Yazzn is offline  
Reply


Similar Threads Similar Threads
VB 2010 Werte mit : auslesen!
02/02/2013 - .NET Languages - 1 Replies
Servus, ich arbeite zz. mit VB2010 und möchte aus einer Textbox werte wie Name:Hardliner Level:18 Money:1000000 HPPoints:120 Dann wird zb. der Wert von Name also Hardliner bei dem Label 2 eingefügt. Label1 ist dann Name und label 2 Hardliner
Werte auslesen bei SF
01/09/2011 - Browsergames - 13 Replies
Hallo miteinander, ich wollte mich mal an Shakes and Fidget dran machen. Es geht um das außlesen von Werten - also Spielstände etc... Hab mich zunächst mit Cheatengine dran gewagt, jedoch geht das nicht ("immer") mit Flash basierende Browsergames. Also direkt über FFox. Dann hab ich versucht die download Methode zu machen, jedoch hab ich das auch net hinbekommen. Könnt ihr mir weiterhelfen ?
Werte vom Marktschreier auslesen.
08/22/2010 - Last Chaos - 5 Replies
Habe mal ne frage ist es möglich das ich die zahlen die bei amount stehen (Lc USa) auslesen kann? Also wie viel die Items kosten. (Wenn ja geht das auch so das ich keine offsets brauche und das es auch ohne Imagesearch geht) thx Ich arbeite an einem Marktscheier bot. Ist nicht kompliziert er klickt die items jetzt schon an er soll sie dann nur noch kaufen wenn der preis niedriger als die ausgelesenen zahlen sind. So kommt man zu meiner 2. frage. Wie kann ich in einem au3 script es so...
Werte auslesen mit CE von Rüssiteilen ?
06/23/2010 - Last Chaos - 3 Replies
Man kann doch so ziemlich jedes Item auslesen, nun meine Frage : könnte man ungelupte Rüssiteile auslesen und hat ein Evadeteil dann nen anderen Wert als zum Bs.ein Casting Up-Teil von der gleichen Rüssiart und Teil ? So könnte man super viel Gold für Lupen sparen....:)
WoW Werte aus Speicher auslesen und DMA
07/24/2006 - World of Warcraft - 0 Replies
Tsearch Tutorial Dank diesem sehr guten Tutorial hab ich die Werte für Health und Mana gefunden.Allerdings sind das DMA Adressen, die sich bei jedem start von WoW ändern.Am Beispiel von Mana hab ich das ganze dann bis zu einer Adresse verfolgt. 60D37C 980C90 MOV ,ecx Wie krieg ich jetzt am einfachsten jedesmal die Adresse raus in der mein Mana steht ? Geht das mit AuoIt ?



All times are GMT +1. The time now is 15:40.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.