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

Source Exp Is Easy v3


Loked

Rekomendowane odpowiedzi

Opublikowano

Witam. Szukając różnych source'ów, znalazłem na UG kod Exp Bota - Exp Is Easy v3.

 

Form1.H

void DrawRectangle(Pen^ pen, int x, int y, int width, int height);

void FillRectangle(Pen^ pen, int x, int y, int width, int height);

int rad;

bool mobrange,attack,mobbing;

bool pickstate;

// HpControl

////////////////////

int hpcontrol = 0;

int HpPercent;

int mpcontrol = 0;

float fixx,fiyy;

float Hp,MaxHp;

float Mp,MaxMp;

int MpPercent;

bool nearestinrange = false;

void restart(){

try{

DWORD RestartCall = 0x00424AF0;

char* ricomincia="/restart_here";

__asm{

MOV ECX,DWORD PTR DS:[0x7E54CC]

PUSH 0x0

PUSH ricomincia

CALL RestartCall

CALL SkillCall2

}}

catch(...){}

}

void SendSkill(int slot) {

__asm{

MOV ECX,DWORD PTR DS:[0x7E2E1C]

PUSH slot

CALL SkillCall1

CALL SkillCall2

}}

void UseItem(int slot) {

__asm{

MOV ECX,DWORD PTR DS:[0x7E54CC]

PUSH slot

CALL UseItemCall1

CALL UseItemCall2

}}

void PickUp(){

__asm{

MOV ECX,DWORD PTR DS:[0x7E2E1C]

CALL PickUpCall

}}

String ^ CharToString(const char *chr)

{

String^ retn = gcnew String(chr);

return retn;

//label->Text = ::String::Format("{0}",CharToString((char *)Address));

}

void MEMwrite(void *adr, void *ptr, int size)

{

if (adr){

DWORD dwback;

VirtualProtect(adr,size,PAGE_EXECUTE_READWRITE, &dwback);

memcpy(adr,ptr,size);

VirtualProtect(adr,size,dwback, &dwback);

}

}

void Mobber(int id){

DWORD mobcall = 0x4229F0;

__asm

{

MOV ECX,DWORD PTR DS:[0x7E54CC]

PUSH id

PUSH 0x0

CALL mobcall

}} // Fine

// Parte dopo la dichiarazione della classe Form1, che crea i subControlli del form ecc

void start(){

pickstate = false;

if (checkBox4->Checked){autoAttackMob->Enabled = true;}

else{autoAttackMob->Enabled = false;}

if (pickcheck->Checked == true){

pickstate = true;}

if (checkBox1->Checked == true){

Mobbing->Enabled = true; Mobbing->Interval = Convert::ToInt32(numericUpDown3->Value) * 1000; }

if (checkBox2->Checked == true){

HpTime->Enabled = true;

HpTime->Interval = Convert::ToInt32(textBox1->Text) * 1000;

}

if (checkBox3->Checked == true){

MpTime->Enabled = true;

MpTime->Interval = Convert::ToInt32(textBox1->Text) + 2 * 1000;

}

}

void stop(){

autoAttackMob->Enabled = false;

Mobbing->Enabled= false;

AutoPickUp->Enabled = false;

//HpTime->Enabled = false;

//MpTime->Enabled = false;

try{

*(int*)(*(DWORD*)AttackMob + 0x54) = 0x0;}

catch(...){}

}

void drawMob(int x,int y,int index)

{

Graphics ^ g;

g = map->CreateGraphics();

Pen^ Red = gcnew Pen( Color::Red,2.0f );

Pen^ Yellow = gcnew Pen( Color::Yellow,2.0f );

Pen^ Green = gcnew Pen( Color::Green,2.0f );

Pen^ Cyan = gcnew Pen( Color::Cyan,2.0f );

Pen^ morto = gcnew Pen( Color::Maroon,2.0f );

Pen^ Metin = gcnew Pen( Color::Brown,2.0f );

Pen^ Black = gcnew Pen( Color::Black,2.0f );

if (mob[index].value >= 8001 && mob[index].value <= 8027){g->DrawRectangle(Metin, x, y, 2, 2);}

else if (mob[index].value >= 0 && mob[index].value <= 7){g->DrawRectangle(Yellow, x, y, 2, 2);}

else if (mob[index].value >= 9001 && mob[index].value <= 20365){g->DrawRectangle(Green, x, y, 2, 2);}

else if (mob[index].ismob == true){

if (mob[index].alive == true){if((mob[index].range < rad)){g->DrawRectangle(Red, x, y, 2, 2);}else{g->DrawRectangle(Red, x, y, 1, 1);}}

else {g->DrawRectangle(morto, x, y, 2, 2);}}

if (mob[index].nearest == true){

g->DrawRectangle(Cyan, x, y, 2, 2);}

}

