Jump to content
  • 0
Sign in to follow this  
N e s s

3rd job npc

Question

npc that gives 3rd job hat for free.


 


if i click the npc the npc will give the following items


 


if rune knight he/she receive:


5746


15002


2140


2795


 


warlock:


2795


5753


 


ranger:


5748


2795


 


mechanic:


2795


5749


 


Guillotine:


5755


2795


 


Archbishop


5747


2795


 


royal guard


5757


2795


 


sorcerer


5756


2795


 


Wanderer(girl)


5758


2795


 


Maestro(boy)


5751


2795


 


Geneticist


5752


2795


 


shadow chaser


2795


5750


6121


6122


 


sura


5754


2795


 


thanks in advance!


 

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Here: http://pastebin.com/yGXMGypV

Hope it works for you :)

 

Edit: sorry, after this line you need to add a close;

 

 

   if (L_ClaimedThirdFreebies == 1) {

        mes .@name$;
        mes "Sorry, you already claimed your freebies!";

        close;
    }

 

 

 

//===== Hercules Script ======================================
//== Thirds Freebies =========================================
//===== By: ==================================================
//== True Zeal ===============================================
//===== Description: =========================================
//== Gives free hats one time depending on your job
//============================================================
 
prontera,150,150,3    script    Item Giver    4_F_ELEPHANT,{
 
    .@name$ = "[" + strcharinfo(1) + "]";
    
    if (L_ClaimedThirdFreebies == 1) {
        mes .@name$;
        mes "Sorry, you already claimed your freebies!";
    }
    
    if (BaseClass == Job_Rune_Knight) {
        .@item1 = 5746;
        .@item2 = 15002;
        .@item3 = 2140;
        .@item4 = 2795;
        
        .@4items = 1;
 
    } else if (BaseClass == Job_Warlock) {
        .@item1 = 2795;
        .@item2 = 5753;
 
    } else if (BaseClass == Job_Ranger) {
        .@item1 = 5748;
        .@item2 = 2795;
 
    } else if (BaseClass == Job_Mechanic) {
        .@item1 = 2795;
        .@item2 = 5749;
 
    } else if (BaseClass == Job_Guillotine_Cross) {
        .@item1 = 5755;
        .@item2 = 2795;
 
    } else if (BaseClass == Job_Arch_Bishop) {
        .@item1 = 5747;
        .@item2 = 2795;
 
    } else if (BaseClass == Job_Royal_Guard) {
        .@item1 = 5757;
        .@item2 = 2795;
    
    } else if (BaseClass == Job_Sorcerer) {
        .@item1 = 5756;
        .@item2 = 2795;
    
    } else if (BaseClass == Job_Wanderer) {
        .@item1 = 5758;
        .@item2 = 2795;
 
    } else if (BaseClass == Job_Minstrel) {
        .@item1 = 5751;
        .@item2 = 2795;
    
    } else if (BaseClass == Job_Genetic) {
        .@item1 = 5752;
        .@item2 = 2795;
    
    } else if (BaseClass == Job_Shadow_Chaser) {
        .@item1 = 2795;
        .@item2 = 5750;
        .@item3 = 6121;
        .@item4 = 6122;
        
        .@4items = 1;
    
    } else if (BaseClass == Job_Sura) {
        .@item1 = 5754;
        .@item2 = 2795;
    
    } else {
        mes .@name$;
        mes "Sorry, I only give freebies to third jobs.";
        close;
    }
    
    
    mes .@name$;
    mes "I see you are a " + Class + ",";
    next;
    getitem .@item1,1;
    getitem .@item2,2;
    if (.@4items == 1) {
        getitem .@item3,1;
        getitem .@item4,1;
    }
    L_ClaimedThirdFreebies = 1;
    mes .@name$;
    mes "Take these items.";
    close;
 
}
Edited by True Zeal

Share this post


Link to post
Share on other sites
  • 0

ima try this one later sir! thank you!

 

Sorry, another error.

Please change

 

mes "I see you are a " + Class + ",";

to

 

mes "I see you are a " + jobname(Class) + ",";
Edited by True Zeal

