Jump to content
Euphy

✰ Euphy's Scripts ✰

Recommended Posts

Which scripts are already integrated by default in rAthena?

Edited by Nagad
Link to comment
Share on other sites

Hi euphy? Possible to add mapflag on a certain map that @autopot is not allowed.

setarray map1,map2,map3

If setarray $set maps dispbottom" autopot is not allowed on this map..

Thanks in advanced!

Link to comment
Share on other sites

@Euphy, about your Event Manager. is there any WAY you can ADD Ranking System? it would a good features also.
Let me know or PM ME. Thank you!

Link to comment
Share on other sites

Does anyone have problem with Hunting Mission? i'm using the latest one at custom/quest/...

i set it every 2 hours.

 

BwhvIWh.png

 

P.S: Don't mind with the Scavenger Hunt debug :/

 

How to add checkmission? like bindatcmd i can't figure it out which lines should i add.

@checkmission

 

Helping could really appreciated!

Edited by Azeroth
Link to comment
Share on other sites

Does anyone have problem with Hunting Mission? i'm using the latest one at custom/quest/...

i set it every 2 hours.

 

BwhvIWh.png

 

P.S: Don't mind with the Scavenger Hunt debug :/

 

How to add checkmission? like bindatcmd i can't figure it out which lines should i add.

@checkmission

 

Helping could really appreciated!

 

your setting on forumula reward make the reward to high either exp or zeny, make a cap value or change the formula reward on it config

 

I found a "bug" in "hunting mission"... You can use merchant skills on shop (Discount, i mean...)

are you confirmed it can be discounted by skill in game ? the shop is dynamic shop, it just appearance in the shop windows it can be discounted i think, not actualy can be discounted

Link to comment
Share on other sites

hello

 

I use huntingmission 1.4 script with no modify I got this error

151010054844.jpg

 

so I change 

 

else if (.Party) {

[email protected] = killedrid;
getpartymember getcharid(1),1;
getpartymember getcharid(1),2;
set [email protected]_Count, getvar(#Mission_Count, [email protected][[email protected]]);
 
if (strmobinfo(1,[email protected]) == strmobinfo(1,getvar(getd("Mission"[email protected]), [email protected][[email protected]]))) {
dispbottom "[Hunting Mission] Killed " + (set(getvar(getd("Mission" + [email protected] + "_"), [email protected][[email protected]]), getvar(getd("Mission" + [email protected] + "_") + 1, [email protected][[email protected]]))) +
          " of " + [email protected]_Count + " " + strmobinfo(1,[email protected]) + ".";
break;
}
}
}
}
}
}
}
}
end;

with a part from huntingmission 1.3a

 

else if (.Party) {

set [email protected], killedrid;
getpartymember getcharid(1),1;
getpartymember getcharid(1),2;
if (#Mission_Count && Mission0 && HP > 0) {
if (strmobinfo(1,[email protected]) == strmobinfo(1,getd("Mission"[email protected]))) {
if (getd("Mission"[email protected]+"_") < #Mission_Count) {
dispbottom "[Hunting Mission] Killed "+(set(getd("Mission"[email protected]+"_"),getd("Mission"[email protected]+"_")+1))+" of "+#Mission_Count+" "+strmobinfo(1,[email protected])+".";
break;
}
}
}
}
}
}
}
}
end;

I can fix the first error but still got many error with many funtion when I talk to NPC it show

[error]: script:callfunc: function not found! exp. F_InsertPlural,time2str,F_InsertComma

I don't know how to delete a correct function part and when I change delay then abandon quest I got to wait 1444539905 befor taking another mission. please advise me to fix.

 

 

FIXED IT My fault I delete Global_function in my npc folder that why I got function error.

 

but still need help with first error.

 

I have some suggestion is possible that someone in party take a quest and everybody in party got the same quest?

Edited by zaruramen
Link to comment
Share on other sites

Thanks Euphy. BTW  how to add a Chat Room with Euphy's WOE Controller Script that everyone can see what time the WOE will start.

