SRL Archive - Archive

Liquid.Ace - SRL Member Application Form


Liquid.Ace

2007-06-18 05:10:41

<!– BEGIN TEMPLATE: formanswers –>
Liquid.Ace - SRL Member Application Form
Liquid.Ace

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
C++, HTML

Other Communitys
Scar-Scripts.com

How Long have You Played Runescape
3 Years.

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Well to start off my name is Ben and I'm 15 years old. I have 2 Years c++ experience and around 5 years HTML experience. i have been scripting with scar for over 18 months now and I'm still always willing to improve. I've done most of my scripting with scar 2.03 so i need to brush up on the newer scar with some "bugs/errors" I've in counted, one being NEWLINE…

I started scripting around 2 years ago with the help of Jens (Scar-scripts.com Administrator.) i moved on from runescape about a year after then and went on to hack gunz. This is where i gained my c++ experience. While hacking gunz i made many public hacks including, Mplvl, Lawnmower, Insane Massive, Colored User names, Force Join, Colored Clan Names and so on. I recently returned to runescape around 18 months ago and started scripting again. I have finished many scripts and remained relatively private only allowing good friends to use my scripts.

Kind Regards
Ben

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

{-------------------------------------------------------}
{ LiQuid Yew Cutter Setup }
{-------------------------------------------------------}
{-------------------------------------------------------}
{ Have RS on Very Bright Setting. }
{-------------------------------------------------------}
{ Start at Yew Trees, or in Edgeville Bank. }
{-------------------------------------------------------}
{ Set Nickname correctly }
{-------------------------------------------------------}

Program LiQuidYewCutter;
{.include SRL/SRL.scar}
{.include SRL\SRL\Skill\Woodcutting.SCAR}
{.include SRL/SRL/Extended/xBank.scar}


Const
LiQuidFlag = True;
LoadsWanted = 2; //Loads before Switching.

Var
LogDTM, BrokenAxeDTM, Loads, DoorBitmap, AxeHandleDTM, RegularAxeDTM, AxeHeadMask : Integer;
DoneSwitch : Boolean;
LogCount, TotalLogs : Integer;

//////////////////////////////////////////
{----------------------------------------}
{ Player Setup Procedures }
{----------------------------------------}
//////////////////////////////////////////


{---------- Declare Players ----------}

Procedure DeclarePlayers;
begin
Status('LiQuid Is Now Loading Players')

HowManyPlayers := 3;
NumberOfPlayers( HowManyPlayers );
CurrentPlayer := 0;

Players[0].Name := 'Username';
Players[0].Pass := 'Password';
Players[0].Nick := 'est'; // Make Sure You Set This Properly Or I Cant Solve The Randoms
Players[0].Active := True;
Players[0].Loc := '';

Players[1].Name := 'Username';
Players[1].Pass := 'Password';
Players[1].Nick := 'Nickname'; // Make Sure You Set This Properly Or I Cant Solve The Randoms
Players[1].Active := True;
Players[1].Loc := '';

Players[2].Name := 'Username';
Players[2].Pass := 'Password';
Players[2].Nick := 'Nickname'; // Make Sure You Set This Properly Or I Cant Solve The Randoms
Players[2].Active := True;
Players[2].Loc := '';
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Player Setup Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ DTM Procedures }
{----------------------------------------}
//////////////////////////////////////////


{---------- Load DTMS ----------}

Procedure LoadDTMs;

begin
Status('LiQuid Is Now Loading DTMS')

LogDTM := DTMFromString('78DA632C666260E0646440067921460CFF813' +
'448F43F103066314179C880118904D2354035FF19F0AB2905AA11' +
'22604E23500D0F0135C94035DCF8D50000507909F5');

BrokenAxeDTM := DTMFromString('78DA633CCAC4C090C1C8800C9A127919FE036' +
'990E87F2060BC0C54938CAA06220B2381F445A09A04026A8E01D5' +
'C41050B31FA8A698809AB384CD0100CBBD0D20');

AxeHandleDTM := DTMFromString('78DA637CCFC4C0E0C6C8800CCA227819FE036' +
'990E87F2060FC06546389AA06220B2381F473A09A00026ADE00D5' +
'F81350F316A8C685809A97403541F8D50000D0090D3C');

RegularAxeDTM := DTMFromString('78DA637461626060676440060DF1BC0CFF813' +
'448F43F10300601D5FC6740038C482490F604AAF94D408D13500D' +
'2B237E35F640358204D4F813618E1F50CD1F02EE0906AA61C26F0' +
'E0099720B7E');

AxeHeadMask := DTMFromString('78DA63EC656260F06040011DD5D50C5C409A1' +
'188FF0301E3044C3579C929703520C0380353CD97375F2072503E' +
'00CB9B0C31');

DoorBitMap := BitmapFromString(1, 3, '6A5A26F000006A5A26');
end;


{---------- Get Axe Color ----------}

