Union Client Scripts

Forum for alternative clients, mods & discussions on the same.

Moderator: Phades

Baldon339
Posts: 6
Joined: Sun Sep 22, 2013 8:02 pm

Re: Union Client Scripts

Post by Baldon339 »

whats gonna be the next script
User avatar
NOOBY93
Posts: 6528
Joined: Tue Aug 09, 2011 1:12 pm

Re: Union Client Scripts

Post by NOOBY93 »

Anyone have a brick making script?
Jalpha wrote:I believe in my interpretation of things.
User avatar
Arcanist
Posts: 2664
Joined: Mon Mar 19, 2012 2:01 pm

Re: Union Client Scripts

Post by Arcanist »

NOOBY93 wrote:Anyone have a brick making script?
Learn javascript and write it yourself..
User avatar
haelmut
Posts: 70
Joined: Sat Apr 06, 2013 9:36 am

Re: Union Client Scripts

Post by haelmut »

U can even entirely create it by copypasting miscelaneous functions from other bots with changing different values need just basic logic and inspiration to do it. Thats just like drawing a picture. ¦]
User avatar
windmaker
Posts: 1855
Joined: Thu Mar 29, 2012 7:08 am
Location: in the forum where some mods are fags.

Re: Union Client Scripts

Post by windmaker »

Arcanist wrote:
NOOBY93 wrote:Anyone have a brick making script?
Learn java and write it yourself..
fix'd
Image #swag
User avatar
Xuvian
Posts: 38
Joined: Tue Feb 08, 2011 9:11 pm

Re: Union Client Scripts

Post by Xuvian »

windmaker wrote:
Arcanist wrote:
NOOBY93 wrote:Anyone have a brick making script?
Learn java and write it yourself..
fix'd
Actually Arcanist is right, Union scripts are oriented in javascript not in java.
User avatar
borka
Posts: 9965
Joined: Thu Feb 03, 2011 7:47 pm
Location: World of Sprucecap

Re: Union Client Scripts

Post by borka »

I'd say both are right - if you just want to fiddle a bit with that scripts a rudimentary knowledge in Javascript helps but if you'
re going to do more you'll need Java knowledge (let alone to be able to see what changes are made to src code and how it interacts with the scripting)
Avatar by SacreDoom
Java 8 - manually downloads - good to check for actual versions url here:
viewtopic.php?f=42&t=40331
Remember what the dormouse said: Feed your head Feed your head
roboboy33
Posts: 94
Joined: Sun Jul 03, 2011 2:41 am

Re: Union Client Scripts

Post by roboboy33 »

Image
I'm getting this error when running koord maker, I already put jBotAPI in the scripts folder. How do I fix it?
what the fuck say
robinx
Posts: 107
Joined: Sat Jul 16, 2011 2:40 pm

Re: Bot for Pearls, Swamps, palisade.

Post by robinx »

SuSavage wrote: Bot for farming 10-20 pearls every day (put your coords from koord.jbot):

Code: Select all

//#! name = OMG THIS SUSAVAGE
 
