How to run one script after another?



  • Hello. I need to create video uploader bot which upload 1 video to several sites .I guess that i must create 1 script for each website... but how to run one script after another fully automated. Can this be done with BAS?



  • @ek3ekytop google translate - Привет - можно сделать сценарий для каждого веб-сайта и "обернуть в функцию" - а потом делать вызов функции
    1_1477822350429_11111111111111111.png
    0_1477822350398_2222222222222222.png

    0_1477822394542_test_video_upload.xml


  • administrators

    @ek3ekytop You can create several functions like UploadYoutube, UploadVimeo, etc and call them sequentinally. So main function will have just list of differend upload function call.

    If it is not an option for you, you can compile several scripts for each video hosting and create batch file with lines

    UploadYoutube\engine\engine\FastExecuteScript.exe --silent
    UploadVimeo\engine\engine\FastExecuteScript.exe --silent
    


  • I have similiar problem... but i dont wont them to be run sequentially but rather simultaneously.

    Ive created sample script.. which just opens 2 sites

    0_1508171190153_sample.xml

    Created 2 function :craigslist and google (they just opens home page)
    Created 2 call function in main function.
    Now i would like to know how can i use multihreading to run them all at once.. not sequentially

    Thx


  • administrators

    @plantacja

    You need to use something like this

    Get Thread number to [[THREAD_INDEX]]
    if [[THREAD_INDEX]] == 0
        call craigslist
    if [[THREAD_INDEX]] == 1
        call google 
    


  • Thx will try it out



  • I have "scripted" over 100 sites now.. and want them to run on 10-20 therads,, because on 1 thread it takes like an hour to complete :/ (manual captchas.. some human emulation)

    So far what i have done:

    • every site on different function
    • call function to each site

    I know i could do with thread_index and call like in previous post.. but i would like to be able to choose dynamically thread number..

    Here is an example for 12 functions.. is there a way i can say for example make them to run on 3 threads.. without using if conditions to all of them? So lets say:

    First thread takes "a" second takes "b", third takes "c".. and then.. whichever thread finished first takes "d", next one takes "e".. and so on..

    0_1522423618760_example.xml



  • Hey guys noone can help me? Hope one day it will be scripted :) Its a basic funcation for softwares like magic submitter, senuke etc.. and i would like to also be able to register to dozens of sites at the same time



  • @support ive tried to do this.. but it seems its too difficult for me.. thats why im kindly ask.. could You show me how to do it on my example xml? Like running it on 3 threads simultaneously.

    Thx in advance



  • All the answers are already there, you just have to
    deploy them in your example.

    Use thread number like shown seems best sollution.
    Nevertheless there is one more choice you have and
    it is using resources.

    You can create a new resource and use default settings - lines from file, so bas will use this resource only once per line accross multiple threads - whatever number you set, in
    your current case 3 threads.

    You would use resource lines from file only as pointer for
    your actions just like with THREAD_INDEX. And you also need
    simple if checking to determine what current thread should do.

    So you can create text file with number of actions you have and
    single letters wont be enough for 100+ actions, use numbers instead and put one number in each line from
    1 - 100 for example. When start bot with 3 threads it will
    use first 3 numbers from list and continue as you described as desired
    until it reach end of resource list which will cause bot to stop
    under default settings.



  • Wow that was a pain in the ass for me.. it seems that i sux at programming :)

    @support .. i have no idea how to get thread number to thread index.. should i create new variable?

    I have only done something like this:

    0_1540021218007_Bez tytułu.jpg

    @GaG ive tried your method.. and after like 30 minutes of trying ive finally did it :)

    For 2 threads:

    1. Ive created txt with just plain numbers
    2. Created resource "pointers" -> lines from file
    3. Created logic if -> pointer == 1 -> call a
    4. Created logic if -> pointer == 2 -> call b
    5. Created logic if -> pointer == 1 -> call c
    6. Created logic if -> pointer == 2 -> call d

    Big thx



  • @plantacja

    I meant more like >

    1. Ive created txt with just plain numbers (for 10 actions/sites I have num 1 - 10)

    2. Created resource "pointers" -> lines from file

    3. Created logic if -> pointer == 1 -> call a site actions
      Created logic if -> pointer == 2 -> call b site actions
      Created logic if -> pointer == 3 -> call c site actions
      Created logic if -> pointer == 4 -> call d site actions
      Created logic if -> pointer == 5 -> call e site actions
      Created logic if -> pointer == 6 -> call f site actions
      Created logic if -> pointer == 7 -> call g site actions
      Created logic if -> pointer == 8 -> call h site actions
      Created logic if -> pointer == 9 -> call i site actions
      Created logic if -> pointer == 10 -> call j site actions

    4. Now set bas to use 2 threads and start bot and it will
      do a and b in first cycle, c and d in second and so on,
      2 threads at a time.

    Hope it works for you good, nice to hear problem solved
    (with a bit of abstraction lol)



  • @plantacja said in How to run one script after another?:

    Wow that was a pain in the ass for me.. it seems that i sux at programming :)
    @support .. i have no idea how to get thread number to thread index.. should i create new variable?
    I have only done something like this:

    Youre missing what they told you to do. Just add
    following to very beggining of your script

    alt text

    Just type thread in search and choose that action.



  • Lol im really ashamed.. how could ive missed that option :) thx @GaG

    @gag said in How to run one script after another?:

    @plantacja

    I meant more like >

    1. Ive created txt with just plain numbers (for 10 actions/sites I have num 1 - 10)

    2. Created resource "pointers" -> lines from file

    3. Created logic if -> pointer == 1 -> call a site actions
      Created logic if -> pointer == 2 -> call b site actions
      Created logic if -> pointer == 3 -> call c site actions
      Created logic if -> pointer == 4 -> call d site actions
      Created logic if -> pointer == 5 -> call e site actions
      Created logic if -> pointer == 6 -> call f site actions
      Created logic if -> pointer == 7 -> call g site actions
      Created logic if -> pointer == 8 -> call h site actions
      Created logic if -> pointer == 9 -> call i site actions
      Created logic if -> pointer == 10 -> call j site actions

    4. Now set bas to use 2 threads and start bot and it will
      do a and b in first cycle, c and d in second and so on,
      2 threads at a time.

    Hope it works for you good, nice to hear problem solved
    (with a bit of abstraction lol)

    Ive tried this but it only does first cycle and then stops.. i mean for 2 threads it only takes call and and b,, then finishes script as success..



  • Try adding a "set label" tag something like "pointer 1 back" and then add a move to "pointer 1 back" command at the end of the "call function". 0_1545520829468_c3ed6268-d06a-4440-9b4c-9acfbce84b53-image.png 0_1545520850579_6101a04f-5527-405c-b90f-d311148b38ff-image.png