Share this post


Link to post
Share on other sites
  • 0

 

ima try this one later sir! thank you!

 

Sorry, another error.

Please change

 

mes "I see you are a " + Class + ",";

to

 

mes "I see you are a " + jobname(Class) + ",";

ok sir when i get home! thank you sir!

Share this post


Link to post
Share on other sites
  • 0

i try it already there is a bug it give me continuous item when i click the npc

It needs a close like I mentioned in my post edit.

 

Also, change all cases of BaseClass to BaseJob

Share this post


Link to post
Share on other sites
  • 0

it keep saying 

 

Sorry, i only give freebies to third jobs.

 

idk it doesnt work 

 

 

 

 

 

 

//===== Hercules Script ======================================
//== Thirds Freebies =========================================
//===== By: ==================================================
//== True Zeal ===============================================
//===== Description: =========================================
//== Gives free hats one time depending on your job
//============================================================

prontera,150,150,3 script Item Giver 606,{

.@name$ = "[" + strcharinfo(1) + "]";

if (L_ClaimedThirdFreebies == 1) {
  mes .@name$;
  mes "Sorry, you already claimed your freebies!";
  close;
}

if (BaseJob == Job_Rune_Knight) {
  .@item1 = 5746;
  .@item2 = 15002;
  .@item3 = 2140;
  .@item4 = 2795;
 
  .@4items = 1;

} else if (BaseJob == Job_Warlock) {
  .@item1 = 2795;
  .@item2 = 5753;

} else if (BaseJob == Job_Ranger) {
  .@item1 = 5748;
  .@item2 = 2795;

} else if (BaseJob == Job_Mechanic) {
  .@item1 = 2795;
  .@item2 = 5749;

} else if (BaseJob == Job_Guillotine_Cross) {
  .@item1 = 5755;
  .@item2 = 2795;

} else if (BaseJob == Job_Arch_Bishop) {
  .@item1 = 5747;
  .@item2 = 2795;

} else if (BaseJob == Job_Royal_Guard) {
  .@item1 = 5757;
  .@item2 = 2795;

} else if (BaseJob == Job_Sorcerer) {
  .@item1 = 5756;
  .@item2 = 2795;

} else if (BaseJob == Job_Wanderer) {
  .@item1 = 5758;
  .@item2 = 2795;

} else if (BaseJob == Job_Minstrel) {
  .@item1 = 5751;
  .@item2 = 2795;

} else if (BaseJob == Job_Genetic) {
  .@item1 = 5752;
  .@item2 = 2795;

} else if (BaseJob == Job_Shadow_Chaser) {
  .@item1 = 2795;
  .@item2 = 5750;
  .@item3 = 6121;
  .@item4 = 6122;
 
  .@4items = 1;

} else if (BaseJob == Job_Sura) {
  .@item1 = 5754;
  .@item2 = 2795;

} else {
  mes .@name$;
  mes "Sorry, I only give freebies to third jobs.";
  close;
}


mes .@name$;
mes "I see you are a " + jobname(Class) + ",";
next;
getitem .@item1,1;
getitem .@item2,2;
if (.@4items == 1) {
  getitem .@item3,1;
  getitem .@item4,1;
}
L_ClaimedThirdFreebies = 1;
mes .@name$;
mes "Take these items.";
close;

}

Share this post


Link to post
Share on other sites
  • 0

 

it keep saying 

 

Sorry, i only give freebies to third jobs.

 

idk it doesnt work 

 

