Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

MIning help

тут можно задать вопрос по скриптингу
Post Reply
lordnicloe
Posts: 5
Joined: 17.06.2008 18:46

MIning help

Post by lordnicloe »

Ребят кто поможет огромное спасибо! копает> прилетает, выкладывает в сундук> выходит из скрипта...только не понимаю почему((( хочется что бы дальше летел и делал все так же :о)
Program MinerLumber;
{$Include 'all.inc'}
const
MaxVes=420; //Ves pri kotorom recolimsya domoi
////////////
RemarkRune=0; //esli zaryadov menshe 30 to remark, 1-da,0-net
////////////
/////////// tut tvoi dannie
RuneBag= $40016B0D; //id baga s runami
Sunduk = $40022053; //sunduk s regami i vsem ostalnim
RSunduk= $40022053; //kuda rudu skidivat
HomeX=1315; ///x rune to home
HomeY=2255; ///y rune to home
RuneHome=$4001E531; //runa domoi
////////////
msge1='There is no ore here to mine.';
msge2='Try mining in rock.';
msge3='You have no line';
msg1='You put the';
msg2='You loosen some rocks but fail to find any useable ore.';
busy='do this now';
ReadyToRecall='Select rune to recall from.';
Fizzles='The spell fizzles.';
paralize='You can not pick|reach that';
recparalize='reach that';
Pickaxe1 = $0E85; // Типы кирок
Pickaxe2 = $0E86;
ColReg=100; //Количество регов у персонажа
ColRec=3; //Количество свитков Recoll у прсонажа
Invis=$0F09; //Type Inviski
Recall=$1F4C; //Type Recall
FishSt=$097A; //Type Fish Steake
Bint=$0E21;
RBint=$0E22;
LogFile='C:\Mining_log.dat';

var
MRune: array[0..200] of cardinal;
RUDCOL:array[0..12] of string;
RUDCOD:array[0..12] of word;
PKchar:array [0..1] of word;
Fields:array [0..10] of word;
Zakl: array [0..48] of string;
Ore:array [0..3] of word;
CheckTime:TDateTime;
ret,c1,c2,ColRun,PKAlarm:integer;
//#############################################################/
procedure WriteToFile(data: string);
var
file: TFileStream;
begin
try
data:=FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + data+ #13#10;
file := TFileStream.Create(LogFile,fmOpenReadWrite);
file.seek(0, soFromEnd);
except
file := TFileStream.Create(LogFile,fmCreate);
end;
file.WriteBuffer(data,Length(data));
file.Free;
end;
//#############################################################/
Procedure Inviska;
begin
FindType(Invis,backpack)
if (FindCount>0) and (Hidden=false) then
begin
UseType(Invis,$FFFF);
WriteToFile('Invisku пьем');
wait(500);
exit;
end;
WriteToFile('Нету инвизок');
end;
//#############################################################/
function RecallToAttack:integer;
var
mx,my,i,z,paraliz:integer;
tmptime:TDateTime;
begin
Addtosystemjournal(IntToStr(GetX(self))+ ' ' + IntToStr(GetY(self)));
WriteToFile(IntToStr(GetX(self))+ ' ' + IntToStr(GetY(self)));
CancelTarget;
CancelWaitTarget;
Result:=0;
paraliz:=0;
Addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Пора по съёбкам');
WriteToFile('Пора по съёбкам');
mx:=GetX(self);
my:=GetY(self);
While not Dead do
begin
If (GetX(self)=HomeX) and (GetY(self)=HomeY) then break;
if TargetPresent then CancelTarget;
FindType(Recall,backpack);
if (FindQuantity <> 0) and (Ret=0) then
begin
for z:=1 to 4 do
begin
If (paraliz=1) then break;
Addtosystemjournal('Используем свиток');
WriteToFile('Используем свиток');
tmptime:=Now;
if (InJournalBetweenTimes(Zakl[47],CheckTime,Now)<>-1) or (InJournalBetweenTimes(Zakl[14],CheckTime,Now)<>-1) then
begin
Inviska;
end;
UseObject(finditem);
WaitForTarget(1500);
if (InJournalBetweenTimes(recparalize,TmpTime,Now)<>-1) then
begin
Addtosystemjournal('Парализованы');
WriteToFile('Парализованы');
paraliz:=1;
break;
end;
if (InJournalBetweenTimes(busy,TmpTime,Now)=-1) then
begin
if (TargetPresent) or (InJournalBetweenTimes(ReadyToRecall,TmpTime,Now)<>-1) then
begin
WaitForTarget(800);
break;
end;
end;
Addtosystemjournal('Чем-то занят');
WriteToFile('Чем-то занят');
end;
If TargetPresent then
begin
tmptime:=Now;
TargetToObject(RuneHome);
for i:=0 to 80 do
begin
If (GetX(self)=HomeX) and (GetY(self)=HomeY) then
begin
Result:=1;
Addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Удачно)))');
WriteToFile('Удачно');
break;
end;
If InJournalBetweenTimes(Fizzles,TmpTime,Now)<> - 1 then break;
wait(50);
end;
end;
end;
if Result=1 then break;
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'По свитку не вышло');
WriteToFile('По свитку не вышло');
tmptime:=Now;
Cast('Recall')
wait(1000);
if (InJournalBetweenTimes(busy,TmpTime,Now)=-1) then WaitForTarget(1000);
If TargetPresent then
begin
tmptime:=Now;
TargetToObject(RuneHome);
for i:=0 to 100 do
begin
If (GetX(self)=HomeX) and (GetY(self)=HomeY) then
begin
Result:=1;
Addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Удачно)))');
WriteToFile('Удачно');
break;
end;
wait(40);
If InJournalBetweenTimes(Fizzles,TmpTime,Now)<> - 1 then break;
end;
end;
if Result=1 then break;
If (GetX(self)=HomeX) and (GetY(self)=HomeY) then break;
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'По книжке тоже');
WriteToFile('По книжке тоже');
end;
CancelTarget;
CancelWaitTarget;
end;
//#############################################################/
Function CheckZakl(oldcheck:TDateTime):Integer;
var
x:integer;
begin
Result:=0;
for x := 0 to 48 do
begin
if InJournalBetweenTimes(Zakl[x],oldcheck,Now)<> -1 then
begin
Addtosystemjournal( 'Произнесено ' + Zakl[x]);
WriteToFile( 'Произнесено ' + Zakl[x]);
Result:=1;
break;
end;
waitconnection(3000);
end;
if InJournalBetweenTimes('Return',oldcheck,Now)<> -1 then
begin
Addtosystemjournal( 'Возвращаемся');
WriteToFile( 'Возвращаемся');
Ret:=1;
RecallToAttack;
PKAlarm:=9;
end;
waitconnection(3000);
CheckTime:=Now;
end;
//#############################################################/

//#######################################################/
Procedure ControlPk;
var
y,x,z:integer;
ListPK : TStringList;
Zres:integer;
begin
FindDistance:=20;
IgnoreReset;
Ignore(self);
Ignore($0001B871);
Ignore($0001258F);
Ignore($0001D93C);
Zres:=CheckZakl(CheckTime);
if PKAlarm<>0 then exit;
If (Zres=1) or (HP<MaxHP) then
begin
PKAlarm:=1;
if RecallToAttack=0 then
begin
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Убили...');
WriteToFile('Убили');
PKAlarm:=9;
end;
exit;
end;
ListPK:=TStringList.Create;
for x:=0 to 1 do
begin
waitconnection(3000);
FindType(PKchar[x],ground);
GetFindedList(ListPK);
if (ListPK.count > 0) then
begin
for y:= 0 to (ListPK.count-1) do
begin
if PKAlarm<>0 then exit;
if ((IsNPC(StrToInt('$'+ListPK.strings[y]))) and (GetNotoriety(StrToInt('$'+ListPK.strings[y]))>=1)) or (Zres=1) or (HP<MaxHP) then
begin
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Рядом Игрок ' + GetName(StrToInt('$'+ListPK.strings[y]))+ 'Дистаниция до него '+ IntToStr(GetDistance(StrToInt('$'+ListPK.strings[y]))));
WriteToFile('Рядом Игрок ' + GetName(StrToInt('$'+ListPK.strings[y]))+ 'Дистаниция до него '+ IntToStr(GetDistance(StrToInt('$'+ListPK.strings[y]))));
PKAlarm:=1;
if RecallToAttack=0 then
begin
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Убили...');
WriteToFile('Убили');
PKAlarm:=9;
end;
break;
end;
end;
ListPK.Free;
end;
if PKAlarm<>0 then break;
end;
FindDistance:=15;
for x:=0 to 8 do
begin
FindType(Fields[x],ground);
if FindCount >0 then
begin
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Рядом какойто filds ');
WriteToFile('Рядом какойто filds');
PKAlarm:=1;
if RecallToAttack=0 then
begin
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Убили...');
WriteToFile('Убили');
PKAlarm:=9;
end;
break;
end;
end;


