@@ -179,18 +179,16 @@ void hack_DisableAlarms(bool bEnabled)
179
179
180
180
unsigned int hack_DisableEnemies (bool bEnabled )
181
181
{
182
- EntityList * entity_list = * ( EntityList * * )memory_find_dynamic_address (module_base_addr + offsets_entity_list_base ,
183
- offsets_entity_list_pointers ,
184
- offsets_entity_list_pointers_size );
182
+ GameWorld * gameWorld = ( GameWorld * )memory_find_dynamic_address (module_base_addr + offsets_game_world_base ,
183
+ offsets_game_world_pointers ,
184
+ offsets_game_world_pointers_size );
185
185
186
- size_t entity_list_size = * ((size_t * )(memory_find_dynamic_address (module_base_addr + offsets_entity_list_base ,
187
- offsets_entity_list_pointers ,
188
- offsets_entity_list_pointers_size )) + 1 );
186
+ size_t size = gameWorld -> n_entities ;
189
187
190
188
unsigned int total_entities_changed = 0 ;
191
- for (size_t i = 0 ; i < entity_list_size ; i ++ )
189
+ for (size_t i = 0 ; i < size ; i ++ )
192
190
{
193
- Entity * entity = entity_list -> entities [i ]. entity ;
191
+ Entity * entity = gameWorld -> entities [i ];
194
192
if (TYPE (entity -> lpVtable ) == NPC )
195
193
{
196
194
if (bEnabled )
@@ -211,19 +209,17 @@ unsigned int hack_DisableEnemies(bool bEnabled)
211
209
212
210
unsigned int hack_UnlockAllDoors (void )
213
211
{
214
- EntityList * _entity_list = * ( EntityList * * )memory_find_dynamic_address (module_base_addr + offsets_entity_list_base ,
215
- offsets_entity_list_pointers ,
216
- offsets_entity_list_pointers_size );
212
+ GameWorld * gameWorld = ( GameWorld * )memory_find_dynamic_address (module_base_addr + offsets_game_world_base ,
213
+ offsets_game_world_pointers ,
214
+ offsets_game_world_pointers_size );
217
215
218
- size_t size = * ((size_t * )(memory_find_dynamic_address (module_base_addr + offsets_entity_list_base ,
219
- offsets_entity_list_pointers ,
220
- offsets_entity_list_pointers_size )) + 1 );
216
+ size_t size = gameWorld -> n_entities ;
221
217
222
218
unsigned int local_total = 0 ;
223
219
unsigned int n_doors_unlocked = 0 ;
224
220
for (size_t i = 0 ; i < size ; i ++ )
225
221
{
226
- Entity * entity = _entity_list -> entities [i ]. entity ;
222
+ Entity * entity = gameWorld -> entities [i ];
227
223
if (TYPE (entity -> lpVtable ) == DOOR )
228
224
{
229
225
Door * door = (Door * )entity ;
@@ -247,18 +243,16 @@ unsigned int hack_UnlockAllDoors(void)
247
243
248
244
void hack_test (void )
249
245
{
250
- EntityList * _entity_list = * ( EntityList * * )memory_find_dynamic_address (module_base_addr + offsets_entity_list_base ,
251
- offsets_entity_list_pointers ,
252
- offsets_entity_list_pointers_size );
246
+ GameWorld * gameWorld = ( GameWorld * )memory_find_dynamic_address (module_base_addr + offsets_game_world_base ,
247
+ offsets_game_world_pointers ,
248
+ offsets_game_world_pointers_size );
253
249
254
- size_t size = * ((size_t * )(memory_find_dynamic_address (module_base_addr + offsets_entity_list_base ,
255
- offsets_entity_list_pointers ,
256
- offsets_entity_list_pointers_size )) + 1 );
250
+ size_t size = gameWorld -> n_entities ;
257
251
258
252
Entity * player = NULL ;
259
- for (size_t i = 0 ; i < size ; ++ i )
253
+ for (size_t i = size - 1 ; size > 0 ; -- i )
260
254
{
261
- Entity * current_entity = _entity_list -> entities [i ]. entity ;
255
+ Entity * current_entity = gameWorld -> entities [i ];
262
256
if (TYPE (current_entity -> lpVtable ) == PLAYER )
263
257
{
264
258
player = current_entity ;
@@ -268,10 +262,22 @@ void hack_test(void)
268
262
269
263
if (player != NULL )
270
264
{
265
+ // Teleport them all to me
266
+ /*for (size_t i = 0; i < size; ++i)*/
267
+ /*{*/
268
+ /*Entity* current_entity = gameWorld->entities[i];*/
269
+ /*if (TYPE(current_entity->lpVtable) == NPC)*/
270
+ /*{*/
271
+ /*current_entity->x = player->x;*/
272
+ /*current_entity->y = player->y;*/
273
+ /*current_entity->z = player->z;*/
274
+ /*}*/
275
+ /*}*/
276
+
271
277
/*player->lpVtable->function_1(player);*/
272
278
/*player->lpVtable->function_2(player);*/
273
279
/*player->lpVtable->function_3(player);*/
274
- player -> lpVtable -> func_10_1098DD40 (player );
280
+ /* player->lpVtable->func_10_1098DD40(player);*/
275
281
/*player->lpVtable->function_5(player);*/
276
282
/*player->lpVtable->function_6(player);*/
277
283
/*player->lpVtable->function_7(player);*/
0 commit comments