var ACCNAME = "accname";         //account name
var CHARNAME = "charname";   //character name
include("jBotAPI");
inventory = checkInventory();
jDropLastWindow();
GetRoute();
var startPos = jMyCoords();
var route = [];
var CurioName = ["pearl","flotsam","itsybitsy","itsyweb"];
function GetRoute() {
	var startPos = jMyCoords();
	var route = [];
//MY COORDS, REWRITE IT
	route[0] = jCoord(startPos.x+320,startPos.y);
	route[1] = jCoord(route[0].x+320,route[0].y);
	route[2] = jCoord(route[1].x+220,route[1].y-210);
	route[3] = jCoord(route[2].x,route[2].y-320);
	route[4] = jCoord(route[3].x+150,route[3].y-260);
	route[5] = jCoord(route[4].x+150,route[4].y-250);
	route[6] = jCoord(route[5].x+210,route[5].y-180);
	route[7] = jCoord(route[6].x+280,route[6].y+110);
	route[8] = jCoord(route[7].x+250,route[7].y+150);
	route[9] = jCoord(route[8].x+230,route[8].y+200);
	route[10] = jCoord(route[9].x+250,route[9].y+270);
	route[11] = jCoord(route[10].x+250,route[10].y+270);
	route[12] = jCoord(route[11].x+250,route[11].y+230);
	route[13] = jCoord(route[12].x+250,route[12].y+200);
	route[14] = jCoord(route[13].x+250,route[13].y);
	route[15] = jCoord(route[14].x+250,route[14].y+390);
	route[16] = jCoord(route[15].x+150,route[15].y+250);
	route[17] = jCoord(route[16].x+70,route[16].y+250);
	route[18] = jCoord(route[17].x+70,route[17].y+250);
	route[19] = jCoord(route[18].x+70,route[18].y+250);
	route[20] = jCoord(route[19].x,route[19].y+250);
	route[21] = jCoord(route[20].x+150,route[20].y+250);
	route[22] = jCoord(route[21].x+210,route[21].y-60);
	route[23] = jCoord(route[22].x+200,route[22].y+100);
	route[24] = jCoord(route[23].x,route[23].y-250);
	route[25] = jCoord(route[24].x,route[24].y-250);
	route[26] = jCoord(route[25].x,route[25].y-250);
	route[27] = jCoord(route[26].x,route[26].y-250);
	route[28] = jCoord(route[27].x,route[27].y-470);
	route[29] = jCoord(route[28].x-200,route[28].y-350);
	route[30] = jCoord(route[29].x-380,route[29].y-170);
	route[31] = jCoord(route[30].x-250,route[30].y-200);
	route[32] = jCoord(route[31].x-250,route[31].y-200);
	route[33] = jCoord(route[32].x-150,route[32].y-260);
	route[34] = jCoord(route[33].x-150,route[33].y-260);
	route[35] = jCoord(route[34].x-190,route[34].y-280);
	route[36] = jCoord(route[35].x-200,route[35].y-230);
	route[37] = jCoord(route[36].x-230,route[36].y-160);
	route[38] = jCoord(route[37].x-230,route[37].y-90);
	route[39] = jCoord(route[38].x-230,route[38].y-110);
	route[40] = jCoord(route[39].x-230,route[39].y-110);
	route[41] = jCoord(route[40].x-230,route[40].y-110);
	route[42] = jCoord(route[41].x-230,route[41].y-60);
	route[43] = jCoord(route[42].x-230,route[42].y-60);
	route[44] = jCoord(route[43].x-230,route[43].y+140);
	route[45] = jCoord(route[44].x-230,route[44].y+270);
	route[46] = jCoord(route[45].x-230,route[45].y+270);
	route[47] = jCoord(route[46].x-230,route[46].y+300);
	route[48] = jCoord(route[47].x-100,route[47].y+280);
	route[49] = jCoord(route[48].x,route[48].y+410);
	route[50] = jCoord(route[49].x-100,route[49].y+200);
	route[51] = jCoord(route[50].x-50,route[50].y+110);
	return route;
}

function whereYouLoggedOut() {
   jLogin(ACCNAME);
   while(!jHaveCharlist()) jSleep(700);
   jPrint(jSelectChar(CHARNAME));
   var logwnd = jWaitNewWindow(CHARNAME, 120000);
   jSleep(100);
   logwnd.pushButton(2);
}

function Relogin() {
	jLogout();
}

 function PreviousCoord(Coord) {
	if (jMyCoords()==Coord) return;
	jAbsClick(Coord, 1, 0);
	jWaitStartMove();
	while (jMyCoords().dist(Coord) > 10) jSleep(200); 
}
 
