Lol^^ ich versteh nur Bahnhof 1. kann ich das nicht mim editor öffnen
und 2. welches programm macht die datei zur dll ?
Edit ich kanns mit script editor öffnen, dass sieht dann so aus
library DefusePlant;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muss sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }
uses
SysUtils,
Classes,
Windows;
{$R *.res}
type
PBasicPlayerInfo = ^TBasicPlayerInfo;
TBasicPlayerInfo = packed record // 00A8
BasicPlayerInfoType: DWord; // 0000
MovementSpeed: Single; // 0004
MovementWalkRate: Single; // 0008
MovementDuckWalkRate: Single; // 000C
MovementSideMoveRate: Single; // 0010
MovementFBRunAnimRate: Single; // 0014
MovementLRRunAnimRate: Single; // 0018
MovementFBWalkAnimRate: Single; // 001C
MovementLRWalkAnimRate: Single; // 0020
MovementAccelation: Single; // 0024
MovementFriction: Single; // 0028
JumpTime: Single; // 002C
JumpVelocity: Single; // 0030
JumpLandedWaitTime: Single; // 0034
JumpLandedNoJumpTimeRate: Single; // 0038
JumpRepeatPenaltyMoveRate: Single; // 003C
JumpRepeatPenaltyHeightRate: Single; // 0040
JumpLandedMovePenaltyTimeRate: Single; // 0044
JumpLandedMovePenaltyMoveRate: Single; // 0048
Unknown0: array[1..40] of Byte; // 004C
DamagePenaltyTime: Single; // 0074
DamagePenaltyMoveRate: Single; // 0078
C4PlantTime: Single; // 007C
C4DefuseTime: Single; // 0080
MaxCanDefuseDistance: Single; // 0084
CharacterHiddenAlpha: Single; // 0088
CharacterHiddenWalkAlpha: Single; // 008C
CharacterHiddenRunAlpha: Single; // 0090
MovementHiddenRate: Single; // 0094
CrossHairColor: Single; // 0098
CrossHarColorRedChangeRate: Single; // 009C
CrossHairColorGreenChangeRate: Single; // 00A0
CrossHairColorBlueChangeRate: Single; // 00A4
end;
const
OFFSET_PLAYERINFO = $1024E240; // Note: Offset ist nicht aktuell
var
PlayerInfo: PBasicPlayerInfo;
CShellBase: Cardinal;
hThreadMain: THandle;
function ThreadMain(Param: Pointer): DWord; stdcall;
begin
CShellBase := 0;
repeat
CShellBase := Cardinal(GetModuleHandle('cshell.dll'));
until CShellBase > 0;
while (PCardinal(CShellBase + OFFSET_PLAYERINFO)^ = 0) do
begin
Sleep(100);
end;
PlayerInfo := Pointer(PCardinal(CShellBase + OFFSET_PLAYERINFO)^);
PlayerInfo^.C4DefuseTime := PlayerInfo^.C4DefuseTime / 5;
Result := 0;
end;
var
DLLProcNext: procedure(Reason: Integer);
procedure DLLMain(Reason: Integer);
var
TID: DWord;
begin
case Reason of
DLL_PROCESS_ATTACH:
begin
DisableThreadLibraryCalls(SysInit.hInstance);
// Hauptthread starten
hThreadMain := CreateThread(nil, 0, @ThreadMain, nil, 0, TID);
end;
DLL_THREAD_ATTACH:;
DLL_THREAD_DETACH:;
DLL_PROCESS_DETACH:
begin
// Hauptthread beenden
if (hThreadMain > 0) then
begin
TerminateThread(hThreadMain, 0);
end;
// Programm beenden
ExitProcess(0);
end;
end;
if Assigned(DLLProcNext) then DLLProcNext(Reason);
end;
begin
// DLL Main initialisieren und aufrufen
DLLProcNext := Pointer(InterlockedExchange(Integer(@DLLProc), Integer(@DLLMain)));
DLLMain(DLL_PROCESS_ATTACH);
end.