void drawRange(){

Graphics ^ g;

g = map->CreateGraphics();

Pen^ Metin = gcnew Pen( Color::White,1.0f );

int xx = (map->Width/2);

int yy = (map->Height/2);

rad = Convert::ToInt32(numericUpDown1->Value);

SolidBrush^ redBrush = gcnew SolidBrush(Color::FromArgb(98, Color::Brown));

g->DrawEllipse(Metin, xx - rad, yy - rad ,rad * 2 ,rad*2 );}

void savemob()

{

for (int i = 0; i < 199;i++)

{

try

{

int yy = (map->Height/2);

int xx = (map->Width/2);

SetMob(i);

drawMob(mob.x+xx,mob.y+yy,i);

drawRange();

}

catch (...)

{

continue;

}

}

}

void MobToYou(){

try{

rad = Convert::ToInt32(numericUpDown1->Value);

for (int i = 0; i < 180; i++)

{if (mob.ismob == true){

if (mob.alive == true){

if (mobrange){

if(mob.range < rad){

Mobber(mob.id);}}else{Mobber(mob.id);}

if (mobrange){

if(mob[nearest].range < rad){

Mobber(mob[nearest].id);}}

else{Mobber(mob[nearest].id);}

;}}}}

catch(...){}

}

void SetHpState()

{

sscanf_s((char *)(ADR_HP+5),"%d / %d",&Hp, &MaxHp);

HpPercent = (Hp/MaxHp)*100;

HpPic->Size = System::Drawing::Size(HpPercent, 4);

}

void SetMpState(){

sscanf_s((char *)(ADR_MP+5),"%d / %d",&Mp, &MaxMp);

MpPercent = (Mp/MaxMp)*100;

MpPic->Size = System::Drawing::Size(MpPercent, 4);

}

void UsaPozzaRossa(){

if (CercaItem(rossagrande) != 99){UseItem(CercaItem(rossagrande));}

else if (CercaItem(rossamedia) != 99){UseItem(CercaItem(rossamedia));}

else if (CercaItem(rossapiccola) != 99){UseItem(CercaItem(rossapiccola));}

}

void UsaPozzaBlu(){

if (CercaItem(blugrande) != 99){UseItem(CercaItem(blugrande));}

else if (CercaItem(blumedia) != 99){UseItem(CercaItem(blumedia));}

else if (CercaItem(blupiccola) != 99){UseItem(CercaItem(blupiccola));}

}

void RedPoting(){

// if (HpPercent < hpcontrol){

UsaPozzaRossa();//}

}

void BluPoting(){

//if(MpPercent < mpcontrol){

UsaPozzaBlu();//}

}

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void mapset_Tick(System::Object^ sender, System::EventArgs^ e) {

try{

//hpcontrol = hpbar->Value;

//label2->Text = "Hp-> " + HpPercent + "%";

//label3->Text = "Mp-> " + MpPercent + "%";

//SetHpState();

//SetMpState();

//label23->Text = Convert::ToString(hpcontrol + "%");}

}

catch(...){}

}

private: System::Void autoAttackMob_Tick(System::Object^ sender, System::EventArgs^ e) {

try{//if((mob_x-centro_x)^2 + (mob_y-centro_y)^2 > raggio^2) {

rad = Convert::ToInt32(numericUpDown1->Value);

if(mob[nearest].range < rad){

if(pickstate){PickUp();}

*(int*)(*(DWORD*)AttackMob + 0x54) = mob[nearest].id;}}//}

catch(...){}

}