Function GetAxeColor : Boolean;
Var
inX, inY : Integer;
Begin
GameTab(4)
If FindDTM(RegularAxeDTM, inX, inY, MIX1, MIY1, MIX2, MIY2) then
Begin
Head := GetColor(590, 220);
Head2 := GetColor(587, 219);
Head3 := GetColor(588, 218);
Result := True;
end else
GameTab(5)
If FindDTM(RegularAxeDTM, inX, inY, MIX1, MIY1, MIX2, MIY2) then
Begin
Head := GetColor(597, 294);
Head2 := GetColor(600, 295);
Head3 := GetColor(599, 298);
Result := True;
end;
WriteLn('Axe head colors: ' + IntToStr(Head) + ' ' + IntToStr(Head2) + ' ' +
IntToStr(Head3));
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "DTM Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Random Procedures }
{----------------------------------------}
//////////////////////////////////////////


{---------- Ent Checker ----------}

Var
EX, EY : integer;
FX, FY : integer;
SafeEntWait : LongInt;
Procedure EntChecker;
Begin
Status('LiQuid Is Now Checking For An Ent')
If (FindObjMultiText(EX, EY, 'Yew', 'Yew', 'Yew', 1990736, 2)) then
Begin
MMouse(EX, EY, 0, 0)
If FindColorTolerance( FX, FY, 55769, 85, 15, 115, 15, 20) then
Begin
Status('LiQuid Has Now Found An Ent Found');
MouseFindFlag(645, 83, 2, 2);
MarkTime(SafeEntWait)
Repeat
FTWait(5)
FindNormalRandoms;
If Not(LoggedIn) then NextPlayer(False);
Until TimeFromMark(SafeEntWait) > 29000 + Random(10000)
EntsAvoided := EntsAvoided + 1
end;
end;
end;

{---------- Is Axe Broken? ----------}

Var
BX, BY, NX, NY : integer;
Procedure IsAxeBroken;
Begin
Status('LiQuid Is Detected If Axe Is Broken')
GameTab(4)
Wait(400 + Random (100))
If (Not(FindDTM(BrokenAxeDTM, BX, BY, MIX1, MIY1, MIX2, MIY2 ))) then
Begin
Status('LiQuid Has Found The Axe In One Peice')
Exit;
end;
Begin
If (FindDTM(BrokenAxeDTM, BX, BY, MIX1, MIY1, MIX2, MIY2 )) and
(Not(FindDTM(RegularAxeDTM, NX, NY, MIX1, MIY1, MIX2, MIY2))) then
Begin
Status('LiQuid Has Detected Axe Is Broken')
NextPlayer(False)
end;
end;
end;


{---------- Lets Check The Flag Eh? ----------}

Function LiQFlag : Boolean;
Var
I : Integer;
SFF : LongInt;
Begin
If (LiQuidFlag) then
Begin
GameTab(4)
MarkTime(SFF)
Repeat
If (FlagPresent) then
Begin
For I:= 1 to 3 do
Begin
Case I of
1: MMouse(0 + Random(300), 0 + Random(300), 0 + Random(300), 0 + Random(300));
2: FindNormalRandoms;
3: FindTalk;
end;
end;
end;
Wait(600 + Random(400))
If Not(LoggedIn) then NextPlayer(False);
Until (Not(FlagPresent)) or (TimeFromMark(SFF)>10000)
end else
Begin
Flag;
end;
Result := True;
Wait(500 + Random(400))
end;


{---------- Check Door? ----------}

Function FCheckDoor : Boolean;
Var
dX, dY, m : Integer;
Begin
ActivateClient;
MakeCompass('N')
HighestAngle;
m := 0;
Repeat
If FindObjMultiText(dX, dY, 'oor', 'Door', 'Doo', 2574956, 4) or
FindObjMultiText(dX, dY, 'oor', 'Door', 'Doo', 2767952, 4) then
Begin
MMouse(dX, dY, 0, 0)
Wait(100)
If IsUpText('pen') then
Begin
Mouse(dX, dY, 0, 0, True)
Result := True
WriteLn('LiQuid Has Opened The Door')
LiQFlag;
end else
Begin
Result := True;
WriteLn('LiQuid Has Noticed The Door Is Open')
end;
m := m + 1
end;
If Not(LoggedIn) then NextPlayer(False);
Until (Result) or (m > 4)
If (m > 4) then
Begin
WriteLn('LiQuid Cannot Find A Day')
WriteLn('LiQuid Is Now Gonna Try To Find The Open')
end;
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Random Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Cutting Procedures }
{----------------------------------------}
//////////////////////////////////////////

{---------- Start Cutting These Trees ----------}

Var
TX, TY : Integer;
TreeTime, SafeWaiting : LongInt;
Procedure StartChopping;
Begin
ActivateClient;
MakeCompass('N')
MarkTime(TreeTime)
If ( Not (LoggedIn) ) Then
Begin
NextPlayer (False)
Exit;
end;
Repeat
Begin
IsAxeBroken;
Status('LiQuid Is Searching For Yews')
If (InvFull) then
Begin
Exit;
end;
EntChecker;
ActivateClient;
MakeCompass('N')
If (FindObjMultiText(TX, TY, 'Yew', 'Yew', 'Yew', 1990736, 3)) then
Begin
Mouse(TX, TY, 1, 1, True)
Wait( 1400 + Random (200))
MarkTime(SafeWaiting)
Repeat
If InvFull then
Begin
Exit;
end;
If DoneSwitch then
Begin
DoneSwitch := False;
Break;
end;
Wait(10)
If Not (LoggedIn) then NextPlayer(False);
Until (TimeFromMark(SafeWaiting) > 25000 + Random(5000))
end;
end;
If Not (LoggedIn) then NextPlayer(False);
Until (InvFull) or (TimeFromMark(TreeTime)>60000 * (15 + Random(3)))
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Cutting Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Walking Procedures }
{----------------------------------------}
//////////////////////////////////////////