function NewArrayWithout1stElement(arr) {
	newarr = [];
	for (var i = 1; i < arr.length; i++) {
	newarr[i-1] = arr[i];
	}
return newarr;
}


 function GetStuff() {
	var Stuff = jGetObjects(400,jCoord(0,0),"mussel");
	StartCoord = jMyCoords();
	while ((inventory.freeSlots() > 3)&&(Stuff.length>0)) {
		AwayFromGround();
		jPrint(Stuff.length);
		Stuff[0].doClick(3,0);
		jWaitPopup();
		jSelectPopupMenu("Pick");
		jWaitMove(6000);
		jWaitProgress(10000);
		Stuff = NewArrayWithout1stElement(Stuff);
	}	
	Stuff = jGetObjects(400,jCoord(0,0),"flotsam");
	if (Stuff.length>0) {
		AwayFromGround();
		Stuff[0].doClick(3,0);
		jWaitPopup();
		jSelectPopupMenu("Pick");
		jWaitMove(6000);
		jWaitProgress(10000);
	}
	AwayFromGround();
	PreviousCoord(StartCoord);
}


function GoHome () {
	jOffsetClick (jCoord(-3,0),1,2);
	jSleep (500);
	jSendDoubleAction("theTrav", "hearth");
	jWaitProgress(300000);
}

function checkInventory() {
   if(!jHaveWindow("Inventory")) {
      jToggleInventory();
      while(!jHaveWindow("Inventory")) jSleep(100);
   }
   return jGetWindow("Inventory").getInventories()[0];
}


function goToCauldron () {
	var cauldron = jFindObjectByName("cauldron",20);
	var offs = cauldron.position();
	offs = offs.add(0, -10);
	jPFMove(offs);
	jWaitStartMove();
	while (jIsMoving() || jMyCoords().dist(offs) > 10) jSleep(200);
	return cauldron; 
}

function checkCauldron () {
	var cauldron = jFindObjectByName("cauldron",20);
	if(!jHaveWindow("Cauldron")) {
		jDoClick(cauldron.getID(), 3, 0);
		while(!jHaveWindow("Cauldron"))
		jSleep(100);
	}
	var waterInCauldron = jGetWindow("Cauldron").getMeterValue(1);
	var fuelInCauldron = jGetWindow("Cauldron").getMeterValue(2);
	water = waterInCauldron;
	fuel = fuelInCauldron;
	return water, fuel;
}

function goToBarrel() {
	var barrel = jFindObjectByName("barrel",20);
	var offs = barrel.position();
	offs = offs.add(10, 0);
	jPFMove(offs);
	jWaitStartMove();
	while (jIsMoving() || jMyCoords().dist(offs) > 10) jSleep(200);
	return barrel; 
}

function getWater () {
	inventory = checkInventory();
	barrel = goToBarrel();
	goToBarrel();
	var bucket = inventory.getItems("buckete")[0];
	var bucket_coord = bucket.coord()
	var bucket_name = bucket.resName();
	bucket.take();
	jWaitDrag();
	barrel.interactClick(0);
	while (jGetDraggingItem().resName() == bucket_name) jSleep(100);
	cauldron = goToCauldron (); 
	goToCauldron ();
	cauldron.interactClick(0);
	while (jGetDraggingItem().resName() !== bucket_name) jSleep(100);
	inventory.drop(bucket_coord);
	jWaitDrop();
}

function getBranch() {
	var inventory = checkInventory();
	var open_cupboard = jGetWindow("Cupboard").getInventories()[0]; 
	var branch = open_cupboard.getItems("invobjs/branch");
	if (branch.length > 0) {
		for (var i = 0; i < 2; i++) {
			var open_cupboard = jGetWindow("Cupboard").getInventories()[0]; 
			var branch = open_cupboard.getItems("invobjs/branch");
			branch[i].transfer();
			jSleep(200);
		}
	}
}


function getFuel () {
	inventory = checkInventory();
	var cupboards = jGetObjects(50, jCoord(0, 0), "terobjs/cupboard");
	for (var i = 0; i < cupboards.length; i++) {
		var fuelInInventory = inventory.getItems("invobjs/branch");
		if (fuelInInventory.length != 2) {
			var offs = cupboards[i].position();
			offs = offs.add(10, 0);
			jPFMove(offs);
			jWaitStartMove();
			while (jIsMoving() || jMyCoords().dist(offs) > 10) jSleep(200);
			jDoClick(cupboards[i].getID(),3,0);
			jSleep(1000);
			var open_cupboard = jGetWindow("Cupboard");
			getBranch();
			jSleep(1000);
		}
	}
	goToCauldron ();
	for (var i = 0; i < 2; i++) {
		cauldron = goToCauldron ();
		var branch = inventory.getItems("branch")[0];
		branch.take();
		jWaitDrag();
		cauldron.interactClick(0);
		jSleep(1000);
	}
}

