You are not logged in.
@Azgalor -
{$CLEO}
0000:
while true
wait 0
if
0AE2: 0@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 0 pass_wrecked 1 //IF and SET
then
repeat
1@ = Car.Model(0@)
if
1@ == #SWATVAN
then
Car.SetImmunities(0@, 1, 1, 1, 1, 1)
end
until 8AE2: not 0@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 100000.0 find_next 1 pass_wrecked 1 //IF and SET
end
end
//-------------Mission 2---------------
// Originally: Intro
07C0: load_path 706
07C0: load_path 707
//-------------Mission 11---------------
// Originally: Big Smoke
07C0: load_path 201
07C0: load_path 205
07C0: load_path 206
//-------------Mission 13---------------
// Originally: Tagging Up Turf
07C0: load_path 207
07C0: load_path 207
//-------------Mission 18---------------
// Originally: Sweet's Girl
07C0: load_path 153
07C0: load_path 154
//-------------Mission 19---------------
// Originally: Cesar Vialpando
07C0: load_path 552
//-------------Mission 23---------------
// Originally: Gray Imports
07C0: load_path 342
07C0: load_path 310
07C0: load_path 328
07C0: load_path 329
07C0: load_path 309
07C0: load_path 347
07C0: load_path 347
//-------------Mission 25---------------
// Originally: Catalyst
07C0: load_path 486
07C0: load_path 490
07C0: load_path 104
07C0: load_path 486
07C0: load_path 490
07C0: load_path 106
07C0: load_path 486
//-------------Mission 26---------------
// Originally: Robbing Uncle Sam
07C0: load_path 523
07C0: load_path 524
//-------------Mission 27---------------
// Originally: OG Loc
07C0: load_path 30
07C0: load_path 31
07C0: load_path 32
07C0: load_path 33
07C0: load_path 34
07C0: load_path 35
07C0: load_path 50
07C0: load_path 51
07C0: load_path 52
07C0: load_path 53
07C0: load_path 54
07C0: load_path 55
07C0: load_path 56
07C0: load_path 57
07C0: load_path 58
07C0: load_path 60
07C0: load_path 36
07C0: load_path 37
07C0: load_path 38
07C0: load_path 39
07C0: load_path 40
//-------------Mission 30---------------
// Originally: Just Business
07C0: load_path 250
07C0: load_path 251
07C0: load_path 252
07C0: load_path 253
07C0: load_path 254
07C0: load_path 255
07C0: load_path 256
07C0: load_path 257
07C0: load_path 258
07C0: load_path 259
07C0: load_path 260
07C0: load_path 261
07C0: load_path 262
07C0: load_path 263
07C0: load_path 264
07C0: load_path 265
07C0: load_path 266
07C0: load_path 267
07C0: load_path 268
07C0: load_path 269
07C0: load_path 270
07C0: load_path 271
07C0: load_path 272
07C0: load_path 273
07C0: load_path 274
07C0: load_path 275
07C0: load_path 276
07C0: load_path 277
07C0: load_path 278
07C0: load_path 279
07C0: load_path 280
07C0: load_path 281
07C0: load_path 282
07C0: load_path 283
07C0: load_path 284
07C0: load_path 285
07C0: load_path 286
//-------------Mission 34---------------
// Originally: House Party
07C0: load_path 22
07C0: load_path 23
//-------------Mission 36---------------
// Originally: Lowrider (High Stakes)
07C0: load_path 172
//-------------Mission 37---------------
// Originally: Reuniting The Families
07C0: load_path 350
07C0: load_path 352
07C0: load_path 353
07C0: load_path 354
07C0: load_path 355
07C0: load_path 356
07C0: load_path 349
07C0: load_path 330
07C0: load_path 332
07C0: load_path 333
07C0: load_path 334
07C0: load_path 335
07C0: load_path 336
07C0: load_path 337
07C0: load_path 338
07C0: load_path 331
07C0: load_path 339
07C0: load_path 373
07C0: load_path 374
07C0: load_path 375
07C0: load_path 376
07C0: load_path 377
07C0: load_path 371
07C0: load_path 372
07C0: load_path 378
07C0: load_path 380
07C0: load_path 381
07C0: load_path 351
07C0: load_path 382
07C0: load_path 383
07C0: load_path 384
//-------------Mission 38---------------
// Originally: The Green Sabre
07C0: load_path 162
07C0: load_path 163
07C0: load_path 650
07C0: load_path 162
07C0: load_path 163
07C0: load_path 650
//-------------Mission 39---------------
// Originally: Badlands
07C0: load_path 170
//-------------Mission 41---------------
// Originally: Local Liquor Store
07C0: load_path 501
07C0: load_path 502
07C0: load_path 503
07C0: load_path 504
07C0: load_path 505
07C0: load_path 506
07C0: load_path 507
07C0: load_path 509
07C0: load_path 509
07C0: load_path 505
07C0: load_path 506
07C0: load_path 507
07C0: load_path 509
07C0: load_path 505
07C0: load_path 506
07C0: load_path 507
07C0: load_path 553
07C0: load_path 554
07C0: load_path 555
//-------------Mission 42---------------
// Originally: Small Town Bank
07C0: load_path 123
07C0: load_path 124
07C0: load_path 116
07C0: load_path 117
07C0: load_path 118
07C0: load_path 119
07C0: load_path 123
07C0: load_path 124
07C0: load_path 160
07C0: load_path 161
07C0: load_path 156
07C0: load_path 157
07C0: load_path 158
07C0: load_path 159
//-------------Mission 43---------------
// Originally: Tanker Commander
07C0: load_path 189
07C0: load_path 188
07C0: load_path 199
07C0: load_path 199
//-------------Mission 46---------------
// Originally: Body Harvest
07C0: load_path 348
//-------------Mission 50---------------
// Originally: Deconstruction
07C0: load_path 551
//-------------Mission 51---------------
// Originally: 555 WE TIP
07C0: load_path 155
07C0: load_path 166
07C0: load_path 165
07C0: load_path 165
07C0: load_path 166
//-------------Mission 53---------------
// Originally: Mountain Cloud Boys
07C0: load_path 169
07C0: load_path 139
07C0: load_path 169
07C0: load_path 169
07C0: load_path 136
07C0: load_path 137
07C0: load_path 138
07C0: load_path 139
//-------------Mission 57---------------
// Originally: The Da Nang Thang
07C0: load_path 25
07C0: load_path 25
07C0: load_path 25
//-------------Mission 58---------------
// Originally: Photo Opportunity
07C0: load_path 190
07C0: load_path 191
07C0: load_path 193
07C0: load_path 194
07C0: load_path 192
07C0: load_path 197
07C0: load_path 198
//-------------Mission 59---------------
// Originally: Jizzy
07C0: load_path 539
07C0: load_path 540
07C0: load_path 541
//-------------Mission 62---------------
// Originally: Toreno's Last Flight
07C0: load_path 110
07C0: load_path 111
//-------------Mission 63---------------
// Originally: Yay Ka-Boom-Boom
07C0: load_path 483
07C0: load_path 485
//-------------Mission 64---------------
// Originally: Pier 69
07C0: load_path 27
07C0: load_path 28
//-------------Mission 67---------------
// Originally: Zeroing In
07C0: load_path 171
//-------------Mission 68---------------
// Originally: Test Drive
07C0: load_path 70
07C0: load_path 71
07C0: load_path 72
07C0: load_path 73
07C0: load_path 74
07C0: load_path 75
07C0: load_path 76
07C0: load_path 77
07C0: load_path 78
07C0: load_path 79
07C0: load_path 80
07C0: load_path 81
07C0: load_path 83
07C0: load_path 84
07C0: load_path 85
07C0: load_path 86
07C0: load_path 87
07C0: load_path 88
07C0: load_path 89
07C0: load_path 90
07C0: load_path 91
07C0: load_path 92
07C0: load_path 93
07C0: load_path 94
07C0: load_path 95
07C0: load_path 96
07C0: load_path 97
07C0: load_path 98
07C0: load_path 65
07C0: load_path 66
07C0: load_path 67
07C0: load_path 99
//-------------Mission 71---------------
// Originally: Back to School
07C0: load_path 14
07C0: load_path 3
07C0: load_path $247
//-------------Mission 74---------------
// Originally: New Model Army
07C0: load_path 521
07C0: load_path 521
//-------------Mission 77---------------
// Originally: Interdiction
07C0: load_path 530
07C0: load_path 531
07C0: load_path 532
07C0: load_path 533
07C0: load_path 534
07C0: load_path 535
07C0: load_path 536
07C0: load_path 537
07C0: load_path 538
//-------------Mission 80---------------
// Originally: Stowaway
07C0: load_path 450
07C0: load_path 168
07C0: load_path 452
07C0: load_path 453
07C0: load_path 450
07C0: load_path 168
07C0: load_path 452
07C0: load_path 453
07C0: load_path 149
07C0: load_path 135
07C0: load_path 134
07C0: load_path 150
07C0: load_path 152
//-------------Mission 81---------------
// Originally: Black Project
07C0: load_path 340
07C0: load_path 341
//-------------Mission 83---------------
// Originally: Learning to Fly
07C0: load_path 150@
//-------------Mission 84---------------
// Originally: Fender Ketchup
07C0: load_path 179
//-------------Mission 92---------------
// Originally: Saint Mark's Bistro
07C0: load_path 602
07C0: load_path 603
07C0: load_path 601
//-------------Mission 93---------------
// Originally: Misappropriation
07C0: load_path 114
07C0: load_path 109
//-------------Mission 97---------------
// Originally: Key To Her Heart
07C0: load_path 803
//-------------Mission 98---------------
// Originally: Dam And Blast
07C0: load_path 805
07C0: load_path 805
//-------------Mission 101---------------
// Originally: Breaking the Bank at Caligula's
07C0: load_path 499
07C0: load_path 487
07C0: load_path 494
07C0: load_path 484
07C0: load_path 494
07C0: load_path 494
//-------------Mission 102---------------
// Originally: A Home In The Hills
07C0: load_path 708
//-------------Mission 103---------------
// Originally: Vertical Bird
07C0: load_path 208
07C0: load_path 209
07C0: load_path 211
//-------------Mission 104---------------
// Originally: Home Coming
07C0: load_path 488
//-------------Mission 105---------------
// Originally: Cut Throat Business
07C0: load_path 700
07C0: load_path 701
07C0: load_path 702
07C0: load_path 703
07C0: load_path 704
07C0: load_path 705
//-------------Mission 110---------------
// Originally: End Of The Line (1)
07C0: load_path 287
//-------------Mission 112---------------
// Originally: End Of The Line (3)
07C0: load_path 288
07C0: load_path 289
07C0: load_path 290
07C0: load_path 291
07C0: load_path 230
07C0: load_path 231
07C0: load_path 232
07C0: load_path 233
07C0: load_path 234
07C0: load_path 235
07C0: load_path 236
07C0: load_path 237
07C0: load_path 238
07C0: load_path 239
07C0: load_path 240
07C0: load_path 241
07C0: load_path 242
07C0: load_path 243
07C0: load_path 244
07C0: load_path 245
07C0: load_path 246
07C0: load_path 247
07C0: load_path 248
07C0: load_path 249
07C0: load_path 229
//-------------Mission 119---------------
// Originally: Boat School
07C0: load_path 752
07C0: load_path 755
07C0: load_path 757
07C0: load_path 759
07C0: load_path 760
//-------------Mission 120---------------
// Originally: Bike School
07C0: load_path 35@
//-------------Mission 132---------------
// Originally: The Chiliad Challenge
07C0: load_path 829
07C0: load_path 830
07C0: load_path 831
07C0: load_path 832
07C0: load_path 833
07C0: load_path 834
//-------------External script 3 (BCESAR3)---------------
07C0: load_path 556
//-------------External script 32 (PLANES)---------------
07C0: load_path $PLAINS_Plane_Flyway
@Sw[ee]t - посмотри что ложиться в стек перед вызовом этой функции.
@Sw[ee]t -
arg_0 hVehicle= dword ptr 4 arg_4 nPassengerSeat= dword ptr 8
@Sergey81 -
0AAA: 0@ = thread 'INTRO1' pointer
if
0@ > 0
then
0@ += 0xC4
0A8D: 0@ = read_memory 0@ size 1 virtual_protect 0
if
0@ > 0
then
//
else
//
end
end
@Sw[ee]t -
0AEA: $actor = actor_struct $ped_struct handle
_http://lurkmore.ru/Денис_Попов
@WinuX - и в чем проблемы?
0A96: 1@ = actor 0@ struct 1@ += 0x548 0A8C: write_memory 1@ size 4 value 99999.0 virtual_protect 0
Опкод 035F проверяет что значение лежит в пределах [0.0;100.0]
Но если с 0AC6 (labelToOffset) вроде все понятно, то как лучше приткнуть сюда 0AC7 (varToOffset), я пока не соображу. Кто подскажет?))
Как то так...
:__VarToOffset 0AC6: 1@ = label @0AC7 offset 1@ += 3 0A8C: write_memory 1@ size 2 value 0@ virtual_protect 0 :0AC7 0AC7: 0@ = var 0@ offset 0@ -= 0xA49960 0AB2: ret 1 0@
@~AquaZ~ - Car.SetImmunities выставляет / убирает 18, 19, 23, 20, 21 биты соответственно.
@~AquaZ~ -
:derail
0A97: 1@ = car 0@ struct
while 1@ <> 0
0A8E: 2@ = 1@ + 0x40 // int
0A8E: 3@ = 1@ + 0x5B9 // int
0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0
08C3: clear 4@ bit 2
08C3: clear 4@ bit 17
08BD: set 5@ bit 0
0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0
0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0
1@ += 0x5D4
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end
0AB2: ret 0
@DOG-GHOST -
0237: set_gang 1 weapons_to 24 29 4
@~AquaZ~ -
00000040 immunities dd ?
@~AquaZ~ - только что проверил на gta_sa_compact.exe | stripped.scm все работает.
Так, а как получить оффсет, имея хендл?
0A97: $CarStruct = car $MyCar struct
@~AquaZ~ - US1.0 (stripped.scm)
{$CLEO}
// for test
Actor.PutAt($PLAYER_ACTOR, 2304.6182, -1334.5227, 23.842)
Actor.Angle($PLAYER_ACTOR) = 17.5234
0AD1: show_formatted_text_highpriority "~r~Press F4" time 5000
//
#FREIFLAT.Load
#FREIGHT.Load
038B: load_requested_models
06D8: 0@ = create_train_at 2285.152 -1257.5 23.0 type 13 direction 1
06DC: set_train 0@ acc 20.0
while true
wait 0
if
0AB0: key_pressed 0x73
then
0A97: 1@ = car 0@ struct
while 1@ <> 0
0A8E: 2@ = 1@ + 0x40 // int
0A8E: 3@ = 1@ + 0x5B9 // int
0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0
0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0
0B10: 4@ = 4@ AND 0xFFFDFFFB
0B11: 5@ = 5@ OR 0x01
0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0 // *(dword*)(CVehicle + 0x40) &= 0xFFFDFFFB
0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0 // *(byte*)(CVehicle + 0x5B9) |= 0x01
1@ += 0x5D4 // next carriage
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end
Break
end
end
0A93: end_custom_thread[---]
dd[+0x5D0] - prev carriage dd[+0x5D4] - next carriage
@Den_spb -
Логическая операция:
0B10: 4@ = 4@ AND 0xFFFDFFFB
AND применяют для выборочного обнуления отдельных бит:
0B10: 4@ = 4@ AND 11111111111111011111111111111011b
т.е. обнуляется 2-ой и 17-ый бит, остальные не изменяются. Равносильно командам:
08C3: clear 4@ bit 2 08C3: clear 4@ bit 17
Логическая операция:
0B11: 5@ = 5@ OR 0x01
OR чаще всего используют для выборочной установки отдельных бит:
0B11: 5@ = 5@ OR 00000001b
т.е. устанавливается 0-ой бит. Равносильно командe:
08BD: set 5@ bit 0
[---]
@~AquaZ~ -
Впринципе и этого достаточно, чтобы свести поезд с рельс:
0A97: 1@ = car 0@ struct
while 1@ <> 0
0A8E: 2@ = 1@ + 0x40 // int
0A8E: 3@ = 1@ + 0x5B9 // int
0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0 // *(dword*)(CVehicle + 0x40)
0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0 // *(byte*)(CVehicle + 0x5B9)
0B10: 4@ = 4@ AND 0xFFFDFFFB //
0B11: 5@ = 5@ OR 0x01 //
0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0 // *(dword*)(CVehicle + 0x40) &= 0xFFFDFFFB
0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0 // *(byte*)(CVehicle + 0x5B9) |= 0x01
1@ += 0x5D4
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end
{
0A97: 1@ = car 0@ struct
while 1@ <> 0
wait 0
0AA6: call_method 0x006F6320 struct 1@ num_params 0 pop 0
//
1@ += 0x5D4
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end
}
0A97: 1@ = car 0@ struct
while 1@ <> 0
0A8E: 2@ = 1@ + 0x40 // int
0A8E: 3@ = 1@ + 0x5B9 // int
0A8D: 4@ = read_memory 2@ size 4 virtual_protect 0 // *(dword*)(CVehicle + 0x40)
0A8D: 5@ = read_memory 3@ size 1 virtual_protect 0 // *(byte*)(CVehicle + 0x5B9)
0B10: 4@ = 4@ AND 0xFFFDFFFB //
0B11: 5@ = 5@ OR 0x01 //
0A8C: write_memory 2@ size 4 value 4@ virtual_protect 0 // *(dword*)(CVehicle + 0x40) &= 0xFFFDFFFB
0A8C: write_memory 3@ size 1 value 5@ virtual_protect 0 // *(byte*)(CVehicle + 0x5B9) |= 0x01
0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0 // *(int*)CVehicle
2@ += 0x10
0A8D: 2@ = read_memory 2@ size 4 virtual_protect 0
0AA6: call_method 2@ struct 1@ num_params 1 pop 0 0
//
1@ += 0x5D4
0A8D: 1@ = read_memory 1@ size 4 virtual_protect 0
end
{
0A97: 1@ = car 0@ struct
0AA6: call_method 0x005485E0 struct 1@ num_params 0 pop 0
}[---]
CPU Disasm Address Hex dump Command Comments 006F8DC0 8BFE MOV EDI,ESI 006F8DC2 32C0 XOR AL,AL 006F8DC4 84C0 TEST AL,AL 006F8DC6 0F85 BD010000 JNE 006F8F89 006F8DCC 8BCF MOV ECX,EDI 006F8DCE E8 4DD5FFFF CALL 006F6320 006F8DD3 8BBF D4050000 MOV EDI,DWORD PTR DS:[EDI+5D4] 006F8DD9 85FF TEST EDI,EDI 006F8DDB ^ 75 E7 JNE SHORT 006F8DC4 006F8DDD 84C0 TEST AL,AL 006F8DDF 0F85 A4010000 JNE 006F8F89 006F8DE5 8BFE MOV EDI,ESI 006F8DE7 BB FBFFFDFF MOV EBX,FFFDFFFB 006F8DEC 8D6424 00 LEA ESP,[ESP] 006F8DF0 8B57 40 MOV EDX,DWORD PTR DS:[EDI+40] 006F8DF3 8A87 B9050000 MOV AL,BYTE PTR DS:[EDI+5B9] 006F8DF9 23D3 AND EDX,EBX 006F8DFB 0C 01 OR AL,01 006F8DFD 8957 40 MOV DWORD PTR DS:[EDI+40],EDX 006F8E00 8B17 MOV EDX,DWORD PTR DS:[EDI] 006F8E02 6A 00 PUSH 0 006F8E04 8BCF MOV ECX,EDI 006F8E06 8887 B9050000 MOV BYTE PTR DS:[EDI+5B9],AL 006F8E0C FF52 10 CALL DWORD PTR DS:[EDX+10] 006F8E0F 8BBF D4050000 MOV EDI,DWORD PTR DS:[EDI+5D4] 006F8E15 85FF TEST EDI,EDI 006F8E17 ^ 75 D7 JNE SHORT 006F8DF0 006F8E19 8BCE MOV ECX,ESI 006F8E1B E8 C0F7E4FF CALL 005485E0
[large]Всех с праздником. С Днём Победы![/large]
[---]
@listener - Казахский солдат??? Именины???
@~AquaZ~ -
Младший бит по смещению byte[CVehicle + 0x5B9]
@d88 -
{$CLEO}
33@ = 0
while true
wait 0
if
Player.Defined($PLAYER_CHAR)
then
if and
0AB0: key_pressed 0x73
33@ > 150
then
035F: actor $PLAYER_ACTOR armour += 10
33@ = 0
end
if and
0AB0: key_pressed 0x74
33@ > 150
then
035F: actor $PLAYER_ACTOR armour += -10
33@ = 0
end
04DD: 0@ = actor $PLAYER_ACTOR armour
0AD1: show_formatted_text_highpriority "~b~Armour %d" time 2000 0@
end
end
@CraZZZy-GameRRR - перебирает все активные потоки:
procedure TForm1.Button1Click(Sender: TObject);
var
ProcessId, Process, BytesRead: Cardinal;
ActiveThread: Cardinal;
ThreadName: array [0..7] of AnsiChar;
begin
// ProcessId := StrToInt(Edit1.Text);
Process := OpenProcess(PROCESS_ALL_ACCESS, False, ProcessId);
if Process <> 0 then
begin
ReadProcessMemory(Process, Ptr($A8B42C), @ActiveThread, 4, BytesRead);
while ActiveThread <> 0 do
begin
ReadProcessMemory(Process, Ptr(ActiveThread + 8), @ThreadName, 8, BytesRead);
if ThreadName = 'bloodr' then
ShowMessage(IntToHex(ActiveThread, 8));
// Memo1.Lines.Add(ThreadName);
ReadProcessMemory(Process, Ptr(ActiveThread), @ActiveThread, 4, BytesRead);
end;
CloseHandle(Process);
end;
end;
@nike - распакуй vcredist.exe в любую папку. Там будет файл VCRedist.inf на нем ПКМ->Установить.
Однако соответствия в координатах не обнаруживается (выхода из цикла не происходит и число на экран не выводится). В чём ошибка?
Координата умножается на 8.0 и отбрасывается дробная часть.
.data:00C279D4 _parkedGeneratorCount dd ? .data:00C27AD0 _parkedGenerators CParkedGenerator 1F4h dup(<?>) 00000000 CParkedGenerator struc ; (sizeof=0x20) 00000000 model dw ? 00000002 color1 db ? 00000003 color2 db ? 00000004 x dw ? 00000006 y dw ? 00000008 z dw ? 0000000A angle db ? 0000000B alarm db ? 0000000C doorLock db ? 0000000D field_D db ? 0000000E field_E dw ? 00000010 moneyValue dw ? 00000012 field_12 dw ? 00000014 time dd ? 00000018 field_18 dw ? 0000001A enabled dw ? 0000001C field_1C db ? 0000001D allocated db ? 0000001E field_1E dw ? 00000020 CParkedGenerator ends
Коэффициенты для x, y, z, angle для упаковки в WORD'ы и BYTE:
x 8.0 y 8.0 z 8.0 angle 0.71111107