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

Ламбер

тут можно задать вопрос по скриптингу
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

80aX wrote:
Xper1al wrote: Возле неё оживает)
Вот оно чё) не знал, думал только когда на ней находишься ресает.

Эт не сложно реализовать, только тут мне кажется нужно что то одно выбрать либо через .rescue и рунбуку возвращаться, либо только у лодки ресаться.

Можно и зарядку рунбуки добавить в скрипт, тоже не сложная процедура.

быстрым поиском нашёл скрипт для зулу с зарядкой, не проверял, но в описании написано что заряжает рунбуку, как вариант, по аналогии сделать для себя такую же процедуру.
http://stealth.od.ua/forum/viewtopic.php?f=3&t=2387
Думаю через лодку предпочтительнее)
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

olimpik wrote:Вот так замени и после смерти когда вернется по рунбуку возьмет из сундука 1 рекол скрол и положит его в рунбук

Code: Select all

// Идем к сундуку и выгружаемся
procedure UnloadOrDead;
begin
NewMoveXY(xTileSunduk, yTileSunduk, false, 1, false);
if not Dead then begin Discharge; end
else begin AddToSystemJournal('Персонаж мертв.');
wait(1000);
uosay('.rescue');
wait(3000);
Addtosystemjournal('IS_DEAD');
home;
useobject(Sunduk);
wait(3000);
findtype($1F4C,Sunduk);
checksave;
if (findcount > 0) then MoveItem(finditem, 1, RB, 0,0,0);
wait(3000);
end; 
end;
 
Спасибо!
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

Подскажите еще пожалуйста, хочу добавить в скрипт функцию, чтоб он ел во время разгрузки, в каком месте это нужно дописывать?
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

Периодически скрипт останавливается, подскажите в чем может быть проблема? :

Code: Select all

20:48:33:490 [dark]: Succesfully executed
20:48:33:492 [dark]: Script lamber.sc stopped successfuly
Журнал до момента остановки

Code: Select all

20:48:33:448] System: There's no wood here to chop...
[20:48:34:378] System: You stop lumberjacking.
[20:56:58:341] System: You're absolutely famished!
[20:56:58:412] dark: *Yummy!*
Lamber

Code: Select all

Program AutoLumber_SW;
 
{$Include 'all.inc'}
 
const
/////////////////////////////////////////////////
// Обязательные к изменению настройки скрипта //
Sunduk = $40681FE9; //
// //
// Координаты точки перед сундуком //
xTileSunduk = 632; //
yTileSunduk = 2498; //

RB = $42E70F3A; // Roone book <Need Setup>
RunaHome = 1; // Nomer runi перед сундуком [1-16] <Need Setup>
// //
/////////////////////////////////////////////////
TynkType = $1EBC;
AxeType = $0F43;
IngotType = $1BF2;
// Возможные к изменению настройки скрипта 
MyMaxWeight = 300; // Максимальный вес
Hatchet1 = $0F43; // Тип топора1
Hatchet2 = $0F44; // Тип топора2 (перевёрнутый)
 
 
// Размерности массивов
iTTileCount = 39; // Типы тайлов деревьев (менять, только при редактировании массива)
iCTileCount = 1; // Кол-во точек (центров поляны), в которых хотим собирать информацию о деревьях (поляна = 30х30 тайлов)
 
// Журнал
Msg1 = 'That is too';
Msg2 = 'не смогли';
Msg3 = 'hack';
Msg4 = 'You decide not to chop wood';
Msg5 = 'There is nothing';
Msg6 = 'appears immune';
Msg7 = 'no wood here to chop...';
Msg8 = 'reach this';
 
// Прочее
RunSpeed = 250;
iRadiusSearch = 15; // Радиус (не диаметр!) поиска деревьев в тайлах, относительно персонажа
Logs = $1BDD; // Тип логов
WoodType = $0F90; // Тип дедвудов
 
type
ChopTile = Record
x, y : Integer;
end;
 
