- shop rental_shop -1,501:50
prontera,150,150,4 script Rentals Shop 100,{
callshop "rental_shop", 1;
npcshopattach "rental_shop";
end;
OnBuyItem:
dispbottom "Rentals Shop: You can only buy one item at once.";
setarray .@q[0], @bought_nameid[0], @bought_quantity[0];
for (.@i = 0; .@i < getarraysize(.items_list); .@i++) {
if (.@q[0] == .items_list[.@i]) {
.@q[2] = .price_list[.@i];
}
}
mes .@npc_name$ = "[Rentals Shop]";
mes "Rental Item: "+getitemname(.@q[0]);
mes "Rental Cost: "+.@q[2]+"x "+getitemname(.currency)+" for one day.";
mes " ";
mes "How many days do you want to rent it ?";
next;
if (input(.@day, 1, 365)) {
mes .@npc_name$;
mes "Invalid input days..";
callsub ClearBought;
close;
}
.@q[3] = .@day * .@q[2];
mes .@npc_name$;
mes "Rental Item: "+getitemname(.@q[0]);
mes "Rental Cost: "+.@q[3]+"x "+getitemname(.currency)+" for "+.@day+" day"+((.@day > 1) ? "s" : "")+".";
mes " ";
mes "Still want to make the rent ?";
next;
if (select("Yes:No") == 2) {
mes .@npc_name$;
mes "All right, "+callfunc("F_Bye");
callsub ClearBought;
close;
}
if (countitem(.currency) < .@q[3]) {
mes .@npc_name$;
mes "I'm sorry, you haven't enought "+getitemname(.currency)+" to pay the rental";
callsub ClearBought;
close;
}
if (!checkweight(.@q[0], .@q[1])) {
mes .@npc_name$;
mes "You need more space in your inventory.";
callsub ClearBought;
close;
}
delitem .currency, .@q[3]; // delete items
rentitem .@q[0], .@day * 86400; // rent an items. 86400 = 1 day in seconds
callsub ClearBought;
end;
ClearBought:
deletearray @bought_quantity, getarraysize(@bought_quantity);
deletearray @bought_nameid, getarraysize(@bought_nameid);
return;
OnInit:
// Configuration
setarray .items_list, 1201, 1201, 1201; // items list that you want to sell.
setarray .price_list, 100, 200, 300; // itens price that item you sell in the shop.
.currency = 7227; // items that will be used as exchange currency
// do not touch from here!!
npcshopdelitem "rental_shop", 501;
for (.@i = 0; .@i < getarraysize(.items_list); .@i++)
npcshopadditem "rental_shop", .items_list[.@i], .price_list[.@i];
end;
}