Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Pobierz] Soldat 1.6.3 Teleporter


woBniaR

Rekomendowane odpowiedzi

Opublikowano

Widac ze robia w exe bo jest lepsze i nie ma zadnego blendu . Czy pisanie cheatow w pliku dll juz nie dziala?

  • 1 miesiąc temu...
  • 2 miesiące temu...
Opublikowano

Compile this code in Delphi and u will have it:

program sol;
{$APPTYPE CONSOLE}
uses
 SysUtils,
 Windows;
type
 // REKORD ADRES - do odczytywania zmiennych z Soldata
 Adres = record
   addr : cardinal;   // adres poczatkowy
   typ : byte;	    // typ zmiennej, typy ponizej
   rozn : cardinal;   // roznica adresu pomiedzy id
 end;
const
 // TYPY ZMIENNYCH
 B1 = 1;			  // 1 bajt   (byte, char)
 B2 = 2;			  // 2 bajty  (short, unsigned short)
 B4 = 4;			  // 4 bajty  (long, unsigned long)
 B8 = 8;			  // 8 bajtow (double)
 FL = 5;			  // float    (4 bajty)
 PLAYERRECORD = $764684 - $758585; // 0xCOFF
 // pozycja x gracza
 XPos : Adres = (
  addr : $B64CD8;
  typ : FL;
  rozn : $8;
   );
 // pozycja y gracza
 YPos : Adres = (
  addr : $B64CDC;
  typ : FL;
  rozn : $8;
   );
 // id gracza na ktorym jest kamera
 CamID : Adres = (
  addr : $74C5A4;
  typ : B1;
  rozn : $0;
   );
 // id gracza ktorym gramy
 ID : Adres = (
  addr : $B88EBC;
  typ : B1;
  rozn : $0;
   );
 // pozycja myszki gracza
 XMouse : Adres = (
  addr : $758572;
  typ : B2;
  rozn : PLAYERRECORD;
   );
 YMouse : Adres = (
  addr : $758574;
  typ : B2;
  rozn : PLAYERRECORD;
   );
 // ilosc amunicji
 Ammo : Adres = (
   addr : $758585;
   typ : B1;
   rozn : PLAYERRECORD;
 );
var
 h : THandle;
 PID, ily: longword;
// znajduje okno
function znajdz(okno:PAnsiChar) : boolean;
begin
  GetWindowThreadProcessId(FindWindow(nil, okno), @PID);
  h := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
  result := (PID <> 0);
end;
// pobiera wartosc z adresu danego typu do zmiennej
function GetVar(a : cardinal; b : cardinal) : variant;
var
 bb1 : byte;
 bb2 : word;
 bb4 : cardinal;
 bb8 : double;
 ffl : single;
