So i would gladly share this amazing script for you guys. This hoe will seduce every man in Gielinor. Let me know if you have any tips scripting related 😃
Features
- Will target surrounding people (ignores the lvl 3 bots)
- Keeps track of previous targets so it will only approach new ones
- Amazing twerk skills
P.s when added to the SDN?
import com.epicbot.api.shared.APIContext;import com.epicbot.api.shared.GameType;import com.epicbot.api.shared.entity.Player;import com.epicbot.api.shared.entity.WidgetChild;import com.epicbot.api.shared.event.ChatMessageEvent;import com.epicbot.api.shared.methods.ITabsAPI;import com.epicbot.api.shared.model.Area;import com.epicbot.api.shared.model.Tile;import com.epicbot.api.shared.script.LoopScript;import com.epicbot.api.shared.script.ScriptManifest;import com.epicbot.api.shared.util.paint.frame.PaintFrame;import com.epicbot.api.shared.util.time.Time;import java.awt.*;import java.util.ArrayList;import java.util.List;@ScriptManifest(name ="Girlfriend", gameType =GameType.OS)publicclass main extends LoopScript{long startTime;int currentPrice =1000;int boyfriendAmount =0;int moneyEarned =0;int theirCoinsAmountInTrade;String currentBoyfriend;String currentlyInTradeWith;String currentTarget;String state;ArrayList<String> pastTargets =newArrayList<String>();
boolean justGotBought =false;
boolean goPublicAdvertisement =false;Area grandExchangeArea =newArea(3156,3479,3174,3468);Tile grandExchangeTile=newTile(3164,3474);publicString getNewTarget(){if(pastTargets.size()>=10){
pastTargets.remove(0);}for(int i=0; i < getAPIContext().players().query().notMe().results().nearestList().size(); i++){Player player = getAPIContext().players().query().notMe().results().nearestList().get(i);if(!player.getName().equals(currentBoyfriend)&&!player.getName().equals(currentTarget)&&
player.getCombatLevel()>3&&!pastTargets.contains(player.getName())){if(!pastTargets.contains(player.getName())){
pastTargets.add(player.getName());System.out.println(pastTargets);return player.getName();}}}return null;}publicvoid startContact(String target){if(getAPIContext().players().query().named(target).results().nearest().isVisible()){
state ="Making contact";if(!getAPIContext().widgets().isInterfaceOpen()){if(getAPIContext().players().query().named(target).results().nearest().interact("Follow")){if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("Hey "+ target +", do you want to buy me as your gf?",true);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText(currentBoyfriend +" owns me now, he bought me for "+ currentPrice +" gp",true);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("You can buy me for "+(currentPrice +1)+" gp",true);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("If you own me, I will twerk for you daddy",true);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().players().query().named(currentTarget).results().nearest().interact("Trade with");Time.sleep(5000,()-> getAPIContext().widgets().isInterfaceOpen());}}}}}public boolean isFirstTradeInterfaceOpen(){return getAPIContext().widgets().get(335,2).isVisible();}public boolean isSecondTradeInterfaceOpen(){return getAPIContext().widgets().get(334,3).isVisible();}public boolean otherPlayerAccepted(){if(getAPIContext().widgets().query().textContains("Other player has accepted").results().first()!= null){return getAPIContext().widgets().query().textContains("Other player has accepted").results().first().isVisible();}else{returnfalse;}}publicvoid declineTrade(){if(getAPIContext().widgets().query().group(335).textContains("Decline").results().first()!= null){
getAPIContext().widgets().query().group(335).textContains("Decline").results().first().click();}elseif(getAPIContext().widgets().query().group(334).textContains("Decline").results().first()!= null){
getAPIContext().widgets().query().group(334).textContains("Decline").results().first().click();}}publicvoid acceptTrade(){if(getAPIContext().widgets().query().group(335).textContains("Accept").results().first()!= null){
getAPIContext().widgets().query().group(335).textContains("Accept").results().first().click();}elseif(getAPIContext().widgets().query().group(334).textContains("Accept").results().first()!= null){
getAPIContext().widgets().query().group(334).textContains("Accept").results().first().click();}}publicString getOtherPlayerTrading(){String[] parts = getAPIContext().widgets().get(335,31).getText().split(":");return parts[1].replaceFirst("\\s","");}publicint getTheirItemCount(String item){List<WidgetChild> slots = getAPIContext().widgets().get(335,28).getChildren();for(WidgetChild slot : slots){if(slot.getName().equals(item)){return slot.getStackSize();}}return0;}publicvoid handleTrade(){if(isFirstTradeInterfaceOpen()){
currentlyInTradeWith = getOtherPlayerTrading();
state ="In trade";
getAPIContext().keyboard().sendText("Buy me for a minimum of "+(currentPrice +1)+" gp",true);Time.sleep(20000,()-> otherPlayerAccepted()||!isFirstTradeInterfaceOpen());if(otherPlayerAccepted()){
theirCoinsAmountInTrade = getTheirItemCount("Coins");System.out.println(theirCoinsAmountInTrade);System.out.println(currentPrice);if(theirCoinsAmountInTrade > currentPrice){System.out.println("Should accept trade");
acceptTrade();Time.sleep(3000,this::isSecondTradeInterfaceOpen);}}if(isFirstTradeInterfaceOpen()){
declineTrade();Time.sleep(2000,()->!isFirstTradeInterfaceOpen());}}if(isSecondTradeInterfaceOpen()){
acceptTrade();
getAPIContext().keyboard().sendText("<3",true);Time.sleep(20000,()-> otherPlayerAccepted()||!getAPIContext().widgets().isInterfaceOpen());Time.sleep(1000);}}publicvoid twerk(){if(!getAPIContext().tabs().isOpen(ITabsAPI.Tabs.EMOTES)){
getAPIContext().tabs().open(ITabsAPI.Tabs.EMOTES);Time.sleep(2000,()-> getAPIContext().tabs().isOpen(ITabsAPI.Tabs.EMOTES));}if(getAPIContext().tabs().isOpen(ITabsAPI.Tabs.EMOTES)){if(getAPIContext().widgets().query().group(216).actions("Panic").results().first()!= null){
getAPIContext().widgets().query().group(216).actions("Panic").results().first().click();Time.sleep(3000,()->!getAPIContext().localPlayer().isAnimating());Time.sleep(400,800);}}}publicvoid praiseNewBoyfriend(){
state ="Praising new bf";
getAPIContext().keyboard().sendText(currentBoyfriend +" you are my new daddy",true);Time.sleep(500,1000);if(getAPIContext().players().query().named(currentBoyfriend).results().nearest()!= null){
getAPIContext().players().query().named(currentBoyfriend).results().nearest().interact("Follow");}
getAPIContext().keyboard().sendText("I love you "+ currentBoyfriend,true);Time.sleep(500,1000);
getAPIContext().keyboard().sendText("Let me twerk for you daddy",true);
twerk();
twerk();
getAPIContext().keyboard().sendText("Do you like that daddy?",true);
twerk();}publicvoid doPublicAdvertisement(){
state ="Public advertisement";if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().webWalking().walkTo(grandExchangeTile);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText(currentBoyfriend +" just bought me for "+ currentPrice +" gp",true);Time.sleep(800,1200);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("Who wants to steal me from "+ currentBoyfriend +"?",true);Time.sleep(800,1200);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("I will twerk for you if you own me",true);
twerk();Time.sleep(800,1200);
twerk();}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("Buy me for "+(currentPrice +1)+" gp to steal me from my bf",true);Time.sleep(800,1200);}if(!getAPIContext().widgets().isInterfaceOpen()){
getAPIContext().keyboard().sendText("Buy me for "+(currentPrice +1)+" and i will be your gf!",true);Time.sleep(800,1200);}
goPublicAdvertisement =false;}@Overrideprotectedint loop(){if(currentTarget == null){
currentTarget = getNewTarget();}if(!getAPIContext().widgets().isInterfaceOpen()){if(currentTarget != null){if(!justGotBought){if(!goPublicAdvertisement){if(grandExchangeArea.contains(getAPIContext().localPlayer().getLocation())){
currentTarget = getNewTarget();
startContact(currentTarget);}}}}}if(getAPIContext().widgets().isInterfaceOpen()){
handleTrade();}if(justGotBought){
praiseNewBoyfriend();
justGotBought =false;
goPublicAdvertisement =true;}if(!grandExchangeArea.contains(getAPIContext().localPlayer().getLocation())){if(!justGotBought){if(!getAPIContext().widgets().isInterfaceOpen()){
goPublicAdvertisement =true;}}}if(goPublicAdvertisement){
doPublicAdvertisement();}return300;}@Overridepublic boolean onStart(String... strings){if(!getAPIContext().client().isLoggedIn()){Time.sleep(15_000,()-> getAPIContext().client().isLoggedIn());}System.out.println("Girlfriend script has started");
state ="Starting";
currentBoyfriend ="scapeboy12";
startTime =System.currentTimeMillis();
pastTargets.add("Test");returntrue;}@Overrideprotectedvoid onChatMessage(ChatMessageEvent a){if(a.getMessage().getText().contains("wishes to trade with you")){String[] parts = a.getMessage().getText().split("wishes");String tradeSender = parts[0];String finalTradeSender = tradeSender.trim().replaceAll(newString(newchar[]{(char)(160)})," ");if(getAPIContext().players().query().named(finalTradeSender).results().nearest()!= null){
getAPIContext().players().query().named(finalTradeSender).results().nearest().interact("Trade with");Time.sleep(2000,()-> getAPIContext().widgets().isInterfaceOpen());}}if(a.getMessage().getText().contains("Accepted trade")){
currentPrice = theirCoinsAmountInTrade;
moneyEarned += theirCoinsAmountInTrade;
currentBoyfriend = currentlyInTradeWith;
justGotBought =true;
boyfriendAmount++;}}@Overrideprotectedvoid onPaint(Graphics2D g,APIContext ctx){if(!getAPIContext().client().isLoggedIn()){Time.sleep(15_000,()-> getAPIContext().client().isLoggedIn());}if(getAPIContext().client().isLoggedIn()){PaintFrame frame =newPaintFrame();
frame.setTitle("Selling gf");
frame.addLine("Runtime: ",Time.getFormattedRuntime(startTime));
frame.addLine("State: ", state);
frame.addLine("Boyfriends had: ", boyfriendAmount);
frame.addLine("Current boyfriend: ", currentBoyfriend);
frame.addLine("Current target: ", currentTarget);
frame.addLine("Money made: ", moneyEarned);
frame.addLine("","");
frame.draw(g,0,90, ctx);//drawing the actual frame.
g.setColor(newColor(208,189,155,255));}}}
Selling gf script
in Other
Posted · Edited by Pikkel Rick
So i would gladly share this amazing script for you guys. This hoe will seduce every man in Gielinor. Let me know if you have any tips scripting related 😃
Features
- Will target surrounding people (ignores the lvl 3 bots)
- Keeps track of previous targets so it will only approach new ones
- Amazing twerk skills
P.s when added to the SDN?