Choose your locale

Can i remove International Silkroad and cSRO Silkroad R, i only play private server.

Hi Hachu,

you could create a shortcut for your server like this one:

“C:\Users\Delirus\AppData\Local\Programs\phBot Testing\phBot.exe” --locale private-server --privateserver SERVERNAME

Just edit the servername to your server

i will try, one more question.

How i can get Resuscitation Potion Quest because it tries that the bot takes it but it does not detect it, I believe because it is not inside 1st option where the other quest are

normal quest
imagen

Potion Quest
imagen
imagen

I dont know why you want to do it. But anyway I guess you are right that this is not possible because its not inside the normal quest options.

I wrote a little plugin, its really not beautiful but you can accept the quest in Donwhang with a script:
(If you need any other City you have to edit the name “Herbalist Bori” to an other Herbalist)

cursedHearts.py
from phBot import *
import QtBind
import json

gui = QtBind.init(__name__, 'AcceptQuest')
button1 = QtBind.createButton(gui, 'acceptQuest', 'Quest', 10, 125)

def acceptQuest():
	NPCID = 0
	npcs = get_npcs()
	for UniqueID, npc in npcs.items():
		if npc['name'] == 'Herbalist Bori':
			NPCID = UniqueID
		
	if NPCID != 0:
		Packet = bytearray()
		data = NPCID.to_bytes(4, byteorder='little')
		data2 = int.from_bytes(data, byteorder='little')
		
		inject_joymax(0x7045, data, False)
		inject_joymax(0x7046, data+b'\x0A', False)
		inject_joymax(0x30D4, b'\x05', False)
		inject_joymax(0x30D4, b'\x05', False)
		log('Accepted Quest')
	
def acceptCursedHeart(arguments):
	acceptQuest()
	return 0
	
log('[%s] Loaded' % __name__)

A example Walkscript at Donwhang:

WalkScript.txt
walk,3530,2051,-106
walk,3520,2038,-106
acceptCursedHeart
walk,3523,2021,-106
walk,3525,2000,-105
walk,3529,1987,-105
walk,3533,1974,-104

Maybe this could help you, if not, sorry I tried xD

3 Likes

good job how add
Specialty Goods Box
Begin consignment trading

It worked, but when it returns to the city and wants to take the quest for the second time, it changes and it stops, you could add something so that this does not happen.

He stops when he claims it, you could make that when he claims it, he will not stop and continue.

Hi Hachu,

you are right. I invested a bit more time and wrote this:

acceptQuest.py
from phBot import *
from time import sleep

def returnCursedHeart(arguments):
	NPCID = 0
	npcs = get_npcs()
	for UniqueID, npc in npcs.items():
		if npc['name'] == 'Herbalist Bori':
			NPCID = UniqueID
		
	if NPCID != 0:
		data = NPCID.to_bytes(4, byteorder='little')
		inject_joymax(0x7045, data, False)
		sleep(0.1)
		inject_joymax(0x7046, data+b'\x0A', False)
		sleep(0.1)
		inject_joymax(0x30D4, b'\x05', False)
		sleep(0.1)
		inject_joymax(0x7515, b'\x1D\x00\x00\x00\x00', False)
		sleep(0.1)
		inject_joymax(0x704B, data, False)
		sleep(0.1)
		inject_joymax(0x7045, data, False)
		log('Try to return quest')
	return 0
	
def acceptCursedHeart(arguments):
	NPCID = 0
	npcs = get_npcs()
	for UniqueID, npc in npcs.items():
		if npc['name'] == 'Herbalist Bori':
			NPCID = UniqueID
		
	if NPCID != 0:
		data = NPCID.to_bytes(4, byteorder='little')
		inject_joymax(0x7045, data, False)
		sleep(0.1)
		inject_joymax(0x7046, data+b'\x0A', False)
		sleep(0.1)
		inject_joymax(0x30D4, b'\x05', False)
		sleep(0.1)
		inject_joymax(0x30D4, b'\x05', False)
		log('Try to accept quest')
	return 0
	
log('[%s] Loaded' % __name__)
ExampleWalkScript.txt
walk,3530,2051,-106
walk,3520,2038,-106
returnCursedHeart
wait,5000
acceptCursedHeart
walk,3523,2021,-106
walk,3525,2000,-105
walk,3529,1987,-105
walk,3533,1974,-104

Please note that this is not the right way to handle any Silkroad packets. My script just “spam” some commands. The better and normal way would be to wait for a server response. But honestly I was to lazy and this seems to working good enouth :rofl:

EDIT: Added some delay

2 Likes

I’d just add a 100ms delay between each packet. You could also do it in a separate thread but ain’t nobody got time for that.

1 Like

now are working good.

What I will say is that it is exaggerating but if you lower the skill as well as the upload the bot was the perfect plugin, but I do not know if it is possible.

@ Ryan

Not sure what a “podre” is.

Am using google traductor sorry xD

What I will say is that it is exaggerating but if you lower the skill as well as the upload the bot was the perfect plugin, but I do not know if it is possible.