var
Regs : array [1..3] of Cardinal;
FoundTilesArray : TFoundTilesArray;
TempFoundTilesArray, ChopTilesArray : array of TFoundTile;
TreeTile:array [0..iTTileCount] of word;
ChopTiles : array[1..iCTileCount] of ChopTile;
ctime : TDateTime;
i : Integer;
 
// Инициализация массива типов тайлов деревьев
procedure InitTTilesArray;
begin
TreeTile[0]:=3274;
TreeTile[1]:=3275;
TreeTile[2]:=3277;
TreeTile[3]:=3280;
 
TreeTile[4]:=3283;
TreeTile[5]:=3286;
TreeTile[6]:=3288;
TreeTile[7]:=3290;
 
TreeTile[8]:=3293;
TreeTile[9]:=3296;
TreeTile[10]:=3299;
TreeTile[11]:=3302;
 
TreeTile[12]:=3320;
TreeTile[13]:=3323;
TreeTile[14]:=3326;
TreeTile[15]:=3329;
 
TreeTile[16]:=3393;
TreeTile[17]:=3394;
TreeTile[18]:=3395;
TreeTile[19]:=3396;
 
TreeTile[20]:=3415;
TreeTile[21]:=3416;
TreeTile[22]:=3417;
TreeTile[23]:=3418;
 
TreeTile[24]:=3419;
TreeTile[25]:=3438;
TreeTile[26]:=3439;
TreeTile[27]:=3440;
 
TreeTile[28]:=3441;
TreeTile[29]:=3442;
TreeTile[30]:=3460;
TreeTile[31]:=3461;
 
TreeTile[32]:=3462;
TreeTile[33]:=3476;
TreeTile[34]:=3478;
TreeTile[35]:=3480;
 
TreeTile[36]:=3482;
TreeTile[37]:=3484;
TreeTile[38]:=3492;
TreeTile[39]:=3496;
end;
 
// Инициализация массива координат для поиска деревьев
procedure InitCTilesArray;
begin
ChopTiles[1].x := 1; // Координаты первой точки, на которую идем и ищем деревья
ChopTiles[1].y := 1;
 
// ChopTiles[2].x := 1325; // Координаты второй точки, на которую идем и ищем деревья
// ChopTiles[2].y := 287;
 
// ChopTiles[3].x := 1316; // Координаты третьей точки, на которую идем и ищем деревья
// ChopTiles[3].y := 305;
 
// ChopTiles[4].x := 1299; // Координаты третьей точки, на которую идем и ищем деревья
// ChopTiles[4].y := 312;
end;
 
// Инициализация системных переменных
procedure InitSystem;
begin
SetRunUnmountTimer(RunSpeed);
SetArrayLength(ChopTilesArray, 1);
end;
 
// Инициализация регов
procedure InitReg;
begin
Regs[1] := $0F85; // Ginseng
Regs[2] := $0F88; // Nightshade
Regs[3] := $0F86; // Mandrake Roots
end;
 
// Поиск деревьев
procedure SearchTree;
var
i, j : Integer;
iFoundTilesArrayCount : word;
iTempFoundTilesArrayCount : Integer;
 
begin
for i:= 0 to iTTileCount do
begin
iFoundTilesArrayCount := GetStaticTilesArray((GetX(Self) - iRadiusSearch), (GetY(Self) - iRadiusSearch), (GetX(Self) + iRadiusSearch), (GetY(Self) + iRadiusSearch), 1, TreeTile[i], FoundTilesArray);
if iFoundTilesArrayCount > 0 then
begin
SetArrayLength(TempFoundTilesArray, Length(TempFoundTilesArray) + iFoundTilesArrayCount);
for j := 0 to iFoundTilesArrayCount - 1 do
begin 
TempFoundTilesArray[iTempFoundTilesArrayCount + j] := FoundTilesArray[j];
end;
iTempFoundTilesArrayCount := iTempFoundTilesArrayCount + iFoundTilesArrayCount;
end;
end;
AddToSystemJournal('Найдено деревьев: ' + IntToStr(iTempFoundTilesArrayCount)); 
end;
 