{---------- Walk To Yews ----------}

Function WalkToYew : Boolean;
Var
wX, wY : Integer;
Begin
ActivateClient;
MakeCompass('N')
If FindSymbol(wX, wY, 'Dungeon') then
Begin
Mouse(wX, wY - 3, 0, 0, True)
SetRun(True)
GameTab(4)
LiQFlag;
If FindBitMapToleranceIn(DoorBitMap, wX, wY, MMX1, MMY1, MMX2, MMY2, 9) then
Begin
Mouse(wX, wY, 3, 3, True)
LiQFlag;
end;
FCheckDoor;
If FindSymbol(wX, wY, 'Tree') then
Begin
If Distance(wX, wY, 648, 83) > 41 then
Begin
Mouse(wX + 7, wY + 6, 0, 0, True)
LiQFlag;
end else
Begin
Mouse(wX + 7, wY - 7, 0, 0, True)
LiQFlag;
end;
end;
Result := True;
end else
Begin
Mouse(652, 150, 0, 0, True)
SetRun(True)
GameTab(4)
LiQFlag;
If FindSymbol(wX, wY, 'Dungeon') then
Begin
Mouse(wX, wY - 10, 0, 0, True)
LiQFlag;
end;
FCheckDoor;
If FindSymbol(wX, wY, 'Tree') then
Begin
Mouse(wX + 3, wY + 6, 0, 0, True)
LiQFlag;
end;
Result := True;
end;
end;

{---------- Walk To Edge Bank ----------}

Function WalkToEdgeBank : Boolean;
Var
gX, gY : Integer;

Begin
SetRun(False)
ActivateClient;
MakeCompass('N')
If FindSymbol(gX, gY, 'Dungeon') then
Begin
Mouse(gX, gY - 3, 0, 0, True)
GameTab(4)
LiQFlag;
end;
If FindBitMapToleranceIn(DoorBitMap, gX, gY, MMX1, MMY1, MMX2, MMY2, 9) then
Begin
Mouse(gX, gY, 3, 3, True)
LiQFlag;
end;
FCheckDoor;
ActivateClient;
MakeCompass('N')
Mouse(625, 21, 5, 0, True)
Wait(3000+Random(1000))
LiQFlag;
If FindDTM(AxeHeadMask, gX, gY, MMX1, MMY1, MMX1, MMY2) then
Begin
WriteLn('LiQuid Has Found A Mask')
Mouse(gX - 5, gY, 0, 0, True)
LiQFlag;
end else
If FindSymbol(gX, gY, 'Bank') or
FindMMColorTol(gX, gY, 5492188, 3) then
Begin
WriteLn('LiQuid Has Found The Color')
Mouse(gX, gY + 4, 4, 4, True)
LiQFlag;
end else
If FindSymbol(gX, gY, 'Cook') then
Begin
WriteLn('LiQuid Couldnt Find The Other Color Using Cook Symbol')
Mouse(gX + 67, gY - 2, 3, 3, True)
LiQFlag;
end;
Result := True;
WriteLn('LiQuid Has Detected We Are In The Bank')
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Walking Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Tree Switching Procedures }
{----------------------------------------}
//////////////////////////////////////////

{---------- Switch To First Tree ----------}

Function SwitchTrees : Boolean;
Var
tX, tY, sX, sY, Dist : Integer;

Begin
ActivateClient;
MakeCompass('N')
If Not FindObj(tX, tY, 'Yew', 1990736, 2) then
Begin
If FindSymbol(sX, sY, 'Dungeon') or
FindMMColorTol(sX, sY, 5201919, 2) then
Begin
Dist := Distance(683, 68, sX, sY)
If (Distance(648, 84, sX, sY) < 33) then
Begin
WriteLn('Distance = ' + IntToStr(Dist) + '.')
WriteLn('LiQuid Is Now Locating The Northen Trees')
Mouse(645, 57, 3, 3, True)
LiQFlag;
Result := True;
DoneSwitch := True;
end else
Begin
Dist := Distance(653, 116, sX, sY)
WriteLn('Distance = ' + IntToStr(Dist) + '.')
WriteLn('LiQuid Is Now Locating The Southen Trees')
Mouse(652, 118, 3, 3, True)
LiQFlag;
Result := True;
DoneSwitch := True;
end;
end;
end;
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Tree Switching Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Banking Procedures }
{----------------------------------------}
//////////////////////////////////////////

{---------- Open Edge Bank ----------}

Function OpenEdgeBank : Boolean;
Var
bbX, bbY, bbTries : Integer;
Begin
bbTries := 0
ActivateClient;
MakeCompass('N')
ActivateClient;
HighestAngle;
If FindDTM(AxeHeadMask, bbX, bbY, MMX1, MMY1, MMX2, MMY2) then
Begin
Mouse(bbX, bbY + 7, 0, 0, True)
LiQFlag;
end;
Repeat
If FindObjMultiText(bbX, bbY, 'ank b', 'booth', 'Bank booth', 607324, 3) then
Begin
Mouse(bbX, bbY, 0, 0, False)
Wait(100)
ChooseOption(x, y, 'uick')
Result := True;
LiQFlag;
Wait(5000+Random(1000))
end else
Begin
bbTries := bbTries + 1
WriteLn('LiQuid Cannot Find The Bank, I Have Tried ' + IntToStr(bbTries) + ' time[s]')
end;
If Not(LoggedIn) then NextPlayer(False);
Until (Result) or (bbTries > 7)
If (bbTries > 7) then
Begin
WriteLn('LiQuid Has Wasted Too Much Time And Is Now Lost.')
Players[CurrentPlayer].Loc := 'Lost';
LogOut;
NextPlayer(False);
Exit;
end;
Result := True;
Wait(1000 + Random(1000))
end;

