Jump to content
lazarbeam

[2007] Special Attack

Recommended Posts

Returns the estimated percent full of the special attack bar: Retuns -1 if it can't find the special attack bar.

This was fairly accurate with my tests. May return 11% for 10% or 21% for 20%, but 30%-100% has been dead on, as well as 0% and -1.

If there's problems, you may need to adjust the tolerance (it's so high to address a problem at 0%)

Function GetSpecialAttackLevel:Integer;
var x,y:Integer;
Begin
 If(RS07_LoggedIn)Then
   Begin
     If(Not(RS07_GameTabOpen(0)))Then RS07_OpenGameTab(0);
     If(FindColorTol(x,y,29,572,417,713,419,100))Then
       Begin
         Result:= Round(100-100*(713-x)/141);  
       end else 
         Begin
           If(Not(FindColorTol(x,y,4361025,572,417,713,419,50)))Then
             Begin
               Result:= -1;
             end else Result:=100;
         end;
   end;
end;

Edited by lazarbeam
Link to comment
Share on other sites

Nice work, looking good!

 

If you want to tweak the logical part a bit, then you could change:

 

If(Not(RS07_GameTabOpen(0)))Then RS07_OpenGameTab(0); => if RS07_OpenGameTab(0) then

 

Because RS07_OpenGameTab() is based on RS07_OpenGameTabEx() which uses RS07_GameTabOpen() in it.

 

Source (Includes\MSSL\Library\Gaming\RuneScape_2007\Core\Level-2\GameTab.scar) for RS07_OpenGameTabEx():

 

function RS07_OpenGameTabEx(i, interval, maxTime: Integer): Boolean;
{==============================================================================]   
 Created: February 25th, 2013.
 Contributors: Janilabo
 Explanation: Opens game tab with ID (i). Tries to open game tab with interval.
              Keeps going till maxTime has reached or game tab activated.
              Returns true with success.                   
[==============================================================================}
var
 tm, tm2: Integer;
 p: TPoint;
begin
 if RS07_LoggedIn then
 begin
   if (IsTextAtEx(184, 34, 'The Bank', 0, RS07_MainFont, False, False, 0, 0, 2070783) or IsTextAtEx(332, 288, 'Withdraw', 0, RS07_SmallFont, False, False, 0, 0, 2070783)) then
   begin
     p := Point((428 + Random(20)), (39 + Random(4)));
     tm := GetSystemTime;
     repeat    
       if (not RS07_LoggedIn or ((GetSystemTime - tm) > 5000)) then
         Exit;
       if ((GetSystemTime - tm2) > (150 + Random(150))) then
       begin
         RS07_ClickMouse(p.X, p.Y, mbLeft);
         tm2 := GetSystemTime;
       end; 
     until not (IsTextAtEx(184, 34, 'The Bank', 0, RS07_MainFont, False, False, 0, 0, 2070783) or IsTextAtEx(332, 288, 'Withdraw', 0, RS07_SmallFont, False, False, 0, 0, 2070783));                                          
   end;
   p := BoxCenter(RS07_GameTabs[i].area); 
   MSSL_OffsetPoint(p, RandomRange(-4, 5), RandomRange(-4, 5));
   tm := GetSystemTime;
   repeat       
     if not RS07_LoggedIn then
       Exit; 
     Result := RS07_GameTabOpen(i); // <= this line over here
     if not Result then
     begin   
       if ((GetSystemTime - tm2) > interval) then
       begin 
         if MouseInBox(RS07_GameTabs[i].area) then
           RS07_Click(mbLeft)
         else
           RS07_ClickMouse(p.X, p.Y, mbLeft);
         tm2 := GetSystemTime;  
       end;   
       MSSL_Wait(0);
     end;
   until (Result or ((GetSystemTime - tm) > maxTime));
 end;
end;

 

So as you see: "Result := RS07_GameTabOpen(i);"

 

Infact, you could actually even remove the RS07_LoggedIn from this function, because that is also checked with RS07_OpenGameTabEx(), meaning RS07_OpenGameTab() returns false if you aren't logged in. :P

 

I would do something this:

 

function GetSpecialAttackLevel: Integer;
var
 x, y: Integer;
begin     
 Result := -1;
 if RS07_OpenGameTab(0) then
 case FindColorTol(x, y, 29, 572, 417, 713, 419, 100) of
   True: Result := Round(100 - (100 * (713 - x) / 141));
   False:         
   if FindColorTol(x, y, 4361025, 572, 417, 713, 419, 50) then
     Result := 100;                                           
 end;
end;

 

But for some reason, the function returns 0 if special attack bar isn't there.. Should it be like that? I mean is it better to return it as 0 if its not even found? I think this result might be because the tolerance is just too high for the first FindColorTol() [100]..

 

Nevertheless, nice job and keep em coming lazar!

Link to comment
Share on other sites

Thanks for the tips! I haven't done much scripting since 2.03 and am trying to get back into the swing of things and learn all of the new functions.

 

And the return of -1 is a check if a weapon compatible with special attack is being wielded. In the case that I wrote this script, I am switching to Excalibur to use the special attack. So a return of -1 doubles as a check for that.

Link to comment
Share on other sites

0 03 bitcoina tuzona crypto pdf 2 inch crypto when will bitcoins run out buy bitcoin cash on coinbase with bitcoin hotels by the crypto arena acid technologies crypto lark davis crypto how do you buy bitcoin futures buy bitcoin lightning node how to buy bitcoin buy and sell bitcoin $scrt ac3 crypto 10 best crypto mining companies sonic mania netflix

base token mynaswap buy bitcoin with neteller usa $ound crypto coin rankings buy bitcoin with nike giftcard can h1b buy bitcoin how do you buy bitcoin on blockchain $fire crypto buy bitcoin with card us

buy runescape bond with bitcoin buy bitcoin online no coinbase buy bitcoin uae reddit link staking super form can you buy partial bitcoin stock when is the next crypto bull run crypto.com gift cards 39 bitcoin what are bitcoin etfs

buy bitcoin paypal instantly trust wallet token buying bitcoin in blockchain new cryptocurrency release 2021 6 trillion dollar bitcoin how to buy ethereum with bitcoin on coinbase gift crypto to family members is the tesla bitcoin giveaway real rivian stock market 666 666 bitcoin block

how to get trump in infinite craft 753 capital crypto ads crypto price prediction mudai crypto airdrop may 2018
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://lib39.ru/forum/index.php?PAGE_NAME=profile_view&UID=73271
9. Обеспечьте безопасность

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

Заключение

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

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

Модельная оснастка

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

Модельные плиты

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

В каком месте приобрести модельный пластик?

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

При выборе модели пластика обратите внимание на следующие моменты:

- Толщина: В зависимости от ваших потребностей изберите подходящую толщину материала https://modelnyi-plastik.ru/ модельный пластик пвх

- Цвет: Модельный пластик доступен в различных цветах, что позволяет создавать более эстетически симпатичные модели.

- Тип: Есть различные виды модельного пластика, включая акриловые, полистирольные и прочие. Выбор зависит от специфичности вашего проекта.

Заключение

Модельный пластик, модельная оснастка и модельные плиты это принципиальные элементы в мире моделирования и прототипирования. Они дозволяют создавать качественные изделия с высокой степенью точности. Выбор правильного материала и приборов значительно упростит вашу работу и поможет реализовать самые смелые идеи.
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...