function boilingMussel () {
	var cauldron = jFindObjectByName("cauldron",20);
	var musselInInventory = inventory.getItems("invobjs/mussel");
	inventory = checkInventory();
	if(!jHaveWindow("Cauldron")) {
		jDoClick(cauldron.getID(), 3, 0);
		while(!jHaveWindow("Cauldron")) jSleep(100);
	}
	jGetWindow("Cauldron").pushButton("Light");
	jSleep (500);
	jSendDoubleAction("craft","cmussel");
	jWaitCraft();
	while (musselInInventory.length > 0) {
		jCraftItem(false);
		jWaitProgress();
		var boiledMusselInInventory = inventory.getItems("invobjs/mussel-boiled");
		if (boiledMusselInInventory.length > 0) {
			boiledMusselInInventory[0].drop();
			jWaitDrop();
		}
		musselInInventory = inventory.getItems("invobjs/mussel");
	}
	jSendAction("carry");
	jSleep (500);
	jDoClick(cauldron.getID(), 1, 0);
	jSleep (1000);
	jOffsetClick(jCoord(0,-1), 1, 0);
	jSleep (1000);
	jOffsetClick(jCoord(0,2), 3, 0);
	jSleep (1000);
}

function GoDrinkWine() {
	door = jFindObjectByName("cabin-door2",100);
	doorCoord = door.position();
	doorAround = jCoord(doorCoord.x-10,doorCoord.y);
	jPFMove(doorAround);
        waitPFEndMove();
	while (jIsMoving() || jMyCoords().dist(doorAround) > 10) jSleep(100);
	door.doClick(3,0);
	jWaitMove();
	jSleep(500);
	basket = jFindObjectByName("birchbasket",100);
	basketCoord = basket.position();
	basketAround =jCoord(basketCoord.x+10,basketCoord.y);
	jPFMove(basketAround);
	waitPFEndMove();
	while (jIsMoving() || jMyCoords().dist(basketAround) > 2) jSleep(100);
	basket.doClick(3,0);
	while(!jHaveWindow("Basket")) jSleep(100);
	BasketInventory = jGetWindow("Basket").getInventories()[0];
	var buckets = BasketInventory.getItems("bucket-wine");
	if (buckets.length > 0) {
		BasketInventory.sortItems(buckets, "amount", false);
		var bucket = buckets[0];
		var bucket_coord = bucket.coord();
		if (bucket.isActual()) {
			bucket.take();
			jWaitDrag();
			var glasses = BasketInventory.getItems("glass");
			if (glasses.length > 0) {
				var glass = glasses[0];
				if (glass.isActual()) {
					glass.itemact(0);
					jSleep(500);
					BasketInventory.drop(bucket_coord);
					jWaitDrop();
				}
			}
		}
	}
	var glasses = BasketInventory.getItems("glass");
	if (glasses.length > 0) {
		var glass = glasses[0];
		if (glass.isActual()) {
			glass.iact();
			if (jWaitPopup(actionTimeout)) {
				jSelectContextMenu("Drink");
				jWaitProgress();
			}
		}
	}
}

function DropCurioToChest() {
	chest = jFindObjectByName("cclosed",100);
	chestCoord = chest.position();
	chestAround =jCoord(chestCoord.x,chestCoord.y+10);
	jPFMove(chestAround);
	waitPFEndMove();
	while (jIsMoving() || jMyCoords().dist(chestAround) > 10) jSleep(100);
	chest.doClick(3,0);
	while(!jHaveWindow("Chest")) jSleep(100);
	while (inventory.getItems(CurioName).length > 0) {
		inventory.getItems(CurioName)[0].transferSuchAll();
		jSleep(500);
	}
}

