Jump to content
  • 0
Sign in to follow this  
joshxp

Turn In Gramps No Mobs ????

Question

Hello, sorry for the dumb question.

but i just want to know, is are we need to add the mob from npc/mobs/.....txt or what ?

because i see it from the thread

and from the script :

Spoiler

// Spawn monsters 
setarray .@respawn1, 50, 50, 50, 50, 50, 50;	// This sets respawn for active week turn-in monsters
setarray .@respawn2, 25, 25, 25, 25, 25, 25;	// This sets respawn for previous week turn-in monsters
for (.@ab = 0; .@ab < 2; ++.@ab){
.@ab$ = (!.@ab ? "A" : "B");
.@m = 0;
for (.@i = 0; .@i < 6; ++.@i){
.@qty = (!.@ab ? .@respawn1[.@i] : .@respawn2[.@i]);
.@mob = (!.@ab ? $Gramps_Turn[.@i] : $Gramps_Last[.@i]);
monster $Gramps_MapWarp$[.@m],0,0,"--ja--",.@mob,.@qty,"Gramps#Control::OnMyMobDead" + .@ab$ + .@i;
if (.@i%2 == 1){ ++.@m; }
}
}

 

 

But, when i try to add it from NPC this error occur :

Spoiler


Untitled.png.d1270929f037328bbb5c30a1a6a1bf34.png

 

Also this error is occur when i first running the server :

Spoiler


Untitled.png.f274af79b485d3cb1bde41013e851286.png

i don't know where to ask again, :( i think ragno already rarely online, so only you guys my hope :(

Edited by joshxp

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Well no, you're not necessarily needing to add monsters in database if you use allready existing ones. on the other hand, do you defined $Gramps_Turn and $Gramps_Last somewhere? Cause this is where the monsters are read from.

For the other errors, it's apparently an error on script init. But can you provide the script? Cause right now, it's hard to say anything like that.

Share this post


Link to post
Share on other sites
  • 0
6 minutes ago, Alayne said:

Well no, you're not necessarily needing to add monsters in database if you use allready existing ones. on the other hand, do you defined $Gramps_Turn and $Gramps_Last somewhere? Cause this is where the monsters are read from.

For the other errors, it's apparently an error on script init. But can you provide the script? Cause right now, it's hard to say anything like that.

You can get it from the thread,

but, if you dont want to download it.
here :

Spoiler



//===== Atlantis Script ======================================
//= iRO Gramps - Weekly Turn-In Events
//===== By: ================================================== 
//= Ragno (AtlantisRO)
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: ===================================== 
//= Hercules
//===== iRO Wiki Summary: ====================================
// Each week, a hunting quest (also called a "Turn-In") is
// rotated. The Gramps NPC in the Eden Group HQ is offering
// the quest. They require the player to kill 400 times a
// monster. The monsters involved will give their normal EXP.
// The player must be within a certain level range to obtain
// the quest, but he can get the reward at any level. The
// quest will give as much EXP as all the monsters killed
// (formula non-vip : 600*(monster exp/jexp)).
// (formula vip     : 1000*(monster exp/jexp)).
// iRO Wiki Page:
// http://irowiki.org/wiki/Weekly_Turn-In_Events
//===== Additional Comments: =================================
//= 1.1 Added Gramps#Control NPC and some adjustments.
//= 1.0 First version.
//============================================================