private: System::Void pginfo_Tick(System::Object^ sender, System::EventArgs^ e) {

try{

map->Refresh(); savemob();}catch(...){}

try{

//livlab->Text = Convert::ToString(((int *)(*(DWORD*)(*(DWORD*)ArrayMob+0x0)+ 64)));

label1->Text = ::String::Format("{0}",CharToString((char *)(*(DWORD*)(*(DWORD*)mobaddy + 0x0)+ 0x14 )));

int type = *(int*)(*(DWORD*)(*(DWORD*)ArrayMob+0x0)+ 0x16c);

livlab->Text = Convert::ToString(*(int*)(*(DWORD*)(*(DWORD*)mobaddy + 0x0) + 0x560));

if ( type == 0 ){face->ImageLocation = "http://img88.imageshack.us/img88/6427/warriorm.png";}

else if ( type == 1){face->ImageLocation = "http://img703.imageshack.us/img703/9763/assassinw.png";}

else if ( type == 2){face->ImageLocation = "http://img718.imageshack.us/img718/6199/suram.png";}

else if (type == 3){face->ImageLocation = "http://img339.imageshack.us/img339/502/shamanw.png";}

else if (type == 4){face->ImageLocation = "http://img542.imageshack.us/img542/586/warriorw.png" ;}

else if (type == 5){face->ImageLocation = "http://img99.imageshack.us/img99/518/assassinm0.png" ;}

else if (type == 6){face->ImageLocation = "http://img440.imageshack.us/img440/5659/suraw.png" ;}

else if (type == 7){face->ImageLocation ="http://img227.imageshack.us/img227/9826/shamanm.png";}}

catch(...){

face->ImageLocation = "http://img252.imageshack.us/img252/3597/faceframe.png";

label1->Text = "";

}

}

private: System::Void detouring_Tick(System::Object^ sender, System::EventArgs^ e) {

RedPoting();

}

private: System::Void button1_Click_1(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void panel1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {

this->Size = System::Drawing::Size(183, 649);

//this->Size = System::Drawing::Size(648, 329);

panel2->Location = System::Drawing::Point(-7, 339);

panel5->Location = System::Drawing::Point(0, 595);

}

private: System::Void panel4_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {

this->Size = System::Drawing::Size(182, 393);

panel2->Location = System::Drawing::Point(0, 320);

panel5->Location = System::Drawing::Point(0, 339);

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

//Conf^ dos = gcnew Conf;

//dos->Show();

if (statoBot == 0){

button1->Text = "STOP BOT";

try{

px1= *(float*)(*(DWORD*)(*(DWORD*)pointer + 0x4) + 0x584);

py1 = *(float*)(*(DWORD*)(*(DWORD*)pointer + 0x4) + 0x588);

textBox3->Text = Convert::ToString(px1);

textBox4->Text = Convert::ToString(py1);}

catch(...){}

// Qui i vari timer da attivare

start();

button1->ForeColor = System::Drawing::Color::Red;

statoBot = 1;

}

else if (statoBot == 1){

statoBot = 0;

button1->Text = "START BOT";

// qui i vari timer da disattivare

stop();

button1->ForeColor = System::Drawing::Color::DarkCyan;}}

private: System::Void button17_Click(System::Object^ sender, System::EventArgs^ e) {

int tempo = Convert::ToInt32(f1box->Text);

f1->Interval = tempo * 1000;

f1->Enabled = true;

SendSkill(4);

}

private: System::Void f2_Tick(System::Object^ sender, System::EventArgs^ e) {

SendSkill(5);

}

private: System::Void f1_Tick(System::Object^ sender, System::EventArgs^ e) {

SendSkill(4);

}

private: System::Void f3_Tick(System::Object^ sender, System::EventArgs^ e) {

SendSkill(6);

}

private: System::Void f4_Tick(System::Object^ sender, System::EventArgs^ e) {

SendSkill(7);

}

private: System::Void button8_Click(System::Object^ sender, System::EventArgs^ e) {

f1->Enabled = false;

}

private: System::Void button10_Click(System::Object^ sender, System::EventArgs^ e) {

int tempo = Convert::ToInt32(f2box->Text);

f2->Interval = tempo * 1000;

SendSkill(5);

f2->Enabled = true;

}

private: System::Void button9_Click(System::Object^ sender, System::EventArgs^ e) {

f2->Enabled = false;

}

private: System::Void button12_Click(System::Object^ sender, System::EventArgs^ e) {

int tempo = Convert::ToInt32(f3box->Text);

f3->Interval = tempo * 1000;

f3->Enabled = true;

SendSkill(6);

}

private: System::Void button11_Click(System::Object^ sender, System::EventArgs^ e) {

f3->Enabled = false;

}

private: System::Void button14_Click(System::Object^ sender, System::EventArgs^ e) {

int tempo = Convert::ToInt32(f4box->Text);

f4->Interval = tempo * 1000;

f4->Enabled = true;

SendSkill(7);

}

private: System::Void button13_Click(System::Object^ sender, System::EventArgs^ e) {

f4->Enabled = false;

}

private: System::Void Mobbing_Tick(System::Object^ sender, System::EventArgs^ e) {

MobToYou();

}

private: System::Void restarting_Tick(System::Object^ sender, System::EventArgs^ e) {

stop();

stop();

restart();

restart();

restart();

for (int i = 0; i < 5 ; i++){

RedPoting();

Sleep(100);

BluPoting();}

RedPoting();

RedPoting();

RedPoting();

revive->Enabled = true;

restarting->Enabled = false;

}

private: System::Void revive_Tick(System::Object^ sender, System::EventArgs^ e) {

for (int i = 0; i < 20; i++){

BluPoting();

RedPoting();

}

if (statoBot == 1){

start();}

if (statoBot == 1){

start();}

if (statoBot == 1){

start();}

if (statoBot == 1){

start();}

revive->Enabled = false;}

private: System::Void panel2_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {

}

private: System::Void pickcheck_CheckedChanged(System::Object^ sender, System::EventArgs^ e) {

if (pickcheck->Checked){pickstate = true;}

else{pickstate = false;}

}

private: System::Void MpTime_Tick(System::Object^ sender, System::EventArgs^ e) {

BluPoting();

}

private: System::Void checkBox1_CheckedChanged(System::Object^ sender, System::EventArgs^ e) {

if (checkBox1->Checked){ if(statoBot == 1){Mobbing->Enabled = true;}}

else{Mobbing->Enabled = false;}

}

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

listBox1->Items->Clear();

for ( int i = 0; i < 2000; i++){

try{

int valori = *(int*)(*(DWORD*)(*(DWORD*)mobaddy + 0x0) + (0x1 + i));

String ^ val = ::String::Format("{0}",CharToString((char *)(*(DWORD*)(*(DWORD*)ArrayMob+0x0)+ (1 + i))));

if (valori != 0){

if (valori == 1699565423){listBox1->Items->Add(valori + " Char: " + val + " Offset : " + ( 0x1 + i));}

if (valori == 22){listBox1->Items->Add(valori + " Char: " + val + " Offset : " + ( 0x1 + i));}

if (valori ==1){ listBox1->Items->Add(valori + " Char: " + val + " Offset : " + ( 0x1 + i));}}}

catch(...){}}}

private: System::Void panel4_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {

}

private: System::Void livlab_TextChanged(System::Object^ sender, System::EventArgs^ e) {

try {

int stato= *(int*)(*(DWORD*)(*(DWORD*)mobaddy + 0x0) + 0x560);

if (stato == 1){restarting->Enabled = true;}}

catch(...){}

}

private: System::Void panel3_Paint(System::Object^ sender, System::Windows::Forms::PaintEventArgs^ e) {

}

private: System::Void numericUpDown1_ValueChanged(System::Object^ sender, System::EventArgs^ e) {

rad = Convert::ToInt32(numericUpDown1->Value);

drawRange();

}

private: System::Void checkBox4_CheckedChanged(System::Object^ sender, System::EventArgs^ e) {

if (checkBox4->Checked){ if(statoBot == 1){autoAttackMob->Enabled = true;}}

else{autoAttackMob->Enabled = false;}

}

private: System::Void checkBox5_CheckedChanged(System::Object^ sender, System::EventArgs^ e) {

if (checkBox5->Checked){mobrange = true;}

else{mobrange = false;}

}