{---------- Did We Get Something Random? Lets Store It ----------}

Procedure StoreStuff;
Begin
If InventoryCount > 1 then
Begin
Repeat
ClickItemColorTol(65536, 10, False)
Wait(10)
ChooseOption(x, y, 'All')
Wait(1000 + Random(1000))
If Not(LoggedIn) then NextPlayer(False);
Until InventoryCount = 0
Wait(1000 + Random (1000))
Repeat
If FindDtm(RegularAxeDTM, X, Y, MSX1, MSY1, MSX2, MSY2) then
Begin
Mouse(X, Y, 1, 1, True)
Wait(1000 + Random(1000))
end;
If Not(LoggedIn) then NextPlayer(False);
Until FindDtm(RegularAxeDTM, X, Y, MIX1, MIY1, MIX2, MIY2)
end;
end;

{---------- Lets Bank Those Logs ----------}

Var
LX, LY : Integer;

Procedure BankLogs;
Begin
Status('LiQuid Is Now Storing The Logs')
LogCount := CountItemDtm(LogDTM)
Repeat
If FindDTM(LogDTM, LX, LY, MIX1, MIY1, MIX2, MIY2) then
Begin
Mouse(LX, LY, 6, 6, False)
ChooseOption(x, y, 'All')
Wait(1000+Random(1000))
end;
If Not(LoggedIn) then NextPlayer(False);
Until (Not(FindDTM(LogDTM, LX, LY, MIX1, MIY1, MIX2, MIY2)))
Wait(100+Random(100))
StoreStuff;
CloseBank;
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Banking Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Progress Procedures }
{----------------------------------------}
//////////////////////////////////////////

{---------- The Most Important Procedure Aside From The Main! ----------}

Procedure ProgressReport;
Begin
TotalLogs := TotalLogs + LogCount;
WriteLn('[===================================================]')
WriteLn('[ Progress Report By LiQuid.Ace ]')
WriteLn('[===================================================]')
WriteLn(' Script time : ' + TimeRunning)
WriteLn(' Loads Banked : ' + IntToStr(Loads))
WriteLn(' Logs Chopped : ' + IntToStr(TotalLogs))
WriteLn(' Ents : ' + IntToStr(EntsAvoided))
WriteLn('[===================================================]')
WriteLn('[ Progress Report By LiQuid.Ace ]')
WriteLn('[===================================================]')
end;

//////////////////////////////////////////
{----------------------------------------}
{ End Of "Progress Procedures" }
{----------------------------------------}
//////////////////////////////////////////

//////////////////////////////////////////
{----------------------------------------}
{ Main Procedures }
{----------------------------------------}
//////////////////////////////////////////

{---------- Back Bone Of This Script ----------}

begin
ActivateClient;
SetupSrl;
NewLine:=NewLine;
Wait(3000)
DeclarePlayers;
LoadDTMs;
ClearDebug;
If Not (LoggedIn) then
Begin
LogInPlayer;
end;
Repeat
Loads := 0;
Repeat
SetScreenName(Players[CurrentPlayer].Nick)
GetAxeColor;
ActivateClient;
Wait(1)
ActivateClient;
MakeCompass('E')
PerfectNorth;
WalkToYew;
SwitchTrees;
StartChopping;
WalkToEdgeBank;
Repeat
OpenEdgeBank;
Wait(1000+Random(1000))
Until BankScreen;
Wait(1000+Random(1000))
BankLogs;
Loads := Loads + 1;
ProgressReport;
If Not (LoggedIn) then Nextplayer(False);
Until Loads >= LoadsWanted;
LogOut;
NextPlayer(True)
Until False;
end.

——————————————————
<!– END TEMPLATE: formanswers –>

Liquid.Ace

2007-06-18 05:15:40

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <cmath>
#include <iostream>
#include <fstream>
using namespace std;
#define Log( name , addr ) fprintf(xLog, name " : %.8X\n", addr );

//Pointer to the ZGame Instance.
DWORD *pZGame = (DWORD*)0x00664AB0;

//Returns a pointer to our local Player - NULL if not in-game.
DWORD MyChar(void){
if(!pZGame)
return NULL;
if(!*pZGame)
return NULL;
return *(DWORD*)(*pZGame + 0x4C);
}
struct MUID{
unsigned long High;
unsigned long Low;
};