// Чистим записи дубликаты (Vizit0r  :P)
procedure ClearDuplicate;
var
i, j : Integer;
 
begin
ChopTilesArray[Length(ChopTilesArray) - 1] := TempFoundTilesArray[0];
for i:=1 to Length(TempFoundTilesArray) - 1 do
begin
for j:=0 to Length(ChopTilesArray) - 1 do
if (ChopTilesArray[j] = TempFoundTilesArray[i]) then
break;
if j > Length(ChopTilesArray) - 1 then
begin
SetArrayLength(ChopTilesArray, Length(ChopTilesArray) + 1);
ChopTilesArray[Length(ChopTilesArray) - 1] := TempFoundTilesArray[i];
end;
end;
AddToSystemJournal('После отсеивания дубликатов, осталось деревьев:' + IntToStr(Length(ChopTilesArray)));
end;
 
// Возводим в степень 2 (Shinma)
function sqr(a:LongInt):LongInt;
begin
result:=a*a;
end;
 
// Вычисляем длину вектора (Shinma)
function vector_length(c_2:TFoundTile):LongInt;
begin
result:=Round(sqrt(sqr(GetX(self)-c_2.X)+sqr(GetY(self)-c_2.Y)));
end;
 
// «Быстрая сортировка» по длине вектора, от центра последней поляны ко всем собранным координатам деревьев 
procedure QuickSort(A: array of TFoundTile; l,r: integer);
var
i, j: Integer;
x, y: TFoundTile;
 
begin
i := l;
j := r;
x := A[((l + r) div 2)];
repeat
while vector_length(A[i]) < vector_length(x) do inc(i);
while vector_length(x) < vector_length(A[j]) do dec(j);
if not (i>j) then
begin
y:= A[i];
A[i]:= A[j];
A[j]:= y;
inc(i);
dec(j);
end;
until i>j;
if l < j then QuickSort(ChopTilesArray, l,j);
if i < r then QuickSort(ChopTilesArray, i,r);
end;
 
// Находим, исключаем дубликаты, сортируем деревья
procedure MarkTrees;
begin
for i:= 1 to iCTileCount do
begin
NewMoveXY(ChopTiles[i].x, ChopTiles[i].y, False, 1, False);
SearchTree;
AddToSystemJournal('Всего найдено деревьев: ' + IntToStr(Length(TempFoundTilesArray)));
ClearDuplicate;
end;
QuickSort(ChopTilesArray, 0, Length(ChopTilesArray) - 1);
end;
procedure CheckAxe;
  begin
     while (Count(Hatchet1) < 10) do
      begin
       CancelMenu;
        if (Count(IngotType) < 4) then
         begin
          FindType(IngotType,Backpack);
          if (FindQuantity < 4) then MoveItem(finditem,4,Sunduk,0,0,0);
          wait(1000);
          FindType(IngotType,Sunduk);
          if (FindQuantity > 4) then MoveItem(finditem,4,Backpack,0,0,0);
          wait(500);    
         end;
if (Count(IngotType) >= 4) then
        begin
         CancelMenu;
         WaitMenu('What would you like to make?','Deadly'); 
         wait(300);
         WaitMenu('What would you like to make?','Hatchet');
         wait(300);
         UseObject(FindType($1EBC,Sunduk));
         WaitTargetObject(FindType(IngotType,Backpack));
         Wait(5000);  
         CancelMenu; 
         wait(100);
         CancelMenu;
         WaitJournalLine(Now, 'You create|make|destroy|Stop|Fail|Success', 30000);
        end;
      Wait(1000);
    end;
  end;

 
 
// Разгрузка (Edred)
procedure Discharge;
// разгружаем нарубленное в сундук
// нарубленное - реги в массиве Regs[1..3]
// логи - константа Logs
var
m, tmpcnt : integer;
tmpid, tmpstack, tmpcolor : Cardinal;
tmpname : String;
begin
AddToSystemJournal('Разгружаемся');
waitconnection(3000);
if Dead then exit;
UseObject(Sunduk);
wait (500);
CheckAxe;
wait(1000);
checksave;
// выложим реги
for m := 1 to 3 do
begin
tmpcnt := 0;
Repeat
tmpid := Findtype(Regs[m],backpack);
if tmpid = 0 then break;
addtosystemjournal( 'Найдено ' + inttostr(GetQuantity(tmpid)) + ' regs');
tmpcnt := tmpcnt + 1;
if tmpcnt > 10 then
begin
addtosystemjournal('Ошибка: не могу переместить regs!');
wait(15000);
end;
MoveItem(tmpid,GetQuantity(tmpid),Sunduk,0,0,0);
wait(1000);
CheckSave;
until tmpid = 0;
end;
// выложим дид вуды
tmpcnt := 0;
Repeat
tmpid := Findtype(WoodType,backpack);
if tmpid = 0 then break;
addtosystemjournal( 'Найдено ' + inttostr(GetQuantity(tmpid)) + ' dead woods');
tmpcnt := tmpcnt + 1;
if tmpcnt > 10 then
begin
addtosystemjournal('Ошибка: не могу переместить dead woods!');
wait(15000);
end;
tmpstack := Findtype(WoodType,Sunduk);
// Если не найден в банке - тогда просто в контейнер
if tmpstack = 0 then tmpstack := Sunduk;
MoveItem(tmpid,GetQuantity(tmpid),tmpstack,0,0,0);
wait(1000);
CheckSave;
until tmpid = 0;
// выложим логи
tmpcnt := 0;
Repeat
tmpid := Findtype(Logs,backpack);
if tmpid = 0 then break;
tmpcolor := GetColor(tmpid);
tmpname := ' unknown logs';
case tmpcolor of
$0000 : tmpname := ' logs';
$0505 : tmpname := ' birch logs';
$0654 : tmpname := ' herry logs';
$048A : tmpname := ' swamp logs';
$0415 : tmpname := ' oak logs';
$0203 : tmpname := ' hardranger logs';
$0487 : tmpname := ' jade logs';
$0542 : tmpname := ' stormteal logs';
$0489 : tmpname := ' blizzard logs';
$066D : tmpname := ' vulcanic logs';
$0492 : tmpname := ' vampiric logs';
$0488 : tmpname := ' zulu logs';
end;
addtosystemjournal( 'Найдено ' + inttostr(GetQuantity(tmpid)) + tmpname);
tmpcnt := tmpcnt + 1;
if tmpcnt > 10 then
begin
addtosystemjournal('Ошибка: не могу переместить логи');
wait(15000);
end;
repeat
tmpstack := FindtypeEx(Logs,tmpcolor,Sunduk,False);
if GetQuantity(tmpstack) >= 65000 then Ignore(tmpstack);
until (tmpstack = 0) OR (GetQuantity(tmpstack) < 65000);
// Если не найден в сундуке - тогда просто в контейнер
if tmpstack = 0 then tmpstack := Sunduk;
MoveItem(tmpid,GetQuantity(tmpid),tmpstack,0,0,0);
wait(1000);
CheckSave;
until tmpid = 0;
IgnoreReset;
AddToSystemJournal('Разгрузка закончена');
end;
procedure Home;
begin
checksave;
UseObject(RB); 
WaitGump(IntToStr(1024 + RunaHome));
wait(3000);
end;
 
// Идем к сундуку и выгружаемся
procedure UnloadOrDead;
begin
NewMoveXY(xTileSunduk, yTileSunduk, false, 1, false);
if not Dead then begin Discharge; end
else begin AddToSystemJournal('Персонаж мертв.');
wait(1000);
uosay('.rescue');
wait(3000);
Addtosystemjournal('IS_DEAD');
home;
useobject(Sunduk);
wait(3000);
findtype($1F4C,Sunduk);
checksave;
if (findcount > 0) then MoveItem(finditem, 1, RB, 0,0,0);
wait(3000);
end; 
end;
 
