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

Camping Щепки

тут можно задать вопрос по скриптингу
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Camping Щепки

Post by Verana »

такой вот скрипт на изготовление щепок для прокачки Campinga... при использовании таргета от дагера на логи появляется меню, там киндлы... скрипт все это делает но проблема в том что он не скидывает их на землю, а делает до упора, пока помещается в пак, дальше просто в пустую изводит дерево ничего не производя из-за перевеса...Кому не сложно, помогите дописать скрипт чтоб он скидывал под себя то что изготавливает.

Code: Select all

program Bowcraft; // for Zulu Hotel Europe - zuluhotel.net.ua

{$Include 'all.inc'}

var i:integer;

const
Logs        = $1BDD; 
LogsColor  = $0000; // цвет логов
Item      = $0DE1; // тип предмета который клепаем
ExItem    = $0DE1; // тип эксептового предмета который клепаем
Dagger   = $0F51;

Procedure make_item;
Begin
CancelMenu;
UseObject(FindType(Dagger,-1));
FindTypeEx(Logs, LogsColor, ground, false);
WaitTargetObject(finditem);
wait(1000);                          
// настройки меню предмета который клепаем
WaitMenu('What would you like to make?', 'Log kindling');                                                             
wait(50000);
WaitJournalLine(Now, 'You create|produce anything!|You red', 2000);   
if TargetPresent then CancelTarget;                                                    
end;


Begin 
waitconnection(500);
while not dead do
begin         
//Hungry(1,-1);
//for i :=1 to 20 do
//begin
WaitConnection(500);
Wait(1000);
FindDistance := 0;
Stack(Item,-1);
if FindType(Item,Backpack) > 0 then
DropHere(FindItem);
end;

// Выключил чтобы не удалял созданные вещи.
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($13B2);
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($234E);

//Hungry(1,-1);
//Wait(50000);
checksave;
WaitGump('0001');
end.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Camping Щепки

Post by Vizit0r »

WaitMenu('What would you like to make?', 'Log kindling');

кинь перед
waitconnection(500);
while not dead do

и удали из make_item


проверь, что Item = $0DE1; действительно тип щепок.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

изображение http://s020.radikal.ru/i721/1507/73/7b385d825a16.png

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

Code: Select all

 program Bowcraft; // for Zulu Hotel Europe - zuluhotel.net.ua

{$Include 'all.inc'}

var i:integer;

const
Logs        = $1BDD; 
LogsColor  = $0000; // цвет логов
Item      = $0DE1; // тип предмета который клепаем
//ExItem    = $0DE1; // тип эксептового предмета который клепаем
Dagger   = $0F51;

Procedure make_item;
Begin
CancelMenu;
UseObject(FindType(Dagger,-1)); 
FindTypeEx(Logs, LogsColor, ground, false); 
WaitTargetObject(finditem);
wait(500);                          
// настройки меню предмета который клепаем   
if TargetPresent then CancelTarget;                                                                                                              
end;


Begin 
WaitMenu('What would you like to make?', 'kindling');
wait(1000);      
waitconnection(1000);
while not dead do
begin         
//Hungry(1,-1);
//for i :=1 to 20 do
//begin
WaitConnection(2000);
checksave; 
Wait(5000);
FindDistance := 0;
Stack(Item,-1);
if FindType(Item,Backpack) > 0 then
DropHere(FindItem);
make_item;
end;

// Выключил чтобы не удалял созданные вещи.
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($13B2);
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($234E);

//Hungry(1,-1);
//Wait(50000);
checksave;
WaitGump('0001');
end.

Roman
Neophyte
Neophyte
Posts: 37
Joined: 03.11.2014 21:48

Re: Camping Щепки

Post by Roman »

waitmenu поменяй на automenu
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Camping Щепки

Post by Vizit0r »

а, ну да.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

не помогло "16:11:42:304 [3]: Drag error: Object not found."
может что то проглядели?
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

Скрипт работает, делает щепки и скидывает их себе под ноги но проблема в том что не в стак... подскажите, научите, как можно их сразу в стак под себя скидывать?

program Kindling; // for Zulu Hotel Europe - zuluhotel.net.ua

{$Include 'all.inc'}

var i:integer;

const
Logs = $1BDD;
Logs_Color = $0000; // цвет металла
Shield = $0DE1; // тип предмета который клепаем
ExTorch = $0DE1; // тип эксептового предмета который клепаем
Box = $41A4850C; //Сундук куда все складываем
Dagger = $0F51;

Procedure make_item;
Begin
CancelMenu;
UseObject(FindType(Dagger, backpack));
FindTypeEx(Logs, Logs_Color, ground, false);
WaitTargetObject(finditem);
wait(500);
// настройки 1-го меню
AutoMenu('What would you like to make?', 'kindling');
wait(500);
WaitJournalLine(Now, 'You place|produce anything!|You Add items', 2000);
FindType($0DE1,Backpack);
if FindCount > 0 then Drophere(finditem);
// настройки меню предмета который клепаем
//WaitMenu('What would you like to make?', 'Shelf');
if TargetPresent then CancelTarget;
end;

//procedure MoveMake;
//begin
//FindType($14F0, backpack);
//if (FindCount >= 1) and (GetDistance(finditem) <=2) and (GetDistance(finditem) >=0) and connected and (not dead) then begin
//wait(100);
//MoveItem(finditem, 0, Box, 0, 0, 0);
//wait(100);
//end;
//end;