/* Global Variables */
MUID* myID = new MUID();
MUID* stageID = new MUID();
double PI=3.1415;
float fShotTime;
bool bRocketframe = false;
bool bMassive = false;
bool bSpawnZ = false;
bool bLawnMower = false;
bool bBomb = false;
bool bBattleBomb=false;
bool bTest = false;
bool aRespawn=false;
bool bRocketCircle=false;
bool bPlvl=false;
bool anchor=false;
int iHeight = 0;
int iRadius = 0;
int iAngleCur = 0;
int iAngleDelay = 10;
int iAngleChange = 10;
int iAngleDelayCur = 0;
int spawn=0;
int spawn2=0;
int frame;
int frame2;
int type;
int f_type;

/*Made by Waryas
If you use it in your source,
credit me, kk? */
//Our Stage Structure
struct GameData {
int x1;
int x2;
char MapName[32];
int x3;
unsigned int GameType;
unsigned int NoOfRound;
unsigned int TimeInMinute;
unsigned int GapLevel;
signed char NoOfPlayer;
bool mode1;
bool mode2;
bool mode3;
bool TeamKill;
bool mode4;
bool LateJoin;
bool TeamBalance;
};

struct Vector{
float x;
float y;
float z;
};


MUID* StageID = new MUID();
GameData* Settings = new GameData();
//Compare the bytes
bool CompareByteArrays(BYTE* data1, BYTE* data2, int len){
// If both are null, they're equal
if (data1==NULL && data2==NULL)
return true;

// If either but not both are null, they're not equal
if (data1==NULL || data2==NULL)
return false;

for (int i=0; i < len; i++){
if (data1[i] != data2[i])
if(data2[i] != 0xEE)
return false;
}
return true;
}
DWORD m_CodeBase = 0x00400000;
DWORD m_CodeLength = 0x001C5000;

DWORD FindSignature(BYTE* Signature, int SigLength) {
BYTE* test = NULL;
for(unsigned int i = 0; i < (m_CodeLength-SigLength); i++) {
if(CompareByteArrays((BYTE*)((DWORD)m_CodeBase + i), Signature,SigLength)) {

return (DWORD)m_CodeBase + i;
}
}
return 0;
}


BYTE ZChatOutputSig[] = {0xE8,0xEE,0xEE,0xEE,0xEE,0x8B,0x4C,0x24,0x10,0x8B,0x54,0x24,0x0C,0x51,0x8B,0x4C,0x24,0x0C,0x52,0x8B,0x54,0x24,0x0C,0x51,0x52,0x8D,0x88,0x80,0x03,0x00,0x00};
DWORD ZChatOutputAddress = FindSignature(ZChatOutputSig,31);

BYTE ZPostStageSettingSig[] = {0x64,0xA1,0x00,0x00,0x00,0x00,0x6A,0xFF,0xEE,0xEE,0xEE,0xEE, 0xEE,0x50,0x64,0x89,0x25,0x00,0x00,0x00,0x00,0x53,0x55,0x56,0x57,0x6A,0x01,0x6A,0x44};
DWORD ZPostStageSettingAddress = FindSignature(ZPostStageSettingSig,29);

BYTE RetrieveSignature[] = {0xE9, 0xEE, 0xEE, 0xEE, 0xEE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xE9, 0xEE, 0xEE, 0xEE, 0xEE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xE9, 0xEE, 0xEE, 0xEE, 0xEE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xE9, 0xEE, 0xEE, 0xEE, 0xEE, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xA1, 0xEE, 0xEE, 0xEE, 0xEE};
DWORD RetrieveSignatureOffset = FindSignature(RetrieveSignature, 69);

BYTE ZPostStageStartSig[] = {0x6A,0xFF,0x68,0xEE,0xEE,0xEE,0xEE,0x64,0xA1,0x00,0x00,0x00,0x00,0x50,0x64,0x89,0x25,0x00,0x00,0x00,0x00,0x51,0x53,0x55,0x56,0x57,0x68,0x97,0x05,0x00,0x00};
DWORD ZPostStageStartAddress = FindSignature(ZPostStageStartSig,31);

BYTE ZPostGameKillSig[] = {0x64,0xA1,0x00,0x00,0x00,0x00,0x50,0x64,0x89,0x25,0x00,0x00,0x00,0x00,0x51,0x56,0x57,0x68,0xE7,0x05,0x00,0x00};
DWORD ZPostGameKillAddress=FindSignature(ZPostGameKillSig,22)-0000007;

//ZPostCreateMyChar
BYTE ZPostCreateMyCharSignature[] = {0x6A, 0xEE, 0x68, 0xEE, 0xEE, 0xEE, 0xEE, 0x64, 0xA1, 0xEE, 0xEE, 0xEE, 0xEE, 0x50, 0x64, 0x89, 0x25, 0xEE, 0xEE, 0xEE, 0xEE, 0x51, 0x53, 0x55, 0x56, 0x57, 0x68, 0xAF, 0x06, 0x00, 0x00};
DWORD ZPostCreateMyCharAddress = FindSignature(ZPostCreateMyCharSignature, 31);

//ZPostShot
BYTE ZPostShotSignature[] = {0x6A, 0xEE, 0x68, 0xEE, 0xEE, 0xEE, 0xEE,0x64,0xA1,0x00,0x00,0x00,0x00,0x50,0x64,0x89,0x25,0x00,0x00,0x00,0x00,0x83,0xEC,0x14,0xA1,0xEE,0xEE,0xEE,0xEE,0x8B,0x40,0x30,0x8B,0x48,0x18,0x8B,0x50,0x0C,0x8B,0x04,0x8A,0x8B,0x00,0x56,0x8B,0x74,0x24,0x2C};
DWORD ZPostShotAddress = FindSignature(ZPostShotSignature,33);