end;
//#############################################################/
Procedure CheckLag;
var
LagTime:TDateTime;
tmp:integer;
begin
LagTime:=Now;
repeat
tmp:=0;
ClickOnObject(backpack);
repeat
wait(100);
tmp:=tmp+1;
until (InJournalBetweenTimes('backpack',LagTime,Now)<>-1) or (tmp>70);
until InJournalBetweenTimes('backpack',LagTime,Now)<>-1;
end;
//#############################################################/
Function OreColor(color:word):string;
var z:integer;
begin
Result:='Неизвестная руда';
For z:=0 to 12 do
begin
if color=rudcod[z] then
begin
Result:=RudCol[z];
break;
end;
end;
end;
//#############################################################/

procedure DropIngs;
var
z:integer;
TmpTime:TDateTime;
begin
TmpTime:=Now;
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Сброс руды');
if TargetPresent then CancelTarget;
if WarMode = true then SetWarMode(false);
UseObject(backpack);
wait(1000);
waitconnection(3000);
While lastcontainer<>RSunDuk do
begin
UseObject(RSunDuk);
wait(1000);
if (InJournalBetweenTimes(paralize,TmpTime,Now)<> -1) then wait(30000);
end;
Addtosystemjournal( 'Sunduk otkrit');
for z:=0 to 3 do
begin
waitconnection(3000);
FindType(Ore[z],backpack)
while FindCount>0 do
begin
MoveItem(FindItem,0,RSunduk,0,0,0);
Addtosystemjournal( 'Выложено '+ IntToStr(FindQuantity)+ ' ' + OreColor(GetColor(FindItem)));
wait(1000);
Checklag;
waitconnection(5000);
FindType(Ore[z],backpack)
end;
end;
end;
//#######################################################/

procedure FullHealChar;
// лечение чара до максимума
var stime : TDateTime;
i : integer;
begin
Addtosystemjournal('Проверяем жизнь');
while (HP < MaxHP) do
begin
WriteToFile('Лечимся');
if TargetPresent then CancelTarget;
stime := Now;
if UseType(Bint,$FFFF) = 0 then break;
WaitForTarget(5000);
If TargetPresent then TargetToObject(Self);
i := 0;
repeat
wait(100);
i := i + 1;
until (InJournalBetweenTimes('You put the bloody bandage|failed|You apply', stime, Now)<>-1) or (i > 300);
waitconnection(3000);
end;
end;
//#######################################################/
Function CheckRecall(var mx:integer;my:integer;stime:TDateTime):integer;
var
txt:string;
i:integer;
begin
Result:=0;
txt:='The spell fizzles.';
for i:=0 to 200 do
begin
If (GetX(self)<>mx) or (GetY(self)<>my) then
begin
Result:=1;
break;
end;
if InJournalBetweenTimes(txt, stime, Now)<> -1 then break;
wait(200);
end;
If Result=0 then addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Recall fizzl');
If Result=0 then WriteToFile('Recall fizzl');
end;
//#######################################################/
Function RecallTo(RuneID:Cardinal):integer;
var
mx,my,i:integer;
tmptime : TDateTime;
begin
Result:=0;
Addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Полетели');
WriteToFile('Полетели');
Waitconnection(3000);
UseType(FishST,$FFFF);
UseObject(backpack);
wait(500);
CheckLag;
mx:=GetX(self);
my:=GetY(self);
For i:=1 to 9 do
begin
if TargetPresent then CancelTarget;
Cast('Recall')
WaitForTarget(10000);
tmptime:=Now;
If TargetPresent then TargetToObject(RuneID);
if CheckRecall(mx,my,tmptime)=1 then
begin
Result:=1;
break;
end;
end;
Addtosystemjournal('Прилетели');
WriteToFile('Прилетели');
end;

//#######################################################/
procedure Medita;
// медитация до полного восстановления маны
var
tmptime : TDateTime;
k : Integer;
begin
Addtosystemjournal('Проверяем манну');
SetWarMode(false);
waitconnection(5000);
if (Mana < MaxMana) then
begin
tmptime := Now;
k:=0;
repeat
useskill('meditation');
wait(2500);
k := k + 1;
checksave;
until (InJournalBetweenTimes('peace', tmptime, Now)<>-1) or (k = 100);
addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'медитация закончена');
end;
end;
//#######################################################/

procedure CheckReg;
var z:integer;
begin
z:=0;
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Проверяем экипировку');
While lastcontainer<>SunDuk do
begin
UseObject(SunDuk);
wait(1000);
end;
wait(1000);
FindType(BP,backpack);
If FindQuantity < ColReg then
begin
z:=FindQuantity;
FindType(BP,Sunduk);
If FindQuantity < ColReg then
begin
Addtosystemjournal( 'Мало BP!!!!!!!! выход');
PKAlarm:=9;
exit;
end;
MoveItem(FindItem,ColReg-z,backpack,0,0,0);
wait(1000);
Checklag;
end;
waitconnection(3000);
FindType(BM,backpack);
If FindQuantity < ColReg then
begin
z:=FindQuantity;
FindType(BM,Sunduk);
If FindQuantity < ColReg then
begin
Addtosystemjournal( 'Мало BM!!!!!!!! выход');
PKAlarm:=9;
exit;
end;
MoveItem(FindItem,ColReg-z,backpack,0,0,0);
wait(1000);
Checklag;
end;
waitconnection(3000);
FindType(MR,backpack);
If FindQuantity < ColReg then
begin
z:=FindQuantity;
FindType(MR,Sunduk);
If FindQuantity < ColReg then
begin
Addtosystemjournal( 'Мало MR!!!!!!!! выход');
PKAlarm:=9;
exit;
end;
MoveItem(FindItem,ColReg-z,backpack,0,0,0);
wait(1000);
Checklag;
end;
waitconnection(3000);
FindType(Recall,backpack);
If FindQuantity < ColRec then
begin
z:=FindQuantity;
FindType(Recall,Sunduk);
If FindQuantity < ColRec then
begin
Addtosystemjournal( 'Мало Скролов!!!!!!! выход');
PKAlarm:=9;
exit;
end;
MoveItem(FindItem,ColRec-z,backpack,0,0,0);
wait(1000);
Checklag;
end;

waitconnection(3000);

FindType(RBint,backpack);
If FindQuantity > 0 then
begin
MoveItem(FindItem,ColRec-z,Sunduk,0,0,0);
wait(1000);
Checklag;
end;

FindType(Bint,backpack);
If FindQuantity < 50 then
begin
z:=FindQuantity;
FindType(Bint,Sunduk);
If FindQuantity < 100 then
begin
Addtosystemjournal( 'Мало бинтов!!!!!!! выход');
PKAlarm:=9;
exit;
end;
MoveItem(FindItem,50-z,backpack,0,0,0);
wait(1000);
Checklag;
end;
waitconnection(3000);
FindType(FishST,backpack);
If FindQuantity < ColReg then
begin
z:=FindQuantity;
FindType(FishST,Sunduk);
If FindQuantity < ColReg then
begin
Addtosystemjournal( 'Мало еды!!!!!!!');
end;
MoveItem(FindItem,ColReg-z,backpack,0,0,0);
wait(2000);
end;

