Jump to content
Amberleaf

[OSRS07] Catherby net fisher

Recommended Posts

[OSRS07] Catherby net fisher v0.4

 

Uses a 'small fishing net' & a 'big fishing net' to power-fish at the Catherby fishing spots.

 

Nets should be in these 2 slots in any order.

 

Catherbyfishersetup2nets.jpg

 

Requirements

 

  • Public chat must be switched off.
  • You'll need a 'small fishing net' & a 'big fishing net' in your bag as shown above.
  • Level 16 fishing.
  • Most recent version of Scar-divi.
  • OSI Include File>>Includes manager>> download or update.
  • MSSL Include File>>Includes manager>> download or update.

 

Start near any of the fishing spots.

 

Enjoy!

 

OSRS07 - Catherby net fisher v0.4

 

older versions below

 

OSRS07 - Catherby net fisher v0.3

 

OSRS07 - Catherby net fisher v0.2

Edited by Amberleaf
Link to comment
Share on other sites

Here's some pointers I think you may find useful

 

I see you have MSSL included yet you only use 1 MSSL function: RS07_IsUpText. OSI's equivalent to this is UpTextContains. There's really no reason to add an entire library for the use of one function. You could just use OSI's function or paste what you need if you really need it. After all, 1 function for a 'massive' library is a bit much, all though this is an unnecessary change you might like your script compiling 5x as fast.

 

The next thing I noticed was your coding standards. All bolded words are lower case. You seemed to follow this pretty well except for with If.. which is also a bold word and show be all lowercase. Your indentations are backwards. You are supposed to indent two spaces to the right after words such as begin, repeat, then, else, const and two the opposite direction after until, end... and in no other places (like you are indenting after Mouse and WaitRR... ????? no one has ever done this O_O) Another thing to be aware of is semicolons I see you did end else; which it should be end else on two seperate lines with no semi colons.

 

Then I noticed you had function RCDrop. It has no Result returned so it really only needs to be a procedure. Also I'm not sure what your MMouse/Mouse does (as that would just be one thing all together... Mouse does both) I assume it's just for changing to the inventory tab for which you could of just use Game-Tab.scar's SetGameTab(Tab_Inv). I like the use of DropAllExclude.

 

In your GetFishing procedure you use FindColorsSpiralTol with some hardcoded search bounds. I'll assume what you're looking for is on the main screen MSX1..MSX2 etc. you could of just used those or Color.scar's wrapper FindColorsSpiralTolP (ok maybe I don't have this one done yet..) and used MSB: TBox;.

 

I see you have antirandoms enabled but you never call OSIFindRandoms.

 

It seems to be a pretty simple script etc. hopefully I'll have LevelUp done soon in OSI so you won't need that custom FindColor any more.

 

I see a lot of potential in your coding skills but you need to hone in mistakes in your current skills so your code works better and is easier to read and then develop new skill sets that will make your coding a lot easier to perform complex tasks and more stable/durable/human like and overall clean. Such as TPA finding with CTS2 and overall script structure. It also looks like you should add login capability to this script.

 

If you need any examples there's also OSI's include itself to look through or you can look as some of the old OSI1 scripts https://github.com/OSI1 and see how they were done.

 

Nice job with this script though

 

Never stop improving :)

 

Cheers

Link to comment
Share on other sites

Here's some pointers I think you may find useful

 

I see you have MSSL included yet you only use 1 MSSL function: RS07_IsUpText. OSI's equivalent to this is UpTextContains. There's really no reason to add an entire library for the use of one function. You could just use OSI's function or paste what you need if you really need it. After all, 1 function for a 'massive' library is a bit much, all though this is an unnecessary change you might like your script compiling 5x as fast.

 

The next thing I noticed was your coding standards. All bolded words are lower case. You seemed to follow this pretty well except for with If.. which is also a bold word and show be all lowercase. Your indentations are backwards. You are supposed to indent two spaces to the right after words such as begin, repeat, then, else, const and two the opposite direction after until, end... and in no other places (like you are indenting after Mouse and WaitRR... ????? no one has ever done this O_O) Another thing to be aware of is semicolons I see you did end else; which it should be end else on two seperate lines with no semi colons.

 

Then I noticed you had function RCDrop. It has no Result returned so it really only needs to be a procedure. Also I'm not sure what your MMouse/Mouse does (as that would just be one thing all together... Mouse does both) I assume it's just for changing to the inventory tab for which you could of just use Game-Tab.scar's SetGameTab(Tab_Inv). I like the use of DropAllExclude.

 

