XenoBot Forums - Powered by vBulletin

User Tag List

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 24

Thread: Add Action (scripting within the walker)

  1. #11

    Join Date
    Jan 2012
    Posts
    24
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    i get how ur label thing works, but that should be a built-in function. if this bot is ever going to become popular it needs to be user-friendly, which right now it is not. even redbot is easier to use, and that was made by some stupid brazillian. the only reason i choose not to use redbot right now is because i dont feel that it is safe, and i wouldnt trust anything that came out of brazil.

  2. #12
    XenoBot Scripts Developer Syntax's Avatar
    Join Date
    Feb 2011
    Posts
    1,658
    Mentioned
    431 Post(s)
    Tagged
    4 Thread(s)
    Why does it need to be built in. It's works fine the way it is. Just put all your functions in one file and name the labels of the function you want to execute. Easy.

  3. #13

    Join Date
    Dec 2011
    Posts
    164
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by psychaos View Post
    i get how ur label thing works, but that should be a built-in function. if this bot is ever going to become popular it needs to be user-friendly, which right now it is not. even redbot is easier to use, and that was made by some stupid brazillian. the only reason i choose not to use redbot right now is because i dont feel that it is safe, and i wouldnt trust anything that came out of brazil.
    fuck you now, you retard. you used neobot, and 90% of its content came from brazil.

  4. #14

    Join Date
    Jan 2012
    Posts
    24
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    my point is, not everyone has experience with scripting. it might do the job just fine for YOU, but the average person isnt gona have a clue. this bot is gona go nowhere unless it is made more user friendly.

  5. #15
    Bashy's Avatar
    Join Date
    Jan 2012
    Location
    London, England.
    Posts
    170
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Raphael, did that hit a nerve? Fancy a cuddle?

  6. #16
    XenoBot Developer DarkstaR's Avatar
    Join Date
    Dec 2010
    Posts
    6,104
    Mentioned
    1326 Post(s)
    Tagged
    16 Thread(s)
    *Loling*

    The scripting interface will remain as it is. While I MIGHT add the possibility to configure inline scripts into the walker, it will be very crude. Tibia's current textboxes don't support tabbed input or anything similar, and coding a box like that completely from scratch will be a highly tedious and time consuming job. If anything, for inline scripts, you're looking at something like the label box with a little more room. This means that any intensive inline-scripts would look like this:

    Code:
     setWalkerEnabled(false) if (var == value) then doAction(param1, param2, param3) else doAction(param1, param2, param3)  end setWalkerEnabled(true)
    Not only is it very uneasy on the eyes, but it also wouldn't even fully show itself inside the listbox, not to mention is less user-friendly (in my opinion) than the current system. Currently, you can create an entire depositor script in a single .LUA file. This fact is what leaves me unsure as to where people are obtaining their information since they all seem to believe otherwise.

    The other problem that arises is that scripts execute in their own threads - once executed the walker would not wait for them to finish. While this can be a bit bitchy even with the current system, simultaneous processing would equate to a loss of functions such as wait()/sleep(). Furthermore, any processor expensive scripts would lag all of Tibia, since all of XenoBot's internal operations are executed on Tibia's main thread for data synchronism.

    I understand many of you are complacent and will ultimately long for something like NeoBot until you learn something new. However, this is XenoBot. Yes, XenoBot has quite a few places where it falls short. It also, however, overtakes neobot in other aspects of its functionality. While few of those are currently visible, they will be soon. And the next person to call this bot unuserfriendly needs to go remind themselves how they had to set up combo attack in Neo. Hell, even the recasting of spells and such - talk about multiple LUA scripts.

    TL;DR - You're already using a bot that's nearly able to do everything for you, stop bitching about having to set it up just one time to make that happen.
    PS - That TL;DR was not at all a summary of what I said. If you care about a real informative post, actually read it, bro.

  7. #17

    Join Date
    Jan 2012
    Posts
    7
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Another possibility could be adding a way to create a library of functions, then in the action waypoint you just input the function you want so for example:

    I am too lazy to actually write a functional script so I am just going to summarize.

    function buyPots(amount)
    say "hi"
    npcsay "trade"
    buypots(amount)
    end

    Then in the walker you would do:
    Node(x, y, z)
    Node(x, y, z)
    Action(buyPots(10))
    Action(wait(1000,2000))
    Node(x, y, z)

  8. #18

    Join Date
    Dec 2011
    Posts
    164
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by DarkstaR View Post
    *Loling*

    The scripting interface will remain as it is. While I MIGHT add the possibility to configure inline scripts into the walker, it will be very crude. Tibia's current textboxes don't support tabbed input or anything similar, and coding a box like that completely from scratch will be a highly tedious and time consuming job. If anything, for inline scripts, you're looking at something like the label box with a little more room. This means that any intensive inline-scripts would look like this:

    Code:
     setWalkerEnabled(false) if (var == value) then doAction(param1, param2, param3) else doAction(param1, param2, param3)  end setWalkerEnabled(true)
    Not only is it very uneasy on the eyes, but it also wouldn't even fully show itself inside the listbox, not to mention is less user-friendly (in my opinion) than the current system. Currently, you can create an entire depositor script in a single .LUA file. This fact is what leaves me unsure as to where people are obtaining their information since they all seem to believe otherwise.

    The other problem that arises is that scripts execute in their own threads - once executed the walker would not wait for them to finish. While this can be a bit bitchy even with the current system, simultaneous processing would equate to a loss of functions such as wait()/sleep(). Furthermore, any processor expensive scripts would lag all of Tibia, since all of XenoBot's internal operations are executed on Tibia's main thread for data synchronism.

    I understand many of you are complacent and will ultimately long for something like NeoBot until you learn something new. However, this is XenoBot. Yes, XenoBot has quite a few places where it falls short. It also, however, overtakes neobot in other aspects of its functionality. While few of those are currently visible, they will be soon. And the next person to call this bot unuserfriendly needs to go remind themselves how they had to set up combo attack in Neo. Hell, even the recasting of spells and such - talk about multiple LUA scripts.

    TL;DR - You're already using a bot that's nearly able to do everything for you, stop bitching about having to set it up just one time to make that happen.
    PS - That TL;DR was not at all a summary of what I said. If you care about a real informative post, actually read it, bro.
    While it might make sense for the developer, the user has a much more harder task to run and set up the script, mainly because it separates things. It has 2 or more files to place on 2 different folders and load in 2 different ways to run 1 single script. Then if he wants, let's say, set up the scripts variables, he'd need to go to that .lua file again and open it using notepad, most people won't even understand it properly because .lua isn't a standard extension. Of course people will get used to it, in time, and I understand the bot limitations due to its design choice, but let's just not pretend it's better or perfect this way, only because it wouldn't be perfect the other way because of the bot limitations.

    Quote Originally Posted by sk8er08 View Post
    Another possibility could be adding a way to create a library of functions, then in the action waypoint you just input the function you want so for example:

    I am too lazy to actually write a functional script so I am just going to summarize.

    function buyPots(amount)
    say "hi"
    npcsay "trade"
    buypots(amount)
    end

    Then in the walker you would do:
    Node(x, y, z)
    Node(x, y, z)
    Action(buyPots(10))
    Action(wait(1000,2000))
    Node(x, y, z)
    Well, then I can't really see the difference between naming the label as the name of the function or editing its content to simply call a function.
    It loses the whole purpose and Syntax makes his point.

  9. #19

    Join Date
    Jan 2012
    Posts
    24
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by sk8er08 View Post
    Another possibility could be adding a way to create a library of functions, then in the action waypoint you just input the function you want so for example:

    I am too lazy to actually write a functional script so I am just going to summarize.

    function buyPots(amount)
    say "hi"
    npcsay "trade"
    buypots(amount)
    end

    Then in the walker you would do:
    Node(x, y, z)
    Node(x, y, z)
    Action(buyPots(10))
    Action(wait(1000,2000))
    Node(x, y, z)

    ^ THIS!


    @DarkstaR, how about writing a user guide explaining how to actually create fully working scripts. it just seems to be 'work it out for yourself' at the moment.

  10. #20

    Join Date
    Jan 2012
    Posts
    7
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Raphael View Post
    Well, then I can't really see the difference between naming the label as the name of the function or editing its content to simply call a function.
    It loses the whole purpose and Syntax makes his point.
    The difference is simplicity. Instead of opening 10 different script files and trying to reference them with labels all darkstar has to do is make a button labeled "Edit Functions" then it opens the text document, you edit it then CTRL + S and call the function you added in the walker. The idea is that when you create a function like that you can use it anywhere without having to rewrite the function each time for example checking cap, you can have multiple areas of your walker check your cap simply by putting Action(doCheckCap()) and doCheckCap() would be the function you created in functions.lua or w/e darkstar would name it by default.


    Edit:
    Or am I misunderstanding the walker label system? Does the walker label name correspond directly to the .lua filename already? (I haven't actually played around with the labels yet)
    Last edited by sk8er08; 02-04-2012 at 09:37 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •