Converting rA script to hA

dfabsgwapings

New member
Messages
165
Points
0
Github
dfabsgwapings
Hello everyone,

Does anyone who how to convert rathena script into hercules script? Because I found a script that is on rathena however it wont work in hercules.

please help..

 
Here's the script

Code:
prt_in,90,72,4	script	Zeph::HuntingSystem	4_M_JOB_HUNTER,{
	mes "[^FFA500Zeph^000000]";
	if( Mission_Tick < gettimetick(2) )
	{
		if( Mission_Tick == 0 )
		{
			mes "Hello...";
			mes "Are you interesting in a job?";
			next;
			next;
			mes "[^FFA500Zeph^000000]";
			mes "I've to explain, I find many peoples interesting in ^0000FFHunting Missions^000000 every day.";
			mes "The missions consist of monsters to kill.";
			next;
			mes "[^FFA500Zeph^000000]";
			mes "There are different difficulty Missions.";
			mes "But don't worry, you can work with your friends in groups or in any team.";
			next;
			mes "[^FFA500Zeph^000000]";
			mes "You will have exactly 24 hours to complete a mission, if you finish in time then come back to me for the premium.";
			
		}
		else if( Mission_Ended )
		{
			mes "Your new mission is ready, and I've looked over the documents.";
			mes "Are you ready to take on it?";
		}
		else
		{
			mes "You've failed your last mission, you didn't finish within 24 hours or doesn't eliminated the total requested monsters.";
			next;
			mes "[^FFA500Zeph^000000]";
			mes "There is your today's Mission.";
			mes "Are you ready to take on it?";
		}

		next;
		if( select("Yes, what is my job?:No thanks, not today.") == 2 )
		{
			mes "[^FFA500Zeph^000000]";
			mes "Okay, come back if you've changed your mind.";
			close;
		}

		mes "[^FFA500Zeph^000000]";
		mes "I let you reading...";
		next;
		
		// Building Mission...
		// =======================================================================================================
		mission_settime gettimetick(2) + 86400;
		// Mission Difficulty
		set .@Mission_Rank, ((Mission_Rank % 45) * 2) + 1;
		// Bonus Difficulty
		set .@Mission_Bonus, (Mission_Rank / 45) * 5;
		// Final Difficulty
		if( set(.@Mission_Rank, .@Mission_Rank + .@Mission_Bonus) > 99 ) set .@Mission_Rank, 99;
		set Mission_Ended, 0;
		for( set .@i, 1; .@i < 6; set .@i, .@i + 1 )
		{
			set .@MobID, getmobrandid(.@Mission_Rank, 14);
			// Mission Index - Mob ID - Mob Amount
			mission_sethunting .@i, .@MobID, 75 - (.@Mission_Rank / 2) + (.@Mission_Bonus / 2);
		}

		callfunc "MissionInfo";
		next;

		mes "[^FFA500Zeph^000000]";
		mes "Good luck, and remember that you have 24 hours to complete it.";
		mes "Come back if you're finished.";
		close;
	}
	else
	{
		mes "Hello, already here?";
		mes "Let's see how you completed the mission...";
		next;
		
		if( Mission_Count1 + Mission_Count2 + Mission_Count3 + Mission_Count4 + Mission_Count5 < 1 )
		{
			mes "[^FFA500Zeph^000000]";
			if( Mission_Ended == 0 )
			{
				mes "Great! You did it ahead of schedule.";
				mes "Let me pay you for the job.";
				next;

				set .@Mission_Lvl, 0;
				set .@Mission_Exp, 0;
				set .@Mission_Job, 0;
				for( set .@i, 1; .@i < 6; set .@i, .@i + 1 )
				{
					set .@MobID, getd("Mission_ID" + .@i);
					set .@Mission_Lvl, .@Mission_Lvl + strmobinfo(3, .@MobID);
					set .@Mission_Exp, .@Mission_Exp + (strmobinfo(6, .@MobID) * 10);
					set .@Mission_Job, .@Mission_Job + (strmobinfo(7, .@MobID) * 10);
				}
				set .@Mission_Zeny, .@Mission_Lvl * 150;
				if( .@Mission_Lvl < 125 )
					set .@Mission_Points, 5;
				else if( .@Mission_Lvl < 250 )
					set .@Mission_Points, 10;
				else
					set .@Mission_Points, 15;
				
				// Mission Rewards...
				// =====================================================================
				getexp .@Mission_Exp, .@Mission_Job, 100;
				set Zeny, Zeny + .@Mission_Zeny;
				set Mission_Points, Mission_Points + .@Mission_Points;
				if( Mission_Rank < 449 ) set Mission_Rank, Mission_Rank + 1;
				set Mission_Completed, Mission_Completed + 1;
				if( Mission_Completed > $TMission_Score )
				{
					npctalk "Congratulations, you're the new Top Hunter of the day!!";
					set $TMission_Score, Mission_Completed;
					set $TMission_CharID, getcharid(0);
					set $TMission_Name$, strcharinfo(0);
					set $TMission_Job$, jobname(Class);
				}

				if( $TMission_CharID == getcharid(0) )
					set #CASHPOINTS, #CASHPOINTS + 100;
				else
					set #CASHPOINTS, #CASHPOINTS + 75;

				getitem 8996,1;
				// =====================================================================
				
				// Clear Mission Data
				for( set .@i, 1; .@i < 6; set .@i, .@i + 1 )
					mission_sethunting .@i,0,0;
				set Mission_Ended, 1;
			}
			
			mes "[^FFA500Zeph^000000]";
			mes "Your today's Mission is now complete.";

			set .@Time_Left, Mission_Tick - gettimetick(2);
			if( .@Time_Left > 3600 )
				mes "You can get a new mission in ^0000FF" + (.@Time_Left / 3600) + " hours^000000.";
			else if( .@Time_Left > 60 )
				mes "You can get a new mission in ^0000FF" + (.@Time_Left / 60) + " minutes^000000.";
			else if( .@Time_Left > 0 )
				mes "You can get a new mission in ^0000FF" + (.@Time_Left) + " seconds^000000.";
			else
				mes "Let me sort out my papers to your new assignment.";
			close;
		}

		mes "[^FFA500Zeph^000000]";
		mes "You're still not completed the mission, your missing monsters will be removed.";
		mes "Look at the poster on my left to see the status of your job.";
		close;
	}
}
 