function CheckHatchet : Boolean;
var tmpser : Cardinal;
begin
Result := true;
if (ObjAtLayerEx(LhandLayer,self) = 0) then
begin
tmpser := findtype(Hatchet1,backpack);
if tmpser = 0 then tmpser := findtype(Hatchet2,backpack);
if tmpser = 0 then
begin
Result := false;
exit;
end;
if not equip(LhandLayer,tmpser) then
begin
wait(1000);
if not equip(LhandLayer,tmpser) then
begin
Result := false;
exit;
end;
end;
wait(500);
checksave;
end;
end;
// Рубим дерево (Edred)
function LumbCurTree(tile,x,y,z : Integer) : Boolean;
// рубим указанный тайл. Возвращаем false если перевес или чар мертв.
var
q, m1, m2, m3, m4, m5, m6, m7, m8, CountFizzle, NextTree : integer;
 
begin
Result := true;
CountFizzle := 0;
repeat 
if not CheckHatchet then
begin
exit;
end;
if WarMode = true then SetWarMode(false);
if TargetPresent then CancelTarget;
ctime := Now;
if Dead then begin Result := false; exit; end;
UseSkill('Arms Lore');
WaitForTarget(5000);
WaitTargetType ($0F43);
UseObject(ObjAtLayerEx(LhandLayer,self));
WaitForTarget(5000);
If TargetPresent then TargetToTile(tile, x, y, z);
q := 0;
repeat
wait(100);
q := q + 1;
checksave;
m1 := InJournalBetweenTimes(Msg1, ctime, Now);
m2 := InJournalBetweenTimes(Msg2, ctime, Now);
m3 := InJournalBetweenTimes(Msg3, ctime, Now);
m4 := InJournalBetweenTimes(Msg4, ctime, Now);
m5 := InJournalBetweenTimes(Msg5, ctime, Now);
m6 := InJournalBetweenTimes(Msg6, ctime, Now);
m7 := InJournalBetweenTimes(Msg7, ctime, Now);
m8 := InJournalBetweenTimes(Msg8, ctime, Now);
until (m1<>-1) or (m2<>-1) or (m3<>-1) or (m4<>-1) or (m5<>-1) or (m6<>-1) or (m7<>-1) or (m8<>-1) or Dead or (q > 150);
if (m2<>-1) or (m3<>-1) or (m4<>-1) then CountFizzle := CountFizzle + 1;
if Dead or (Weight > MyMaxWeight) then begin Result := false; exit; end;
if (q > 150) then NextTree := NextTree + 1;
until (m5<>-1) OR (m6<>-1) OR (m7<>-1) OR (m8<>-1) OR (CountFizzle = 10) OR (NextTree > 3);
if NextTree >= 3 then NextTree := 0;
end;
 
 
// Главная функция 
Begin 
InitTTilesArray;
InitCTilesArray;
InitSystem;
InitReg;
MarkTrees;
 
repeat
for i:= 0 to Length(ChopTilesArray) - 1 do
begin 
FindTypeEx($0F43,$ffff,backpack,False);
if (FindQuantity < 1) then UnloadOrDead;
AddToSystemJournal(IntToStr(findcount) + ' - Hatchet');
NewMoveXY(ChopTilesArray[i].x, ChopTilesArray[i].y, false, 1, false);
if not LumbCurTree(ChopTilesArray[i].tile, ChopTilesArray[i].x, ChopTilesArray[i].y, ChopTilesArray[i].z) then UnloadOrDead;
end;
until true
End.
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Ламбер

Post by drabadan »

форматирование вырвиглаз, как это читабельно?
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

drabadan wrote:форматирование вырвиглаз, как это читабельно?
Что не так собственно?
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Ламбер

Post by drabadan »

Xper1al wrote:
drabadan wrote:форматирование вырвиглаз, как это читабельно?
Что не так собственно?
отступы, отступы нужны для того чтобы видно было логичские блоки, если их нет в голове каша. По крайней мере у меня, я бы с радостью помог если бы были отступы... В оригинальном скрипте они есть, кстати.
olimpik
Neophyte
Neophyte
Posts: 26
Joined: 07.11.2016 13:34

