Поиск сообщества: Показаны результаты для тегов 'bank'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Информация от Администрации
    • Новости сервера
    • Последние обновления
    • Ваши вопросы к Администрации
  • Общий раздел
    • Общие разговоры
    • FAQ
    • Вопросы и ответы
    • ЯБСДЕЛАЛ или ваши идеи о развитии сервера
    • флUOдильня
  • Праздники и мепроприятия
    • Квесты
    • Турниры
    • Поздравлениада
  • Скрипты
    • Injection
    • Stealth
  • Новости с каторги
    • Экскурсия в jail
    • Арест имущества/предупреждения
    • Арбитраж
  • Ярмарка
    • Покупка товара
    • Продажа товаров
  • Гильдии
    • О гильдиях нашего сервера
    • Гильдия New Age [NA]

Календари

  • Community Calendar



Фильтр по количеству...

Найдено: 1 результат

  1. [Python] Рыбалка возле банка

    Делюсь небольшим скриптом, который может помочь начинающим игрокам добыть себе еды Скрипт ловит рыбу, режет ее ножиком на стейки, кушает готовые стейки(если указано), бегает в банк и выгружает стейки. Если удочки в сумке закончились - чар уходит в дисконнект. Скрипт не задумывался как автономная фарм машина, всего лишь небольшой помошник для добычи еды на первых этапах игры, так что готовую еду\удочки ложить в сумку, добор из банка не реализован. Писалось и тестилось на Stealth 8.7.8 (На текущий момент - последняя версия), Python - 3.6-32. Работоспособность на других версиях стелса\пайтона не гарантирую, хотя ломаться там нечему по сути. Скриптик выдает небольшую статистику в журнал стелса - 13:38:28:392 [xx]: Character CharacterName^_^ Connected. 13:38:29:445 [xx]: Found Python version: 3.6-32 13:38:30:846 [xx]: [Hungry] Food left -> 106 # Сколько осталось еды 13:38:30:870 [xx]: [FindTiles] Found 42 tiles # Сколько найдено тайлов для рыбалки 13:40:37:004 [xx]: [CheckWeight] There is 7328 fish steaks in bank # Сколько рыбки уже в банке Из настроек - массив координат возле банка (из той точки при команде bank должен открываться банк) bankPoint = {'x' : 1422, 'y' : 1692} Точка ловли рыбы - fishingPoint = {'x' : 1414, 'y' : 1705} На каком показателе веса бежать разгружаться weightRequired = 200 Ну и кушать ли готовую рыбу или нет - 1 кушать, 0 - не кушать. checkHungry = 1 ######### # Thanatos, 2018 # ultima.net.ua ######### from datetime import timedelta,datetime, datetime as dt # CONFIG # #### 1 = Fishing near bank, unloading to bankbox, 2 = fishing on boat mode = 1 #### Where we can access bank ## @TODO ADD ROUTE ? bankPoint = {'x' : 1422, 'y' : 1692} #### Where to fish, If mode == 2 x|y will be self.getX(), self.getY() fishingPoint = {'x' : 1414, 'y' : 1705} #### Weight to unload to bankbox weightRequired = 200 #### FindTile range findTileRange = 6 #### Food check? 1 == yes, 0 == nope checkHungry = 1 ########## # CONST # ### Should we update this? Got from stealth.od.ua forum >_< fishingTiles = [6038,6039,6040,6041,6042,6043,6044] #### Fishing pole type poleType = 0x0DBF ### Fish steak fishSteak = 0x097A ### Dagger dagger = 0x0F51 ### Fish types fishTypes = [0x09CC,0x09CF,0x09CD,0x09CE] finishMessages = [ 'System: That is too far away.', 'System: There\'s not enough fish here.', 'System: You can\'t fish here.' ] moreAttemptsMessages = [ 'You catch', 'You find', 'They don\'t ' ] ### Concat arrays for WaitJournalLine moreAttemptsMessages = moreAttemptsMessages + finishMessages ### Hungry check # @TODO Move to helpers! def Hungry(levelRequired): FindType(0x097B,Backpack()) if FindQuantity() < 1: AddToSystemJournal('No food left') now = dt.now() level = 1 levels = [ 'You are absolutely stuffed!', 'You are stuffed', 'hungry at all', 'You are a little hungry', 'You are somewhat hungry', 'You are REALLY hungry', 'Your stomash hurts', 'Your stomash hurts and you feel dizzy', 'You are starving', 'You are almost dying of hunger', 'You are DYING of hunger...', 'Are you still alive?' ] UOSay('.hungry') Wait(500); for (key, value) in enumerate(levels): if InJournalBetweenTimes(value, now, dt.now()) >=0: level = key if(levelRequired < level): for i in range(levelRequired,level): FindType(0x097B,Backpack()) if FindQuantity() > 1: UseType(0x097B,-1) Wait(500) FindType(0x097B,Backpack()) AddToSystemJournal('[Hungry] Food left -> '+str(FindQuantity())) ### Find tiles array def FindTiles(): min_x, min_y = GetX(Self())-findTileRange, GetY(Self())-findTileRange max_x, max_y = GetX(Self())+findTileRange, GetY(Self())+findTileRange tiles_coords = [] for tile in fishingTiles: tiles_coords += GetStaticTilesArray(min_x,min_y,max_x,max_y,WorldNum(),tile) print('[FindTiles] Found '+str(len(tiles_coords))+' tiles') return tiles_coords ### Cut fish from ground def CutFish(): for fish in fishTypes: if FindType(fish,Ground()) > 0: UseType(dagger,-1) WaitTargetObject(FindItem()) WaitJournalLine(dt.now(),'You carve',4000) ### Check weight, unload to bank if overloaded def CheckWeight(): if Weight() >= weightRequired: NewMoveXY(bankPoint['x'],bankPoint['y'],True,0,False) UOSay('bank') Wait(1000) if FindType(fishSteak,Backpack()) > 0: MoveItem(FindItem(),FindQuantity(),ObjAtLayer(BankLayer()),0,0,0) if FindType(fishSteak,ObjAtLayer(BankLayer())): print('[CheckWeight] There is '+str(FindQuantity())+' fish steaks in bank') NewMoveXY(fishingPoint['x'],fishingPoint['y'],True,0,False) def CheckTool(): if FindType(poleType, Backpack()) < 1: AddToSystemJournal('No tools left') Wait(100) SetARStatus(False) Wait(100) Disconnect() Wait(100) ### Main fishing sub # @TODO Add bad tiles array? def Fish(): for t,x,y,z in FindTiles(): while True: CheckTool() now = dt.now() #print('Tile => '+str(t)+ ' X => '+str(x)+ ' Y => '+str(y)) CancelWaitTarget() CancelTarget() UseType(poleType,-1) Wait(500); WaitJournalLine(now,'Select a place',4000) Wait(500); now = dt.now() WaitTargetTile(t,x,y,GetZ(Self())) WaitJournalLine(now,'|'.join(moreAttemptsMessages),10000) if LastJournalMessage() in finishMessages: break; ### Let's cut what we got ^_^ CutFish() ### Check weight, if cap reached - unload CheckWeight() #### Begin SetARStatus(True) NewMoveXY(fishingPoint['x'],fishingPoint['y'],True,0,False) while not Dead() and Connected(): if checkHungry == 1: Hungry(1) Fish() P.s. тайлы воды взял из рандомного скрипта для рыбалки на форуме Стелса - fishingTiles = [6038,6039,6040,6041,6042,6043,6044] Если у кого-то есть более полный список - просьба поделится