In your GetFishing procedure you use FindColorsSpiralTol with some hardcoded search bounds. I'll assume what you're looking for is on the main screen MSX1..MSX2 etc. you could of just used those or Color.scar's wrapper FindColorsSpiralTolP (ok maybe I don't have this one done yet..) and used MSB: TBox;.

 

I see you have antirandoms enabled but you never call OSIFindRandoms.

 

It seems to be a pretty simple script etc. hopefully I'll have LevelUp done soon in OSI so you won't need that custom FindColor any more.

 

I see a lot of potential in your coding skills but you need to hone in mistakes in your current skills so your code works better and is easier to read and then develop new skill sets that will make your coding a lot easier to perform complex tasks and more stable/durable/human like and overall clean. Such as TPA finding with CTS2 and overall script structure. It also looks like you should add login capability to this script.

 

If you need any examples there's also OSI's include itself to look through or you can look as some of the old OSI1 scripts https://github.com/OSI1 and see how they were done.

 

Nice job with this script though

 

Never stop improving :)

 

Cheers

You made some really good points up there, but I must say, I wouldn't recommend using UpTextContains (not from either one, OSI or MSSL) for any important checking purposes - so I disagree with you.. You know why?

It's just not too reliable, because it's based on rs_GetTextAt. It would be great if rs_GetTextAt would return ALWAYS correctly, but it doesn't, due to the way uptext behaves.

So, I recommend using IsTextAtEx based detection instead (for all cases where you can use it).

 

Pros/Cons compared to UpTextContains:

+Highly reliable (100%)

+Very fast (at average this is about 10 times faster than the methods based on rs_GetTextAt)

-Case-sensitive