Begin
waitconnection(1000);
while not dead do
begin
for i :=1 to 20 do
begin
WaitConnection(2000);
checksave;
//MoveMake;
Wait(2000);
make_item;
FindDistance := 2;
//Stack(Shield,ground);
//if FindType(Shield,Backpack) > 0 then
//DropHere(FindItem);
end;

// Выключил чтобы не удалял созданные вещи.
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($1DB8);
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($1DB8);

//Hungry(1,-1);
//Wait(1000);

WaitGump('0001');
end;
end.
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

я и так попробовал... вылезает "Compiler: [Error] (stack.inc at 1:11): Duplicate identifier 'STACK' "

program Kindling; // for Zulu Hotel Europe - zuluhotel.net.ua

{$Include 'all.inc'}
{$Include 'stack.inc'}

var i:integer;

const
Logs = $1BDD;
Logs_Color = $0000; // цвет металла
Kindlings = $0DE1; // тип предмета который клепаем
ExTorch = $0DE1; // тип эксептового предмета который клепаем
Box = $41A4850C; //Сундук куда все складываем
Dagger = $0F51;

Procedure make_item;
Begin
CancelMenu;
UseObject(FindType(Dagger, backpack));
FindTypeEx(Logs, Logs_Color, ground, false);
WaitTargetObject(finditem);
wait(500);
// настройки 1-го меню
AutoMenu('What would you like to make?', 'kindling');
wait(500);
WaitJournalLine(Now, 'You place|produce anything!|You Add items', 2000);
FindDistance := 0;
Stack(Kindlings,-1);
FindType($0DE1,Backpack);
if FindCount > 0 then Drophere (finditem);
// настройки меню предмета который клепаем
//WaitMenu('What would you like to make?', 'Shelf');
if TargetPresent then CancelTarget;
end;

//procedure MoveMake;
//begin
//FindType($14F0, backpack);
//if (FindCount >= 1) and (GetDistance(finditem) <=2) and (GetDistance(finditem) >=0) and connected and (not dead) then begin
//wait(100);
//MoveItem(finditem, 0, Box, 0, 0, 0);
//wait(100);
//end;
//end;

Begin
waitconnection(1000);
while not dead do
begin
for i :=1 to 20 do
begin
WaitConnection(2000);
checksave;
//MoveMake;
Wait(2000);
make_item;
FindDistance := 2;
//Stack(Shield,ground);
//if FindType(Shield,Backpack) > 0 then
//DropHere(FindItem);
end;

// Выключил чтобы не удалял созданные вещи.
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($1DB8);
//UOSay('.killobject');
//Wait(1000);
//WaitTargetType($1DB8);

//Hungry(1,-1);
//Wait(1000);

WaitGump('0001');
end;
end.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Camping Щепки

Post by Vizit0r »

переведи ошибку на русский.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

Vizit0r wrote:переведи ошибку на русский.
Крафт с логов делает щепки по 10 шт по дефолту пока есть место в паке потом автоматом останавливается... я пытался этим скриптом сделать так чтоб крафт делал Щепки и скидывал их себе под ноги, так чтоб они собирались в стак, но они скидываются по 10шт сразу после изготовления и кажая по отельности и при этом друг на друга...
возможно есть специальная команда чтоб скидывать под собой предметы одного типа и одного цвета в стак?
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Re: Camping Щепки

Post by Macks »

Verana wrote:
Vizit0r wrote:переведи ошибку на русский.
Крафт с логов делает щепки по 10 шт по дефолту пока есть место в паке потом автоматом останавливается... я пытался этим скриптом сделать так чтоб крафт делал Щепки и скидывал их себе под ноги, так чтоб они собирались в стак, но они скидываются по 10шт сразу после изготовления и кажая по отельности и при этом друг на друга...
возможно есть специальная команда чтоб скидывать под собой предметы одного типа и одного цвета в стак?
Есть, перемещаешь объект в стопку как в контейнер.
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

как это правильно реализовать в скрипте? команды почитал и сам его нашел, но правильно реализовать не выходит... я только учусь
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Camping Щепки

Post by Vizit0r »

{$Include 'all.inc'}
{$Include 'stack.inc'}

я подозреваю, что если ты откроешь файл all.inc там уже будет {$Include 'stack.inc'}
вот тебе и дублирование.

и ошибку ты так и не перевел на русский.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Verana
Novice
Novice
Posts: 60
Joined: 26.06.2015 18:44

Re: Camping Щепки

Post by Verana »

Vizit0r wrote:{$Include 'all.inc'}
{$Include 'stack.inc'}

я подозреваю, что если ты откроешь файл all.inc там уже будет {$Include 'stack.inc'}
вот тебе и дублирование.

и ошибку ты так и не перевел на русский.
пардон, 17:03:54:015 [3]: Compiler: [Error] (stack.inc at 1:11): Duplicate identifier 'STACK'

вот мои инклюды

Code: Select all

{$Include 'checksave.inc'} 
{$Include 'hungry.inc'} 
{$Include 'checktargeterror.inc'} 
{$Include 'WaitConnection.inc'} 
{$Include 'stack.inc'}
{$Include 'my_func.inc'}
а вот если делать без

Code: Select all

{$Include 'stack.inc'}
в скрипте то просто кидает по 10шт(за раз по дефолту производит10единиц) под себя и скрипт работает, но хочу чтоб кидал сразу в стак под собой....
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: Camping Щепки

Post by Vizit0r »

//Stack(Shield,ground);
//if FindType(Shield,Backpack) > 0 then
//DropHere(FindItem);

может стоило не комментировать это?
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply