Jump to content

AlpacaOverlord

Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by AlpacaOverlord

  1. 20 hours ago, DR4LUC0N said:

    Sandbox made a mining script awhile ago, I love the whole aspect of the more you mine the more exp you get and the more you're rewarded over time. The only problem is all scripts are NPCs you click on. I wanted to know if it was possible to have a map I set put monsters on it(mineral) and instead of the NPCs give the mining EXP/drops the monsters do at a given rate, also without the delay in between minerals. I greatly appreciate all and any help. Thank you.

    TLDR: Switch NPC for monsters that spawn, can be killed by player and give EXP/mithril/mithril ore, 1 monster is 1 pickaxe to mine.

     

    
    //======Name========================================
    // Mining NPC
    //======Version=====================================
    // 1.0
    //======Author(s)===================================
    // Sandbox
    //======Comments====================================
    // In loving memory of AstralRO
    //==================================================
    
    prontera,110,90,3	script	Hermoining	726,{
    
    mes "[^0000FF Hermoining ^000000]";
    mes "Hiya! I'm the master of Mining, ^880000Hermoining^000000!";
    menu "Whoa, teach me master!",-;
    next;
    mes "[^0000FF Hermoining ^000000]";	
    mes "Okay, You'll be needing a ^008800Pick Axe^000000 for mining. While inside the map, you'll be able to mine mithril ores which can be sold for zeny!";
    next;
    mes "[^0000FF Hermoining ^000000]";
    mes "So, do you want to proceed?";
    menu "Yes master!",-,"Buy Pick Axe",Lpick;
    next;
    if(JobLevel < 50) goto Lnjob;
    mes "[^0000FF Hermoining ^000000]";
    mes "Have fun!";
    sc_end SC_ALL;
    warp "force_2-2",174,115;
    close;
    
    Lpick:
    callshop "PickShop";
    close;
    
    Lnjob:
    next;
    mes "[^0000FF Hermoining ^000000]";
    mes "Sorry, you need to be atleast job 50 or higher in order to enter.";
    close;
    
    
    }
    
    
    -	shop	PickShop	-1,6010:10000
    
    force_2-2,159,177,5	script	Mine Exit	848,{
    
    mes "[^888800 Minero ^000000]";
    mes "Do you want to get out of here?";
    menu "Yes please!",-;
    next;
    mes "[^888800 Minero ^000000]";
    mes "See you soon!";
    warp "prontera",118,86;
    close;
    
    
    }
    
    
    force_2-2,161,184,3	script	Mithril Ore	1976,{
    
    
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay; //Comment if you dont want to put a limit on mining
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) { //Comment if you dont want to put a limit on mining DEFAULT = 10,000x failed or success
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2); //50% chance to obtain mithril ore
    set @purechance,rand(1,3); //33.33% chance to obtain an ADDITIONAL mithril, which sells higher
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102; //Mining level 0 waits 4 seconds before mining
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102; //Mining level 1 waits 3 seconds before mining
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) { //Mining level 2 waits 2 seconds before mining
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102; //Mining level 3 waits 1 second before mining
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    //Required experience before a player's mining level increases.
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    
    //==================================================================
    // I did not duplicate the NPCs since I encountered players who tried
    // To abuse this script by using WPE/macros that can get the NPC ID
    // That can bypass the delay between the mining process..
    //==================================================================
    
    force_2-2,161,184,3	script	Mithril Ore#1	1976,{
    
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#2	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#3	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#4	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#5	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#6	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#7	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#8	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#9	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#10	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#11	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#12	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#13	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#14	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#15	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    
    force_2-2,161,184,3	script	Mithril Ore#16	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#17	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#18	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#19	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#20	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#21	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#22	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#23	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    force_2-2,161,184,3	script	Mithril Ore#24	1976,{
    if(#minedelay+86400 > gettimetick(2)) goto Ldelay;
    if(@mining != 0) goto Lstillmine;
    if(.mining != 0) goto Lalreadymine;
    //mes "Do you want to mine this rock?";
    //menu "Proceed",-;
    //next;
    
    if(countitem(6010) < 1) goto Lnopick;
    
    delitem 6010,1;
    
    set #MineCount,#MineCount+1;
    	if(#MineCount == 10000) {
    		set #minedelay,gettimetick(2);
    		set #MineCount,0;
    	}
    
    set @minechance,rand(1,2);
    set @purechance,rand(1,3);
    
    set .mining,1;
    set @mining,1;
    pcblockmove getcharid(3),1;
    
    if(MineLvl == 0) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 1) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    else if(MineLvl == 2) {
    
    	misceffect 102;
    	sleep2 1000;
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    if(MineLvl == 3) {
    
    	misceffect 102;
    	sleep2 1000;
    	set .mining,0;
    	set @mining,0;
    	pcblockmove getcharid(3),0;
    
    
    	if(@minechance == 2) {
    	misceffect 154;
    	set MineExp,MineExp+1;
    	if(@purechance == 3) getitem 7757,1;
    	else getitem 7233,1;
    	goto Lsuccess;
    	}
    else {
    	misceffect 155;
    	goto Lfail;
    	}
    }
    
    Lsuccess:
    dispbottom "You've successfully mined the ore.";
    if(MineExp < 10000) dispbottom "You've gained 1 Mining Exp.";
    if(MineExp == 1000) { set MineLvl,1;
    dispbottom "Congratulations! Your Mining Mastery is now Level 1!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 1!",bc_all,0x00FFFF;
    }
    else if(MineExp == 5000) { set MineLvl,2;
    dispbottom "Congratulations! Your Mining Mastery is now Level 2!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 2!",bc_all,0x00FFFF;
    }
    else if(MineExp == 10000) { set MineLvl,3;
    dispbottom "Congratulations! Your Mining Mastery is now Level 3!";
    announce strcharinfo(0)+"'s Mining Mastery reached Level 3!",bc_all,0x00FFFF;
    }
    end;
    
    Lfail:
    dispbottom "You got nothing from the ore.";
    end;
    
    Lnopick:
    mes "^FF0000*Hand Smash!!*^000000";
    next;
    mes "Ouch! I'll be needing a ^008800Pickaxe^000000 for this..";
    close;
    
    Lalreadymine:
    mes "Hey! Get your own spot!";
    close;
    
    
    Lstillmine:
    mes "Ugh, i'm not done mining yet!";
    close;
    
    
    Ldelay:
    mes "You can only mine 10,000 ores a day!";
    close;
    
    OnInit:
    goto Lwalk;
    end;
    
    
    Lwalk:
    sleep2 1000;
    npcwalkto rand(161,186),rand(119,184);
    goto Lwalk;
    end;
    
    }
    
    //force_2-2,161,184,3	script	Mithril Ore#25	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#26	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#27	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#28	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#30	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#31	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#32	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#33	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#34	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#35	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#36	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#37	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#38	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#39	1976,{}
    //force_2-2,161,184,3	script	Mithril Ore#40	1976,{}

     

    You can base it off of Gold Room scripts then.

  2. 4 hours ago, Tokei said:

    Heya,

    There are multiple approaches for this issue. The first one is "lazy" but it is usually good enough for most people and it is much simpler. You run a script on all players to remove their achievement and then you run a SQL command to remove all achievements. So something along these lines:

    
    OnClock0000:	// At midnight, everyday
    	donpcevent strnpcinfo(0) + "::OnResetAchievement";
    	end;
    OnResetAchievement:
    	donpcevent strnpcinfo(0) + "::OnResetAchievementSub";
    	query_sql("DELETE FROM `achievement` WHERE `id` = 100");
    	end;
    OnResetAchievementSub:
    	addrid 0;
    	achievementremove 100;
    	end;

    The issue with the above is that the query is ran on the map-server and therefore will lag you depending on the size of your achievement table (the same goes for any query ran on the map-server). This solution is also not "atomic" and can fail in some situations where a player is logging on while the script is being ran, and the char-server has already sent the achievement data and hasn't been received by the player yet. The chances of the last scenario happening are very low though.

    An alternative would be to keep the achievements in the database, but only delete them when the player logs on. You would still have to delete them on the online players though. So something like this:

    
    OnClock0000:
    	donpcevent strnpcinfo(0) + "::OnResetAchievement";
    	$ach_100_start = gettimetick(2);
    	end;
    OnPCLoginEvent:
    	.@aid = 100;
    	.@res = achievementinfo(.@aid, ACHIEVEINFO_COMPLETEDATE);
    	
    	if (.@res > 0 && .@res < $ach_100_start) {
    		achievementremove 100;
    	}
    	
    	end;
    OnResetAchievement:
    	addrid 0;
    	achievementremove 100;
    	end;

    The above works relatively well. It doesn't have concurrency issues, it won't lag your server either. The downside there would be that the achievements would still exist in your sql table. Also, both of the above need to attach a script to the player, which will cause issues if a player is already talking to a NPC (it will terminate the previously ran script).

    The proper solution would be to run the SQL query on the char-server instead using an inter-server packet (or using a SQL thread, if that PR is merged). Then you would run a custom script command that iterates through online players and removes their achievement with achievement_remove without ever attaching a script to them. The last solution is the best and will work in all scenarios with no in-game lag. Though it is somewhat annoying to code I suppose.

    (Those scripts were not tested, so you may have to fix the errors yourself.)

    Thanks for these tips! I will probably try out the second iteration and see what happens. As for the third one you presented I am quite unfamiliar with it, so I will try to look around and see what I can get, this has been very helpful.

  3. Is it possible to have a server-wide reset of certain achievements on a pre-determined time?

    I have the knowledge to create the base of the script, however I am unsure on how to implement a server-wide reset of let's say Achievement ID 100. For instance At OnHour0000, Achievement ID is reset for everyone both online and offline players, I know it is possible, however I am unsure how to proceed forward. I just need the snippet for the exact reset procedure, not the whole script. I would be able to finish the script with this alone, thank you and I greatly appreciate any help or tip.

×
×
  • Create New...