-The text MUST at least start with that you use for it (so you can't do middle searching, like with UpTextContains)

 

James, if you want to add the same methods as I have wrote to MSSL, to OSI, then here you go (converted them to OSI standards):

 

{==============================================================================]   
 Explanation: Returns true if uptext equals OR starts with any of the texts. CASE-SENSITIVE!             
[==============================================================================}
function IsUpTextMulti(texts: TStrArray): Boolean;
var
 u: TIntArray;
 t, l, h, i, CTS: Integer;
 b: TSCARBitmap;
 c: TSCARClient;   
begin
 l := Length(texts);
 if ((l > 0) and LoggedIn) then
 begin
   b := GetClient.CaptureEx(8, 7, 514, 22);
   CTS := GetColorToleranceSpeed;    
   ColorToleranceSpeed(0);      
   u := [4231423, 16776960, 16777215, 255, 12543, 28927, 45311, 65535, 65472, 65408, 65344, 65280];
   h := High(u);
   try 
     for i := 0 to h do
       ReplaceColorTol(b, u[i], u[i], 80);
     c := SetClient(TSCARBitmapClient.Create(b)); 
     try       
       for t := 0 to (l - 1) do  
       begin                                                      
         Result := IsTextAtEx(0, 0, texts[t], 0, ScreenChars, False, False, 0, 2, -1); 
         if Result then
           Break;
       end;  
     except
     finally
       SetClient(c).Free;
     end; 
   except  
   finally
     b.Free;      
   end;  
   ColorToleranceSpeed(CTS);
 end;          
end; 

{==============================================================================]   
 Explanation: Returns true if uptext equals OR starts with text. CASE-SENSITIVE!             
[==============================================================================}
function IsUpText(text: string): Boolean;
begin
 Result := IsUpTextMulti([text]);
end;

 

So yeah, UpTextContains is "O.K." if you need to search for stuff in the middle of the text, but otherwise I recommend you'll ALWAYS use IsUpText instead. Seriously.

I noticed speed problems (mostly because of incorrect results from rs_GetTextAt) in Project RS06, so I wrote that method for much more accurate text checking.

Sometimes scripts got stuck aswell, simply because rs_GetTextAt just wouldn't return the text correctly (failsafes did help but things did get slower)!

 

-Jani

Edited by Janilabo
Link to comment
Share on other sites

You made some really good points up there, but I must say, I wouldn't recommend using UpTextContains (not from either one, OSI or MSSL) for any important checking purposes - so I disagree with you.. You know why?

It's just not too reliable, because it's based on rs_GetTextAt. It would be great if rs_GetTextAt would return ALWAYS correctly, but it doesn't, due to the way uptext behaves.

So, I recommend using IsTextAtEx based detection instead (for all cases where you can use it).

 

Pros/Cons compared to UpTextContains:

+Highly reliable (100%)

+Very fast (at average this is about 10 times faster than the methods based on rs_GetTextAt)

-Case-sensitive

-The text MUST at least start with that you use for it (so you can't do middle searching, like with UpTextContains)

 

James, if you want to add the same methods as I have wrote to MSSL, to OSI, then here you go (converted them to OSI standards):

 

{==============================================================================]   
 Explanation: Returns true if uptext equals OR starts with any of the texts. CASE-SENSITIVE!             
[==============================================================================}
function IsUpTextMulti(texts: TStrArray): Boolean;
var
 u: TIntArray;
 t, l, h, i, CTS: Integer;
 b: TSCARBitmap;
 c: TSCARClient;   
begin
 l := Length(texts);
 if ((l > 0) and LoggedIn) then
 begin
   b := GetClient.CaptureEx(8, 7, 514, 22);
   CTS := GetColorToleranceSpeed;    
   ColorToleranceSpeed(0);      
   u := [4231423, 16776960, 16777215, 255, 12543, 28927, 45311, 65535, 65472, 65408, 65344, 65280];
   h := High(u);
   try 
     for i := 0 to h do
       ReplaceColorTol(b, u[i], u[i], 80);
     c := SetClient(TSCARBitmapClient.Create(b)); 
     try       
       for t := 0 to (l - 1) do  
       begin                                                      
         Result := IsTextAtEx(0, 0, texts[t], 0, ScreenChars, False, False, 0, 2, -1); 
         if Result then
           Break;
       end;  
     except
     finally
       SetClient(c).Free;
     end; 
   except  
   finally
     b.Free;      
   end;  
   ColorToleranceSpeed(CTS);
 end;          
end; 

{==============================================================================]   
 Explanation: Returns true if uptext equals OR starts with text. CASE-SENSITIVE!             
[==============================================================================}
function IsUpText(text: string): Boolean;
begin
 Result := IsUpTextMulti([text]);
end;

 

So yeah, UpTextContains is "O.K." if you need to search for stuff in the middle of the text, but otherwise I recommend you'll ALWAYS use IsUpText instead. Seriously.

I noticed speed problems (mostly because of incorrect results from rs_GetTextAt) in Project RS06, so I wrote that method for much more accurate text checking.

Sometimes scripts got stuck aswell, simply because rs_GetTextAt just wouldn't return the text correctly (failsafes did help but things did get slower)!

 

-Jani

I have to do some research before replying to your post fully Janilabo. I am aware of the functionality differences. I will say for now I have not yet experienced any performance or accuracy issues with rs_GetUpText in either RS07 and RS2.

Edited by Wanted
Link to comment
Share on other sites

オンライン カジノは、プレイヤーが自宅にいながらにしてポーカー、ルーレット、ブラックジャック、スロットなどのギャンブル ゲームを楽しむ機会を提供する仮想プラットフォームです。 オンラインカジノは、アクセスのしやすさ、ゲームの種類の多さ、そして大金を獲得する機会があるため、年々人気が高まっています。

オンラインカジノの主な利点は、利便性とアクセスしやすさです。 プレイヤーは、通常のカジノの営業時間に制限されず、いつでもゲームを楽しむことができます。 必要なのは、インターネットにアクセスできるデバイスと、カジノのウェブサイトにアクセスできることだけです。 これにより、プレイヤーは従来のカジノによくありがちなストレスや緊張を感じることなく、快適な環境でプレイすることができます。

オンラインカジノのもう1つの利点は、ゲームの選択肢が豊富なことです。 ユーザーは、それぞれ独自のルールと勝利の機会を提供する何百もの異なるゲームから選択できます。 技術革新のおかげで、オンライン ゲームのグラフィックとサウンドは高品質になり、プレイヤーは興奮と情熱の雰囲気に浸ることができます。

さまざまなゲームに加えて、オンライン カジノはプレーヤーにさまざまなボーナスやプロモーションも提供します。 これらは、スロットのフリースピン、プレイのための追加のお金、または貴重な賞品が得られる特別なトーナメントなどです。 このようなボーナスにより、勝利の可能性が高まり、ゲームがさらに楽しくなります。

もちろん、オンラインカジノでのプレイにはリスクがあります。 ギャンブルには依存性がある可能性があるため、自分の感情を監視し、支出をコントロールすることが重要であることを覚えておくことが重要です。 カジノはまた、責任あるゲーミングをサポートし、自己排除や賭け金制限の機会を提供します casimaru.com

全体として、オンライン カジノはギャンブル愛好家にとって便利でエキサイティングなエンターテイメントを提供します。 幅広いゲーム、ボーナスの選択肢があり、いつでもプレイできるため、世界中のプレイヤーの間で人気が高まっています。 ただし、責任あるゲームと、ゲームが単なる楽しみと娯楽の源であるように自分の行動を制御する能力について覚えておくことが重要です。
Link to comment
Share on other sites

Как найти аудиопоздравления на телефон: полезные советы

Праздничные дни и особенные события в жизни отличная возможность изумить собственных недалёких оригинальным пожеланьем. Если вы желайте выслать аудиопоздравление на телефон, но не знаете, с чего начать, эта статья поможет вам найти подходящие решения.

1. Поиск готовых аудиопоздравлений

Существует множество ресурсов, где можно отыскать готовые аудиопоздравления:
- Интернет-веб-сайты специальные сайты и онлайн-дневники предлагают коллекции аудиопоздравлений на разные поводы: деньки рождения, anniversaries, Новый год и другие праздники. Воспользуйтесь запросами в поисковике, в том числе аудиопоздравления скачать или аудиопоздравления на телефон.
- Прибавления многие мобильные приложения для создания поздравлений предлагают интегрированные аудиофайлы. Попробуйте установить прибавления, такие как "Поздравления" либо "Картинки и пожелания".

2. Запись собственного аудиопоздравления

Если вы хотите добавить личный штришок, запишите пожеланье сами:
- Телефон используйте прибавленье для записи звука (встроенное в телефон либо сторонние прибавления). Просто нажмите на запись, произнесите пожелание и сохраните файл.
- Редактирование при помощи приложений для редактирования звука (например, Audacity либо GarageBand) вы сможете добавить музыку, эффекты или улучшить качество записи.

3. Отправка аудиопоздравления

После всего этого как вы нашли или записали аудиопоздравление, вам надо отправить его:
- ММС вы сможете отправить аудиофайл через MMS. Просто изберите файл и отправьте его, как обычное известье.
- Мессенджеры воспользуйтесь популярными прибавленьями, такими как WhatsApp, Viber либо Telegram, чтобы выслать аудиозапись. Всегда есть возможность прибавления текста и эмодзи, чтобы сделать поздравление более выразительным.
- Email если нужно отправить длинный https://audiosms.ru/ файл, используйте электронную почту. Прикрепите аудиофайл к известию и отправьте его адресату.

4. Использование социальных сетей

Ежели вы хотите сделать пожеланье более общественным, опубликуйте его на своих страницах в социальных сетях:
- Instagram Stories либо Facebook загрузите аудиофайл или добавьте его в видео, которое можно оформить с помощью прекрасных фонов и фильтров.
- VK вы можете сделать пост с аудиозаписью и поделиться им с друзьями либо в сообществах.

Заключение

Аудиопоздравления это хороший способ изумить и порадовать близких. Выбор готовых аудиофайлов, творенье собственного пожеланья либо использование мессенджеров и соц сетей все это поможет вам найти безупречный метод поздравить собственных друзей и родных. Не опасайтесь проявлять креативность, и ваш подарок станет незабываемым!
Link to comment
Share on other sites

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

1. Определите свои нужды

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

2. Отыскиваете советы

Советы друзей, коллег либо знакомых могут веско упростить поиск мастера. Если кто-то из вашего окружения уже воспользовался услугами мастера, он сможет поделиться своими впечатлениями и дать ценные советы.

3. Исследуйте онлайн-платформы

Есть особые платформы и сервисы, в каком месте вы можете найти мастеров на час. Обратите внимание на отзывы юзеров и рейтинги профессионалов. Это окажет вам помощь оценить профессионализм и качество работы мастера.

4. Инспектируйте квалификацию и опыт

Перед тем как решиться, узнайте о квалификации и опыте мастера. Отлично, если у него есть сертификаты либо опыт работы в нужной вам области. Также не излишним будет попросить портфолио выполненных работ.

5. Запросите цены

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

6. Уточните условия работы

Перед тем как подтвердить встречу, обсудите все детали: время работы, необходимые материалы и инструменты. Удостоверьтесь, что мастер соображает ваши ожидания и требования.

7. Проверьте отзывы и репутацию

Дополнительно исследуйте онлайн-отзывы о мастере, если такая возможность есть. Это поможет составить более полное представление о его профессионализме и надежности.

8. Общайтесь обходительно и открыто

Не забывайте, что хорошая коммуникация ключ к удачному сотрудничеству. Обсуждайте возникшие вопросы и комментарии с мастером, чтобы все было четко и понятно https://www.intersyst.ru/support/forum/user/16650/
9. Обеспечьте безопасность

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

Заключение

Выбор мастера на час это ответственный шаг, требующий внимательности и тщательного подхода. Следуя изложенным советам, у вас есть возможность найти квалифицированного и надежного специалиста, который поможет вам решить все проблемы в доме быстро и качественно. Фортуны в вашем поиске!
Link to comment
Share on other sites

Онлайн казино: мир азартных игр в цифровом формате

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

1. Что такое он-лайн казино?

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

2. Преимущества онлайн казино

- Удобство: Играть можно в любое время и в любом месте, где есть интернет.
- Разнообразие игр: Онлайн казино предлагают большой выбор игр, что дает возможность каждому игроку найти что-то по своему вкусу.
- Призы и акции: Многие онлайн казино делают отличное предложение привлекательные призы для новых пользователей, включая призы на первый депозит и бесплатные вращения.
- Анонимность: Игроки могут сохранять свою анонимность, что добавляет дополнительный уровень безопасности.

3. Главные типы игр

Он-лайн казино делают отличное предложение разнообразие игр. Вот некоторые из наиболее модных категорий:

- Игровые слоты: Игры с барабанами, которые имеют разные темы и бонусные функции.
- Настольные игры: Покер, рулетка, блэкджек и прочие классические азартные игры.
- Живы игры: Возможность играть с живыми дилерами в живую через веб-камеру, творя атмосферу традиционного казино.
- Спортивные ставки: Некоторые онлайн казино предлагают возможность ставить на спортивные действия.

4. Советы для новичков

Ежели вы новичок в мире онлайн казино, вот несколько нужных советов:

- Выучите правила: Прежде чем играть, ознакомьтесь с правилами каждой игры.
- Управление Bankroll: Определите бюджет и не будьте выше его, чтоб избежать финансовых потерь https://ens-newswire.com/wp-content/pgs/arhitekturavperiodz.html
- Пробуйте играть бесплатно: Многие казино предлагают демонстрационные версии игр, что позволяет попрактиковаться без риска.
- Используйте бонусы: Воспользуйтесь абсолютно всеми доступными бонусами и акциями, чтоб получить дополнительное время для ведения игры.

Заключение

Онлайн казино представляют собой интересный и увлекательный метод развлечения, позволяющий игрокам наслаждаться азартными играми, не покидая своего дома. Однако важно помнить о рисках и подойти играть ответственно. Будьте внимательны, изучайте правила и услаждайтесь игрой!6y566
Link to comment
Share on other sites

Балясини для лестниц

Балясини это неотъемлемая часть лестничных конструкций, которые дают обеспечение безопасность и эстетическое восприятие интерьера. Балясини представляют собой опоры или стойки, расположенные меж перилами и лестницей, и играют важную роль как в многофункциональном, так и в декоративном нюансе.

Функции балясин

1. Безопасность: Основной задачей балясин является предотвращение падения людей с лестницы. Они обеспечивают нужную поддержку между перилами и ступенями.

2. Эстетика: Балясини прибавляют стиль и характер лестнице. Они могут быть выполнены в разных дизайнах и материалах, что позволяет им гармонически вписываться в общий интерьер.

3. Поддержка перил: Балясини служат основой для установки перил, обеспечивая надежность их и устойчивость.

Материалы для балясин

Балясини могут являться изготовлены из разных материалов, включая:

- Дерево: Один из самых знаменитых материалов из-за своей природной красоте и теплоте. Древесные балясини могут являться как простыми, так и сложными в дизайне.

- Металл: Часто употребляется в современных интерьере. Железные балясини посещают различных форм и стилей, от минималистичных до ornate, придавая лестницам современный вид.

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

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

Дизайн и стиль

Выбор дизайна балясин находится в зависимости от стиля вашего интерьера:

- Традиционный стиль: Здесь великолепно смотрятся древесные балясини с резьбой и декоративными элементами плоские балясины дерева

- Современный стиль: Обыкновенные полосы и металлические конструкции будут совершенно подходить для современных интерьеров.

- Миниатюризм: Изделия из стекла без всяких там деталей могут сделать чистоту и легкость в целом пространстве.

Заключение

Балясини для лестниц делают не только лишь функциональные задачки, да и являются важным элементом декора. Верный выбор материалов и дизайна поможет сделать неопасное, уютное и стильное место в вашем доме. Помните про то, что балясини должны подходить общему стилю и архитектуре вашего интерьера. Сделайте лестницу, которая будет включая безопасной, а также красивой!
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
  • Create New...