By the looks of it there should be extra file with functions/routines, namely mission_settime and mission_sethunting.

ETA: Try this one, don't forget to load the file I mentioned before this script.

Code:
prt_in,90,72,4	script	Zeph::HuntingSystem	4_M_JOB_HUNTER,{
	mes "[^FFA500Zeph^000000]";
	if( Mission_Tick < gettimetick(2) ) {
		if( Mission_Tick == 0 ) {
			mes "Hello...";
			mes "Are you interesting in a job?";
			next;
			next;
			mes "[^FFA500Zeph^000000]";
			mes "I've to explain, I find many peoples interesting in ^0000FFHunting Missions^000000 every day.";
			mes "The missions consist of monsters to kill.";
			next;
			mes "[^FFA500Zeph^000000]";
			mes "There are different difficulty Missions.";
			mes "But don't worry, you can work with your friends in groups or in any team.";
			next;
			mes "[^FFA500Zeph^000000]";
			mes "You will have exactly 24 hours to complete a mission, if you finish in time then come back to me for the premium.";
		} else if( Mission_Ended ) {
			mes "Your new mission is ready, and I've looked over the documents.";
			mes "Are you ready to take on it?";
		} else {
			mes "You've failed your last mission, you didn't finish within 24 hours or doesn't eliminated the total requested monsters.";
			next;
			mes "[^FFA500Zeph^000000]";
			mes "There is your today's Mission.";
			mes "Are you ready to take on it?";
		}

		next;
		if( select("Yes, what is my job?:No thanks, not today.") == 2 ) {
			mes "[^FFA500Zeph^000000]";
			mes "Okay, come back if you've changed your mind.";
			close;
		}

		mes "[^FFA500Zeph^000000]";
		mes "I let you reading...";
		next;

		// Building Mission...
		// =======================================================================================================
		callfunc("mission_settime",gettimetick(2) + 86400);
		// Mission Difficulty
		.@Mission_Rank = ((Mission_Rank % 45) * 2) + 1;
		// Bonus Difficulty
		.@Mission_Bonus = (Mission_Rank / 45) * 5;
		// Final Difficulty
		.@Mission_Rank = min(.@Mission_Rank + .@Mission_Bonus,99);
		Mission_Ended = 0;
		for( .@i = 1; .@i < 6; ++.@i ) {
			.@MobID = getmobrandid(.@Mission_Rank, 14);
			// Mission Index - Mob ID - Mob Amount
			callfunc("mission_sethunting",.@i, .@MobID, 75 - (.@Mission_Rank / 2) + (.@Mission_Bonus / 2));
		}

		callfunc "MissionInfo";
		next;

		mes "[^FFA500Zeph^000000]";
		mes "Good luck, and remember that you have 24 hours to complete it.";
		mes "Come back if you're finished.";
		close;
	} else {
		mes "Hello, already here?";
		mes "Let's see how you completed the mission...";
		next;

		if( Mission_Count1 + Mission_Count2 + Mission_Count3 + Mission_Count4 + Mission_Count5 < 1 ) {
			mes "[^FFA500Zeph^000000]";
			if( Mission_Ended == 0 ) {
				mes "Great! You did it ahead of schedule.";
				mes "Let me pay you for the job.";
				next;

				.@Mission_Lvl = 0;
				.@Mission_Exp = 0;
				.@Mission_Job = 0;
				for( .@i = 1; .@i < 6; ++.@i ) {
					.@MobID = getd("Mission_ID" + .@i);
					.@Mission_Lvl = .@Mission_Lvl + strmobinfo(3, .@MobID);
					.@Mission_Exp =  .@Mission_Exp + (strmobinfo(6, .@MobID) * 10);
					.@Mission_Job = .@Mission_Job + (strmobinfo(7, .@MobID) * 10);
				}
				.@Mission_Zeny = .@Mission_Lvl * 150;
				if( .@Mission_Lvl < 125 )
					.@Mission_Points = 5;
				else if( .@Mission_Lvl < 250 )
					.@Mission_Points = 10;
				else
					.@Mission_Points = 15;

				// Mission Rewards...
				// =====================================================================
				getexp .@Mission_Exp, .@Mission_Job, 100;
				Zeny += .@Mission_Zeny;
				Mission_Points += .@Mission_Points;
				if( Mission_Rank < 449 )
					++Mission_Rank;
				++Mission_Completed;
				if( Mission_Completed > $TMission_Score ) {
					npctalk "Congratulations, you're the new Top Hunter of the day!!";
					$TMission_Score = Mission_Completed;
					$TMission_CharID = getcharid(0);
					$TMission_Name$ = strcharinfo(0);
					$TMission_Job$ = jobname(Class);
				}

				if( $TMission_CharID == getcharid(0) )
					#CASHPOINTS += 100;
				else
					#CASHPOINTS += 75;

				getitem 8996,1;
				// =====================================================================

				// Clear Mission Data
				for( .@i = 1; .@i < 6; ++.@i )
					callfunc("mission_sethunting",.@i,0,0);
				Mission_Ended = 1;
			}

			mes "[^FFA500Zeph^000000]";
			mes "Your today's Mission is now complete.";

			set .@Time_Left, Mission_Tick - gettimetick(2);
			if( .@Time_Left > 3600 )
				mes "You can get a new mission in ^0000FF" + (.@Time_Left / 3600) + " hours^000000.";
			else if( .@Time_Left > 60 )
				mes "You can get a new mission in ^0000FF" + (.@Time_Left / 60) + " minutes^000000.";
			else if( .@Time_Left > 0 )
				mes "You can get a new mission in ^0000FF" + (.@Time_Left) + " seconds^000000.";
			else
				mes "Let me sort out my papers to your new assignment.";
			close;
		}

		mes "[^FFA500Zeph^000000]";
		mes "You're still not completed the mission, your missing monsters will be removed.";
		mes "Look at the poster on my left to see the status of your job.";
		close;
	}
}
 
Last edited by a moderator:
@Garr

please help me fix these

@Garr

Im getting this error

Code:
[Error]: script error in file 'npc/mycustom/Hunting_EN.txt' line 128 column 26
    parse_line: need ';'
   125:                 .@Mission_Rank = min(.@Mission_Rank + .@Mission_Bonus,99);
   126:                 Mission_Ended = 0;
   127:                 for( .@i = 1; .@i < 6; ++.@i ) {
*  128:                         .@MobID = getmobrandid(.@Mission_Rank, 14);
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
   129:                         // Mission Index - Mob ID - Mob Amount
   130:                         callfunc("mission_sethunting",.@i, .@MobID, 75 - (.@Mission_Rank / 2) + (.@Mission_Bonus / 2));
   131:                 }
 
Yup, I'm pretty sure I saw a thread about eamod being on github somewhere, didn't check it out though.

 
this script is private of eAmod, you need pay for this how all.
no you dont. even zeph made it available heh


is other people using the nick name

and is a old version
default_smile.png


 
Its not official I dont encourage you to use that but, well eAthena was GPL so you can use it in some sort of "guidance"

I know its an old version but its kinda almost the same because the mods havent updated in a while, so.. anyway if you find it I guess you can have it, but im not helping or giving you links 

 
Last edited by a moderator:
Back
Top