Jump to content
The forums will be going offline for an extended maintenance period at 1400hrs GMT on 19th June 2025. The number of hours for this downtime is intentionally not advertised due to the nature of these upgrades. ×
  • 0

This Error Shows


Yoona

Question


  • Group:  Members
  • Topic Count:  153
  • Topics Per Day:  0.03
  • Content Count:  567
  • Reputation:   18
  • Joined:  04/15/13
  • Last Seen:  

script:getarg: no callfunc or callsub!

and the script im using is this

 

-	shop	Middle_Quest_HG	-1,501:50
sky_quest,38,46,5	script	Amelia Earhart	569,{
	set @i,0;
	mes "[ Amelia Earhart ]";
	mes "Which item do you wish to obtain?";
	mes "Select only one.";
	callshop "Middle_Quest_HG",1;
	npcshopattach "Middle_Quest_HG";
	end;


OnBuyItem:
	if(.BuildQuest) {
		for(set .e,0; !compare(""+getarg(.e+1),"Zeny"); set .e,.e+2) {}
		npcshopadditem "Middle_Quest_HG",getarg(.e+2),getarg(.e)*compare(""+getarg(.e+1),"SZeny");
		setarray .Shop[.i],getarg(.e+2);
		set .i,.i+1;
		goto Quest_Setup;
	}
	if(.Shop[@i]!=@bought_nameid) for(set @i,1; 1; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set .i,@i; callsub Quest_Setup; }
	for(set @i,1; !@e; set @i,@i+1) if(.Shop[@i]==@bought_nameid) { set @e,1; set .i,@i; callsub Quest_Setup; }
	mes "[ Amelia Earhart ]";
	mes "I require the following:";
	for(set @i,0; !compare(""+getarg(@i+1),"Zeny"); set @i,@i+2) mes "^FF0000" + ((countitem(getarg(@i))>=getarg(@i+1))? "^00FF00":"") + "" + getarg(@i+1) + " " + getitemname(getarg(@i)) + " [" + countitem(getarg(@i)) + "/" + getarg(@i+1) + "]";
	if(getarg(@i)) mes "^FF0000" + ((Zeny>=getarg(@i))? "^00FF00":"") + "" + getarg(@i) + " Zeny";
	mes "^000000In exchange, I will give you:^0000FF";
	for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) mes getarg(@i+1) + " " + getitemname(getarg(@i));
	switch(select("Exchange:" + (((((getiteminfo(@bought_nameid,5) & 1) || (getiteminfo(@bought_nameid,5) & 256) || (getiteminfo(@bought_nameid,5) & 512)) && @equip==0))? "Preview Item":"") + ":No thanks")) {
		case 1:
			for(set @i,0; !compare(""+getarg(@i+1),"Zeny"); set @i,@i+2) if(countitem(getarg(@i)) < getarg(@i+1)) {
				next;
				mes "You have " + countitem(getarg(@i)) + " " + getitemname(getarg(@i)) + ", while I require " + getarg(@i+1) + ".";
				mes "Please obtain ^FF0000" + (getarg(@i+1)-countitem(getarg(@i))) + " more " + getitemname(getarg(@i)) + "^000000.";
				close;
			}
			if(Zeny < getarg(@i)) {
				next;
				mes "You do not have enough Zeny.";
				mes "Please obtain ^FF0000" + (getarg(@i)-Zeny) + " more Zeny^000000.";
				close;
			}
			for(set @i,0; !compare(""+getarg(@i+1),"Zeny"); set @i,@i+2) delitem getarg(@i),getarg(@i+1);
			set Zeny,Zeny-getarg(@i);
			for(set @i,@i+2; getarg(@i+1,0); set @i,@i+2) getitem getarg(@i),getarg(@i+1);
			if (compare(""+getarg(@i,0),"announce")) announce strcharinfo(0) + " has just obtained " + getitemname(@bought_nameid) + "!",bc_blue|bc_all;
			close;
		case 2:
			set @bottomview, getlook(3);
			set @topview, getlook(4);
			set @midview, getlook(5);
			addtimer 1000, strnpcinfo(3)+"::On_Leave";
			set @equip,getiteminfo(@bought_nameid, 5);
			set @view, getiteminfo(@bought_nameid, 11);
			if(@equip != -1 && @view > 0) {
				if(@equip & 1) atcommand "@changelook 3 " + @view;
				if(@equip & 256) atcommand "@changelook 1 " + @view;
				if(@equip & 512) atcommand "@changelook 2 " + @view;
			}
			next;
			goto OnBuyItem;
		case 3:
			close;
	}
On_Leave:
	atcommand "@changelook 1 " + @topview;
	atcommand "@changelook 2 " + @midview;
	atcommand "@changelook 3 " + @bottomview;
	set @equip,0;
	set @view,0;
	set @topview,0;
	set @midview,0;
	set @bottomview,0;
	end;
OnInit:
    npcshopitem "Middle_Quest_HG",0,0;
    npcshopdelitem "Middle_Quest_HG",0,0;
	npcshopdelitem "Middle_Quest_HG",501;
	set .BuildQuest,1;
	set .i,1;
Quest_Setup:
	switch(.i) {
		default: set .BuildQuest,0; set .e,0; set .i,0; end;
		case 1: callsub OnBuyItem,7511,1000,7507,200,7111,100,7151,100,1048,200,7312,300,0,"SZeny",25028,1,"announce";
		case 2: callsub OnBuyItem,996,200,693,100,7265,300,1820,10,992,100,0,"SZeny",25027,1,"announce";
		case 3: callsub OnBuyItem,7226,200,720,150,7751,200,723,300,1001,100,0,"SZeny",25029,1,"announce";
		case 4: callsub OnBuyItem,7122,300,7097,250,7120,250,4439,10,0,"SZeny",25030,1,"announce";
		case 5: callsub OnBuyItem,2327,10,523,200,7448,500,2282,10,714,30,7063,3000,0,"SZeny",25031,1,"announce";
		case 6: callsub OnBuyItem,7799,1000,7023,30,7798,500,7511,2000,1636,1,0,"SZeny",25032,1,"announce";
		case 7: callsub OnBuyItem,7157,1000,7266,150,7187,200,5087,10,928,300,7172,100,0,"SZeny",25037,1,"announce";
		case 8: callsub OnBuyItem,909,1000,7126,1000,7578,10,5045,1,2311,5,0,"SZeny",25038,1,"announce";
		case 9: callsub OnBuyItem,7257,2000,7023,50,7511,1500,0,"SZeny",25043,1,"announce";
		case 10: callsub OnBuyItem,1035,500,7567,300,7005,10,930,200,7511,1000,7799,200,0,"SZeny",25044,1,"announce";
		//case 11: callsub OnBuyItem,7047,250,7211,10,1045,100,7072,500,7207,50,7069,50,0,"SZeny",25027,1,"announce";
	}
}

 
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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...