begin
 if not znajdz('Soldat') then exit;
 case ( of

   B1 : begin
    readprocessmemory(h,pointer(a),@bb1,1,ily);
    result := bb1;
    exit;
  end;
   B2 : begin
    readprocessmemory(h,pointer(a),@bb2,2,ily);
    result := bb2;
    exit;
  end;
   B4 : begin
    readprocessmemory(h,pointer(a),@bb4,4,ily);
    result := bb4;
    exit;
  end;
   FL : begin
    readprocessmemory(h,pointer(a),@ffl,4,ily);
    result := ffl;
    exit;
  end;
   B8 : begin
    readprocessmemory(h,pointer(a),@bb8,8,ily);
    result := bb8;
    exit;
  end;
 end;
 result := 0;
end;
// wpisuje wartosc do adresu danego typu z zmiennej
procedure SetVar(a : cardinal; b : cardinal; val : variant);
var
 bb1 : byte;
 bb2 : word;
 bb4 : cardinal;
 bb8 : double;
 ffl : single;
begin
 if not znajdz('Soldat') then exit;
 case ( of

   B1 : begin
    bb1 := val;
    writeprocessmemory(h,pointer(a),@bb1,1,ily);
    exit;
  end;
   B2 : begin
    bb2 := val;
    writeprocessmemory(h,pointer(a),@bb2,2,ily);
    exit;
  end;
   B4 : begin
    bb4 := val;
    writeprocessmemory(h,pointer(a),@bb4,4,ily);
    exit;
  end;
   FL : begin
    ffl := val;
    writeprocessmemory(h,pointer(a),@ffl,4,ily);
    exit;
  end;
   B8 : begin
    bb8 := val;
    writeprocessmemory(h,pointer(a),@bb8,8,ily);
    exit;
  end;
 end;

end;
// pobiera wartosc z adresu do zmiennej
function VGet(a : Adres) : variant;
begin
 result := GetVar(a.addr,a.typ);
end;
// wpisuje wartosc do adresu z zmiennej
procedure VSet(a : Adres; val : variant);
begin
 SetVar(a.addr,a.typ,val);
end;
// pobiera wartosc z adresu dla aktywnego id do zmiennej
function GetByID(a : Adres) : variant;
begin
 result := GetVar(a.addr+(VGet(ID)-1)*a.rozn,a.typ);
end;
// wpisuje wartosc do adresu dla aktywnego id z zmiennej
procedure SetByID(a : Adres; val : variant);
begin
 SetVar(a.addr+(VGet(ID)-1)*a.rozn,a.typ,val);
end;
// czy przycisk jest nacisniety
function KeyDown(key:byte) : boolean;
begin
 result := ((GetAsyncKeyState(key) and $80000000)>0);
end;
const
 // przycisk teleportu, ustawiony domyslnie na ctrl
 KEY_TELEPORT = VK_CONTROL;
type
 // state - czy przycisk jest wcisniety
 // pressed - gdy przycisk zostal wlasnie nacisniety
 keystate = record
   state : boolean;
   pressed : boolean;
 end;
var
 // stan przycisku do teleportowania do myszki
 TELESTATE : keystate;
begin
 // ble ble
 writeln('Soldat 1.6.3 Teleporter by woBniaR');
 writeln('');
 writeln('Strzaleczki - teleport na okolo');
 writeln('CTRL - teleport do myszki');
 writeln('');
 writeln('Upewnij sie ze Soldat jest otwarty...');
 // glowna petla
 repeat
   // teleportowanie w 4 strony
   if keydown( VK_LEFT  ) then SetByID(XPos,GetByID(XPos)-100);
   if keydown( VK_RIGHT ) then SetByID(XPos,GetByID(XPos)+100);
   if keydown( VK_UP    ) then SetByID(YPos,GetByID(YPos)-130);
   if keydown( VK_DOWN  ) then SetByID(YPos,GetByID(YPos)+100);
   // BADANIE PRZYCISKU ...
   { \/ }
   if TELESTATE.pressed then TELESTATE.pressed := false;
   if (keydown(KEY_TELEPORT)) and (not TELESTATE.state) then begin
  TELESTATE.state := true;
  TELESTATE.pressed := true;
   end;
   if not keydown(KEY_TELEPORT) then TELESTATE.state := false;
   { /\ }
   // jesli przycisk teleportu do myszki zostal wlasnie wcisniety
   if TELESTATE.pressed then begin
  // ustawienie pozycji gracza na pozycje jego myszki
  // potrzebna jest konwersja na smallint by wartosc mogla byc na minusie
  SetByID(XPos,smallint(GetByID(XMouse)));
  SetByID(YPos,smallint(GetByID(YMouse)));
   end;
   // odczekanie 100 milisekund
   Sleep(100);
 until 1<>1;
end.

Twoja stara robi catch the clowny w Game Makerze.

Opublikowano

Nie wiem bo nie szukałem.

Ale wystarczy przecież szukać w ce takiej wartości jaką masz w weapons.ini dla aktualnej broni.

Twoja stara robi catch the clowny w Game Makerze.

  • 2 tygodnie później...
  • 3 tygodnie później...
Opublikowano

Po to, że i tak nikt tego nie będzie umiał sobie skompilować xD

 

 

@edit

 

btw. wobniar, dzięki za adresy, nie chciało mi się szukać :PPP

Obecnie po trochu piszę cheata do soldat :

przechwytywaniesb.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...