Jump to content
UBot Underground

[Free] Local Dictionary Plugin - Local Variables Issue Workaround


Recommended Posts

  • 5 months later...
  • Replies 84
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Hello everyone, Another brilliant creation of mine   Description : This plugin is used to save temporary data (same as variables) so you can use it across your code   How does it work ? Each thread

Update 1.2.1 images shows the new commands and functions       -added also a thread container command for running dialog controls in STA mode (workaround for the http captcha dialog and other simila

Yes i'm aware there is couple of issues with it , it was a test release never meant to be public! use the old version ! (download link has been updated again) Regards

Posted Images

  • 4 weeks later...

Guys, 

I'm currently working on another multithreading bot in combination with http post plugin.
And I think that issue with local variables getting overwritten still exist in 5.5.12

 

They fixed that global variable decrement / increment issue. 

 

But for some odd reason, I'm still getting the same local variables data in multiple threads.

 

So the question is:

 

1. Do local variables share data when a plugin command like:
set(#post,$plugin function("HTTP post.dll", "$http post", "https://login.xx.com/login", "", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1", "https://www.xx.com/", #proxy, 30),"Local")

Is used?

Or is there a problem with http plugin that shares the data somehow when multithreading?

 

@Aymen:  Could you give us some more details please?

 

Is the fix really the local dictionary, or is the "http last response?" 
Why do you use last response in your example? Just writing the http result to the dictionary should be enough right?

 

Dan

Link to post
Share on other sites

Guys, 

 

I'm currently working on another multithreading bot in combination with http post plugin.

And I think that issue with local variables getting overwritten still exist in 5.5.12

 

They fixed that global variable decrement / increment issue. 

 

But for some odd reason, I'm still getting the same local variables data in multiple threads.

 

So the question is:

 

1. Do local variables share data when a plugin command like:

set(#post,$plugin function("HTTP post.dll", "$http post", "https://login.xx.com/login", "", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.83 Safari/537.1", "https://www.xx.com/", #proxy, 30),"Local")

 

Is used?

 

Or is there a problem with http plugin that shares the data somehow when multithreading?

 

@Aymen:  Could you give us some more details please?

 

Is the fix really the local dictionary, or is the "http last response?" 

Why do you use last response in your example? Just writing the http result to the dictionary should be enough right?

 

Dan

 

The problem is over a year old and that is the purpose i come up with the local dictionary technique , i believe Kev is using it too in one of his plugins , if threading works great in local dictionary and not in local variables , what do you think the problem is from ? :)

It is a known bug that the local variables values get messed up all the time , at least that is what http users struggle with , i always thought i've done something wrong untill i started to test outside Ubot !

 

about the last response thing , there was an issue with the http functions being assigned to the local dictionary as a child command rather than the http container , sooner after i improved the code to make the http functions work per thread not per http container!

Link to post
Share on other sites

The problem is over a year old and that is the purpose i come up with the local dictionary technique , i believe Kev is using it too in one of his plugins , if threading works great in local dictionary and not in local variables , what do you think the problem is from ? :)

It is a known bug that the local variables values get messed up all the time , at least that is what http users struggle with , i always thought i've done something wrong untill i started to test outside Ubot !

 

about the last response thing , there was an issue with the http functions being assigned to the local dictionary as a child command rather than the http container , sooner after i improved the code to make the http functions work per thread not per http container!

 

So do we still have to use last response with the latest update? Or only when there are redirects?

 

Dan

 

 

 

Link to post
Share on other sites

New "Bug"? in 1.2.2?

 

The two commands:

plugin command("HTTP post.dll""Clear Cookies""https://google.com")
plugin command("LocalDictionary.dll""init local dictionary")

 

Do not work together. 

Looks like clear cookies is already initializing a local dictionary?

 

If I switch them:

plugin command("LocalDictionary.dll""init local dictionary")

plugin command("HTTP post.dll""Clear Cookies""https://google.com")
 

It works.

 

That was no problem with 1.2.1!

 

Could you please explain what has changed here?

Link to post
Share on other sites

Yes i'm aware there is couple of issues with it , it was a test release never meant to be public!

use the old version ! (download link has been updated again)

Regards

  • Like 1
Link to post
Share on other sites
  • 1 month later...

Aymen, was wondering if it were possible to add functionality to bulk set values similar to:

plugin command("Variablemulti.dll", "Bulk Variable Set", 0, "#variable
#variable_two")

Link to post
Share on other sites
  • 2 weeks later...

I was wondering why some of my bots were crashing and such and have come to figure out that its due to local dictionary plugin. 

 

Ive added an example of what i did to test this and to come to my conclusion. 

 

I init local dictionary in a new thread and then add a local dictionary key with the value of 1. then right after i have an if statement checking if the local dictionary key = 1. if not alert. 

my bots start off wrking fine but it seems pretty random... sometimes within 10 minutes.. sometimes hours later... i get a lot of that key not = 1 aka popping up the alert. 

 

http://i.imgur.com/krXhQck.png

Link to post
Share on other sites
  • 2 months later...

Just discoverd this plugin today, I have a question

 

How can I check if an element "exists in local list" ?

 

I tried to make it work like that but without any success:

plugin command("LocalDictionary.dll", "clear global dictionary")

thread {
    plugin command("LocalDictionary.dll", "init local dictionary")
    plugin command("LocalDictionary.dll", "init local list")

    plugin command("LocalDictionary.dll", "local list from file", %listes, "{$special folder("My Documents")}\\ABONNEMENTS_1.txt")

fast()

    }


thread {
    plugin command("LocalDictionary.dll", "init local dictionary")
    plugin command("LocalDictionary.dll", "init local list")

    plugin command("LocalDictionary.dll", "local list from file", %listes, "{$special folder("My Documents")}\\ABONNEMENTS_2.txt")

fast()

    }


define fast {

if($plugin function("File Management.dll", "$exists in list", %listes, #mokjhluyfscra)) {
    then {
        alert("good")
    }
    else {
         alert("bad")
    }
}


    
}
Edited by zenos
Link to post
Share on other sites

OK, just understood that the list name have to be written without %, but I still don't know how to check if element exists in local list...

 

Thank you for your answers ;)

Edited by zenos
Link to post
Share on other sites

OK, just understood that the list name have to be written without %, but I still don't know how to check if element exists in local list...

 

Thank you for your answers ;)

 

Loop through it an check each item.

Dan

Link to post
Share on other sites

OK, just understood that the list name have to be written without %, but I still don't know how to check if element exists in local list...

 

Thank you for your answers ;)

 

I don't think that function is available , you can try what Dan suggested !

 

Regards

Link to post
Share on other sites
  • 3 weeks later...
  • 4 months later...
  • 3 months later...
  • 1 month later...

Hey Aymen, 

Was wondering is there an easy way to go about returning the whole local List/Table without looping through the entire List/Table like so;

plugin command("LocalDictionary.dll""clear global dictionary")
thread {
    plugin command("LocalDictionary.dll""init local dictionary")
    plugin command("LocalDictionary.dll""init local list")
    plugin command("LocalDictionary.dll""local list from text""Numbers""1,2,3,4,5,6,7"",")
    plugin command("LocalDictionary.dll""local dictionary add""AllNumbers"$nothing)
    plugin command("LocalDictionary.dll""local dictionary add""NumbersIndex", 0)
    loop($plugin function("LocalDictionary.dll""$local list total""Numbers")) {
        plugin command("LocalDictionary.dll""local dictionary add""AllNumbers""{$plugin function("LocalDictionary.dll""$local dictionary get""AllNumbers")}
{$plugin function("LocalDictionary.dll""$local list item""Numbers", $plugin function("LocalDictionary.dll""$local dictionary get""NumbersIndex"))}")
        plugin command("LocalDictionary.dll""local dictionary increment""NumbersIndex")
    }
    alert("{$plugin function("LocalDictionary.dll""$local list total""Numbers")}|
{$plugin function("LocalDictionary.dll""$local dictionary get""AllNumbers")}")
}

Also, clearing the AllNumbers var when rerunning the script, I had to add $nothing because clear local dictionary wasn't clearing it. 
 

plugin command("LocalDictionary.dll", "local dictionary add", "AllNumbers", $nothing)
Link to post
Share on other sites
  • 4 weeks later...

local vars are overriden

simple code:

define multithreadaccounts {
    plugin command("LocalDictionary.dll", "clear global dictionary")
    Clear ALL Cookies()
    Change user agent()
    thread {
        reset account("Female")
        plugin command("LocalDictionary.dll", "init local dictionary")
        plugin command("LocalDictionary.dll", "clear local dictionary")
        plugin command("LocalDictionary.dll", "local dictionary add", "firstname", $account data("First Name"))
        plugin command("LocalDictionary.dll", "local dictionary add", "lastname", $account data("Last Name"))
        plugin command("LocalDictionary.dll", "init local list")
        plugin command("LocalDictionary.dll", "local list from file", "tmpmail", "{$special folder("Application")}\\fbmail.txt")
        plugin command("LocalDictionary.dll", "local dictionary add", "password", "{$random text($rand(8,16))}@{$rand(34,1999)}")
        wait(4)
        type text(<first name field>,$plugin function("LocalDictionary.dll", "$local dictionary get", "firstname"),"Standard")
        wait(4)
        type text($element offset(<last name field>,0),$plugin function("LocalDictionary.dll", "$local dictionary get", "lastname"),"Standard")
        wait(6)
        type text(<email field>,"{$plugin function("LocalDictionary.dll", "$local dictionary get", "firstname")}{$plugin function("LocalDictionary.dll", "$local dictionary get", "lastname")}{$plugin function("LocalDictionary.dll", "$local list item", "tmpmail", 0)}","Standard")
        wait(4)
        change dropdown(<sex dropdown>,"Female")
        wait(2)
        type text(<name="birthday_month">,$rand(1,12),"Standard")
        wait(4)
        type text(<name="birthday_day">,$rand(2,28),"Standard")
        wait(5)
        type text(<name="birthday_year">,$rand(1965,1989),"Standard")
        wait(2)
        type text(<name="reg_passwd__">,$plugin function("LocalDictionary.dll", "$local dictionary get", "password"),"Standard")
        wait(4)
        click(<create account button>,"Left Click","No")
        wait for element(<id="nux-nav-button">,"","Appear")
        wait(5)
        click(<id="nux-nav-button">,"Left Click","No")
        wait(5)
        click($element offset(<login link>,0),"Left Click","No")
        wait(5)
        wait for element(<span,class="">,5,"Appear")
        click($element offset(<class="_54k8 _56bs _56b_ _qyx _56bx _56bt">,1),"Left Click","No")
        type text(<email field>,"ducce111-{$plugin function("LocalDictionary.dll", "$local dictionary get", "firstname")}{$plugin function("LocalDictionary.dll", "$local dictionary get", "lastname")}@mail-on.us","Standard")
        alert("
{$plugin function("LocalDictionary.dll", "$local dictionary get", "password")}")
        click(<name="submit">,"Left Click","No")
        alert($plugin function("LocalDictionary.dll", "$local dictionary get", "firstname"))
    }
}
multithreadaccounts()

firstname becomes password

Bug or my mistake?

Link to post
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.

Loading...

×
×
  • Create New...