viewing paste Unknown #13640 | Athena

Posted on the
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
-   script  WeaponLevel -1,{
if(!.init) donpcevent strnpcinfo(3)+"::OnInit";
OnInit:
    //Configuration
    setarray .WepXP[0],100,1000, 3700, 10100, 22600, 44200, 78500, 129700, 202600, 302600; //Weapon Level Experience
    set .MaxWLV,getarraysize(.WepXP);
    set .init,1;
    bindatcmd "weapon",strnpcinfo(3)+"::OnAtcommand",0,40;
end;
 
OnAtcommand:
if(getequipname(EQI_HAND_R) != ""){
set $@Weapon$,getequipname(EQI_HAND_R);
dispbottom "["+$@Weapon$+"] Level: "+WeaponLv+" | Expereince: "+WeaponExp+"/"+.WepXP[WeaponLv]+"";
}else {
dispbottom "[Weapon] I'm sorry but you don't seem to have a Weapon on.";}
end;
 
OnNPCKillEvent:
    setarray .exp[0],1,2,3,4,5,10; //Experience per kill
    set .XPperKill,.exp[rand(getarraysize(.exp))];
    set $@Weapon$, getequipname(EQI_HAND_R);
    if(getequipname(EQI_HAND_R) != ""){
        if(WeaponLv == .MaxWLV){
        end;} else{
            dispbottom "["+$@Weapon$+"] +"+.XPperKill+" Experience";
        set WeaponExp, WeaponExp+.XPperKill;}
        if(.WepXP[WeaponLv] <= WeaponExp && WeaponLv < .MaxWLV){
        set WeaponLv, WeaponLv+1;
        dispbottom "["+$@Weapon$+"] Weapon Level: "+WeaponLv+"!";
        }
    }else{
    dispbottom "[Weapon] Please equip a weapon to gain experience for it.";}
    end;
    
 
}
Viewed 1075 times, submitted by Pneuma.