private: System::Void numericUpDown3_VisibleChanged(System::Object^ sender, System::EventArgs^ e) {

Mobbing->Interval = Convert::ToInt32(numericUpDown3->Value) * 1000;

}

private: System::Void numericUpDown3_ValueChanged(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void numericUpDown2_ValueChanged(System::Object^ sender, System::EventArgs^ e) {

try{ *(int*)0x44A8BA = Convert::ToInt32(numericUpDown2->Value);

}

catch(...){}

}

 

 

 

 

 

Mob.cpp

#ifndef MOB_H

#define MOB_H

struct Mob {

float x,

y,x1,y1,

dist,range;

int id,

value,

vita,

type;

bool attracted,

ismob,

alive,

nearest,

inrange;

char* color;

};

#endif

 

 

 

 

Mob.H

#include <windows.h>

#include <math.h>

#include "Mob.cpp"

#define mobaddy 0x7E58FC

#define pointer 0x7E5628

int nearest;

Mob mob[200];

float px1,py1;

void SetInfo(int index){

float playerx= *(float*)(*(DWORD*)(*(DWORD*)pointer + 0x4) + 0x584);

float playery = *(float*)(*(DWORD*)(*(DWORD*)pointer + 0x4) + 0x588);

float mobx= *(float*)(*(DWORD*)(*(DWORD*)mobaddy + 0x4*index) + 0x584);

float moby= *(float*)(*(DWORD*)(*(DWORD*)mobaddy + 0x4*index) + 0x588);

int mx = mobx / 100;

int px = playerx/100;

int my = moby /100;

int py = playery/100;

int px2 = px1/100;

int py2 = py1/100;

mob[index].x = (mx-px);

mob[index].y = (py-my);

mob[index].x1 = (mx-px2);

mob[index].y1 = (py2-my);

if ( index != 0){

mob[index].value = *(int*)(*(DWORD*)(*(DWORD*)mobaddy + 0x4*index) + 0x16c);

mob[index].id = *(int*)(*(DWORD*)(*(DWORD*)mobaddy + 0x4*index) + 0x678);

mob[index].vita = *(int*)(*(DWORD*)(*(DWORD*)mobaddy + 0x4*index) + 0x560);

mob[index].dist = sqrt(pow(mob[index].x, 2) + pow( mob[index].y, 2));

mob[index].range = sqrt(pow(mob[index].x1, 2) + pow( mob[index].y1, 2));

mob[index].nearest = false;

mob[index].inrange = false;}}

void SetType(int index){

if (mob[index].value >= 8001 && mob[index].value <= 8027){mob[index].type = 1;}

else if (mob[index].value >= 0 && mob[index].value <= 7){mob[index].type = 2;}

else if (mob[index].value >= 9001 && mob[index].value <= 20365){mob[index].type = 3;}

else {mob[index].type = 4;}

}

void isAMob(int index){

void SetType(int index);

if ( mob[index].type == 4 ){mob[index].ismob = true;}

else { mob[index].ismob = false;}}

void SetAlive(int index){

int life = mob[index].vita;

if (mob[index].ismob == true){

if (life == 0){mob[index].alive = true;}

else { mob[index].alive = false;}}

}

void SetNearest(int index){

nearest =2;

if (index > 0){}

for (int i = 2; i < 200; i++)

{

if (mob.dist !=0 && mob[nearest].dist != 0){

if (mob[nearest].dist > mob.dist){

if (mob.ismob == true){

if (mob.alive == true){

nearest = i;}}}}

else {continue;}

}

mob[nearest].nearest = true;

}

void SetMob(int num){

SetInfo(num);

SetType(num);

isAMob(num);

SetAlive(num);

SetNearest(num);}

 

Nie moja robota, ale myślę że się przyda.

;)

Jeśli ci pomogłem, wejdź tutaj :

Kliknij i zaznacz wszystkie kółka aby pomóc innym.

 

 

sigpic1_2.gif

Opublikowano

Zly dział powinieneś umieścić to tutaj:

http://www.mpcforum.pl/forum/350-tworzenie-cheatow/

 

A to chyba możesz usunąć bo masz spoilery:

Sorry, że bez spoilerów, ale nie działały :

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...