Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • Try asking for help in the chatbox
  • una_maquina

    Members
    • Posts

      100
    • Joined

    • Last visited

    Contact Methods

    • Discord
      una_maquina#1601

    Recent Profile Visitors

    236 profile views

    una_maquina's Achievements

    1. Ok nvm, I've fixed the issue myself. What I did: I added sock.recv(1024) after sock.sendall(encrypted_data) in my send data function/method. And I added sock.send(encrypt("OK")) in my receive data function after it receives all the data. Now it's synchronized and all's good.
    2. Basically I'm having buggy TCP sockets, and if I add a time.sleep(0.10), it magically fixes itself, BUT that's stupid. Problem: it's not synchronised, sometimes the data arrives, sometimes it doesn't and just gets lost... The code is in Python: class Main(): END_MESSAGE = "EOXEOEXOXAADSADW" def __init__(self, logging_class_instance): self.logging_class = logging_class_instance def send_data_to_client(self,socket,data,encryption_key): try: self.logging_class.log("sending data to client",self.logging_class.COLOR_DEFAULT) encrypted = AES_encrypt(data+self.END_MESSAGE,encryption_key) self.logging_class.log("sending encrypted data: "+str(encrypted)[0:400],self.logging_class.COLOR_DEFAULT) socket.sendall(encrypted) self.logging_class.log("done sending",self.logging_class.COLOR_GREEN) return True except Exception as e: self.logging_class.log("encountered an error while sending data: "+str(e),self.logging_class.COLOR_RED) return False def receive_data_from_client(self,socket,encryption_key): data = b'' while True: chunk = socket.recv(10240) if not chunk: raise ValueError("Couldn't receive data, socket disconnected") self.logging_class.log("received encrypted data: "+str(chunk),self.logging_class.COLOR_DEFAULT) decrypted_chunk = AES_decrypt(chunk,encryption_key) data += decrypted_chunk if self.END_MESSAGE in decrypted_chunk.decode(): data = data[:-len(self.END_MESSAGE)] break length = len(data) self.logging_class.log("decrypted data: "+str(data)[0:400],self.logging_class.COLOR_DEFAULT) return data Maybe you could recommend me some higher-level networking frameworks or something... (I tried Twisted already, but same thing happens). I also tried using select library, but the same thing happens. How could I know when the client is listening for data -- AND only then send it to the client? And vice-versa? How to make sure data is 10000% transferred and received? It should be like this: But this is what tends to happen: Sometimes no data arrives at all!
    3. Learn Python Object Orientated Programming, that's basically all you need to be proficient at Python I think. And then you'll be good to go, and yea, for sure, Python is a superb language to know
    4. Oh yeaah, I should've done that from the beginning so I could have options down the line; thanks for the idea, I'll see if I can replace everything with one click or something I basically have a lot of printing to console to see what's going on and so I could debug easier -- using MethodProvider#log method. Anyways, Hashtag gave me a great idea, I'll need to refactor my code now a bit
    5. Looks like it wasn't your time to go and you kicked cancer up in the nuts, rock on muchacho
    6. Hi, I wanna intercept all the log messages from MethodProvider.log("message"); is there any listener I can use or something? Basically whenever I call MethodProvider.log("something") in a function, I want to also catch that message and give it to my onPaint() method. In essence, I don't want to hardcode and just want to use the data from MethodProvider.log to print it out with onPaint()... if that makes any sense
    7. Always nice to see a fellow dev, welcome to the community and may you crush all your goals!
    8. This is a prototype acc, I'll be having 70+ melee stat accounts in the future, but if you're interested in this acc, lemme know in PM or add me on discord: una_maquina#1601 Info * Trained on an European IP * Has email registered, which you'll be given full access to with the account ( won't even need to change the password, because I'll never temper with the account once sold, ever ) * No bans * Has like 300k worth of stuff in the bank
    9. Oh yaa, always glad to see new updates to the API
    10. Yes, since Dreambot supports Linux OSes, however, with the given hardware capabilities Pi has, idk if you'll be able to bot properly, since you need CPU and ram power.
    11. Hey, so I've been having this question for a long time: when doing quests, I have to have multiple accounts to learn about playersettings, is it possible to somehow look at the playersettings, maybe there's a database or something? For example I wanna script waterfall quest; do I need to use the game explorer over multiple accounts and figure out the playersettings or could I just look it up somewhere? Thanks!
    12. Just tried putting it in, says the method is undefined Looks like I need to define RandomManager object, but then again, what the heck are those two parameters it needs? Thread and AbstractScript
    13. You can do an animation check, if(Client.getLocalPlayer().isAnimating()){} after it attacks the cow> then sleepUntil the cow is dead; otherwise just try to find another target using your filter, if that makes sense. I would go about doing this like this: NPC cow = NPCs.closest(c -> c != null && c.getName().contains(target) && !c.isHealthBarVisible() && !c.isInCombat() && c.getInteractingCharacter() == null && !c.isInteractedWith()); if(cow != null){ if(cow.interact()){ methodProvider.sleepUntil(()-> Client.getLocalPlayer().isAnimating(),Calculations.random(5000,7000)); if(Client.getLocalPlayer().isAnimating()){ // logic goes here; if the player isn't animating, it'll find another suitable target basically } } } MethodProvider.sleep(Calculations.random(200,400)); And you can take it step further by sleeping until the player stops moving, and then see if they're animating or not
    14. Hey, I wanna basically stop autologin solver and then re-enable it again after condition is met; but I'm having "you can't run non-static on static" error. So usually when this happens, I just initiate a class object: RandomManager rm = new RandomManager(); But it asks for Thread and Abstract script inputs, and that's what I don't get -- what are those? I tried putting in: RandomManager rm = new RandomManager(null, null); But then it doesn't work when I do rm.disableSolver(RandomEvent.LOGIN); it doesn't disable the solver.
    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.