Скининг (резка шкуры)

Тема в разделе "Вопросы новичков/Young player questions.", создана пользователем Полковник, 10 авг 2011.

  1. Полковник

    Полковник Старый хрыч FL Wiki Team

    sub skining()
    var scissors = "0x0F9F"
    var where = 'lootbug'
    uo.FindType('0x1079','-1',where)
    if uo.waiting() then
    uo.canceltarget()
    endif
    if uo.FindCount('finditem') > 0 then
    uo.waitTargetObject('finditem')
    uo.UseObject('scissors')
    wait(200)
    endIf
    end sub


    не режет, находит шкуру, и отменяет таргет.
    научите резать шкуру.



    Да что уж там говорить, ДАЖЕ ЭТО не работает. про саб, энд саб не надо ля-ля.


    var hide = "0x1079"
    uo.waitTargetObject('hide')
    uo.UseObject('scissors')
    wait(630)


    З.Ы. помогите с прогой, для переноса инжекта на одно ядро.
     
    Последнее редактирование: 10 авг 2011
  2. Rene

    Rene Banned

    Лолшто?

    PHP:
    sub skining()
      var 
    scissors "0x0F9F"   //Указываем id ножниц
      
    var where 'lootbug'     //назначаем текстовую переменную
      
    uo.FindType('0x1079','-1',where//ищем в лутошибке тип предмета 0x...  (loot-сумка,bug-ошибка)
      
    if uo.waiting() then   //если инжа ждет прицела
       
    uo.canceltarget()   //то отменяем прицел к херам :D
      
    endif
      if 
    uo.FindCount('finditem') > 0 then //если нашлось что-нибудь
       
    uo.waitTargetObject('finditem')   //то ловушка прицела на это что-нибудь
       
    uo.UseObject('scissors')   //юзаем объект ножницы со вкладки в инже "objects"
       
    wait(200)  //ждем пятую долю секунды (нахрена?)
      
    endIf
    end sub
    Штоето?

    PHP:
    var hide "0x1079"  //вешаем переменную типа hide со значеним 0x... 
    uo.waitTargetObject('hide'//ждём прицел на ... ох-ё...вешаем таргет на тип предмета, при том, что нужно указывать id
    uo.UseObject('scissors')  //юзаем предмет scissors со вкладки objects
    wait(630)
    второй скорее так:

    PHP:
    sub cutAnyHides()
     
    uo.findType('0x1079',-1,'lootbug')
     if 
    uo.findCount() > 0 then
      uo
    .waitTargetObject('finditem')
      
    uo.useObject('scissors')
     
    end if
    end sub
    причем создаем сперва lootbug, а потом scissors, на вкладке инжи Objects
     
    Последнее редактирование: 10 авг 2011
  3. Полковник

    Полковник Старый хрыч FL Wiki Team

    [​IMG]


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

    А со скинингом у меня проблема.
    Твой тоже, как видишь, не работает.
    Вэйттаргетобжект - ты говоришь, что текстовая переменная, а надо на айди,
    епту, ты в каком веке живешь? Ну если тебе стало бы проще, я использовал даже ВэйттрагетобжектТайп.

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


    Я так понимаю, что у меня обжектс хромает.
    там все есть, ножницы, лутбаг и т.д.
    Вообще не вижу проблем в скрипте, ловушка прицел есть, объекты есть, все есть.
    Я замешательстве...
     
    Последнее редактирование: 11 авг 2011
  4. Полковник

    Полковник Старый хрыч FL Wiki Team

    все, поставил твой клиент... теперь работает. ^_^
     
  5. Rene

    Rene Banned

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

    Полковник Старый хрыч FL Wiki Team

    так дело в том, что все отлично пашет.
    А ловушка прицел на шкуру - нет. О_О
    Да, это удивительное и невероятное.
     
  7. Rene

    Rene Banned

    это кривой модуль скриптов и инжи
     
  8. Mirage

    Mirage Newbie Player

    var scissors = "0x0F9F" //Указываем id ножниц Так то тут Type как бы :)
    var where = 'lootbug' //назначаем текстовую переменную Зачем? Тут надо ID контейнера
    Зачем задавать ножницы в закладке объекты когда просто тип можно указать? Если бы они суперраритетные нуби были то да - объекты проще.

    Если на шарде шкуры режутся не только в собственном паке но и в сундуках то скрипт принимает вот такой вид:
    Код:
    #[COLOR=#000000][COLOR=#FF8000][COLOR=SeaGreen][COLOR=Black]Ножницы в паке, шкура в сундуке.[/COLOR][/COLOR][/COLOR][/COLOR]
    sub skining()
        var scissors = '0x0F9F'
        var where = 'ID сундука где шкуры'
        uo.FindType('0x1079','-1',where)
        if uo.FindCount() > 0 then
            uo.waitTargetObject('finditem')
            uo.UseType(scissors)
        endIf
    end sub


    Если шкура/кожа в паке то еще проще
    Код:
    [COLOR=#000000]
    sub skining()
        var scissors = '0x0F9F'
        var hides = '0x1079'
        var where = 'ID сундука где шкуры'
    
        while UO.Count( hides )>0
            uo.waittargettype( hides )
            uo.usetype( Scissors )
            wait(300)
        wend
    end sub
    [/COLOR]

     
  9. Zoker

    Zoker modem 16 bit

    Mirage, а чтоб брал открывал тело, доставал кожу в бекпек, резал можешь?
     
  10. Mirage

    Mirage Newbie Player

    перед открытием тела его надо резать или шкура там по умолчанию?
     
  11. Zoker

    Zoker modem 16 bit

    нужно резать
     
  12. Полковник

    Полковник Старый хрыч FL Wiki Team

    Омг... все тупо просто. вставь в сатолут Скининг ()
    Отсылка к другому скирпту и сделай кол-о раз 2 на всяк случай.
    У мнея тупо скининг на отдельнцю кнопку.
     
  13. Mirage

    Mirage Newbie Player

    Если просто резалка луталка кожи и резка кожи то скрипт выглядит вот так:

    Код:
    var body = '0x2006'
    var dagger = '0x0F51'
    VAR Scissors = '0x0F9E'
    VAR hides = '0x1078'
    var corpse
    Sub REZ()
        UO.Set('quiet','1')
        uo.set('finddistance', '3')
        uo.findtype(body, -1, 'ground')
        if uo.findcount() and Uo.GetDistance( 'finditem' ) < 3  then
            UO.SetArm('Weapon')
            uo.warmode(0)
            wait(500)
            corpse = uo.getSerial('finditem')
            UO.WaitTargetObject(corpse)
            UO.UseType(dagger)
            wait(1000)
            UO.Arm('Weapon')
            Loot()
            uo.warmode(1)
        endif
        UO.Set('quiet','0')
    end sub
    Sub Loot()
        UO.Set('quiet','1')
        uo.set('finddistance', '3')
        uo.findtype(body, -1, 'ground')
        IF uo.findcount() and Uo.GetDistance( 'finditem' ) <= 4 then
            corpse = uo.getSerial('finditem')
            uo.useobject(corpse)
            wait(300)
            UO.FindType( hides, -1, corpse )
            if  UO.FindCount() then
                uo.moveitem('finditem','0','backpack')
                wait(300)
            endif
            UO.Hide(corpse)
            UO.Ignore(corpse)
        endif
        If UO.Count ( Scissors ) > 0 Then
            While UO.Count( hides )>0
                uo.waittargettype( hides )
                uo.usetype( Scissors )
                wait(300)
            wend
        EndIf
        UO.Set('quiet','0')
    endsub
    
    PS это обрезка от большого скрипта лута - но раз попросили то попросили :)
     
  14. Zoker

    Zoker modem 16 bit

    чет не вкурю, тут 2 саба, и еще приложение сверху.. получается это подсабы одного или это 2 разных на лут и на резку?
     
  15. Полковник

    Полковник Старый хрыч FL Wiki Team


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



    Забиваь надо Саб ПВМ. Лутит все итемы в трупе. Можешь сделать Дим лут ток шкуры.

    PHP:
    Sub PVM()
       var 
    body '0x2006'
       
    var dagger '0x0EC3'
       
    var uo.GetGraphic(uo.ObjAtLayer('Rhand')) ; можно еще левую записатьчтобы с луками не париться
       var 
    corpse
       uo
    .set('finddistance''2')
       
    uo.findtype(body, -1'ground')
       if 
    uo.findcount() and Uo.GetDistance'finditem' ) < 2  then
          wait
    (630)
          
    corpse uo.getSerial("finditem")
          
    UO.WaitTargetObject(corpse)
          
    UO.UseType(dagger)
          
    wait(630)
          
    uo.UseType(x)
          
    wait(630)
          
    OpenCorpse()
          
    getFromBox()
          
    skining()   ;  советую скниинг просто забить на другую кнопкут.ку нас бывает 2 вида шкуры в некоторых мобахт.епорежет ток 1а вторую оставит
          
    UO.ignore(corpse)
          
       endif
    end sub

    sub getFromBox
    ()
        
    uo.FindType('-1','-1','lastobject')
        while 
    uo.findcount() 
          
    uo.grab(0,'finditem'
          
    wait(730
          
    uo.FindType('-1','-1','lastobject')
        
    wend
    end sub


    sub OpenCorpse
    ()
     
    uo.set('finddistance','2'
     
    uo.findtype('0x2006','-1','ground')
     if 
    uo.findcount() then
      uo
    .useobject('finditem')
      
    uo.addobject('lastcorpse','finditem')
     
    end if
    end sub

    sub skining
    ()
     
    uo.findType('0x1079',-1)
     if 
    uo.findCount() > 0 then
      uo
    .waitTargetObject('finditem')
      
    uo.useObject('scissors')
     
    end if
    end sub 
     
  16. Mirage

    Mirage Newbie Player

    "приложение сверху" общие переменные использующиеся в обоих скриптах.
    1 sub rez - резка. Ищет труп и шинкует его даггером.
    2 sub loot - лут кожи и резка ее ножницами в паке.
    Если надо сменить ножик, тип кожи все меняется вверху 1 раз.
    Надо запускается ,exec Rez

    2 Полковник. Ну или так. Один совет (как от игрока сферовых эмуляторов)
    в sub getFromBox()
    если будешь использовать на людях надо добавить строки
    Код:
    [COLOR=#000000][COLOR=#007700]var hair
    
                    For hair = 0x203B to 0x204D
                        UO.FindType(hair, -1, corpse)
                        if UO.FindCount() then
                            UO.Ignore('finditem')
                        endif
                    next[/COLOR][/COLOR]
    

    Иногда в труп падают волосы которые убивают луталки вида
    uo.FindType('-1','-1','lastobject')
    Тыкаешь на труп - показывает 1 предмет. Открываешь - пусто.
     
    Последнее редактирование: 10 сен 2011
  17. Полковник

    Полковник Старый хрыч FL Wiki Team



    спасибище. Я никогда не мог решать такую проблему на сфере, а теперь понял, что это были волосы. )) Спасибо. Ток у нас на Ран УО такой беды нету. как стабильнее ядро и странных глюков, типа итемы в паке невидимой нету. Тут на персонаже флаг вешается видимый серверу.

    Кстати, я тебя по аватарке узнал с Йоко инжекшн форума )) Много основ для своих скриптов у тебя спер. гы гы гы.
     
  18. Mirage

    Mirage Newbie Player

    спасибо за теплые слова. Приятно что труд не пропадает зря :i-m_so_happy:

    Я тут у вас покручусь, наверное. Всегда хотел поближе с ранкой познакомиться.
     
  19. Полковник

    Полковник Старый хрыч FL Wiki Team

    ну ты интересуйся - я отвечу. вообще ФЛ - это Ран УО традициях Сферы.
    просто на площадке Ран УО, т.к. она стабильнее и Ей ПЛЕВАТЬ на переменную на твоем компе.
    согласись, рентабельнее создать на Ран УО, чем на устаревшей сфере.
    Но тут возникает другой вопрос.
    СФера стайл губит прекрасные возможности РанУО. Отключены скиллы и т.д.


    Далее, РанУО - это не сферовский синтаксис, а полноценный скриптинг.
    т.е. сделать можно что угодно. единственные ограничения - графические.
     
  20. Zoker

    Zoker modem 16 bit

    Да, я тебя тоже узнал :) спасибо и от меня.

    покрутись конечно, а еще лучше оставайся и тащи народ.. он нам нужен, потенциал у сервера очень большой, а площадка крайне стабильная.

    P>S> на инжекш форуме вчера повесил рекламу нашего шарда.
     

Поделиться этой страницей