I didn't change the rewards or anything else. I just made it so when you steal, the items on the stall remove and after 3.5 seconds it comes back.
Pretty easy.
Go to class thieving
Import these
Code:
import server.event.EventManager;
import server.event.Event;
import server.event.EventContainer;
And add this
Code:
public void stealFromStall(int id, int xp, int level, final int i, final int x, final int y) {
if (System.currentTimeMillis() - c.lastThieve < 2500)
return;
if (c.playerLevel[c.playerThieving] >= level) {
if (c.getItems().addItem(id,1)) {
c.startAnimation(832);
c.getPA().addSkillXP(xp * Config.THIEVING_EXPERIENCE, c.playerThieving);
c.lastThieve = System.currentTimeMillis();
c.sendMessage("You steal a " + server.model.items.Item.getItemName(id) + ".");
c.getPA().checkObjectSpawn(5430 + Misc.random(1), x, y, 1, 10);
EventManager.getSingleton().addEvent(new Event() {
public void execute(EventContainer p) {
c.getPA().checkObjectSpawn(i, x, y, 1, 10);
p.stop();
}
}, 3500);
}
} else {
c.sendMessage("You must have a thieving level of " + level + " to thieve from this stall.");
}
}
Server > World > ObjectManager
Replace
Code:
c.getPA().checkObjectSpawn(6163, 3083, 3488, 1, 10);
c.getPA().checkObjectSpawn(6165, 3083, 3490, 1, 10);
c.getPA().checkObjectSpawn(6166, 3083, 3492, 1, 10);
c.getPA().checkObjectSpawn(6164, 3083, 3494, 1, 10);
c.getPA().checkObjectSpawn(6162, 3083, 3496, 1, 10);
With
Code:
c.getPA().checkObjectSpawn(2561, 3083, 3488, 1, 10);
c.getPA().checkObjectSpawn(2562, 3083, 3490, 1, 10);
c.getPA().checkObjectSpawn(2563, 3083, 3492, 1, 10);
c.getPA().checkObjectSpawn(2564, 3083, 3494, 1, 10);
c.getPA().checkObjectSpawn(2565, 3083, 3496, 1, 10);
ActionHandler
Code:
case 6161:
c.getThieving().stealFromStall(1897, 10, 1, objectType, obX, obY);
break;
case 6165:
c.getThieving().stealFromStall(950, 30, 25, objectType, obX, obY);
break;
case 6166:
c.getThieving().stealFromStall(1635, 60, 50, objectType, obX, obY);
break;
case 6164:
c.getThieving().stealFromStall(7650, 100, 75, objectType, obX, obY);
break;
case 6162:
c.getThieving().stealFromStall(1613, 170, 90, objectType, obX, obY);
break;
replace that with
Code:
case 2561:
c.getThieving().stealFromStall(1897, 10, 1, objectType, obX, obY);
break;
case 2562:
c.getThieving().stealFromStall(950, 30, 25, objectType, obX, obY);
break;
case 2563:
c.getThieving().stealFromStall(1635, 60, 50, objectType, obX, obY);
break;
case 2564:
c.getThieving().stealFromStall(7650, 100, 75, objectType, obX, obY);
break;
case 2565:
c.getThieving().stealFromStall(1613, 170, 90, objectType, obX, obY);
break;
ClickObject(Packets)
Code:
if(c.goodDistance(c.objectX+c.objectXOffset, c.objectY+c.objectYOffset, c.getX(), c.getY(), c.objectDistance)) {
replace with
Code:
if(c.goodDistance(c.objectX+c.objectXOffset+2, c.objectY+c.objectYOffset+2, c.getX(), c.getY(), c.objectDistance)) {