//===== Hercules Script ======================================
//== Thirds Freebies =========================================
//===== By: ==================================================
//== True Zeal ===============================================
//===== Description: =========================================
//== Gives free hats one time depending on your job
//============================================================
prontera,150,150,3 script Item Giver 606,{
.@name$ = "[" + strcharinfo(1) + "]";

if (L_ClaimedThirdFreebies == 1) {
  mes .@name$;
  mes "Sorry, you already claimed your freebies!";
  close;
}

if (BaseJob == Job_Rune_Knight) {
  .@item1 = 5746;
  .@item2 = 15002;
  .@item3 = 2140;
  .@item4 = 2795;
 
  .@4items = 1;
} else if (BaseJob == Job_Warlock) {
  .@item1 = 2795;
  .@item2 = 5753;
} else if (BaseJob == Job_Ranger) {
  .@item1 = 5748;
  .@item2 = 2795;
} else if (BaseJob == Job_Mechanic) {
  .@item1 = 2795;
  .@item2 = 5749;
} else if (BaseJob == Job_Guillotine_Cross) {
  .@item1 = 5755;
  .@item2 = 2795;
} else if (BaseJob == Job_Arch_Bishop) {
  .@item1 = 5747;
  .@item2 = 2795;
} else if (BaseJob == Job_Royal_Guard) {
  .@item1 = 5757;
  .@item2 = 2795;

} else if (BaseJob == Job_Sorcerer) {
  .@item1 = 5756;
  .@item2 = 2795;

} else if (BaseJob == Job_Wanderer) {
  .@item1 = 5758;
  .@item2 = 2795;
} else if (BaseJob == Job_Minstrel) {
  .@item1 = 5751;
  .@item2 = 2795;

} else if (BaseJob == Job_Genetic) {
  .@item1 = 5752;
  .@item2 = 2795;

} else if (BaseJob == Job_Shadow_Chaser) {
  .@item1 = 2795;
  .@item2 = 5750;
  .@item3 = 6121;
  .@item4 = 6122;
 
  .@4items = 1;

} else if (BaseJob == Job_Sura) {
  .@item1 = 5754;
  .@item2 = 2795;

} else {
  mes .@name$;
  mes "Sorry, I only give freebies to third jobs.";
  close;
}


mes .@name$;
mes "I see you are a " + jobname(Class) + ",";
next;
getitem .@item1,1;
getitem .@item2,2;
if (.@4items == 1) {
  getitem .@item3,1;
  getitem .@item4,1;
}
L_ClaimedThirdFreebies = 1;
mes .@name$;
mes "Take these items.";
close;
}

 

Change all BaseJob to Class

i try it already there is a bug it give me continuous item when i click the npc

 

I optimized the script a bit:

 

//===== Hercules Script ======================================
//== Thirds Freebies =========================================
//===== Original Script by: True Zeal
//===== Optimized by: Legend
//===== Description: =========================================
//== Gives free hats one time depending on your job
//============================================================

prontera,150,150,3	script	Item Giver	4_ELEPHANT,{
	.@name$ = "[" + strnpcinfo(1) + "]";
	if (L_ClaimedThirdFreebies) {
		mes .@name$;
		mes "Sorry, you already claimed your freebies!";
		close;
	}
	mes .@name$;
	mes "I see you are a " + jobname(Class) + ",";
	next;
	switch( Class ){
		case Job_Rune_Knight:
			setarray .@a, 5746,15002,2140,2795;
			break;
		case Job_Warlock:
			setarray .@a, 2795,5753;
			break;
		case Job_Ranger:
			setarray .@a, 5748,2795;
			break;
		case Job_Mechanic:
			setarray .@a, 2795,5749;
			break;
		case Job_Guillotine_Cross:
			setarray .@a, 5755,2795;
			break;
		case Job_Arch_Bishop:
			setarray .@a, 5747,2795;
			break;
		case Job_Royal_Guard:
			setarray .@a, 5757,2795;
			break;
		case Job_Sorcerer:
			setarray .@a, 5756,2795;
			break;
		case Job_Wanderer:
			setarray .@a, 5758,2795;
			break;
		case Job_Minstrel:
			setarray .@a, 5751,2795;
			break;
		case Job_Genetic:
			setarray .@a, 5752,2795;
			break;
		case Job_Shadow_Chaser:
			setarray .@a, 2795,5750,6121,6122;
			break;
		default: 
			mes .@name$;
			mes "Sorry, I only give freebies to third jobs.";
			close;
	}
	mes .@name$;
	mes "Take these items.";
	for (.@b = 0; .@b < getarraysize(.@a); .@b++) {
		getitem .@a[.@b],1;
	}
	L_ClaimedThirdFreebies = 1;
	close;
}

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.