FindType(Invis,backpack);
If FindQuantity < 1 then
begin
FindType(Invis,Sunduk);
If FindQuantity < 5 then
begin
Addtosystemjournal( 'Мало Invisok!!!!!!!');
end;
MoveItem(FindItem,1,backpack,0,0,0);
wait(2000);
end;
end;
//#######################################################/
procedure readrune;
var
ListRune: TStringList;
x:integer;
begin
While lastcontainer<>backpack do
begin
UseObject(backpack);
wait(1000);
end;

Addtosystemjournal('Открываем RuneBag');
While lastcontainer<>RuneBag do
begin
UseObject(RuneBag);
wait(1000);
end;
ListRune:=TStringList.Create;
FindType($FFFF,RuneBag);
GetFindedList(ListRune);
ColRun:=ListRune.count-1;
for x:= 0 to (ListRune.count-1) do
begin
Mrune[x]:=StrToInt('$'+ListRune.strings[x]);
end;
ListRune.Free;
Addtosystemjournal('Naideno Run ' + IntToStr(ColRun+1));
end;
//#############################################################/
procedure Detect;
var
TmpTime:TDateTime;
ms1,ms2:string;
i,x:integer;
begin
ms1:='You find';
ms2:='You can see';
if WarMode = true then SetWarMode(false);
Tmptime:=Now;
UseSkill('Detect Hidden');
wait(1000);
i:=0;
Addtosystemjournal('Ищем врагов');
while (InJournalBetweenTimes(ms1,TmpTime,Now)=-1) and (InJournalBetweenTimes(ms2,TmpTime,Now)=-1) and (i<8) do
begin
ControlPK;
i:=i+1;
If PKAlarm <> 0 then exit;
wait(1000);
end;
If (InJournalBetweenTimes(ms1,TmpTime,Now)<>-1) then
begin
Addtosystemjournal('Вражина найдена');
WriteToFile('Вражина найдена');
PKAlarm:=1;
if RecallToAttack=0 then
begin
Addtosystemjournal( FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Убили...');
WriteToFile('Убили');
PKAlarm:=9;
exit;
end;
end
if PKAlarm<>0 then exit;
ControlPK;
waitconnection(3000);
end;

//#######################################################/
procedure CheckHide;
var
TmpTime:TDateTime;
ms1,ms2:string;
i:integer;
begin
ms1:='You have hidden yourself well';
ms2:='to hide here';
if Hidden then exit;
Detect;
if WarMode = true then SetWarMode(false);
repeat
UseSkill('Stealth');
Tmptime:=Now;
wait(2000);
i:=0;
while (InJournalBetweenTimes(ms1,TmpTime,Now)=-1) and (InJournalBetweenTimes(ms2,TmpTime,Now)=-1) and (i<8) do
begin
ControlPK;
i:=i+1;
If PKAlarm <> 0 then exit;
wait(1000);
end;
waitconnection(3000);
until Hidden;
end;
//#######################################################/
Procedure Kopka;
var
i,j,t1,t2:integer;
m1,m2,me1,me2,me3,kk,cp,cf:integer;
ctime : TDateTime;
begin
For i:=-2 to 2 do
begin
UseType(FishST,$FFFF);
for j:=-2 to 2 do
begin
repeat
Checkhide;
t1:=0;
if TargetPresent then CancelTarget;
if WarMode = true then SetWarMode(false);
waitconnection(5000);
ctime := Now;
UseType(Pickaxe1,$FFFF);
ControlPK;
WaitForTarget(10000);
If TargetPresent then TargetToTile(0, GetX(self)+i, GetY(self)+j, GetZ(self));
repeat
ControlPK;
If PKAlarm <> 0 then exit;
waitconnection(3000);
me1:=InJournalBetweenTimes(Msge1, ctime, Now);
me2:=InJournalBetweenTimes(Msge2, ctime, Now);
me3:=InJournalBetweenTimes(Msge3, ctime, Now);
m1:=InJournalBetweenTimes(Msg1, ctime, Now);
m2:=InJournalBetweenTimes(Msg2, ctime, Now);
wait(100);
t1:=t1+1;
waitconnection(5000);
until (me1<>-1) or (me2<>-1) or (me3<>-1) or (m1<>-1) or (m2<>-1) or (t1>300);
until (me1<>-1) or (me2<>-1) or (me3<>-1);

if (Weight > MaxVes) then
begin
Addtosystemjournal(FormatDateTime('dd.mm.yyyy hh:mm:ss > ', Now) + 'Набрали руду');
m1:=RecallTo(RuneHome);
DropIngs;
CheckReg;
FullHealChar;
Medita;
exit;
end;
end;
end;
end;
//#######################################################/
Procedure EntArray;
begin

Fields[0]:=$3979; //Energy fild
Fields[1]:=$3996;
Fields[2]:=$3920;
Fields[3]:=$398C;
Fields[4]:=$3914;
Fields[5]:=$3967;
Fields[6]:=$0080;
Fields[7]:=$3956;
Fields[8]:=$3947;

RUDCOL[0] := 'Iron';
RUDCOD[0] := $0000;
RUDCOL[1] := 'Blue Steel';
RUDCOD[1] := $0123;
RUDCOL[2] := 'Silver';
RUDCOD[2] := $0482;
RUDCOL[3] := 'Golden';
RUDCOD[3] := $084D;
RUDCOL[4] := 'Orion';
RUDCOD[4] := $0489;
RUDCOL[5] := 'Verite';
RUDCOD[5] := $07D1;
RUDCOL[6] := 'Shadow';
RUDCOD[6] := $0451;
RUDCOL[7] := 'Valorite';
RUDCOD[7] := $0424;
RUDCOL[8] := 'Mytheril';
RUDCOD[8] := $05CB;
RUDCOL[9] := 'Titanium';
RUDCOD[9] := $042D;
RUDCOL[10] := 'Magma';
RUDCOD[10] := $043A;
RUDCOL[11] := 'BlackRock';
RUDCOD[11] := $0455;
RUDCOL[12] := 'DeathRock';
RUDCOD[12] := $0001;

Ore[0]:= $19B7; // 1 Ore
Ore[1]:= $19BA; // 2 Ore
Ore[2]:= $19B8; // 3 Ore
Ore[3]:= $19B9; // 4 Ore

//\\\\\\\\/
Zakl[0]:='Uus Jux';
Zakl[1]:='Rel Wis';
Zakl[2]:='In Por Ylem';
Zakl[3]:='Des Mani';
Zakl[4]:='Ex Uus';
Zakl[5]:='Uus Wis';
Zakl[6]:='An Nox';
Zakl[7]:='An Mani';
Zakl[8]:='Vas Flam';
Zakl[9]:='An Por';
Zakl[10]:='In Nox';
Zakl[11]:='Rel Por';
Zakl[12]:='In Sanct Ylem';
Zakl[13]:='In Flam Grav';
Zakl[14]:='Por Ort Grav';
Zakl[15]:='Ort Rel';
Zakl[16]:='In Jux Hur Ylem';
Zakl[17]:='An Grav';
Zakl[18]:='Kal In Ex';
Zakl[19]:='In Jux Sanct';
Zakl[20]:='Por Corp Wis';
Zakl[21]:='An Ex Por';
Zakl[22]:='In Nox Grav';
Zakl[23]:='Kal Xen';
Zakl[24]:='An Ort';
Zakl[25]:='Corp Por';
Zakl[26]:='Vas Ort Flam';
Zakl[27]:='An Lor Xen';
Zakl[28]:='Vas Des Sanct';
Zakl[29]:='In Ex Grav';
Zakl[30]:='Wis Quas';
Zakl[31]:='Vas Ort Grav';
Zakl[32]:='In Sanct Grav';
Zakl[33]:='Kal Vas Flam';
Zakl[34]:='Vas Rel Por';
Zakl[35]:='Ort Sanct';
Zakl[36]:='Vas An Ort';
Zakl[37]:='Flam Kal Des Ylem';
Zakl[38]:='Vas Ylem Rel';
Zakl[39]:='In Vas Por';
Zakl[40]:='Vas Corp Por';
Zakl[41]:='An Corp';
Zakl[42]:='Kal Vas Xen Hur';
Zakl[43]:='Kal Vas Xen Corp';
Zakl[44]:='Kal Vas Xen Ylem';
Zakl[45]:='Kal Vas Xen Flam';
Zakl[46]:='Kal Vas Xen An Flam';
Zakl[47]:='attacking you'
Zakl[48]:='kill'

//\\\\\\/
PKchar[0]:= $0190; //Man
PKchar[1]:= $0191; //Woman
end;
//#######################################################/
begin
FindDistance:=17;
FindVertical:=10;
EntArray;
CheckTime:=Now;
ReadRune;
CheckReg;
while 1=1 do
begin
for c1:=0 to ColRun do
begin
PKAlarm:=0;
RecallTo(Mrune[c1]);
Kopka;
If (PKAlarm=9) then exit;
If (PKAlarm<>0) then
begin
FullHealChar;
Medita;
DropIngs;
CheckReg;
wait(1000*600);
end;
end;
if (GetX(self)<>HomeX) and (GetY(self)<>HomeY) then RecallTo(RuneHome);
DropIngs;
CheckReg;
FullHealChar;
Medita;
end;
end.
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

сделай так:

Code: Select all

//\\\\\\/ 
PKchar[0]:= $0190; //Man 
PKchar[1]:= $0191; //Woman 
end; 
//#######################################################/ 
begin 
While not Dead Do // добавили цыкл, пока живой, по кругу
begin
FindDistance:=17; 
FindVertical:=10; 
EntArray; 
CheckTime:=Now; 
ReadRune; 
CheckReg; 
while 1=1 do 
begin 
for c1:=0 to ColRun do 
begin 
PKAlarm:=0; 
RecallTo(Mrune[c1]); 
Kopka; 
If (PKAlarm=9) then exit; 
If (PKAlarm<>0) then 
begin 
FullHealChar; 
Medita; 
DropIngs; 
CheckReg; 
wait(1000*600); 
end; 
end; 
if (GetX(self)<>HomeX) and (GetY(self)<>HomeY) then RecallTo(RuneHome); 
DropIngs; 
CheckReg; 
FullHealChar; 
Medita; 
end; 
end;
end. 
lordnicloe
Posts: 5
Joined: 17.06.2008 18:46

Post by lordnicloe »

[lordnicloe]: 18.06.2008 09:33:20 > Проверяем экипировку
[lordnicloe]: Мало Скролов!!!!!!! выход
[lordnicloe]: Проверяем жизнь
[lordnicloe]: Проверяем манну
[lordnicloe]: 18.06.2008 09:34:13 > медитация закончена
[lordnicloe]: Succesfully executed
[lordnicloe]: Script mining.txt stoped successfuly
это он пишет после того как уже прилетел домой и выложил в сундук
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

попробуй закоментировать процедуры

CheckReg;
FullHealChar;
Medita;

посмотри что получается...
если пойдет по кругу работать, то по одной убирай коменты и провиряй, как только остановится, ижи в какой процедуре останавливается скрипт и уже в нем смотреть/ковырять надо...

так и не понял зачем ждать столько?
wait(1000*600);
lordnicloe
Posts: 5
Joined: 17.06.2008 18:46

Post by lordnicloe »

Alexej wrote:попробуй закоментировать процедуры

CheckReg;
FullHealChar;
Medita;
в CheckReg;; проблема, без него все ок рабит!

а можно еще сделать так что бы он определенные инги по ID не брал, то есть как только начинал копать, сразу их выкидывал? >_<
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

судя по выдаваемому сообщению, проверь тип и количество в наличии

Recall=$1F4C; //Type Recall

возможно или тип не вырный $1F4C
или их просто нету в паке и в контейнере...
lordnicloe
Posts: 5
Joined: 17.06.2008 18:46

Post by lordnicloe »

ага, так и было, recall проблему создавал)