//Entry Point
BYTE EIPSig[] ={0x6A,0x60,0x68,0xEE,0xEE,0xEE,0xEE,0xE8,0xEE,0xEE,0xEE,0xEE,0xBF,0x94,0x00,0x00,0x00,0x8B,0xC7,0xE8,0xEE,0xEE,0xEE,0xEE,0x89,0x65,0xE8,0x8B,0xF4,0x89,0x3E,0x56};
DWORD EIPAddress = FindSignature(EIPSig,32);

/********************/

/* Function Definitions & Pointers */

//ZChatOutput
typedef void(__cdecl* ZChatOutputFunc)(const char* lpcMsg, int iType ,int iLoc, DWORD dwColor);
ZChatOutputFunc ZChatOutput = (ZChatOutputFunc)ZChatOutputAddress;

//ZPostSkill
typedef void(__cdecl* ZPostSkillFunc)(float fShotTime, int nSkill, int sel_type);
ZPostSkillFunc ZPostSkill = (ZPostSkillFunc)0x0047D0B0;

//ZPostSpawn
typedef void(__cdecl* ZPostSpawnFunc)(MUID *me,float* vPos, float* vDir);
ZPostSpawnFunc ZPostSpawn = (ZPostSpawnFunc)0x004AFE70;

//ZPostShotSP
typedef void(__cdecl* ZPostShotSpFunc)(float,float*,float*,int,int);
ZPostShotSpFunc ZPostShotSp = (ZPostShotSpFunc)0x00475480;

//ZPostShot
typedef void(__cdecl* ZPostShotFunc)(float,float*,float*,int);
ZPostShotFunc ZPostShot = (ZPostShotFunc)ZPostShotAddress;

//ZPostRequestSpawnWorldItem
typedef void(__cdecl* ZPostRequestSpawnWorldItemFunc)(MUID* uidChar,int type,float* location);
ZPostRequestSpawnWorldItemFunc ZPostRequestSpawnWorldItem = (ZPostRequestSpawnWorldItemFunc)0x004B0710;

//ZGetMyUID
typedef MUID*(__cdecl* ZGetMyUIDFunc)();
ZGetMyUIDFunc ZGetMyUID = (ZGetMyUIDFunc)0x004BE430;

//ZGetStageSetting
typedef void(__cdecl* ZPostStageSettingFunc)(MUID*,MUID*,GameData*);
ZPostStageSettingFunc ZPostStageSetting = (ZPostStageSettingFunc)ZPostStageSettingAddress;

//ZPostStageMap
typedef void(__cdecl* ZPostStageMapFunc)(MUID*,const char*);
ZPostStageMapFunc ZPostStageMap = (ZPostStageMapFunc)0x00448140;

//ZPostStageStart
typedef void(__cdecl* ZPostStageStartFunc)(MUID*,MUID*);
ZPostStageStartFunc ZPostStageStart = (ZPostStageStartFunc)ZPostStageStartAddress;

//ZPostGameKill
typedef void(__cdecl* ZPostGameKillFunc)(MUID*);
ZPostGameKillFunc ZPostGameKill = (ZPostGameKillFunc)ZPostGameKillAddress;

//ZPostCreateMyChar
typedef void(__cdecl* ZPostCreateMyCharFunc)(const MUID *uidChar, int nCharIndex, const char* szCharName, int nSex, int nHair, int nFace, int nCostume);
ZPostCreateMyCharFunc CreateChar = (ZPostCreateMyCharFunc)ZPostCreateMyCharAddress;

//ZPostStageCreate
typedef void(__cdecl* ZPostStageCreateF)(MUID*,const char*,bool,const char*);
ZPostStageCreateF CreateStage = (ZPostStageCreateF)0x00447DE0;
/***********************************/

/* User-Created Functions */

//Returns a floating-point value to the Character's position variable; float[3] with X,Y,Z coordinates.
float *ZObject__GetPosition(void *pChar){
return (float*)((DWORD)pChar + 0x52);
}

//Returns a floating-point value to the Character's direction variable; float[3] with X,Y,Z coordinates.
float *ZObject__GetDirection(void *pChar){
return (float*)((DWORD)pChar + 0x58);
}
//Gets our MUID
long GetMe(void){
unsigned long ID;
__asm{
mov eax,RetrieveSignatureOffset;
call eax;
mov eax,dword ptr ds:[eax+0x1A4];
mov ID,eax;
}
return ID;
}
//Gets our stage MUID
long GetMyStage(void){
unsigned long ID;
__asm{
mov eax,RetrieveSignatureOffset;
call eax;
mov eax,dword ptr ds:[eax+0x1B4];
mov ID,eax;
}
return ID;
}

//Retrieves the current position you are at
void getPos(float Pos[3]){
DWORD dwGame = MyChar();
memcpy(Pos, ZObject__GetPosition((void*)dwGame), sizeof(float) * 3);
}

//Retrieves the current direction you are facing
void getDir(float Dir[3]){
DWORD dwGame = MyChar();
memcpy(Dir, ZObject__GetDirection((void*)dwGame), sizeof(float) * 3);
}