/thx /thx /thx /thx

Link to comment
Share on other sites

hunting missions is bugged.

How reproduce:

Create party, and try to kill any monster in your hunting list.

You will get a lot of errors.

 

@Euphy

 

I will check this one because party setup is not working.

Link to comment
Share on other sites

help @Euphy
BlackList not work why ?

//===== rAthena Script =======================================
//= Hunting Missions
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1a
//===== Description: =========================================
//= Random hunting missions.
//= Rewards are based on quest difficulty.
//============================================================

prontera,155,184,4	script	تحت الاختبار	653,{
function Chk; function Cm;
	mes "[Hunting Missions]";
	mes "Hello, "+strcharinfo(0)+"!";
	if (!#Mission_Delay) {
		next;
		mes "[Hunting Missions]";
		mes "I can't find any records...";
		mes "You must be new here!";
		emotion e_omg;
		next;
		callsub Mission_Info;
		emotion e_go;
		set #Mission_Delay,1;
		close;
	}
	mes rand(2)?"Working hard, as always...":"Not slacking, I hope...";
	mes "Is there anything I can help";
	mes "you with?";
	mes " ";
	mes "^777777~ You've completed ^0055FF"+Mission_Total+"^777777 mission"+((Mission_Total == 1)?"":"s")+". ~^000000";
	next;
	switch(select(((!Mission1)?" ~ New Mission::":": ~ Mission Status: ~ Abandon Mission")+": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000")) {
	case 1:
		mes "[Hunting Missions]";
		if (#Mission_Count) {
			mes "You've started a mission";
			mes "on another character.";
			close;
		}
		if (#Mission_Delay > gettimetick(2) && .Delay) {
			set [email protected], #Mission_Delay-gettimetick(2);
			if ([email protected] > 3600) set [email protected]$, ([email protected]/3600)+" hour"+((([email protected]/3600) == 1)?"":"s");
			else if ([email protected] > 60) set [email protected]$, ([email protected]/60)+" minute"+((([email protected]/60) == 1)?"":"s");
			else set [email protected]$, ([email protected])+" second"+(([email protected] == 1)?"":"s");
			mes "I'm afraid you'll have to wait "[email protected]$+" before taking another mission.";
			close;
		}
		mes "You must hunt:";
		freeloop(1);
		set [email protected], getarraysize(.NoRange);
		for (set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) {
			set [email protected],0;
			while ([email protected]) {
				set [email protected],1;
				set [email protected], rand(1001,1999);
				// Is mob ID blacklisted?
				if (compare(.Restrict$[0],""[email protected]) || compare(.Restrict$[1],""[email protected])) set [email protected],0;
				// Is mob ID interval blacklisted?
				if ([email protected]) for(set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+2)
					if ([email protected] > .NoRange[[email protected]] && [email protected] < .NoRange[[email protected]+1]) {
						set [email protected],0;
						break;
					}
				// Is mob a duplicate?
				if ([email protected]) for(set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+1)
					if (strmobinfo(1,[email protected]) == strmobinfo(1,getd("Mission"[email protected]))) {
						set [email protected],0;
						break;
					}
				// Is mob an MVP?
				if ([email protected]) if (getmonsterinfo([email protected],22)) set [email protected],0;
			}
			setd "Mission"[email protected], [email protected];
			setd "Mission"[email protected]+"_",0;
		}
		set #Mission_Count, rand(.Count[0],.Count[1]);
		freeloop(0);
		callsub Mission_Status;
		set @f,0;
		next;
		mes "[Hunting Missions]";
		mes "Report back when";
		mes "you've finished.";
		mes "Good luck!";
		close;
	case 2:
		mes "[Hunting Missions]";
		mes "Mission status:";
		callsub Mission_Status;
		if (@f) { set @f,0; close; }
		next;
		mes "[Hunting Missions]";
		mes "Oh, you're done!";
		mes "Good work.";
		mes "Here's your reward.";
		emotion e_no1;
		specialeffect2 377;
		deletearray [email protected][0], getarraysize([email protected]);
		for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) {
			set [email protected][[email protected]], getd("Mission"[email protected]);
			set [email protected][.Quests], [email protected][.Quests]+strmobinfo(3,[email protected][[email protected]]);
			set [email protected][.Quests+1], [email protected][.Quests+1]+strmobinfo(6,[email protected][[email protected]]);
			set [email protected][.Quests+2], [email protected][.Quests+2]+strmobinfo(7,[email protected][[email protected]]);
			setd "Mission"[email protected],0;
			setd "Mission"[email protected]+"_",0;
		}
		set #Mission_Points, #Mission_Points+(3+([email protected][.Quests]/.Quests/6));
		getexp (#Mission_Count*[email protected][.Quests+1]/5),(#Mission_Count*[email protected][.Quests+2]/5);
		set Zeny, Zeny+(#Mission_Count*.Quests*[email protected][[email protected]]*.Multiplier);
		set #Mission_Count,0;
		if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
		set Mission_Total, Mission_Total+1;
		if (Mission_Total == 1) query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES ("+getcharid(0)+",'Mission_Total','1',3,0)");
		else query_sql("UPDATE `global_reg_value` SET `value` = "+Mission_Total+" WHERE char_id = "+getcharid(0)+" AND `str` = 'Mission_Total'");
		close;
	case 3:
		mes "[Hunting Missions]";
		mes "Do you really want to";
		mes "abandon your mission?";
		if (.Delay) mes "Your delay time will not be reset.";
		next;
		switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) {
		case 1:
			mes "[Hunting Missions]";
			mes "Alright, I've dropped";
			mes "your current mission.";
			specialeffect2 462;
			for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) {
				setd "Mission"[email protected],0;
				setd "Mission"[email protected]+"_",0;
			}
			set #Mission_Count,0;
			if (.Delay) set #Mission_Delay, gettimetick(2)+(.Delay*3600);
			close;
		case 2:
			mes "[Hunting Missions]";
			mes "I knew you were kidding!";
			mes "Keep up the good work.";
			emotion e_heh;
			close;
		}
	case 4:
		callsub Mission_Info;
		close;
	case 5:
		mes "[Hunting Missions]";
		mes "You have ^0055FF"+#Mission_Points+"^000000 Mission Points.";
		mes "Use them well!";
		callshop "mission_shop",1;
		npcshopattach "mission_shop";
		end;
	case 6:
		mes "[Hunting Missions]";
		mes "The top hunters are:";
		query_sql("SELECT `name`,CAST(`value` AS SIGNED) FROM `global_reg_value` LEFT JOIN `char` ON `global_reg_value`.char_id = `char`.char_id WHERE `global_reg_value`.str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5",[email protected]$,[email protected]);
		for(set [email protected],0; [email protected]<5; set [email protected],[email protected]+1)
			mes "  [Rank "+([email protected]+1)+"]  "+(([email protected]$[[email protected]] == "")?"^777777none":"^0055FF"[email protected]$[[email protected]]+"^000000 : ^FF0000"[email protected][[email protected]]+" pt.")+"^000000";
		close;
	case 7:
		mes "[Hunting Missions]";
		mes "Nothing? Okay...";
		emotion e_hmm;
		close;
	}

Mission_Status:
	set @f,0;
	deletearray [email protected][0], getarraysize([email protected]);
	for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) {
		set [email protected][[email protected]], getd("Mission"[email protected]);
		set [email protected][.Quests], [email protected][.Quests]+strmobinfo(3,[email protected][[email protected]]);
		set [email protected][.Quests+1], [email protected][.Quests+1]+strmobinfo(6,[email protected][[email protected]]);
		set [email protected][.Quests+2], [email protected][.Quests+2]+strmobinfo(7,[email protected][[email protected]]);
		mes " > "+Chk(getd("Mission"[email protected]+"_"),#Mission_Count)+strmobinfo(1,[email protected][[email protected]])+" ("+getd("Mission"[email protected]+"_")+"/"+#Mission_Count+")^000000";
	}
	set [email protected]_Points, 3+([email protected][.Quests]/.Quests/6);
	set [email protected]_Exp, #Mission_Count*[email protected][.Quests+1]/5;
	set [email protected]_Exp, #Mission_Count*[email protected][.Quests+2]/5;
	set [email protected], #Mission_Count*.Quests*[email protected][[email protected]]*.Multiplier;
	next;
	mes "[Hunting Missions]";
	mes "Mission rewards:";
	mes " > Mission Points: ^0055FF"[email protected]_Points+"^000000";
	mes " > Base Experience: ^0055FF"+Cm([email protected]_Exp)+"^000000";
	mes " > Job Experience: ^0055FF"+Cm([email protected]_Exp)+"^000000";
	mes " > Zeny: ^0055FF"+Cm([email protected])+"^000000";
	return;

Mission_Info:
	mes "[Hunting Missions]";
	mes "If you so choose, I can assign";
	mes "you a random hunting quest.";
	mes "Some are easier than others, but";
	mes "the rewards increase with difficulty.";
	next;
	mes "[Hunting Missions]";
	mes "Missions points are shared";
	mes "amongst all your characters.";
	if (.Delay) mes "Delay time is, too.";
	mes "You can't take missions on";
	mes "multiple characters at once.";
	next;
	mes "[Hunting Missions]";
	mes "You can start a quest";
	if (.Delay) mes "every "+((.Delay == 1)?"hour.":.Delay+" hours.");
	else mes "whenever you want.";
	mes "That's everything~";
	return;

function Chk {
	if (getarg(0) < getarg(1)) { set @f,1; return "^FF0000"; }
	else return "^00FF00"; }

function Cm {
	set [email protected]$, getarg(0);
	for(set [email protected],getstrlen([email protected]$)-3; [email protected]>0; set [email protected],[email protected])
		set [email protected]$, insertchar([email protected]$,",",[email protected]);
	return [email protected]$; }

OnBuyItem:
	set @cost,0;
	for(set [email protected],0; [email protected]<getarraysize(@bought_nameid); set [email protected],[email protected]+1)
		for(set [email protected],0; [email protected]<getarraysize(.Shop); set [email protected]j,[email protected]j+2)
			if (@bought_nameid[[email protected]i] == .Shop[[email protected]j]) {
				set @cost, @cost+(.Shop[[email protected]j+1]*@bought_quantity[[email protected]i]);
				break;
			}
	mes "[Hunting Missions]";
	if (@cost > #Mission_Points) mes "You don't have enough Mission Points.";
	else {
		for(set [email protected],0; [email protected]<getarraysize(@bought_nameid); set [email protected],[email protected]+1) {
			getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]];
			dispbottom "Purchased "[email protected]_quantity[[email protected]]+"x "+getitemname(@bought_nameid[[email protected]])+".";
		}
		set #Mission_Points, #[email protected];
		mes "Deal completed.";
		emotion e_cash;
	}
	set @cost,0;
	deletearray @bought_nameid[0], getarraysize(@bought_nameid);
	deletearray @bought_quantity[0], getarraysize(@bought_quantity);
	close;

