Jump to content
  • 0

Refiner using God Anvil and Auto Recall Woe Reward


ayepvisconti

Question


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/09/14
  • Last Seen:  

Hello guys.

 

First, I want to request a Refiner NPC script that refine use God Anvil (Item ID# 7806) that have 100% success refine rate.

 

Second, I want to request Woe Reward script. After woe finish, it will auto recall win guild into a room. Inside that room have a NPC that will give reward to them. After they click that NPC, they will receive the reward and automatic will sending back to main town.

Hope you guys can help me  :rolleyes:   /gawi

Link to comment
Share on other sites

13 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  100
  • Topics Per Day:  0.03
  • Content Count:  333
  • Reputation:   7
  • Joined:  03/01/14
  • Last Seen:  

Change the first line to your NPC setting.

Change the .npcname$ at the OnInit Label to your NPC's name.

mapname,x,y,direct	script	NPCName	spriteid,{
	
	mes .npcname$;
	mes "Hello ^ff0000"+strcharinfo(0)+"^000000,";
	mes "I can refine your equipment for a ^ff0000100% chance^000000!";
	mes "All I need is ^ff00001 God Anvil^000000.";
	
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
		{
			if( getequipisequiped(.@i) )
				set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

			set .@menu$, .@menu$ + ":";
		}
	set .@part,select(.@menu$);
	if(!getequipisequiped(.@part)) {
		next;
		mes .npcname$;
		mes "You're not wearing";
		mes "anything there that";
		mes "I can refine.";
		emotion 6;
		close;
	}
	
	//Check if the item is refinable...
	if(!getequipisenableref(.@part)) {
		next;
		mes .npcname$;
		mes "I don't think I can";
		mes "refine this item at all...";
		close;
	}
	
	//Check to see if the items is already +10
	if(getequiprefinerycnt(.@part) >= 10) {
		next;
		mes .npcname$;
		mes "I can't refine this";
		mes "any more. This is as";
		mes "refined as it gets!";
		close;
	}
	next;
	mes .npcname$;
	mes "Do you really want me to refine that item?";
	if(select("Yes:No") == 2){
		mes "Okay, see you.";
		close;
	}
	if (countitem(7806) < 1){
		mes "^ff0000You don't have a God Anvil!^000000";
		close;
	}
	delitem 7806,1;
	successrefitem .@part;
	mes "There you go!";
	close;
	end;
	
	OnInit:
		set .npcname$,"[NPCNAME]"; //Enter NPC Name here
		end;
}

Same with this script.

Have in mind to secure that the players cannot enter the map themselves.

And you might want to add that they cannot /memo there or call their partners/ babys.

Just google for rAthena mapflags, I'm sure you can do it yourself! ;)

mapname,x,y,direct    script    NPCName    spriteid,{

    mes "NPCName";
    mes "That was a good War of Emperium!";
    mes "You did a great job!";
    mes "Here is your reward.";
    getitem 512,1;    //add your rewards here
    warp SavePoint;
    end;
}

-    script    WoERewardWarper    -1,{
    end;
    
    OnAgitEnd:
        sleep(2000);    //wait two seconds after woe before warping the guild
        for (set .@i,0; .@i < getarraysize(.castles$); set .@i, .@i+1){
            warpguild .map$,.x,.y,getcastledata(.castles$[.@i],1);
        }
        end;
        
    OnInit:
        set .map$, "prontera";
        set .x, 0;
        set .y, 0;
        setarray .castles$[0],"prtg_cas01";    //add your woe castles
        end;
}
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/09/14
  • Last Seen:  

TQ Sir  /no1


The God Anvil Refiner are 100% working !

But the WOE Reward got some error

Here it is :

 

s93HaPV.png

 

And here is the script that i've edit

http://pastebin.com/n2vq7inu

Edited by ayepvisconti
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  100
  • Topics Per Day:  0.03
  • Content Count:  333
  • Reputation:   7
  • Joined:  03/01/14
  • Last Seen:  

TQ Sir  /no1

The God Anvil Refiner are 100% working !

But the WOE Reward got some error

Here it is :

 

s93HaPV.png

 

And here is the script that i've edit

http://pastebin.com/n2vq7inu

 

Oh, sorry.

Try replacing

warp SavePoint;

with

warp "SavePoint",0,0;
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/09/14
  • Last Seen:  

 

TQ Sir  /no1

The God Anvil Refiner are 100% working !

But the WOE Reward got some error

Here it is :

 

s93HaPV.png

 

And here is the script that i've edit

http://pastebin.com/n2vq7inu

 

Oh, sorry.

Try replacing

warp SavePoint;

with

warp "SavePoint",0,0;

 

It's work now :)

But, after woe end, the script does not recall guild to the reward map. 

Would you mind to help again? This is the script http://pastebin.com/65RYDVSE

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  100
  • Topics Per Day:  0.03
  • Content Count:  333
  • Reputation:   7
  • Joined:  03/01/14
  • Last Seen:  

It only works for prtg_cas03, to add multiple castles do it like this:

setarray .castles$[0],"prtg_cas01","prtg_cas03";

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   0
  • Joined:  03/09/14
  • Last Seen:  

It only works for prtg_cas03, to add multiple castles do it like this:

setarray .castles$[0],"prtg_cas01","prtg_cas03";

 

Same problem sir. It won't recall :(

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  3
  • Reputation:   0
  • Joined:  05/03/14
  • Last Seen:  

is this working?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   0
  • Joined:  05/05/14
  • Last Seen:  

 

Change the first line to your NPC setting.

Change the .npcname$ at the OnInit Label to your NPC's name.

mapname,x,y,direct	script	NPCName	spriteid,{
	
	mes .npcname$;
	mes "Hello ^ff0000"+strcharinfo(0)+"^000000,";
	mes "I can refine your equipment for a ^ff0000100% chance^000000!";
	mes "All I need is ^ff00001 God Anvil^000000.";
	
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
		{
			if( getequipisequiped(.@i) )
				set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

			set .@menu$, .@menu$ + ":";
		}
	set .@part,select(.@menu$);
	if(!getequipisequiped(.@part)) {
		next;
		mes .npcname$;
		mes "You're not wearing";
		mes "anything there that";
		mes "I can refine.";
		emotion 6;
		close;
	}
	
	//Check if the item is refinable...
	if(!getequipisenableref(.@part)) {
		next;
		mes .npcname$;
		mes "I don't think I can";
		mes "refine this item at all...";
		close;
	}
	
	//Check to see if the items is already +10
	if(getequiprefinerycnt(.@part) >= 10) {
		next;
		mes .npcname$;
		mes "I can't refine this";
		mes "any more. This is as";
		mes "refined as it gets!";
		close;
	}
	next;
	mes .npcname$;
	mes "Do you really want me to refine that item?";
	if(select("Yes:No") == 2){
		mes "Okay, see you.";
		close;
	}
	if (countitem(7806) < 1){
		mes "^ff0000You don't have a God Anvil!^000000";
		close;
	}
	delitem 7806,1;
	successrefitem .@part;
	mes "There you go!";
	close;
	end;
	
	OnInit:
		set .npcname$,"[NPCNAME]"; //Enter NPC Name here
		end;
}

Same with this script.

Have in mind to secure that the players cannot enter the map themselves.

And you might want to add that they cannot /memo there or call their partners/ babys.

Just google for rAthena mapflags, I'm sure you can do it yourself! ;)

mapname,x,y,direct    script    NPCName    spriteid,{

    mes "NPCName";
    mes "That was a good War of Emperium!";
    mes "You did a great job!";
    mes "Here is your reward.";
    getitem 512,1;    //add your rewards here
    warp SavePoint;
    end;
}

-    script    WoERewardWarper    -1,{
    end;
    
    OnAgitEnd:
        sleep(2000);    //wait two seconds after woe before warping the guild
        for (set .@i,0; .@i < getarraysize(.castles$); set .@i, .@i+1){
            warpguild .map$,.x,.y,getcastledata(.castles$[.@i],1);
        }
        end;
        
    OnInit:
        set .map$, "prontera";
        set .x, 0;
        set .y, 0;
        setarray .castles$[0],"prtg_cas01";    //add your woe castles
        end;
}

how about making the refiner to instant +7?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  100
  • Topics Per Day:  0.03
  • Content Count:  333
  • Reputation:   7
  • Joined:  03/01/14
  • Last Seen:  

mapname,x,y,direct	script	NPCName	spriteid,{
	
	mes .npcname$;
	mes "Hello ^ff0000"+strcharinfo(0)+"^000000,";
	mes "I can refine your equipment for a ^ff0000100% chance^000000!";
	mes "All I need is ^ff00001 God Anvil^000000.";
	
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
		{
			if( getequipisequiped(.@i) )
				set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

			set .@menu$, .@menu$ + ":";
		}
	set .@part,select(.@menu$);
	if(!getequipisequiped(.@part)) {
		next;
		mes .npcname$;
		mes "You're not wearing";
		mes "anything there that";
		mes "I can refine.";
		emotion 6;
		close;
	}
	
	//Check if the item is refinable...
	if(!getequipisenableref(.@part)) {
		next;
		mes .npcname$;
		mes "I don't think I can";
		mes "refine this item at all...";
		close;
	}
	
	//Check to see if the items is already +10
	if(getequiprefinerycnt(.@part) >= 10) {
		next;
		mes .npcname$;
		mes "I can't refine this";
		mes "any more. This is as";
		mes "refined as it gets!";
		close;
	}
	next;
	mes .npcname$;
	mes "Do you really want me to refine that item?";
	if(select("Yes:No") == 2){
		mes "Okay, see you.";
		close;
	}
	if (countitem(7806) < 1){
		mes "^ff0000You don't have a God Anvil!^000000";
		close;
	}
	delitem 7806,1;
        while (getequiprefinerycnt(.@part) < 7){
             successrefitem .@part;
        }
	successrefitem .@part;
	mes "There you go!";
	close;
	end;

This should do it.

Will upgrade to +7 if it's below +7 and increment by one if +7 or higher.

So +0 gets to +7 and +7 gets to +8, +8 to +9, +9 to +10.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   0
  • Joined:  05/05/14
  • Last Seen:  

mapname,x,y,direct	script	NPCName	spriteid,{
	
	mes .npcname$;
	mes "Hello ^ff0000"+strcharinfo(0)+"^000000,";
	mes "I can refine your equipment for a ^ff0000100% chance^000000!";
	mes "All I need is ^ff00001 God Anvil^000000.";
	
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
		{
			if( getequipisequiped(.@i) )
				set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

			set .@menu$, .@menu$ + ":";
		}
	set .@part,select(.@menu$);
	if(!getequipisequiped(.@part)) {
		next;
		mes .npcname$;
		mes "You're not wearing";
		mes "anything there that";
		mes "I can refine.";
		emotion 6;
		close;
	}
	
	//Check if the item is refinable...
	if(!getequipisenableref(.@part)) {
		next;
		mes .npcname$;
		mes "I don't think I can";
		mes "refine this item at all...";
		close;
	}
	
	//Check to see if the items is already +10
	if(getequiprefinerycnt(.@part) >= 10) {
		next;
		mes .npcname$;
		mes "I can't refine this";
		mes "any more. This is as";
		mes "refined as it gets!";
		close;
	}
	next;
	mes .npcname$;
	mes "Do you really want me to refine that item?";
	if(select("Yes:No") == 2){
		mes "Okay, see you.";
		close;
	}
	if (countitem(7806) < 1){
		mes "^ff0000You don't have a God Anvil!^000000";
		close;
	}
	delitem 7806,1;
        while (getequiprefinerycnt(.@part) < 7){
             successrefitem .@part;
        }
	successrefitem .@part;
	mes "There you go!";
	close;
	end;

This should do it.

Will upgrade to +7 if it's below +7 and increment by one if +7 or higher.

So +0 gets to +7 and +7 gets to +8, +8 to +9, +9 to +10.

 

sir i would like to make it a refiner that refining in max +7, if the items is already +7 or higher it wont refine it again, and if the items already have + , all + lower than 7, it wont refine it too.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   0
  • Joined:  05/05/14
  • Last Seen:  

any help scripters?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  100
  • Topics Per Day:  0.03
  • Content Count:  333
  • Reputation:   7
  • Joined:  03/01/14
  • Last Seen:  

any help scripters?

mapname,x,y,direct	script	NPCName	spriteid,{
	
	mes .npcname$;
	mes "Hello ^ff0000"+strcharinfo(0)+"^000000,";
	mes "I can refine your equipment for a ^ff0000100% chance^000000!";
	mes "All I need is ^ff00001 God Anvil^000000.";
	
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
		{
			if( getequipisequiped(.@i) )
				set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

			set .@menu$, .@menu$ + ":";
		}
	set .@part,select(.@menu$);
	if(!getequipisequiped(.@part)) {
		next;
		mes .npcname$;
		mes "You're not wearing";
		mes "anything there that";
		mes "I can refine.";
		emotion 6;
		close;
	}
	
	//Check if the item is refinable...
	if(!getequipisenableref(.@part)) {
		next;
		mes .npcname$;
		mes "I don't think I can";
		mes "refine this item at all...";
		close;
	}
	
	//Check to see if the items is already +10
	if(getequiprefinerycnt(.@part) >= 10) {
		next;
		mes .npcname$;
		mes "I can't refine this";
		mes "any more. This is as";
		mes "refined as it gets!";
		close;
	}
	next;
	mes .npcname$;
	mes "Do you really want me to refine that item?";
	if(select("Yes:No") == 2){
		mes "Okay, see you.";
		close;
	}
	if (countitem(7806) < 1){
		mes "^ff0000You don't have a God Anvil!^000000";
		close;
	}
	if (getequiprefinerycnt(.@part) >= 7){
             mes "^ff0000This item is +7 or higher already.^000000";
             close;
        }
        delitem 7806,1;
        while (getequiprefinerycnt(.@part) < 7){
             successrefitem .@part;
        }
	mes "There you go!";
	close;
	end;

I'm not sure if I understood you correctly.

But this will refine the item to +7 if it is +6 or lower and won't do anything if it +7 or higher.

If you only want to refine from +0 to +7 change the last if to this:

 

        if (getequiprefinerycnt(.@part) == 0){
             mes "^ff0000This item is refined already.^000000";
             close;
        }
Edited by Yuka
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  34
  • Reputation:   0
  • Joined:  05/05/14
  • Last Seen:  

 

any help scripters?

mapname,x,y,direct	script	NPCName	spriteid,{
	
	mes .npcname$;
	mes "Hello ^ff0000"+strcharinfo(0)+"^000000,";
	mes "I can refine your equipment for a ^ff0000100% chance^000000!";
	mes "All I need is ^ff00001 God Anvil^000000.";
	
	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
		{
			if( getequipisequiped(.@i) )
				set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";

			set .@menu$, .@menu$ + ":";
		}
	set .@part,select(.@menu$);
	if(!getequipisequiped(.@part)) {
		next;
		mes .npcname$;
		mes "You're not wearing";
		mes "anything there that";
		mes "I can refine.";
		emotion 6;
		close;
	}
	
	//Check if the item is refinable...
	if(!getequipisenableref(.@part)) {
		next;
		mes .npcname$;
		mes "I don't think I can";
		mes "refine this item at all...";
		close;
	}
	
	//Check to see if the items is already +10
	if(getequiprefinerycnt(.@part) >= 10) {
		next;
		mes .npcname$;
		mes "I can't refine this";
		mes "any more. This is as";
		mes "refined as it gets!";
		close;
	}
	next;
	mes .npcname$;
	mes "Do you really want me to refine that item?";
	if(select("Yes:No") == 2){
		mes "Okay, see you.";
		close;
	}
	if (countitem(7806) < 1){
		mes "^ff0000You don't have a God Anvil!^000000";
		close;
	}
	if (getequiprefinerycnt(.@part) >= 7){
             mes "^ff0000This item is +7 or higher already.^000000";
             close;
        }
        delitem 7806,1;
        while (getequiprefinerycnt(.@part) < 7){
             successrefitem .@part;
        }
	mes "There you go!";
	close;
	end;

I'm not sure if I understood you correctly.

But this will refine the item to +7 if it is +6 or lower and won't do anything if it +7 or higher.

If you only want to refine from +0 to +7 change the last if to this:

 

        if (getequiprefinerycnt(.@part) == 0){
             mes "^ff0000This item is refined already.^000000";
             close;
        }

Sir Thank you for the help. this will do. 

Edited by alone20
Link to comment
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.   Paste as plain text instead

  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.

×
×
  • Create New...