moc_para01,29,35,3	script	Gramps#Eden	4_M_LGTGRAND,{
	if (eaclass()&EAJL_THIRD){
		mes "^FF0000Up on reaching Job Level 50 or Base Level 150 Gramps will no longer award experience points of the type that has reached his maximum.^000000";
		next;
		mes "Gramps will also not allow those points to be redistributed.";
		next;
	}
	if (questprogress(62837) != 2)
		callsub S_GM_Notice;
	setarray .@Timer, 60444, 60495, 60449, 60450, 60486, 60487;
	for (.@i = 0; .@i < getarraysize(.@Timer); ++.@i){
		if (questprogress(.@Timer[.@i],PLAYTIME) == 2)
			erasequest .@Timer[.@i];
	}
	mes "[Gramps]";
	mes "When you get to being my age, you become bitter.";
	mes "Too long I've done nothing about the monsters that roam around Rune Midgard.";
	next;
	mes "[Gramps]";
	mes "That's why I'm asking you wippersnappers to help me hunt some monsters.";
	mes "Will you help me young adventurer?";
	next;
	switch(select("Yes, I'll help.", "Reward Me!", "^FF0000I want to quit hunting^000000", "^0000FFCan you warp me?^000000", "Can you erase the timer?", "What missions are you giving", "Give me Limited 3 day VIP", "Tell me more about the VIP Access", "No thanks pops.")){
		case 1:	//Yes, I'll help.
			mes "[Gramps]";
			mes "Ok, I've got a monster in mind that I need help exterminating.";
			next;
			mes "[Gramps]";
			mes "Waddya say kid?";
			mes "Want to hunt something for me?";
			next;
			.@map = select("I'll hunt at " + $Gramps_MapName$[0] + "[70-100]", "I'll hunt at " + $Gramps_MapName$[1] + "[101-125]", "I'll hunt at " + $Gramps_MapName$[2] + "[126-150]", "No thanks pops.") - 1;
			if (.@map == 3){
				mes "[Gramps]";
				mes "Suit yourself kid.";
				close;
			}
			setarray .@BaseMin,  70, 101, 126;
			setarray .@BaseMax, 100, 125, 150;
			if (BaseLevel < .@BaseMin[.@map] || BaseLevel > .@BaseMax[.@map]){
				mes "[Gramps]";
				mes "Sorry, but I'm only giving this mission to Adventurers who are between level " + .@BaseMin[getarg(0)] + "-" + .@BaseMax[getarg(0)] + ".";
				close;
			}
			mes "[Gramps]";
			mes "Ok, kid.";
			mes "Hunt monsters at " + $Gramps_MapName$[.@map] + " and I can die a happy old man.";
			next;
			mes "[Gramps]";
			mes "Ask me to teleport you and I will send you to a special hunting area.";
			mes "So what do you want to hunt?";
			next;
			if (vip_status || questprogress(60810,PLAYTIME) == 1)
				.@vip_status = 1;
			.@t1 = 2 * .@map; .@t2 = .@t1 + 1;
			.@Turn_1 = $Gramps_Quest[.@t1]; .@mob1 = $Gramps_Turn[.@t1];
			.@Turn_2 = $Gramps_Quest[.@t2]; .@mob2 = $Gramps_Turn[.@t2];
			.@hunt = select(getmonsterinfo(.@mob1,MOB_NAME), getmonsterinfo(.@mob2,MOB_NAME), (.@vip_status?"Hunt All":""), "Cancel");
			if (.@hunt == 4)
				close;
			setarray .@Timer1, 60444, 60449, 60486;
			setarray .@Timer2, 60495, 60450, 60487;
			.@Timer1 = .@Timer1[.@map];
			.@Timer2 = .@Timer2[.@map];
			if (.@hunt == 3){
				if (!questprogress(.@Turn_1) && !questprogress(.@Timer1) && !questprogress(.@Turn_2) && !questprogress(.@Timer2)){
					setquest .@Turn_1;
					setquest .@Timer1;
					setquest .@Turn_2;
					setquest .@Timer2;
					close;
				}
				.@hunt = 1;
			}
			.@Turn = (.@hunt == 1 ? .@Turn_1 : .@Turn_2);
			.@Timer = (.@hunt == 1 ? .@Timer1 : .@Timer2);
			if (questprogress(.@Turn,HUNTING) == 2){
				mes "[Gramps]";
				mes "You have finished this mission.";
				mes "All you have to do is tell me that you're done.";
			} else if (questprogress(.@Turn,HUNTING) == 1){
				if (.@vip_status){
					mes "[Gramps]";
					mes "You are already on this mission.";
					mes "Do you want me to warp you there?";
					next;
					if (select("Send me now!", "Not right now.") == 1){
						close2;
						warp $Gramps_MapWarp$[.@map], $Gramps_MapX[.@map], $Gramps_MapY[.@map];
						end;
					}
				} else {
					mes "[Gramps]";
					mes "Tell me to warp you and I will send you to the special hunting grounds.";
					mes "You are already on this mission.";
				}
			} else if (questprogress(.@Timer,PLAYTIME) == 1){
				mes "[Gramps]";
				mes "Wait a second!";
				mes "You have to wait 23 hours before I can let you do this mission again.";
			} else if ((questprogress(.@Timer1,PLAYTIME) == 1 || questprogress(.@Timer2,PLAYTIME) == 1) && !.@vip_status){
				mes "[Gramps]";
				mes "I'm sorry but I can only give you one mission at a time in this category.";
				mes "If you had a VIP membership, I can give you both missions and a free warp to the area.";
			} else {
				if (!.@vip_status){
					mes "[Gramps]";
					mes "Tell me to warp you and I will send you to the special hunting grounds.";
				}
				setquest .@Turn;
				setquest .@Timer;
			}
			close;
		case 2:	//Reward Me!
			mes "[Gramps]";
			mes "I'll check for all of the missions that I've given so far.";
			next;
			for (.@i = 0; .@i < getarraysize(.quest_id); ++.@i){
				if (questprogress(.quest_id[.@i], HUNTING) == 2){
					if (questprogress(60819,PLAYTIME) != 1){
						if (questprogress(60819))
							erasequest 60819;
						mes "[Gramps]";
						mes "I will give you a random buff for completing a hunting quest.";
						mes "I can give this buff to you once every 16 hours.";
						sc_start SC_FOOD_DEX,1800000,12;
						sc_start SC_PLUSATTACKPOWER,1800000,0;
						sc_start SC_PLUSMAGICPOWER,1800000,0;
						sc_start SC_MOVHASTE_HORSE,1800000,25;
						setquest 60819; // Hunting Daily Timer
						next;
					}
					.@monster$ = getmonsterinfo(.monster_id[.@i],MOB_NAME);
					mes "[Gramps]";
					mes "Hmm... let me see~";
					mes "You HAVE completed the '" + .@monster$ + " Hunting' mission.";
					.@boost = 600;
					if (vip_status){
						mes "Do you want both Base and Job experience or split?";
						next;
						.@vip_reward = select("^FF0000Both Base and Job EXP^000000", "^0000FFI want Base EXP only.^000000", "^FFA400I want Job EXP only.^000000");
						.@boost = 1000;
						mes "[Gramps]";
						mes "Here is your reward.";
					}
					erasequest .quest_id[.@i];
					.@BaseExp = getmonsterinfo(.monster_id[.@i], MOB_BASEEXP) * .@boost;
					.@JobExp = getmonsterinfo(.monster_id[.@i], MOB_JOBEXP) * .@boost;
					if (eaclass()&EAJL_THIRD && BaseLevel > 149)
						.@BaseExp = 0;
					if (eaclass()&EAJL_THIRD && JobLevel > 49)
						.@JobExp = 0;
					switch(.@vip_reward){
						case 2:
							getexp .@BaseExp,0;
							getexp .@JobExp,0;
							break;
						case 3:
							getexp 0,.@BaseExp;
							getexp 0,.@JobExp;
							break;
						default:
							getexp .@BaseExp,.@JobExp;
							break;
					}
					getitem Para_Logro_Badge, (.@vip_reward ? 2 : 1);
					next;
				}
			}
			close;
		case 3:	//I want to quit hunting
			mes "[Gramps]";
			mes "I'll check what missions that you've taken so far.";
			mes "Tell me which one you want to quit doing.";
			next;
			for (.@i = 0; .@i < getarraysize(.quest_id); ++.@i){
				if (questprogress(.quest_id[.@i], HUNTING) == 1){
					.@monster$ = getmonsterinfo(.monster_id[.@i],MOB_NAME);
					mes "[Gramps]";
					mes "You have NOT completed the '" + .@monster$ + " Hunting' mission.";
					mes "Do you want to continue or quit?";
					next;
					if (select("Keep hunting " + .@monster$, "^FF0000Get rid of my quest^000000") == 2){
						erasequest .quest_id[.@i];
						mes "[Gramps]";
						mes "All of your records for this quest have been deleted.";
						close2;
						.@questerased = 1;
					}
				}
			}
			if (.@questerased)
				end;
			close;
		case 4:	//Can you warp me?
			mes "[Gramps]";
			mes "Where would you like me to send you to?";
			mes "The area I will send you to is not the normal area but a special hunting grounds.";
			next;
			mes "[Gramps]";
			mes "In addition, as long as you have the 23 hour timer active, I will still warp you to the hunting grounds area but you still have to wait for the timer to expire before I can give you the hunting mission again.";
			next;
			.@map = select($Gramps_MapName$[0] + "[70-100]", $Gramps_MapName$[1] + "[101-125]", $Gramps_MapName$[2] + "[126-150]", "Cancel") - 1;
			if (.@map == 3)
				close;
			.@t1 = 2 * .@map; .@t2 = .@t1 + 1;
			.@Turn_1 = $Gramps_Quest[.@t1];
			.@Turn_2 = $Gramps_Quest[.@t2];
			setarray .@Timer1, 60444, 60449, 60486;
			setarray .@Timer2, 60495, 60450, 60487;
			.@Timer1 = .@Timer1[.@map];
			.@Timer2 = .@Timer2[.@map];
			if (!questprogress(.@Turn_1) && !questprogress(.@Timer1) && !questprogress(.@Turn_2) && !questprogress(.@Timer2)){
				mes "[Gramps]";
				mes "I won't send you there because you're either not doing that mission or you haven't recently done this mission.";
				close;
			}
			mes "[Gramps]";
			mes "Sending you now.";
			close2;
			warp $Gramps_MapWarp$[.@map], $Gramps_MapX[.@map], $Gramps_MapY[.@map];
			end;
		case 5:	//Can you erase the timer?
			mes "[Gramps]";
			mes "I can erase the daily timer for the quests if you give me 1 Reset Stone.";
			mes "So what do you say kid?";
			next;
			if (select("Here's 1 Reset Stone", "No thanks, I'll just wait.") == 1){
				if (!countitem(Premium_Reset_Stone)){
					mes "[Gramps]";
					mes "Come now, I won't do this for free.";
					mes "You can get the Reset Stones from the Kafra Consumables Employee upstairs.";
				} else {
					if (questprogress(60574,PLAYTIME) == 1){
						mes "[Gramps]";
						mes "I can only let you reset your hunting timers once every 3 hours.";
						mes "Wait for the timer to expire before you try reseting.";
					} else {
						setarray .@quest_erase, 60819, 60444, 60495, 60449, 60450, 60486, 60487, 60574;
						for (.@i = 0; .@i < getarraysize(.@quest_erase); ++.@i){
							if (questprogress(.@quest_erase[.@i]))
								erasequest .@quest_erase[.@i];
						}
						mes "[Gramps]";
						mes "All of your daily timers have been deleted.";
						delitem Premium_Reset_Stone, 1;
						setquest 60574;
					}
				}
			}
			close;
		case 6:	//What missions are you giving
			mes "[Gramps]";
			mes "I am giving several hunting missions.";
			next;
			mes "[Gramps]";
			mes "This week's monster areas are:";
			mes "70-100 "  + $Gramps_MapName$[0];
			mes "Hunt " + getmonsterinfo($Gramps_Turn[0],MOB_NAME) + " & " + getmonsterinfo($Gramps_Turn[1],MOB_NAME);
			mes "101-125 " + $Gramps_MapName$[1];
			mes "Hunt " + getmonsterinfo($Gramps_Turn[2],MOB_NAME) + " & " + getmonsterinfo($Gramps_Turn[3],MOB_NAME);
			mes "126-150 " + $Gramps_MapName$[2];
			mes "Hunt " + getmonsterinfo($Gramps_Turn[4],MOB_NAME) + " & " + getmonsterinfo($Gramps_Turn[5],MOB_NAME);
			close;
		case 7:	//Give me Limited 3 day VIP
			if (countitem(Premium_Reset_Stone) < 2){
				mes "[Gramps]";
				mes "You need to bring 2 Reset Stones to get this service.";
				mes "Open the Cash Shop and purchase them from there.";
			} else if (questprogress(60810,PLAYTIME) == 1){
				mes "[Gramps]";
				mes "It seems that you already have the limited access activated.";
				mes "Your access ends when the timer expires.";
			} else {
				if (questprogress(60810))
					erasequest 60810;
				mes "[Gramps]";
				mes "Ok, you will now have limited 3 day VIP Access from this point on.";
				mes "Ask me about specific details to find out more about this access.";
				delitem Premium_Reset_Stone, 2;
				setquest 60810;
			}
			close;
		case 8:	//Tell me more about the VIP Access
			mes "[Gramps]";
			mes "Ok, if you give me 2 Reset Stones you will have limited VIP Access to certain VIP only NPCs.";
			next;
			mes "[Gramps]";
			mes "This includes access to extra Kafra Services, discounted warps to different areas and even the use of Primo d'Buffer here at Eden Group.";
			next;
			mes "[Gramps]";
			mes "Additionally, I will allow you to get both hunting quests while you have this VIP Access active.";
			next;
			mes "[Gramps]";
			mes "The only catch is that you will NOT receive some of the benefits of a VIP such as EXP Boost as well and extra storage.";
			close;
		case 9:	//No thanks pops.
			mes "[Gramps]";
			mes "Pops?";
			mes "You better learn some respect there kiddo.";
			close;
	}
	end;