Re: Ламбер

Post by olimpik »

В Основную функцию лесорубства добавь кушать и смотреть свой вес, лишним не будет ))
// Рубим дерево (Edred)
function LumbCurTree(tile,x,y,z : Integer) : Boolean;
// рубим указанный тайл. Возвращаем false если перевес или чар мертв.
var
q, m1, m2, m3, m4, m5, m6, m7, m8, CountFizzle, NextTree : integer;

begin
Hungry(1,backpack);
wait(1000)
AddToSystemJournal('MyWeight:'+inttostr(weight)+' '+'MaxWeight:'+inttostr(MyMaxWeight)+' '+'Hatchet:'+IntToStr(Count($0F43))+' '+'Fish:'+IntToStr(Count($097B)));
Result := true;
CountFizzle := 0;
repeat
if not CheckHatchet then
begin
exit;
end;
if WarMode = true then SetWarMode(false);
if TargetPresent then CancelTarget;
ctime := Now;
if Dead then begin Result := false; exit; end;
UseSkill('Arms Lore');
WaitForTarget(5000);
WaitTargetType ($0F43);
UseObject(ObjAtLayerEx(LhandLayer,self));
WaitForTarget(5000);
If TargetPresent then TargetToTile(tile, x, y, z);
q := 0;
repeat
wait(100);
q := q + 1;
checksave;
m1 := InJournalBetweenTimes(Msg1, ctime, Now);
m2 := InJournalBetweenTimes(Msg2, ctime, Now);
m3 := InJournalBetweenTimes(Msg3, ctime, Now);
m4 := InJournalBetweenTimes(Msg4, ctime, Now);
m5 := InJournalBetweenTimes(Msg5, ctime, Now);
m6 := InJournalBetweenTimes(Msg6, ctime, Now);
m7 := InJournalBetweenTimes(Msg7, ctime, Now);
m8 := InJournalBetweenTimes(Msg8, ctime, Now);
until (m1<>-1) or (m2<>-1) or (m3<>-1) or (m4<>-1) or (m5<>-1) or (m6<>-1) or (m7<>-1) or (m8<>-1) or Dead or (q > 150);
if (m2<>-1) or (m3<>-1) or (m4<>-1) then CountFizzle := CountFizzle + 1;
if Dead or (Weight > MyMaxWeight) then begin Result := false; exit; end;
if (q > 150) then NextTree := NextTree + 1;
until (m5<>-1) OR (m6<>-1) OR (m7<>-1) OR (m8<>-1) OR (CountFizzle = 10) OR (NextTree > 3);
if NextTree >= 3 then NextTree := 0;
end;
olimpik
Neophyte
Neophyte
Posts: 26
Joined: 07.11.2016 13:34

Re: Ламбер

Post by olimpik »

и вот такую процедуру еще накинь что бы еду брал

Code: Select all

procedure checkFish;
begin
if (Count($097B) < 10) then
   begin
   MoveItem(FindType($097B, Sunduk),10,Backpack,0,0,0);
   Wait(500);
   end;
end; 

// Разгрузка (Edred)
procedure Discharge;
// разгружаем нарубленное в сундук
// нарубленное - реги в массиве Regs[1..3]
// логи - константа Logs
var
m, tmpcnt : integer;
tmpid, tmpstack, tmpcolor : Cardinal;
tmpname : String;
begin
AddToSystemJournal('Разгружаемся');
waitconnection(3000);
if Dead then exit;
UseObject(Sunduk);
wait (500);
CheckAxe;
checkFish;
wait(1000);
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

olimpik wrote:и вот такую процедуру еще накинь что бы еду брал

Code: Select all

procedure checkFish;
begin
if (Count($097B) < 10) then
   begin
   MoveItem(FindType($097B, Sunduk),10,Backpack,0,0,0);
   Wait(500);
   end;
end; 