OnNPCKillEvent:
	if (!#Mission_Count || !Mission1) end;
	for(set [email protected],0; [email protected]<.Quests; set [email protected],[email protected]+1) {
		if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission"[email protected]))) {
			if (getd("Mission"[email protected]+"_") < #Mission_Count) {
				set [email protected], getd("Mission"[email protected]+"_")+1;
				setd "Mission"[email protected]+"_", [email protected];
				dispbottom "[Hunting Mission] Killed "[email protected]+" of "+#Mission_Count+" "+strmobinfo(1,killedrid)+".";
			}
			break;
		}
	}
	end;

OnInit:
	set .Delay,3;		// Quest delay, in hours (0 to disable).
	set .Quests,4;		// Number of subquests per quest (increases rewards).
	set .Multiplier,60;	// Multiplier for Zeny reward calculation.
	setarray .Count[0],	// Min and max monsters per subquest (increases rewards).
		40,70;
	setarray .Shop[0],	// Reward items: <ID>,<point cost> (about 10~20 points per hunt).
		2899,500,18830,1000,18780,3000,20762,2500,19095,500,5376,350,7619,100,7620,100,6438,350,6439,350,12908,50,12903,50,12904,50,12905,50,12906,50,12907,50,7776,100,12412,50,14297,100;
	.Blacklist$ =           // Blacklisted mob IDs.
		"1038,1039,1046,1059,1062,1078,1079,1080,1081,1082,"+
		"1083,1088,1085,1086,1087,1089,1090,1091,1092,1093,"+
		"1096,1112,1115,1120,1142,1147,1150,1157,1159,1182,"+
		"1183,1185,1186,1190,1200,1203,1204,1205,1212,1220,"+
		"1221,1230,1232,1234,1235,1245,1244,1250,1251,1252,"+
		"1259,1262,1268,1272,1283,1288,1289,1290,1293,1294,"+
		"1295,1296,1298,1299,1300,1301,1302,1303,1304,1305,"+
		"1306,1307,1308,1309,1311,1312,1313,1320,1324,1325,"+
		"1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,"+
		"1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,"+
		"1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,"+
		"1356,1357,1358,1359,1360,1361,1362,1363,1373,1388,"+
		"1395,1396,1397,1398,1399,1418,1492,1502,1511,1515,"+
		"1582,1583,1588,1618,1623,1626,1630,1634,1635,1636,"+
		"1638,1639,1640,1641,1642,1643,1644,1645,1646,1648,"+
		"1649,1650,1651,1647,1658,1676,1677,1678,1679,1681,"+
		"1685,1686,1688,1704,1705,1706,1707,1708,1709,1710,"+
		"1711,1712,1719,1720,1721,1732,1734,1750,1751,1754,"+
		"1755,1765,1768,1779,1783,1785,1792,1796,1797,1802,"+
		"1812,1815,1816,1829,1830,1831,1832,1839,1845,1846,"+
		"1870,1871,1873,1874,1876,1877,1878,1885,1894,1905,"+
		"1906,1908,1909,1910,1911,1913,1914,1917,1918,1919,"+
		"1920,1921,1929,1934,1941,1946,1951,1953,1954,1956,"+
		"1958,1959,1960,1961,1966,1974,1980,1990,1991,1992,";

	npcshopdelitem "mission_shop",512;
	for ([email protected] = 0; [email protected] < getarraysize(.Shop); [email protected] += 2)
		npcshopadditem "mission_shop", .Shop[[email protected]], .Shop[[email protected]+1];
	end;
}
-	shop	mission_shop	-1,2899:-500,18830:-1000,18780:-3000,20762:-2500,19095:-500,5376:-350,7619:-100,7620:-100,6438:-350,6439:-350,12908:-50,12903:-50,12904:-50,12905:-50,12906:-50,12907:-100,7776:-200,12412:-50,14297:-100

help please

Link to comment
Share on other sites

Hey Euphy!

I have a few questions about a free script you have listed. 

1. Is the build manager compatible with Herc emulator?

2.Is it as simple to switch max level from 99 > 500? Must i mod something for that be allowed?

Link to comment
Share on other sites

5 minutes ago, Kaleidoscope said:

Hey Euphy!

I have a few questions about a free script you have listed. 

1. Is the build manager compatible with Herc emulator?

2.Is it as simple to switch max level from 99 > 500? Must i mod something for that be allowed?

i think Euphy wont be here anysoon

1 maybe you can try but I don't think so

2 what are you talking about?

Link to comment
Share on other sites

Hello!

I've been using the Hunting Missions script at GitHub. For some reason the Party Setup doesn't work for me. When the characters are in a party, the counter won't go up when they kill the required monster. But when he leaves the party, it gains normally.

No errors on script run or compile. 

Any help would be appreciated.

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
Reply to this topic...

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

Important Information

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