function GoToBoat() {
	var cross = jFindObjectByName("crossroads",100);
	var crossCoord = cross.position();
	var crossAround =jCoord(crossCoord.x+10,crossCoord.y);
	jPFMove(crossAround);
	waitPFEndMove();
	while (jIsMoving() || jMyCoords().dist(crossAround) > 2) jSleep(100);
	cross.doClick(3,0);
	while(!jHaveWindow("Yoitsu")) jSleep(100);
	jGetWindow("Yoitsu").pushButton(1);
	jSleep(4000);
	
	AwayFromCross();
	boat = jFindObjectByName("boat",100);
	boatCoord = boat.position();
	boatAround =jCoord(boatCoord.x-20,boatCoord.y);
	jPFMove(boatAround);
	while (jIsMoving() || jMyCoords().dist(boatAround) > 10) jSleep(100);
	boat.doClick(3,0);
	jSleep(2000);
	jSelectPopupMenu("Avast!");
	jWaitMove();
}

function AwayFromCross() {
	Cross = jFindObjectByName("crossroads",100);
	CrossCoord = Cross.position();
	MyCoord = jMyCoords();
	CrossAroundN = jCoord(CrossCoord.x,CrossCoord.y-10);
	CrossAroundE = jCoord(CrossCoord.x+10,CrossCoord.y);
	CrossAroundS = jCoord(CrossCoord.x,CrossCoord.y+10);
	CrossAroundW = jCoord(CrossCoord.x-10,CrossCoord.y);
	DistN = MyCoord.dist(CrossAroundN);
	DistE = MyCoord.dist(CrossAroundE);
	DistS = MyCoord.dist(CrossAroundS);
	DistW = MyCoord.dist(CrossAroundW);
	DistMin = DistN;
	CoordDistMin = CrossAroundN;
	if (DistE < DistMin){ DistMin = DistE; CoordDistMin = CrossAroundE; }
	if (DistS < DistMin){ DistMin = DistS; CoordDistMin = CrossAroundS; }
	if (DistW < DistMin){ DistMin = DistW; CoordDistMin = CrossAroundW; }
	jAbsClick(CoordDistMin, 1, 0);
	jWaitMove();
}

function isTileGround(coord) {
	if (!(jGetTileType(coord) == 0 || jGetTileType(coord) == 1)) return true
	else return false;
}

function AwayFromGround() {
	if (!((isTileGround(jCoord(0,-1))) || (isTileGround(jCoord(1,0))) || (isTileGround(jCoord(0,1))) || (isTileGround(jCoord(-1,0))))) return;
	var offs = jMyCoords();
	if (isTileGround(jCoord(0,-1))) offs = offs.add(0,20);
	if (isTileGround(jCoord(1,0))) offs = offs.add(-20,0);
	if (isTileGround(jCoord(0,1))) offs = offs.add(0,-20);
	if (isTileGround(jCoord(-1,0))) offs = offs.add(20,0);
	jAbsClick(offs, 1, 0);
	jWaitStartMove();
	jSleep(500);
}

 function main() {
	while (1) {
		route = GetRoute();
		for(var i = 0; i < route.length; i++) {
			GetStuff();
			PreviousCoord(route[i]);
			if(jGetStamina() < 50) drinkWater();
		}
		jSleep(1000);
		GoHome ();
		jSleep(1000);
		goToCauldron ();
		checkCauldron ();
		if (water < 33) {
			getWater();
		}
		if (fuel < 13) {
			getFuel();
		}
		boilingMussel ();
		DropCurioToChest();
		jSleep(660000);
		GoDrinkWine();
		GoToBoat();
	}
}
 
main();
can someone tell me why function getFuel don't work ?
Image
User avatar
Pjotr84
Posts: 58
Joined: Tue Jan 17, 2012 6:45 am
Location: Frisia

Re: Union Client Scripts

Post by Pjotr84 »

I've been trying to get the mussel script SuSavage posted to work, but when I start the script and it finds a mussel, the script finishes, but I still get the "pick" option from the flower menu. Also, the error "jSelectPopupMenu is not defined". I have all the files in place and the coords are in place inside the script code, so does anyone know what I need to do to fix this?
_Gunnar wrote:Sorry, my bots achieved sentience and started writing other bots...
RIP Gemini

Return to “The Wizards' Tower”