S_GM_Notice:
	while(true){
		mes "[Gramps]";
		mes "Hold it there! I have a message that I will only display this one time after you answer some questions correctly.";
		next;
		mes "[Gramps]";
		mes "Information about the GM Team!";
		next;
		mes "[Rules]";
		mes "1. The ONLY way to become a GM is to be hired by our California Office. We do not recruit players to be GMs!";
		next;
		mes "[Rules]";
		mes "2. The GM team will NEVER ask for your password!";
		next;
		mes "[Rules]";
		mes "3. If someone demands a ransom to keep your account in good standing they are not members of the GM tema. DO NOT PAY THEM!";
		mes "The GM team will never ask you to contact them outside the ticket system. If they are demanding via instant messengers or social media ignore them!";
		next;
		mes "[Rules]";
		mes "4. The GM team will NEVER ask you to install and use Teamviewer!";
		next;
		mes "[Rules]";
		mes "5. You will always be able to see a GM team member in a chat room if they are there. They have no special way to be invisible!";
		next;
		mes "[Rules]";
		mes "6. The GM team will always be willing to show the GM sprite. If they refuse they can be ignored.";
		next;
		mes "[Questionaire # 1]";
		mes "Does the GM team recruit players to be GMs?";
		next;
		if (select("Yes", "No") == 2){ ++.@n; }
		mes "[Questionaire # 2]";
		mes "Will the GM team ask you for password?";
		next;
		if (select("Yes", "No") == 2){ ++.@n; }
		mes "[Questionaire # 3]";
		mes "Will the GM team demand cash from you, in game or via instant messagers or social media?";
		next;
		if (select("No", "Yes") == 1){ ++.@n; }
		mes "[Questionaire # 4]";
		mes "Should you install Teamviewer because a GM ask you to?";
		next;
		if (select("No", "Yes") == 1){ ++.@n; }
		mes "[Questionaire # 5]";
		mes "Can a GM team member be invisible in a chat room?";
		next;
		if (select("Maybe", "No", "Yes") == 2){ ++.@n; }
		mes "[Questionaire # 6]";
		mes "Can you ask to see the GM sprite in order to verify a GM's identity?";
		next;
		if (select("No", "Yes") == 2){ ++.@n; }
		if (.@n == 6)
			break;
		else
			.@n = 0;
	}
	setquest 62837;
	completequest 62837;
	return;

OnInit:
	setarray .monster_id,  1193,  1106,  1410,  1417,  1370,  1374,  2083,  2084,  1778,
			 1777,  1752,  1753,  2085,  2086,  1402,  1403,  1504,  1505,  1713,  1716,
			 1614,  1615,  1714,  1717,  1657,  1654,  1652,  1655,  1656,  1653,  1316,
			 1314,  1736,  1737,  1987,  2024,  1163,  1208,  1780,  1781,  2019,  2021,
			 1622,  1617,  1670,  1671,  1672,  1673,  1838,  1837,  1627,  1782,  1769,
			 1770,  1638,  1635,  1637,  1634,  1639,  1636,  1613,  1619,  1676,  1677,
			 1678,  1679,  1867,  1870,  1253,  1194,  1215,  1162,  1699,  1698,  1986,
			 2092,  1133,  1134,  1135,  1833,  1831,  1143,  1109,  1194,  1297,  1384,
			 1385,  1773,  1774,  1196,  1257,  2015,  1993,  1509,  1510,  1836,  1680,
			 1256,  1148,  1989,  1282,  1390,  1715,  1668,  1988,  2133,  2132,  1718,
			 1992,  2137,  2136,  1318,  1315,  1367,  1366,  1295,  1771,  1772,  1865,
			 1864,  1883,  1102,  1379,  1206,  1703,  1201,  1735,  1155,  1884,  1995,
			 1775,  1682,  1132,  1408,  1866,  1213,  1319,  2013,  1628,  1377,  2134,
			 1776,  1197,  1117,  1219,  1401,  1376,  1406,  1869,  1796,  1797,  1375,
			 1405,  2071,  1198,  1098,  1512,  1513,  1309,  2153,  1291,  1999,  1154,
			 2315,  2313,  1386,  2365,  2366,  1199,  2363,  2370,  2309,  2310,  2364,
			 1692,  1255,  2204,  1305,  2369,  2367,  2073,  2199;
	setarray .quest_id,   60443, 60445, 60451, 60452, 60453, 60454, 60455, 60456, 60459,
			60460, 60461, 60462, 60463, 60464, 60465, 60466, 60467, 60468, 60469, 60470,
			60476, 60477, 60478, 60479, 60480, 60481, 60482, 60483, 60484, 60485, 60488,
			60489, 60490, 60491, 60492, 60493, 60501, 60502, 60503, 60504, 60505, 60506,
			60507, 60508, 60509, 60510, 60511, 60512, 60513, 60514, 60515, 60516, 60517,
			60518, 60519, 60520, 60521, 60522, 60523, 60524, 60525, 60526, 60527, 60528,
			60529, 60530, 60531, 60532, 60535, 60536, 60537, 60538, 60539, 60540, 60541,
			60542, 60543, 60544, 60545, 60546, 60547, 60549, 60550, 60551, 60552, 60553,
			60554, 60555, 60556, 60557, 60558, 60559, 60560, 60561, 60562, 60565, 60570,
			60571, 60572, 60573, 60575, 60576, 60579, 60580, 60581, 60582, 60583, 60584,
			60585, 60586, 60587, 60588, 60589, 60590, 60591, 60592, 60593, 60594, 60595,
			60596, 60601, 60602, 60603, 60604, 60605, 60608, 60609, 60610, 60611, 60612,
			60614, 60815, 60816, 60817, 60818, 60820, 60821, 60822, 60824, 60825, 60826,
			60827, 60828, 60830, 60831, 60832, 60833, 60834, 60835, 60836, 60837, 60838,
			60839, 60840, 60841, 60842, 60843, 60844, 60845, 60846, 60848, 60849, 60851,
			60853, 60854, 60855, 60856, 60857, 60858, 60859, 60860, 60861, 60862, 60863,
			60864, 60865, 60866, 60867, 60868, 60869, 62832, 62833;
	end;

}

sec_in01,98,180,3	script	Gramps#Control	4_M_LGTGRAND,{
	if (getgmlevel() < 6){
		mes "[Gramps]";
		mes "Your GM level doesn't allow you to use my services.";
		close;
	}
	while(true){
		mes "[Gramps]";
		mes "This is Gramp's Weekly Turn-In Quest configuration menu.";
		mes "Your GM level allows you to modify this configuration. Please, select an option:";
		next;
		switch(select("Set Turn-In", "Set Map Stage", "Apply Changes")){
			case 1:
				while(true){
					mes "[Gramps]";
					mes "Please select the Turn-In Quest to modify.";
					next;
					.@Turn_In_L_1 = (!.@Temp_Turn[0] ? $Gramps_Turn[0] : .@Temp_Turn[0]); .@Monster_L_1$ = (!.@Temp_Turn[0] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_L_1,MOB_NAME) + "^000000";
					.@Turn_In_L_2 = (!.@Temp_Turn[1] ? $Gramps_Turn[1] : .@Temp_Turn[1]); .@Monster_L_2$ = (!.@Temp_Turn[1] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_L_2,MOB_NAME) + "^000000";
					.@Turn_In_M_1 = (!.@Temp_Turn[2] ? $Gramps_Turn[2] : .@Temp_Turn[2]); .@Monster_M_1$ = (!.@Temp_Turn[2] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_M_1,MOB_NAME) + "^000000";
					.@Turn_In_M_2 = (!.@Temp_Turn[3] ? $Gramps_Turn[3] : .@Temp_Turn[3]); .@Monster_M_2$ = (!.@Temp_Turn[3] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_M_2,MOB_NAME) + "^000000";
					.@Turn_In_H_1 = (!.@Temp_Turn[4] ? $Gramps_Turn[4] : .@Temp_Turn[4]); .@Monster_H_1$ = (!.@Temp_Turn[4] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_H_1,MOB_NAME) + "^000000";
					.@Turn_In_H_2 = (!.@Temp_Turn[5] ? $Gramps_Turn[5] : .@Temp_Turn[5]); .@Monster_H_2$ = (!.@Temp_Turn[5] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_H_2,MOB_NAME) + "^000000";
					.@t = select("Low 1 [" + .@Monster_L_1$ + "]", "Low 2 [" + .@Monster_L_2$ + "]", "Mid 1 [" + .@Monster_M_1$ + "]", "Mid 2 [" + .@Monster_M_2$ + "]", "High 1 [" + .@Monster_H_1$ + "]", "High 2 [" + .@Monster_H_2$ + "]", "Return") - 1;
					if (.@t == 6)
						break;
					if (getarraysize(.@Hunt_Temp))
						deletearray .@Hunt_Temp;
					.@Hunt_Menu$ = "";
					switch(.@t){
						case 0:
						case 1:
							.@map$ = "Low";
							setarray .@Hunt_Temp,   1102,  1106,  1109,  1117,  1133,  1134,  1135,  1143,  1148,  1154,  1155,
							   1162,  1193,  1194,  1196,  1197,  1198,  1199,  1201,  1213,  1215,  1253,  1255,  1256,  1257,
							   1291,  1309,  1314,  1315,  1316,  1318,  1319,  1375,  1376,  1377,  1386,  1401,  1402,  1403,
							   1405,  1406,  1408,  1410,  1417,  1509,  1510,  1512,  1513,  1613,  1614,  1615,  1617,  1619,
							   1622,  1627,  1628,  1692,  1715,  1718,  1776,  1780,  1781,  1782,  1836,  1883,  1884,  1995,
							   2071,  2073,  2153,  2199;
							setarray .@Quest_Temp, 60602, 60445, 60550, 60830, 60543, 60544, 60545, 60549, 60572, 60851, 60610,
							  60538, 60443, 60536, 60557, 60828, 60841, 60858, 60608, 60820, 60537, 60535, 60865, 60571, 60558,
							  60848, 60845, 60489, 60589, 60488, 60588, 60821, 60838, 60833, 60825, 60855, 60832, 60465, 60466,
							  60839, 60834, 60817, 60451, 60452, 60561, 60562, 60843, 60844, 60525, 60476, 60477, 60508, 60526,
							  60507, 60515, 60824, 60864, 60579, 60584, 60827, 60503, 60504, 60516, 60565, 60601, 60611, 60612,
							  60840, 62832, 60846, 62833;
							break;
						case 2:
						case 3:
							.@map$ = "Mid";
							setarray .@Hunt_Temp,   1098,  1132,  1163,  1194,  1206,  1208,  1219,  1282,  1295,  1297,  1305,
							   1366,  1367,  1370,  1374,  1379,  1384,  1385,  1390,  1504,  1505,  1668,  1670,  1671,  1672,
							   1673,  1676,  1677,  1678,  1679,  1680,  1682,  1698,  1699,  1714,  1717,  1735,  1736,  1737,
							   1770,  1771,  1772,  1773,  1774,  1775,  1777,  1778,  1796,  1797,  1864,  1865,  1866,  1869,
							   1987,  1988,  1989,  1992,  1993,  1999,  2013,  2015,  2204,  2309,  2310,  2313,  2315;
							setarray .@Quest_Temp, 60842, 60816, 60501, 60551, 60604, 60502, 60831, 60575, 60592, 60552, 60867,
							  60591, 60590, 60453, 60454, 60603, 60553, 60554, 60576, 60467, 60468, 60580, 60509, 60510, 60511,
							  60512, 60527, 60528, 60529, 60530, 60570, 60815, 60540, 60539, 60478, 60479, 60609, 60490, 60491,
							  60518, 60593, 60594, 60555, 60556, 60614, 60460, 60459, 60836, 60837, 60596, 60595, 60818, 60835,
							  60492, 60581, 60573, 60585, 60560, 60849, 60822, 60559, 60866, 60861, 60862, 60854, 60853;
							break;
						case 4:
						case 5:
							.@map$ = "High";
							setarray .@Hunt_Temp,   1634,  1635,  1636,  1637,  1638,  1639,  1652,  1653,  1654,  1655,  1656,
							   1657,  1703,  1713,  1716,  1752,  1753,  1769,  1831,  1833,  1837,  1838,  1867,  1870,  1986,
							   2019,  2021,  2024,  2083,  2084,  2085,  2086,  2092,  2132,  2133,  2134,  2136,  2137,  2363,
							   2364,  2365,  2366,  2367,  2369,  2370;
							setarray .@Quest_Temp, 60522, 60520, 60524, 60521, 60519, 60523, 60482, 60485, 60481, 60483, 60484,
							  60480, 60605, 60469, 60470, 60461, 60462, 60517, 60547, 60546, 60514, 60513, 60531, 60532, 60541,
							  60505, 60506, 60493, 60455, 60456, 60463, 60464, 60542, 60583, 60582, 60826, 60587, 60586, 60859,
							  60863, 60856, 60857, 60869, 60868, 60860;
							break;
					}
					for (.@i = 0; .@i < getarraysize(.@Hunt_Temp); ++.@i)
						.@Hunt_Menu$ += getmonsterinfo(.@Hunt_Temp[.@i],MOB_NAME) + ":";
					mes "[Gramps]";
					mes "Select the target for " + .@map$ + " Map Turn-In " + (.@t%2 == 0 ? 1 : 2) + ".";
					next;
					.@h = select(.@Hunt_Menu$) - 1;
					.@Temp_Turn[.@t] = .@Hunt_Temp[.@h];
					.@Temp_Quest[.@t] = .@Quest_Temp[.@h];
				}
				break;
			case 2:
				setarray .@T_MapName$,	 "Abyss Lake Dungeon",	"Abyss Lake Dungeon",	"Beach Dungeon",	 "Bifrost Field",
						"Scaraba Hole",	 "Scaraba Hole",		"El Dicastes Field",	"Geffen Dungeon",	 "Glast Heim Churchyard",
						"Thor Volcano",	 "Hugel Field",			"Rachel Field",			"Holy Ground",		 "Thanatos Tower",
						"Turtle Island", "Juno Field",			"Magma Dungeon",		"Lighthalzen Field", "Manuk Field",
						"Payon Dungeon", "Moscovia Dungeon";
				setarray .@T_MapWarp$,	 "eabyss_01",			"eabyss_03",			"ebeach_dun",		 "ebif_fld01",
						"edic_dun01",	 "edic_dun02",			"edic_fld01",			"egef_dun03",		 "egl_chyard",
						"ethor_v02",	 "ehu_fild01",			"era_fild12",			"era_san04",		 "etha_t04",
						"etur_dun03",	 "eyno_fld07",			"emag_dun02",			"elhz_fld01",		 "eman_fld03",
						"epay_dun00",	 "emos_dun02";
				setarray .@T_MapX, 0, 0, 0, 0, 0, 0, 0, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,  22, 156;
				setarray .@T_MapY, 0, 0, 0, 0, 0, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 181,  47;
				setarray .@Map_Type$, "l", "m", "h";
				for (.@i = 0; .@i < getarraysize(.@T_MapWarp$); ++.@i)
					.@map_menu$ += .@T_MapWarp$[.@i] + ":";
				while(true){
					mes "[Gramps]";
					mes "Please select a new map to modify.";
					next;
					.@Map1$ = (.@Temp_MapName$[0] == "" ? "^000000" : "^FF0000") + (.@Temp_MapName$[0] == "" ? $Gramps_MapName$[0] : .@Temp_MapName$[0]) + "^000000";
					.@Map2$ = (.@Temp_MapName$[1] == "" ? "^000000" : "^FF0000") + (.@Temp_MapName$[1] == "" ? $Gramps_MapName$[1] : .@Temp_MapName$[1]) + "^000000";
					.@Map3$ = (.@Temp_MapName$[2] == "" ? "^000000" : "^FF0000") + (.@Temp_MapName$[2] == "" ? $Gramps_MapName$[2] : .@Temp_MapName$[2]) + "^000000";
					.@m = select("Low Map [ " + .@Map1$ + " ]", "Mid Map [ " + .@Map2$ + " ]", "High Map [ " + .@Map3$ + " ]", "Return") - 1;
					if (.@m == 3)
						break;
					.@s = select(.@map_menu$) - 1;
					if (.@T_MapX[.@s] == 0 && .@T_MapY[.@s] == 0){
						mes "[Gramps]";
						mes "Map X & Y coordinates are not available. Please select other map.";
						next;
					} else {
						.@Temp_MapName$[.@m] = .@T_MapName$[.@s];
						.@Temp_MapWarp$[.@m] = .@T_MapWarp$[.@s] + .@Map_Type$[.@m];
						.@Temp_MapX[.@m] = .@T_MapX[.@s];
						.@Temp_MapY[.@m] = .@T_MapY[.@s];
					}
				}
				break;
			case 3:
				if (!getarraysize(.@Temp_Turn) && !getarraysize(.@Temp_MapName$)){
					mes "[Gramps]";
					mes "There is no changes waiting to be applied.";
					break;
				}
				.@Turn_In_L_1 = (!.@Temp_Turn[0] ? $Gramps_Turn[0] : .@Temp_Turn[0]); .@Monster_L_1$ = (!.@Temp_Turn[0] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_L_1,MOB_NAME) + "^000000";
				.@Turn_In_L_2 = (!.@Temp_Turn[1] ? $Gramps_Turn[1] : .@Temp_Turn[1]); .@Monster_L_2$ = (!.@Temp_Turn[1] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_L_2,MOB_NAME) + "^000000";
				.@Turn_In_M_1 = (!.@Temp_Turn[2] ? $Gramps_Turn[2] : .@Temp_Turn[2]); .@Monster_M_1$ = (!.@Temp_Turn[2] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_M_1,MOB_NAME) + "^000000";
				.@Turn_In_M_2 = (!.@Temp_Turn[3] ? $Gramps_Turn[3] : .@Temp_Turn[3]); .@Monster_M_2$ = (!.@Temp_Turn[3] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_M_2,MOB_NAME) + "^000000";
				.@Turn_In_H_1 = (!.@Temp_Turn[4] ? $Gramps_Turn[4] : .@Temp_Turn[4]); .@Monster_H_1$ = (!.@Temp_Turn[4] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_H_1,MOB_NAME) + "^000000";
				.@Turn_In_H_2 = (!.@Temp_Turn[5] ? $Gramps_Turn[5] : .@Temp_Turn[5]); .@Monster_H_2$ = (!.@Temp_Turn[5] ? "^000000" : "^FF0000") + getmonsterinfo(.@Turn_In_H_2,MOB_NAME) + "^000000";
				.@Map1$ = (.@Temp_MapName$[0] == "" ? "^000000" : "^FF0000") + (.@Temp_MapName$[0] == "" ? $Gramps_MapName$[0] : .@Temp_MapName$[0]) + "^000000";
				.@Map2$ = (.@Temp_MapName$[1] == "" ? "^000000" : "^FF0000") + (.@Temp_MapName$[1] == "" ? $Gramps_MapName$[1] : .@Temp_MapName$[1]) + "^000000";
				.@Map3$ = (.@Temp_MapName$[2] == "" ? "^000000" : "^FF0000") + (.@Temp_MapName$[2] == "" ? $Gramps_MapName$[2] : .@Temp_MapName$[2]) + "^000000";
				mes "[Gramps]";
				mes "The following Turn-In will be applied:";
				mes " Low 1 : " + .@Map1$ + " " + "[ " + .@Monster_L_1$ + " ].";
				mes " Low 2 : " + .@Map1$ + " " + "[ " + .@Monster_L_2$ + " ].";
				mes " Mid 1 : " + .@Map2$ + " " + "[ " + .@Monster_M_1$ + " ].";
				mes " Mid 2 : " + .@Map2$ + " " + "[ " + .@Monster_M_2$ + " ].";
				mes " High 1 : " + .@Map3$ + " " + "[ " + .@Monster_H_1$ + " ].";
				mes " High 2 : " + .@Map3$ + " " + "[ " + .@Monster_H_2$ + " ].";
				mes "Do we proceed?";
				next;
				if (select("Yes", "No") == 2)
					break;

				// Remove previous spawned monsters:
				for (.@i = 0; .@i < 3; ++.@i)
					killmonsterall $Gramps_MapWarp$[.@i];

				// Update $Gramps_Last array to set spawn for previous Turn-In monsters:
				for (.@i = 0; .@i < getarraysize(.@Temp_Turn); ++.@i){
					if (.@Temp_Turn[.@i])
						$Gramps_Last[.@i] = $Gramps_Turn[.@i];
				}

				// Update main arrays with actual Turn-In monsters and maps:
				for (.@i = 0; .@i < getarraysize(.@Temp_Turn); ++.@i){
					if ($Gramps_Turn[.@i] && $Gramps_Quest[.@i]){
						$Gramps_Turn[.@i] = .@Temp_Turn[.@i];
						$Gramps_Quest[.@i] = .@Temp_Quest[.@i];
					}
				}
				for (.@i = 0; .@i < getarraysize(.@Temp_MapName$); ++.@i){
					if (.@Temp_MapName$[.@i] != ""){
						$Gramps_MapName$[.@i] = .@Temp_MapName$[.@i];
						$Gramps_MapWarp$[.@i] = .@Temp_MapWarp$[.@i];
						$Gramps_MapX[.@i] = .@Temp_MapX[.@h];
						$Gramps_MapY[.@i] = .@Temp_MapY[.@h];
					}
				}
				// Spawn monsters 
				setarray .@respawn1, 50, 50, 50, 50, 50, 50;	// This sets respawn for active week turn-in monsters
				setarray .@respawn2, 25, 25, 25, 25, 25, 25;	// This sets respawn for previous week turn-in monsters
				for (.@ab = 0; .@ab < 2; ++.@ab){
					.@ab$ = (!.@ab ? "A" : "B");
					.@m = 0;
					for (.@i = 0; .@i < 6; ++.@i){
						.@qty = (!.@ab ? .@respawn1[.@i] : .@respawn2[.@i]);
						.@mob = (!.@ab ? $Gramps_Turn[.@i] : $Gramps_Last[.@i]);
						monster $Gramps_MapWarp$[.@m],0,0,"--ja--",.@mob,.@qty,"Gramps#Control::OnMyMobDead" + .@ab$ + .@i;
						if (.@i%2 == 1){ ++.@m; }
					}
				}
				mes "[Gramps]";
				mes "Changes have been applied.";
				close;
		}
		next;
	}

OnMyMobDeadA0:
	monster $Gramps_MapWarp$[0],0,0,"--ja--",$Gramps_Turn[0],1,"Gramps#Control::OnMyMobDeadA0";
	announce "OnMyMobDeadA00", 0;
	end;

OnMyMobDeadA1:
	monster $Gramps_MapWarp$[0],0,0,"--ja--",$Gramps_Turn[1],1,"Gramps#Control::OnMyMobDeadA1";
	announce "OnMyMobDeadA1", 0;
	end;

OnMyMobDeadA2:
	monster $Gramps_MapWarp$[1],0,0,"--ja--",$Gramps_Turn[2],1,"Gramps#Control::OnMyMobDeadA2";
	announce "OnMyMobDeadA2", 0;
	end;

OnMyMobDeadA3:
	monster $Gramps_MapWarp$[1],0,0,"--ja--",$Gramps_Turn[3],1,"Gramps#Control::OnMyMobDeadA3";
	announce "OnMyMobDeadA3", 0;
	end;

OnMyMobDeadA4:
	monster $Gramps_MapWarp$[2],0,0,"--ja--",$Gramps_Turn[4],1,"Gramps#Control::OnMyMobDeadA4";
	announce "OnMyMobDeadA4", 0;
	end;

OnMyMobDeadA5:
	monster $Gramps_MapWarp$[2],0,0,"--ja--",$Gramps_Turn[5],1,"Gramps#Control::OnMyMobDeadA5";
	announce "OnMyMobDeadA5", 0;
	end;

OnMyMobDeadB0:
	monster $Gramps_MapWarp$[0],0,0,"--ja--",$Gramps_Last[0],1,"Gramps#Control::OnMyMobDeadB0";
	announce "OnMyMobDeadB0", 0;
	end;

OnMyMobDeadB1:
	monster $Gramps_MapWarp$[0],0,0,"--ja--",$Gramps_Last[1],1,"Gramps#Control::OnMyMobDeadB1";
	announce "OnMyMobDeadB1", 0;
	end;

OnMyMobDeadB2:
	monster $Gramps_MapWarp$[1],0,0,"--ja--",$Gramps_Last[2],1,"Gramps#Control::OnMyMobDeadB2";
	announce "OnMyMobDeadB2", 0;
	end;

OnMyMobDeadB3:
	monster $Gramps_MapWarp$[1],0,0,"--ja--",$Gramps_Last[3],1,"Gramps#Control::OnMyMobDeadB3";
	announce "OnMyMobDeadB3", 0;
	end;

OnMyMobDeadB4:
	monster $Gramps_MapWarp$[2],0,0,"--ja--",$Gramps_Last[4],1,"Gramps#Control::OnMyMobDeadB4";
	announce "OnMyMobDeadB4", 0;
	end;

OnMyMobDeadB5:
	monster $Gramps_MapWarp$[2],0,0,"--ja--",$Gramps_Last[5],1,"Gramps#Control::OnMyMobDeadB5";
	announce "OnMyMobDeadB5", 0;
	end;

OnInit:
	if (!getarraysize($Gramps_MapName$)) setarray $Gramps_MapName$, "Payon Dungeon", "Geffen Dungeon", "Moscovia Dungeon";
	if (!getarraysize($Gramps_MapWarp$)) setarray $Gramps_MapWarp$, "pay_dun00", "gef_dun03", "mosk_dun02";
	if (!getarraysize($Gramps_MapX)) setarray $Gramps_MapX, 22, 138, 156;
	if (!getarraysize($Gramps_MapY)) setarray $Gramps_MapY, 181, 117, 47;
	if (!getarraysize($Gramps_Turn)) setarray $Gramps_Turn, BATHORY, WASTE_STOVE, ISILLA, WANDER_MAN, ACIDUS_, WHIKEBAIN;
	if (!getarraysize($Gramps_Quest)) setarray $Gramps_Quest, 60602,  60508, 60594, 60502, 60470, 60485;
	if (!getarraysize($Gramps_Last)) setarray $Gramps_Last, GARGOYLE, SHINOBI, SEDORA, VENATU_2, ANTIQUE_BOOK, SALAMANDER;
	for (.@i = 0; .@i < 3; ++.@i)
		killmonsterall $Gramps_MapWarp$[.@i];
	// Spawn monsters:
	setarray .@respawn1, 50, 50, 50, 50, 50, 50;	// This sets respawn for active week turn-in monsters
	setarray .@respawn2, 25, 25, 25, 25, 25, 25;	// This sets respawn for previous week turn-in monsters
	for (.@ab = 0; .@ab < 2; ++.@ab){
		.@ab$ = (!.@ab ? "A" : "B");
		for (.@i = 0; .@i < 6; ++.@i){
			.@qty = (!.@ab ? .@respawn1[.@i] : .@respawn2[.@i]);
			.@mob = (!.@ab ? $Gramps_Turn[.@i] : $Gramps_Last[.@i]);
			monster $Gramps_MapWarp$[.@m],0,0,"--ja--",.@mob,.@qty,"Gramps#Control::OnMyMobDead" + .@ab$ + .@i;
			if (.@i%2 == 1){ ++.@m; }
		}
		.@m = 0;
	}
}


-	script	Return to Eden#template	FAKE_NPC,{
	mes "sending you back to Eden Group";
	close2;
	warp "moc_para01", 31, 14;
	end;
}

epay_dun00l,22,186,3	duplicate(Return to Eden#template)	Return to Eden#paydun00l	4_M_MOC_SOLDIER
epay_dun00m,22,186,3	duplicate(Return to Eden#template)	Return to Eden#paydun00m	4_M_MOC_SOLDIER
epay_dun00h,22,186,3	duplicate(Return to Eden#template)	Return to Eden#paydun00h	4_M_MOC_SOLDIER

egef_dun03l,136,117,3	duplicate(Return to Eden#template)	Return to Eden#gefdun03l	4_M_MOC_SOLDIER
egef_dun03m,136,117,3	duplicate(Return to Eden#template)	Return to Eden#gefdun03m	4_M_MOC_SOLDIER
egef_dun03h,136,117,3	duplicate(Return to Eden#template)	Return to Eden#gefdun03h	4_M_MOC_SOLDIER

emos_dun02h,155,44,3	duplicate(Return to Eden#template)	Return to Eden#mosdun02h	4_M_MOC_SOLDIER
emos_dun02h,155,44,3	duplicate(Return to Eden#template)	Return to Eden#mosdun02h	4_M_MOC_SOLDIER
emos_dun02h,155,44,3	duplicate(Return to Eden#template)	Return to Eden#mosdun02h	4_M_MOC_SOLDIER

 

 

i didn't edit it anything,

just about vip_status and some location npc.

but when i try to ask the npc " What mission are you giving " the npc shown result " Null ".

hope you can help me fix it,: :)

Share this post


Link to post
Share on other sites
  • 0

Hum as far as Haru's scriptchecker can say, there's no error in it. Thought I've never used an array declaration like that

setarray $Gramps_Turn, BATHORY, WASTE_STOVE, ISILLA, WANDER_MAN, ACIDUS_, WHIKEBAIN;

Maybe you can try to change to use the mobs id...

Share this post


Link to post
Share on other sites
  • 0
1 hour ago, Alayne said:

Hum as far as Haru's scriptchecker can say, there's no error in it. Thought I've never used an array declaration like that

setarray $Gramps_Turn, BATHORY, WASTE_STOVE, ISILLA, WANDER_MAN, ACIDUS_, WHIKEBAIN;

Maybe you can try to change to use the mobs id...

Already try it, but when i try to access the 2nd and 3rd map.

the mob has been added,

but when i try to edit Turn-In,

this occur on :

Spoiler


screenrAthena001.jpg.90e66131a0cc56d9ae559b1246f1d4b1.jpg

and this is on CMD :
 

Spoiler

Untitled.png.9e8951b5fe2b5308775779bf6297b28b.png

so, i think the main problem is here. but i dont know how to fix it.

hope you can help me :)

Share this post


Link to post
Share on other sites
  • 0
21 hours ago, Alayne said:

Hum okay. Well I'll need to debug it before being able to say anything else sorry ^^'

Ahh...

Okay, No Problem dude, i just can hope you can help me with this script :DDDDD

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.