тут еще какая то фигня с функцией "function RecallToAttack:integer;"

когда реколиться в пущерку видит там кого-нибудь, пьет инвиз и рекол домой, но должен потом лететь дальше, выдает такое
1:36:06 [lordnicloe]: 20.06.2008 01:36:06 > По книжке тоже
1:36:06 [lordnicloe]: 20.06.2008 01:36:06 > По свитку не вышло
1:36:09 [lordnicloe]: 20.06.2008 01:36:09 > По книжке тоже
1:36:09 [lordnicloe]: 20.06.2008 01:36:09 > По свитку не вышло
1:36:11 [lordnicloe]: 20.06.2008 01:36:11 > По книжке тоже
1:36:11 [lordnicloe]: 20.06.2008 01:36:11 > По свитку не вышло
1:36:13 [lordnicloe]: 20.06.2008 01:36:13 > По книжке тоже
и все, физл за физлом происходит(( подскажешь?
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

проверь координаты куда он пытается прыгнуть во вкладке Chat Stealth-а показываются при касте...
возможно он продолжает пытаться среколится домой, но стоит уже на этом месте, и место заблокировано получается...
или может то место, на какое он пытается среколится, заблокировано...
lordnicloe
Posts: 5
Joined: 17.06.2008 18:46

Post by lordnicloe »

ага вроде все ок, координаты не правильные стояли, старые((

так а че можно ли сделать что бы он например когда копает определенный вид руды выкидывал, поможешь?-респект тебе >_<
Alexej
Novice
Novice
Posts: 79
Joined: 06.06.2008 11:55
Contact:

Post by Alexej »

сделать можно все, даже то что впринципе нереально сделать...

при том что все руды по типам и цветам уже забиты...

но, лично я, невижу смысла выбрасывать обычную руду, лучше дописать функцию поиска форжи в шахте (если таковые есть) и переплавку руды в инги (и переплавку по 1шт руды - прокачка мининга) и уже с ингами летать домой, вес реально на много менше и реже летать придется... а по шахте в хайде путешествовать к плавильне...

лишний метал никогда не бывает..
(мне сейчас для прокачки бс на +0,1 надо 50к железа, при -30% на прокачку = хеппичас)
Superuser
Posts: 2
Joined: 17.01.2011 19:56
Location: 195

Post by Superuser »

Сори что поднимаю такую старую тему, но для меня она оч актуальна.
1.Скрипт почему-то не пьет инвиз, хотя реколится исправно и инвиз валяется в паке, тип инвиза перепроверял несколько раз.
2. Когда я вторым чаром спугиваю его из шахт он летит домой и далее во дворе происходит зацикливание:

Code: Select all

По книжке тоже 
По свитку не вышло 
По книжке тоже 
По свитку не вышло 
По книжке тоже 
По свитку не вышло 
По книжке тоже 
выше я читал что автор поменял X и Y руны к дому, я сделал тоже самое, но ничего не изменилось.
Птаюсь перейти с инжекта и бьюсь уже 2 дня с этим скриптом, кое что победил, но с этим совладать чета не получается, поэтому прошу вашей помощи - гуру =) Играю на оскоме фри.
P.S. И все таки в какой вкладке и как можно посмотреть по како руне он птается рекольнутся, потому как во вкладке чат ничего такого я не нашел, там при реколе появляется надпись калортпор и все :)

Заранее всем ответившим спасибо.
Superuser
Posts: 2
Joined: 17.01.2011 19:56
Location: 195

Post by Superuser »

Только что понял что он пытается среколится на бутылку, почему и как так?
Post Reply