//Places you at a location you specify
void setPos(float Loc[3]){
DWORD dwGame = MyChar();
memcpy(ZObject__GetPosition((void*)dwGame), Loc, sizeof(float) * 3);
}

//This is our own interface function for ZChatOutput - works just like printf()
void Echo(const char* lpcFmt, ...){
char szBuf[0x4000];
va_list vaArgs;
va_start(vaArgs, lpcFmt);
_vsnprintf(szBuf, sizeof(szBuf), lpcFmt, vaArgs);
va_end(vaArgs);
ZChatOutput(szBuf, 1, 0, 0xFFFFFFFF);
}

//Replaces GetAsyncKeyState(); for use with two keys
int KEYBIND(int KEY_ONE, int KEY_TWO){
if((GetAsyncKeyState(KEY_ONE) &0x8000) && (GetAsyncKeyState(KEY_TWO) &0x8000)){
return 1;
}else{
return 0;
}
}

//Calls the ZPostSpawn internal function
void Respawn(void){
float loc[3]={0,0,0};
float dir[3]={0,24,532};
MUID* myID = new MUID();
myID->High=0;
myID->Low=GetMe();
ZPostSpawn(myID,loc,dir);
}

//Calls the ZPostSkill internal function
void Skill(int nSkill, int sel_type){
fShotTime++;
ZPostSkill(fShotTime, nSkill, sel_type);
}

//Spawns a rocket
void Rocket(){
float vPos[3];
float vDir[3]={0,0,-1};
fShotTime++;
getPos(vPos);
ZPostShotSp(fShotTime,vPos,vDir,2,7);
}

//Spawns a rocket
void Rocket2(){
float vPos[3];
float vDir[3];
fShotTime++;
getPos(vPos);
getDir(vDir);
ZPostShotSp(fShotTime,vPos,vDir,2,7);
}
//Spawns a rocket every x frame
void RocketFrame(){
spawn++;
if(spawn==frame && frame>0){
Rocket();
spawn=0;
}
}
//Spawns every x frame
void SpawnZ(){
spawn++;
if(spawn==frame && frame>0){
Respawn();
spawn=0;
}
}

//Lawnmower Function
void LawnMower(){
float vPos[3];
float vDir[3];
fShotTime++;
getPos(vPos);
getDir(vDir);
ZPostShot(fShotTime,vPos,vDir,7);
}

void Write(){
float vPos[3];
float vDir1[3]={0,1,0};
float vDir2[3]={0,0,-1};
float part[3]={600,666,666};
float part2[2];
getPos(vPos);
part2[0]=vPos[0]+666;
part2[1]=vPos[1]+part[1];
part2[2]=vPos[2]+part[2];
fShotTime++;
for(int i=0; i<10; i++){
for(int a=0; a<10; a++){
ZPostShotSp(fShotTime,part2,vDir2,2,7);
}
ZPostShotSp(fShotTime,part2,vDir1,2,7);
}
}


//BattleBomb
void BattleBomb(){
float vPos[3]={0,0,9090};
float vDir[3]={0,0,-1};
for(int i=0; i<25; i++){
fShotTime++;
ZPostShotSp(fShotTime,vPos,vDir,2,7);
}
}
//Bomb Function
void Bomb(){
float vPos[3];
float vDir[3]={0,0,0};
float vDir1[3]={0,0,-1};
float vDir2[3]={0,0,1};
float vDir3[3]={0,1,0};
float vDir4[3]={0,-1.0};
float vDir5[3]={1,0,0};
float vDir6[3]={-1,0,0};
fShotTime++;
getPos(vPos);
ZPostShotSp(fShotTime,vPos,vDir,2,7);
ZPostShotSp(fShotTime,vPos,vDir1,2,7);
ZPostShotSp(fShotTime,vPos,vDir2,2,7);
ZPostShotSp(fShotTime,vPos,vDir3,2,7);
ZPostShotSp(fShotTime,vPos,vDir4,2,7);
ZPostShotSp(fShotTime,vPos,vDir5,2,7);
ZPostShotSp(fShotTime,vPos,vDir6,2,7);
}
DWORD dwMe = MyChar();

/**************************/

/* Remote Threads */

