PottScilgrim's post in NPC that sells items monthly was marked as the answer
Try this
//========================================================
// Monthly rotation shop
//========================================================
// Written by PottScilgrim
//========================================================
// Main NPC:
// - Switches the month and creates an array
// - Sets the shop contents as the array
// Options:
// - Modify ".customPrice" to 1 if you want to use custom prices for items
// Edit the .MONTHLYPRICE arrays with your desired prices
//========================================================
prontera,154,179,3 script Monthly Shop#1 10180,{
mes .name$;
mes "Now opening the monthly shop";
close2; callshop "S_MONTHLYSHOP",1; end;
OnClock0001:
OnInit:
.customPrice = 0; // Modify this to 1 if you want to use custom buy prices for items
.name$ = "[^FF0000 Monthly Shop ^000000]";
$monthint = gettime(DT_MONTH);
switch($monthint){
case 1: // January
setarray .MONTHLYSHOP[0],512,909,984;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 2: // February
setarray .MONTHLYSHOP[0],985,1010,1201;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 3: // March
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 4: // April
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 5: // May
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 6: // June
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 7: // July
setarray .MONTHLYSHOP[0],985,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 8: // August
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 9: // September
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 10: // October
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 11: // November
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
case 12: // December
setarray .MONTHLYSHOP[0],512,512,512;
if(.customPrice) { setarray .MONTHLYPRICE[0],10,10,10; } else { setarray .MONTHLYPRICE[0],getiteminfo(.MONTHLYSHOP[0],0),getiteminfo(.MONTHLYSHOP[1],0),getiteminfo(.MONTHLYSHOP[2],0); }
break;
}
npcshopdelitem "S_MONTHLYSHOP",501;
npcshopadditem "S_MONTHLYSHOP", .MONTHLYSHOP[0],.MONTHLYPRICE[0],
.MONTHLYSHOP[1],.MONTHLYPRICE[1],
.MONTHLYSHOP[2],.MONTHLYPRICE[2];
end;
}
//========================================================
// Shop NPC. Don't touch this.
//========================================================
- shop S_MONTHLYSHOP -1,501:-1;