// Разгрузка (Edred)
procedure Discharge;
// разгружаем нарубленное в сундук
// нарубленное - реги в массиве Regs[1..3]
// логи - константа Logs
var
m, tmpcnt : integer;
tmpid, tmpstack, tmpcolor : Cardinal;
tmpname : String;
begin
AddToSystemJournal('Разгружаемся');
waitconnection(3000);
if Dead then exit;
UseObject(Sunduk);
wait (500);
CheckAxe;
checkFish;
wait(1000);
Спасибо огромное, очень помог!)
80aX
Neophyte
Neophyte
Posts: 34
Joined: 10.12.2016 2:31
Location: Hawaii

Re: Ламбер

Post by 80aX »

А зачем еду себе в пак брать? Можно прям из сундука хавать.

Code: Select all

Hungry(1, Sunduk);
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

Скрипт периодически останавливается, не могу понять с чем это связано.
olimpik
Neophyte
Neophyte
Posts: 26
Joined: 07.11.2016 13:34

Re: Ламбер

Post by olimpik »

80aX wrote:А зачем еду себе в пак брать? Можно прям из сундука хавать.

Code: Select all

Hungry(1, Sunduk);

если макс вес не большой то да, а если макс вес 3000 или 10000 установлен, ходит он рубит пол дня и голодает :D
Xper1al wrote:Скрипт периодически останавливается, не могу понять с чем это связано.
то же не пойму, ты хоть напиши что происходит, где и как останавливается, и что пишется в журнале на момент остановки?
drabadan
Expert
Expert
Posts: 730
Joined: 13.12.2012 17:35
Contact:

Re: Ламбер

Post by drabadan »

olimpik wrote:
80aX wrote:А зачем еду себе в пак брать? Можно прям из сундука хавать.

Code: Select all

Hungry(1, Sunduk);

если макс вес не большой то да, а если макс вес 3000 или 10000 установлен, ходит он рубит пол дня и голодает :D
Xper1al wrote:Скрипт периодически останавливается, не могу понять с чем это связано.
то же не пойму, ты хоть напиши что происходит, где и как останавливается, и что пишется в журнале на момент остановки?
а если его с таким весом кто то "убъет", как то не безопасненько...
У меня тоже ест из сундука, тоже залипает иногда скрипт. Версия стелса 7.8.4.
Xper1al
Neophyte
Neophyte
Posts: 19
Joined: 17.12.2016 3:14

Re: Ламбер

Post by Xper1al »

olimpik wrote:
80aX wrote:А зачем еду себе в пак брать? Можно прям из сундука хавать.

Code: Select all

Hungry(1, Sunduk);

если макс вес не большой то да, а если макс вес 3000 или 10000 установлен, ходит он рубит пол дня и голодает :D
Xper1al wrote:Скрипт периодически останавливается, не могу понять с чем это связано.
то же не пойму, ты хоть напиши что происходит, где и как останавливается, и что пишется в журнале на момент остановки?
я чуть выше уже писал, что в журнале, но на самом деле моменты разные, может в лесу остановиться, может у сундука. Может часа 3 работать и потом отключиться, может через пол часа.
Журнал
[21:28:36:347] System: Success: 1 birch logs.
[21:28:37:269] System: Oh no your tool breaks!
[21:28:37:270] System: You stop lumberjacking.
[21:28:43:391] System: Select an object to evaluate.
[21:28:43:556] System: This Hatchet would do minimal damage and is brand new.
[21:28:48:551] System: Select a tree to chop.
[21:28:48:731] System: That is too far away.
[21:28:53:763] System: Select an object to evaluate.
[21:28:54:000] System: This Hatchet would do minimal damage and is brand new.
[21:28:54:080] System: Select a tree to chop.
[21:28:54:300] System: You start lumberjacking...
[21:28:54:381] System: There's no wood here to chop...
[21:28:55:297] System: You stop lumberjacking.
Системный журнал
21:27:14:220 [dark]: 8 - Hatchet
21:27:25:310 [dark]: MyWeight:211 MaxWeight:300 Hatchet:8 Fish:15
21:28:54:418 [dark]: Succesfully executed
21:28:54:418 [dark]: Script Lamber(Test).sc stopped successfuly
Post Reply