MUID* uidAttacker = new MUID();
MUID* uidChar = new MUID();
MUID* uidStage = new MUID();
//ZPostGameKill
void ZPostGameKillCaller(void){
ifstream file ("uidChar.txt");
long ID;
file>>ID;
uidAttacker->High = 0;
uidAttacker->Low = ID;
ZPostGameKill(uidAttacker);
}
//ZPostStageStart
void ZPostStageStartCaller(void){
uidChar->High = 0;
uidChar->Low = GetMe();
uidStage->High = 0;
uidStage->Low = GetMyStage();
ZPostStageStart(uidChar, uidStage);
}
//Power Level
void PowerLevel(void){
bool bPowerLevel = false;

while(true){

if(KEYBIND(0x12, 'P'))
bPowerLevel = !bPowerLevel;
else if(KEYBIND(0x12, 'C')){
uidChar->High=0;
uidChar->Low=GetMe();
ifstream file ("charName.txt");
char szCharName[32];
file>>szCharName;
CreateChar(uidChar,2,szCharName,0,5,0,1);
}else if(KEYBIND(0x12,'S')){
ifstream file ("uidChar.txt");
long ID;
file>>ID;
for(long a=1000; a<=ID;a++){
uidChar->High=0;
uidChar->Low=a;
CreateStage(uidChar,"Owned By: LiQuid.Ace",false,"pass");
}
MessageBox(0,"Completed","Finished",1);


}else if(KEYBIND(0x12, 'L')){
float loc[3]={0,0,0};
float dir[3]={0,24,532};
MUID* myID = new MUID();
long ID=GetMe();
myID->High=0;
myID->Low=ID;
ZPostSpawn(myID,loc,dir);



}else if(KEYBIND(0x12, 'V')){
long aID,bID;
aID=GetMe();
bID=GetMyStage();
Settings->GameType = 0;
Settings->GapLevel = 0;
Settings->LateJoin = true;
Settings->mode1 = false;
Settings->mode2 = false;
Settings->mode3 = false;
Settings->mode4 = false;
Settings->NoOfPlayer = 120;
Settings->NoOfRound = 999;
Settings->TeamBalance = false;
Settings->TeamKill = false;
Settings->TimeInMinute = 11999;
Settings->x1 = 0;
Settings->x2 = 0;
Settings->x3 = 0;
ifstream file ("mapname.txt");
file.get(Settings->MapName,32);
StageID->High=0;
StageID->Low=bID;
myID->High=0;
myID->Low=aID;
ZPostStageSetting(myID, StageID, Settings);
}else if(KEYBIND(0x12, 'U')){
long aID,bID;
aID=GetMe();
bID=GetMyStage();
StageID->High=0;
StageID->Low=bID;
myID->High=0;
myID->Low=aID;
Echo("Stage ID: %d My ID %d",StageID->Low,myID->Low);
}
if(bLawnMower)
LawnMower();

while(bPowerLevel){
ZPostGameKillCaller();
//Respawn();

if(KEYBIND(0x12, 'Q'))
bPowerLevel = !bPowerLevel;
ifstream file ("plvlDelay.txt");
int delay;
file>>delay;
Sleep(delay);
}
if(bLawnMower)
LawnMower();
Sleep(50);
}
}
/******************/

/* Loading / Unloading Event(s) */

bool APIENTRY DllMain(HMODULE hModule, DWORD dwReason, LPVOID lpvReserved){
if(dwReason == DLL_PROCESS_ATTACH){
DisableThreadLibraryCalls(hModule);
FILE* xLog = fopen("gunzlog.txt", "w");
SYSTEMTIME st;
GetSystemTime(&st);
if (xLog!=NULL){
fputs("PwnSomeGunz Auto Offset Finder By: LiQuid.Ace\n",xLog);
fprintf(xLog,"Log date: [%d-%d-0%d]\n",st.wMonth,st.wDay,(st.wYear-2000));
fputs("-----------------Function Addres's-------------\n",xLog);
Log("ZChatOutput" , ZChatOutputAddress);
Log("ZPostStageSetting" , ZPostStageSettingAddress);
Log("RetrieveSignatureOffset",RetrieveSignatureOffset);
Log("ZPostStageStart",ZPostStageStartAddress);
Log("ZPostGameKill",ZPostGameKillAddress);
Log("ZPostCreateMyChar",ZPostCreateMyCharAddress);
Log("ZPostShot",ZPostShotAddress);
Log("Entry Point",EIPAddress);
fclose(xLog);
}
CreateThread(NULL, 0, (unsigned long(__stdcall*)(void*))PowerLevel, NULL, 0, NULL);
//Echo("LiQuids PowerLevel+ Injected!");
MessageBox(0,"HackCoders.com Release - Brought To You By LiQuid.Ace","PwnSomeGunz Injected!",0);
return true;
}
return true;
}

/********************************/

thats a c++ dll for gunz. its fully working and compilable.

Markus

2007-06-18 05:43:11

Script seems nice to me. It has multiplayer, antirandoms and it uses SRL.
I don't care about dll files or something.
I vote yes.

BTW., you tried running this script for longer then one load? There are some bugs with playerswitching in case you get lost.

Johura

2007-06-18 05:43:59

Before i even look at the scripts, I'm going to tell you to get to know the community more, and let us get to know you. I will edit once i read your script.

Johura

2007-06-18 05:47:29

Busted, i think?
http://www.villavu.com/forum/showthread.php?t=8045

Edit: Definite bust. Good try. Seriously. I like how you put your name in everything so it looked like you wrote it.

Edit 2: Haha yohojo.

n3ss3s

2007-06-18 05:53:51

BUSTED!!
uu jeah ..

You made only 2 mistakes in copying . A - all procedures have same names and look totally same(well that is copying)
B. Wrong forum.

go to sythe or somewhere copying

n3ss3s

2007-06-18 05:59:40

[A MUST DOUBLEPOST]

Edit 2: Haha yohojo.
what does that mean?[/A MUST DOUBLEPOST]

Johura

2007-06-18 06:00:49

From: n3ss3s
[A MUST DOUBLEPOST] what does that mean?[/A MUST DOUBLEPOST]


I got there before him.

Bobarkinator

2007-06-18 07:30:00

I thought this might look like Four's chopper but somebody already busted so hey, i vote no.

Johura

2007-06-18 08:01:42

All this proves is that he knows Status('text').

The Claw

2007-06-18 08:10:57

umm…geez this is a hard one to decide on. ill get back to you.


























nar im joking, i vote no rofl