Jump to content

xWulfen

Members
  • Posts

    13
  • Joined

  • Last visited

Posts posted by xWulfen

  1. I want to remove the once-per-day quest limit to gather crystals from the Reno NPC at Eden group. I found the NPC's script file in 2012_headgears.txt, and the part of the code which I'm sure checks the time limit is this:

     

    	// playtime checks
    	setarray .@quests_playtime[0],5161,5169,5174,5225,5226,5227;
    	for (set .@i,0; .@i<6; set .@i,.@i+1) {
    		if (checkquest(.@quests_playtime[.@i],PLAYTIME) == 2) {
    			erasequest .@quests_playtime[.@i];
    			mes "[Reno]";
    			if (.@i < 3)	// hunting quest wait time
    				mes "The waiting time for a "+.@type$[.@i]+" collection quest has expired. You can now take another request.";
    			else        	// buff wait time
    				mes "The waiting time for storing "+.@crystal$[.@i]+" Energy Crystals has expired. You can now store them again.";
    			close;
    		}
    	}
    
    
    Could anyone give me an insight on how to turn off the waiting time by altering this code?
     
    The full code is this:
     
    //===== rAthena Script =======================================
    //= 2012 Headgear Quests
    //===== By: ==================================================
    //= Euphy, -SkittleNugget-
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= [Official Conversion]
    //= Enhance gears by synthesizing them with Energy Crystals.
    //===== Additional Comments: =================================
    //= 1.0 First version. [Euphy]
    //=     Script is a little messy, could use some cleaning.
    //============================================================
    
    // Main NPC :: 2012_hat_quest
    //============================================================
    moc_para01,41,169,3	script	Reno#2012hat	64,{
    
    	// iRO has (very) minor differences in dialogue from the original script.
    	// To use iRO's version, uncomment the line below.
    	//set .@features_iRO,1;
    
    	//custom translation -  all checks below
    	if (checkweight(1301,1) == 0 || MaxWeight - Weight < 800) {
    		mes "- Carrying too many items, cannot proceed. -";
    		close;
    	}
    
    	setarray .@type$[0],"lower","intermediate","advanced","highest";
    	setarray .@crystal$[0],"Rough","Purified","High";
    
    	// playtime checks
    	setarray .@quests_playtime[0],5161,5169,5174,5225,5226,5227;
    	for (set .@i,0; .@i<6; set .@i,.@i+1) {
    		if (checkquest(.@quests_playtime[.@i],PLAYTIME) == 2) {
    			erasequest .@quests_playtime[.@i];
    			mes "[Reno]";
    			if (.@i < 3)	// hunting quest wait time
    				mes "The waiting time for a "+.@type$[.@i]+" collection quest has expired. You can now take another request.";
    			else        	// buff wait time
    				mes "The waiting time for storing "+.@crystal$[.@i]+" Energy Crystals has expired. You can now store them again.";
    			close;
    		}
    	}
    
    	// hunting quest checks
    	callsub L_CheckHunting,5161,5162,7,.@type$[0],6623,10; //Rough_Energy_Crystal
    	callsub L_CheckHunting,5169,5170,4,.@type$[1],6624,10; //Purified_Energy_Crystal
    	callsub L_CheckHunting,5174,5175,4,.@type$[2],6625,5;  //High_Purity_Energy_Xtal
    	callsub L_CheckHunting,5174,5179,4,.@type$[3],6625,10; //High_Purity_Energy_Xtal
    
    	// buff checks
    	set .@energy_buf00, getstatus(SC_QUEST_BUFF1) + getstatus(SC_QUEST_BUFF2) + getstatus(SC_QUEST_BUFF3);
    	if (!.@energy_buf00) {
    		for (set .@i,0; .@i<3; set .@i,.@i+1) {
    			if (isbegin_quest(.@i + 5222)) {
    				set .@item, 6623 + .@i;
    				set .@amount, 2 + rand(3);
    				mes "[Reno]";
    				mes getitemname(.@item)+" storage is now complete.";
    				next;
    				setquest 5225 + .@i;
    				erasequest 5222 + .@i;
    				getitem .@item,.@amount;
    				mes "[Reno]";
    				mes "^0000FF"+.@amount+" "+getitemname(.@item)+"s^000000 were extracted.";
    				close;
    			}
    		}
    	}
    
    	mes "[Reno]";
    	mes "Hi? I am Reno from the Energy Crystal Research Association, or ECRA.";
    	next;
    	switch(select("ECRA?:Quest to get Energy Crystals:Energy Crystal Buffs:Compress Energy Crystals:Exchange Crystals for Headgear:Random Gear for Crystals" + ((.@features_iRO)?":See Equipment List":""))) {
    	case 1:
    		mes "[Reno]";
    		mes "ECRA is the institute that researches '^0000FFEnergy Crystals^000000' that shall be used as an alternative energy source in the Rune Midgart Kingdom, which suffers from a shortage of energy.";
    		next;
    		select("The reason for doing this?");
    		mes "[Reno]";
    		mes "I would like to explain that we are not trying to make an excuse to get away from facing problem before I explain the reason. Never! So please let me finish.";
    		next;
    		mes "[Reno]";
    		mes "The Research Team has sent me the results they found.";
    		next;
    		mes "[Reno]";
    		mes "Energy Crystals turned out to be ^0000FFgenerated inside the bodies of some monsters^000000, and according to the research, stronger monsters generate higher-class energy crystals in their bodies.";
    		next;
    		mes "[Reno]";
    		mes "The Research Team decided to collect Energy Crystals by giving requests to adventurers, with appropriate rewards. That enables us to collect better and be more ^FF0000efficient^000000.";
    		next;
    		mes "[Reno]";
    		mes "Energy Crystals, accumulated through hunting monsters by my request, shall be used for my research. ^0000FFSome of them are planned to be returned to adventurers.^000000";
    		next;
    		mes "[Reno]";
    		mes "Adventurers can use collected Energy Crystals for ^FF0000upgrading equipments^000000 through me.";
    		next;
    		mes "[Reno]";
    		mes "If it works well, it seems to be good for both ECRA and adventurers.";
    		close;
    	case 2:
    		mes "[Reno]";
    		mes "The hunting quests are ranked by monster level and difficulty. The ranges are lower, intermediate, high quests and can only be taken once per day.";
    		next;
    
    		setarray .@quest_status[0],
    			isbegin_quest(5162) + isbegin_quest(5163) + isbegin_quest(5164) + isbegin_quest(5165) + isbegin_quest(5166) + isbegin_quest(5167) + isbegin_quest(5168),
    			isbegin_quest(5170) + isbegin_quest(5171) + isbegin_quest(5172) + isbegin_quest(5173),
    			isbegin_quest(5175) + isbegin_quest(5176) + isbegin_quest(5177) + isbegin_quest(5178) + isbegin_quest(5179) + isbegin_quest(5180) + isbegin_quest(5181) + isbegin_quest(5182);
    		setarray .@quest_index[0],5161,5169,5174;
    
    		set .@select, select("Lower level hunting [61-80]:Intermediate level hunting [80-99]:High level hunting [90 and up]:Cancel my current quest.") - 1;
    		if (.@select < 3) {
    			setarray .@min_level[0],60,80,90,100;
    			if (BaseLevel < .@min_level[.@select]) {
    				mes "[Reno]";
    				mes "I am sorry but the request for the "+.@type$[.@select]+" collection is only available for those level "+.@min_level[.@select]+" and higher. You do not seem to be capable of carrying out this request.";
    				close;
    			}
    			if (.@quest_status[.@select]) {
    				mes "[Reno]";
    				mes "You seem to be under the other request of "+.@type$[.@select]+" collection. If the quest seems to be too hard... how about you ^FF0000give up on the request^000000?";
    				close;
    			}
    			set .@playtime, checkquest(.@quest_index[.@select],PLAYTIME);
    			if (.@playtime == 0 || .@playtime == 1) {
    				mes "[Reno]";
    				mes "Currently waiting for the "+.@type$[.@select]+" collection commission. Tasks in each collection can only be completed once per day."; //custom translation
    				close;
    			}
    			mes "[Reno]";
    			mes "You selected to hunt a monster from the "+.@type$[.@select]+" collection. After hunting these monsters you will receive "+((.@features_iRO)?"10 ":"")+"^0000FF"+.@crystal$[.@select]+" Energy Crystals^000000 when you return to me.";
    			next;
    			mes "[Reno]";
    			mes "Please select the monster that you think you can easily hunt from the list.";
    			next;
    			switch (.@select) {
    			case 0:
    				set .@quest, select(
    					"[Lower class] Requiem",
    					"[Lower class] Bathory",
    					"[Lower class] Spring Rabbit",
    					"[Lower class] Sleeper",
    					"[Lower class] Evil Druid",
    					"[Lower class] Ground Petite",
    					"[Lower class] Clock"
    				);
    				break;
    			case 1:
    				set .@quest, select(
    					"[Intermediate class] Siroma",
    					"[Intermediate class] Dark Priest",
    					"[Intermediate class] Stapo",
    					"[Intermediate class] Solider"
    				);
    				break;
    			case 2:
    				set .@quest, select(
    					"[Advanced] Desert Wolf",
    					"[Advanced] Medusa",
    					"[Advanced] Pinguicula",
    					"[Advanced] Majoruros",
    					"[Highest] Raydric",
    					"[Highest] Naga",
    					"[Highest] Ancient Mummy",
    					"[Highest] Ancient Mimic"
    				);
    				if (.@quest > 4 && BaseLevel < .@min_level[3]) {
    					mes "[Reno]";
    					mes "I am sorry but the request for the most advanced collection is only available for those level "+.@min_level[3]+" and higher. You do not seem to be capable of carrying out this request.";
    					close;
    				}
    				break;
    			}
    			setquest .@quest_index[.@select] + .@quest;
    			mes "[Reno]";
    			mes "The request for "+.@type$[.@select]+" collection monsters has been issued. Please check the details on the issued document.";
    			close;
    		} else {
    			setarray .@quest_count[0],7,4,8;
    			for (set .@i,0; .@i<3; set .@i,.@i+1) {
    				if (.@quest_status[.@i]) {
    					mes "[Reno]";
    					mes "You are currently under the request of the "+.@type$[.@i]+" collection. If you give up now, all your history will be lost. Do you really want to give up?";
    					next;
    					set .@erase_quest, select("Yes:No");
    					switch (.@erase_quest) {
    					case 1:
    						for (set .@quest,.@quest_index[.@i]+1; .@quest<=.@quest_index[.@i]+.@quest_count[.@i]; set.@quest,.@quest+1) {
    							if (isbegin_quest(.@quest))
    								erasequest .@quest;
    						}
    						break;
    					case 2:
    						break;
    					}
    				}
    			}
    			switch (.@erase_quest) {
    			case 0:
    				mes "[Reno]";
    				mes "You are not under any request.";
    				close;
    			case 1:
    				mes "[Reno]";
    				mes "The written request for you has been withdrawn.";
    				close;
    			case 2:
    				mes "[Reno]";
    				mes "Please keep up on it.";
    				close;
    			}
    		}
    	case 3:
    		mes "[Reno]";
    		mes "Do you want to accumulate Energy Crystals inside of your body to receive a buff?";
    		next;
    		set .@select, select("Accumulating Energy Crystals?:Accumulate Rough Energy Crystal:Accumulate Purified Energy Crystal:Accumulate High Energy Crystal");
    		switch (.@select) {
    		case 1:
    			mes "[Reno]";
    			mes "Energy Crystals are accumulated in your body when you hunt the monsters we ask you to.";
    			next;
    			mes "[Reno]";
    			mes "Our research shows that some methods enable humans to accumulate the energy crystals inside of the body in the form of a buff.";
    			next;
    			mes "[Reno]";
    			mes "If you spend about 3 hours, you will be able to gain a small amount of Energy Crystals. So do you want to receive the buff?";
    			close;
    		case 2:
    			set .@playtime, checkquest(5225,PLAYTIME);
    			set .@quest,5222;
    			set .@min_level,60;
    			set .@rate,1;
    			set .@buff, SC_QUEST_BUFF1;
    			break;
    		case 3:
    			set .@playtime, checkquest(5226,PLAYTIME);
    			set .@quest,5223;
    			set .@min_level,80;
    			set .@rate,2;
    			set .@buff, SC_QUEST_BUFF2;
    			break;
    		case 4:
    			set .@playtime, checkquest(5227,PLAYTIME);
    			set .@quest,5224;
    			set .@min_level,90;
    			set .@rate,3;
    			set .@buff, SC_QUEST_BUFF3;
    			break;
    		}
    		if (.@playtime == 0 || .@playtime == 1) {
    			mes "[Reno]";
    			mes "Were you successful? While storing other Energy Crystals will not have much effect on your body, storing the same one may cause you harm."; //custom translation
    			close;
    		}
    		if (BaseLevel < .@min_level) {
    			mes "[Reno]";
    			mes "With a body like that, you can't accumulate "+.@crystal$[.@select-2]+" Energy Crystals. You must be level "+.@min_level+" or your body will be harmed in the process."; //custom translation
    			close;
    		}
    		if (.@energy_buf00) {
    			mes "[Reno]";
    			mes "Accumulating Energy Crystal has already begun. I am sorry but it is impossible to accumulate two different types of Energy Crystals at a time.";
    			close;
    		}
    		if (isbegin_quest(.@quest) > 0) {
    			erasequest .@quest;
    			mes "[Reno]";
    			mes "An error has occurred. Please forgive me for the inconvenience."; //custom translation
    			close;
    		}
    		mes "[Reno]";
    		mes "It takes 3 hours for your body to accumulate 2 to 4 "+.@crystal$[.@select-2]+" Energy Crystals. Do you want to start?";
    		next;
    		if(select("Cancel:Start") == 1) {
    			mes "[Reno]";
    			mes "I recommend that you try to ccumulate Energy Crystal when you have time.";
    			close;
    		}
    		mes "[Reno]";
    		mes "You might feel a slight tingle.";
    		next;
    		specialeffect2 EF_BASH3D;
    		percentheal .@rate * -5,0;
    		//consumeitem ??; //Keep_Connection_[.@rate]
    		sc_start .@buff,10800000,.@rate;	// Atk/Matk + 5*rate (+5, +10, +15)
    		setquest .@quest;
    		mes "[Reno]";
    		mes "- Puck -";
    		next;
    		mes "[Reno]";
    		mes "Everything seems to be in order. Let's start accumulating "+.@crystal$[.@select-2]+" Energy Crystals. Remember to come back to me after 3 hours to get the "+.@crystal$[.@select-2]+" Energy Crystals.";
    		close;
    	case 4:
    		mes "[Reno]";
    		mes "Do you want to compress the Energy Crystals?";
    		next;
    		switch(select("What does compressing do?:Compress Rough to Purified Crystal:Compress Purified to High Crystal")) {
    		case 1:
    			mes "[Reno]";
    			mes "Are you curious about Energy Crystal compression? I can compress lower level Energy Crystals into higher ones.";
    			next;
    			mes "[Reno]";
    			mes "Here is what I can make.";
    			mes "^FF000010 Rough Energy Crystals^000000 = ^FF00001 Purified Energy Crystal^000000";
    			mes "^FF00005 Purified Energy Crystals^000000 = ^FF00001 High Energy Crystal^000000";
    			next;
    			mes "[Reno]";
    			mes "If you need higher grade Energy Crystals, this is a good way to get them since the lower ones are easier to get.";
    			close;
    		case 2:
    			set .@crystal,6623;  //Rough_Energy_Crystal
    			set .@crystal_,6624; //Purified_Energy_Crystal
    			set .@rate,10;
    			break;
    		case 3:
    			set .@crystal,6624;  //Purified_Energy_Crystal
    			set .@crystal_,6625; //High_Purity_Energy_Xtal
    			set .@rate,5;
    			break;
    		}
    		set .@crystal_count, countitem(.@crystal);
    		set .@crystal_get, .@crystal_count / .@rate;
    		mes "[Reno]";
    		mes sprintf("^FF0000%d %s^000000 = ^FF00001 %s^000000",.@rate,getitemname(.@crystal),getitemname(.@crystal_));
    		next;
    		mes "[Reno]";
    		mes sprintf("%d %ss will be compressed to %d %ss.",.@crystal_count,getitemname(.@crystal),.@crystal_get,getitemname(.@crystal_));
    		mes "Do you want to compress?";
    		next;
    		if(select("Compress:Stop") == 2) {
    			mes "[Reno]";
    			mes "Okay, please contact if you need me in the future.";
    			close;
    		}
    		while(1) {
    			if (.@crystal_count >= .@rate) {  //custom translation
    				delitem .@crystal,.@rate;
    				getitem .@crystal_,1;
    				set .@crystal_count, countitem(.@crystal);
    				set .@crystal_get, .@crystal_count / .@rate;
    				mes "[Reno]";
    				mes "The compression was very successful.";
    				mes "There are "+.@crystal_count+" Energy Crystals left, which can compress into "+.@crystal_get+" Energy Crystals. Do you want to continue?";
    				next;
    				if(select("Compress:Stop") == 2)
    					break;
    			} else {
    				mes "[Reno]";
    				mes "You don't have enough "+getitemname(.@crystal)+"s.";
    				next;
    				break;
    			}
    		}
    		mes "[Reno]";
    		mes "Compression completed.";
    		close;
    	case 5:
    		disable_items;
    		mes "[Reno]";
    		mes "Do you want to exchange Energy Crystals for equipment? Please select the type of Energy Crystal that you wish to exchange.";
    		next;
    		setarray .@crystals[0], countitem(6623), countitem(6624), countitem(6625);
    		switch(select("See Equipment List:["+.@crystals[0]+"] Rough Energy Crystal:["+.@crystals[1]+"] Purified Energy Crystal:["+.@crystals[2]+"] High Energy Crystal")) {
    		case 1:
    			mes "[Reno]";
    			mes "This is the brochure regarding the equipment upgrade that our Energy Crystal research association provides. Please take a look around.";
    			close2;
    			readbook 11060,1; //Energy_Xtal_Combi_Book
    			end;
    
    		// Variable descriptions
    		// .@crystal     : Energy Crystal used
    		// .@materials[] : equipment to upgrade
    		// .@showslot[]  : display slots with equipment name (-1 to disable)
    		// .@costs[]     : amount of Energy Crystals needed
    		// .@rewards[]   : upgraded equipment
    		case 2:
    			set .@crystal,6623; //Rough_Energy_Crystal
    			setarray .@materials[0], 5027, 5045, 5069, 5003, 2214, 5167, 5168, 5043;
    			setarray .@showslot[0],    -1,   -1,   -1,   -1,   -1,    1,    1,   -1;
    			setarray .@costs[0],      100,  100,  100,  100,  100,  100,  100,  100;
    			setarray .@rewards[0],  18760,18761,18762,18763,18764,18769,18770,18771;
    			break;
    		case 3:
    			set .@crystal,6624; //Purified_Energy_Crystal
    			setarray .@materials[0], 2296, 5014, 5096, 2292,2615, 2355,2116, 2420, 2521, 5125;
    			setarray .@showslot[0],    -1,   -1,   -1,   -1,  -1,    1,   1,    1,    1,    1;
    			setarray .@costs[0],      200,  200,  200,  200, 200,  100, 100,  100,  100,  100;
    			setarray .@rewards[0],  18772,18773,18774,18775,2956,15068,2183,22015,20710,18776;
    			break;
    		case 4:
    			set .@crystal,6625; //High_Purity_Energy_Xtal
    			setarray .@materials[0], 5019, 5162, 5025, 5022, 5353, 2423,2678,2679, 2355,2116, 2420, 2521, 5125;
    			setarray .@showslot[0],    -1,    1,   -1,    0,    1,   -1,  -1,  -1,    1,   1,    1,    1,    1;
    			setarray .@costs[0],      300,  300,  300, 1000,  100,  300, 300, 300,   20,  20,   20,   20,   20;
    			setarray .@rewards[0],  18765,18768,18766,18767,18767,22014,2957,2958,15068,2183,22015,20710,18776;
    			break;
    		}
    		mes "[Reno]";
    		mes "Please select the equipment to exchange for "+getitemname(.@crystal)+"s.";
    		next;
    		set .@crystal_count, countitem(.@crystal);
    		set .@menu$,"";
    		for (set .@i,0; .@i<getarraysize(.@materials); set .@i,.@i+1) {
    			set .@item_name$, getitemname(.@materials[.@i]) + ((.@showslot[.@i] > -1)?"["+.@showslot[.@i]+"]":"");
    			set .@menu$, .@menu$ + sprintf("%s (%d/%d):",.@item_name$,.@crystal_count,.@costs[.@i]);
    		}
    		set .@index, select(.@menu$) - 1;
    		set .@material, .@materials[.@index];
    		set .@item_name$, getitemname(.@material) + ((.@showslot[.@index] > -1)?"["+.@showslot[.@index]+"]":"");
    		set .@cost, .@costs[.@index];
    		set .@reward, .@rewards[.@index];
    
    		//custom translations
    		if (.@material == 2615) {  // Special case: Safety Ring
    			if (countitem(2615) < 1 || countitem(2621) < 1 || countitem(2622) < 1 || countitem(2624) < 1 ||
    			    countitem(2625) < 1 || countitem(2623) < 1 || countitem(2626) < 1 || countitem(.@crystal) < .@cost) {
    				mes "[Reno]";
    				mes "The materials to make a Safety Ring[1] are insufficient. Please check your inventory.";
    				close;
    			}
    			mes "[Reno]";
    			mes "Before upgrading your Safety Ring, please listen to these ^FF0000precautions^000000.";
    			next;
    			mes "[Reno]";
    			mes "^FF0000In addition to the Safety Ring, all refinements and cards of the required materials will also disappear.^000000";
    			next;
    		} else {
    			if (countitem(.@material) < 1 || countitem(.@crystal) < .@cost) {
    				mes "[Reno]";
    				mes "The materials are insufficient. Please check your materials.";
    				close;
    			}
    			mes "[Reno]";
    			mes "Before upgrading your equipment, please listen to these ^FF0000precautions^000000.";
    			next;
    			mes "[Reno]";
    			mes "^FF0000When using Energy Crystals to upgrade equipment, all previous refinements, enchantments, and cards will be lost.^000000";
    			next;
    		}
    		mes "[Reno]";
    		mes "Are you familiar with the ^FF0000precautions^000000?";
    		next;
    		if(select("I am.:No.") == 2) {
    			mes "[Reno]";
    			mes "Okay. Next time, then.";
    			close;
    		}
    		mes "[Reno]";
    		mes "Then let's begin to upgrade "+.@item_name$+".";
    		next;
    		specialeffect2 EF_REPAIRWEAPON;
    		progressbar "ffff00",2;
    		delitem .@material,1;
    		if (.@material == 2615) {
    			delitem 2621,1; //Ring_
    			delitem 2622,1; //Earring_
    			delitem 2624,1; //Glove_
    			delitem 2625,1; //Brooch_
    			delitem 2623,1; //Necklace_
    			delitem 2626,1; //Rosary_
    		}
    		delitem .@crystal,.@cost;
    		getitem .@reward,1;
    		mes "[Reno]";
    		mes "The upgrade was successful. Your Energy Crystals will help our research greatly.";
    		close;
    	case 6:
    		mes "[Reno]";
    		mes "Do you want to donate Energy Crystals to get a random new headgear?";
    		next;
    		switch(select("Donate Energy Crystals?:Donate 300 Rough Energy Crystals.:Donate 600 Purified Energy Crystals.:Donate 900 High Energy Crystals.")) {
    		case 1:
    			mes "[Reno]";
    			mes "We are collecting Energy Crystals so that we can research more combinations of headgears for adventurers.";
    			next;
    			mes "[Reno]";
    			mes "Thanks to the support of adventurers we can use these Energy Crystals to further our research.";
    			next;
    			mes "[Reno]";
    			mes "So we receive a minimum of 300 Rough Energy Crystals, 600 Purified Energy Crystals, and 900 High Energy Crystals.";
    			if (!.@features_iRO) {
    				next;
    				mes "[Reno]";
    				mes "You may feel that this is a burden, but for the sake of our research, please continue."; //custom translation
    				close;
    			}
    			mes "For the donation, I'll give you a random new headgear.";
    			next;
    			mes "[Reno]";
    			mes "300 Rough Energy Crystals";
    			mes "- New Mage Hat";
    			mes "- New Magician Hat";
    			mes "- New Kitsune Mask";
    			mes "- New Joker Jester";
    			mes "- New Bunny Band";
    			mes "- New Munak Hat";
    			mes "- New Bongun Hat";
    			mes "- New Phantom Opera Mask";
    			next;
    			mes "[Reno]";
    			mes "600 Purified Energy Crystals";
    			mes "- Good Binoculars";
    			mes "- Good Fin Helm";
    			mes "- Good Assassin Mask";
    			mes "- Good Welding Mask";
    			mes "- Good Safety Ring";
    			mes "- Good Angelic Protection";
    			mes "- Good Angelic Guard";
    			mes "- Good Angelic Cardigan";
    			mes "- Good Angel's Reincarnation";
    			next;
    			mes "[Reno]";
    			mes "900 High Energy Crystals";
    			mes "- Enhanced Corsair";
    			mes "- Enhanced Bone Helm";
    			mes "- Enhanced Helm of Angel";
    			mes "- Enhanced Variant Shoes";
    			mes "- Enhanced Ring of Flame Lord";
    			mes "- Enhanced Ring of Resonance";
    			close;
    		case 2:
    			if (countitem(6623) < 300) {
    				mes "[Reno]";
    				mes "Thank for your support, but we need 300 Rough Energy Crystals.";
    				close;
    			}
    			delitem 6623,300; //Rough_Energy_Crystal
    			set .@r, rand(1,17);
    			     if (.@r <= 2)  getitem 18760,1; //Remodel_Wizardry_Hat
    			else if (.@r <= 4)  getitem 18761,1; //Remodel_Magician_Hat
    			else if (.@r <= 6)  getitem 18762,1; //Remodel_Mask_Of_Fox
    			else if (.@r <= 8)  getitem 18763,1; //Remodel_Joker_Jester
    			else if (.@r <= 10) getitem 18764,1; //Remodel_Bunny_Band
    			else if (.@r <= 13) getitem 18769,1; //Remodel_Munak_Turban
    			else if (.@r <= 16) getitem 18770,1; //Remodel_Bongun_Hat
    			else                getitem 18771,1; //Remodel_Opera_Mask
    			break;
    		case 3:
    			if (countitem(6624) < 600) {
    				mes "[Reno]";
    				mes "Thank for your support, but we need 600 Purified Energy Crystals.";
    				close;
    			}
    			delitem 6624,600; //Purified_Energy_Crystal
    			set .@r, rand(1,18);
    			     if (.@r <= 3)  getitem 18772,1; //Improved_Binoculars
    			else if (.@r <= 6)  getitem 18773,1; //Improved_Fin_Helm
    			else if (.@r <= 9)  getitem 18774,1; //Improved_Assassin_Mask
    			else if (.@r <= 12) getitem 18775,1; //Improved_Welding_Mask
    			else if (.@r <= 13) getitem 2956,1;  //Safety_Ring_
    			else if (.@r <= 14) getitem 15068,1; //Im_Angel's_Protection
    			else if (.@r <= 15) getitem 2183,1;  //Impr_Angel's_Safeguard
    			else if (.@r <= 16) getitem 22015,1; //Impr_Angel's_Arrival
    			else if (.@r <= 17) getitem 20710,1; //Impr_Angel's_Warmth
    			else                getitem 18776,1; //Improved_Kiss_Of_Angel
    			break;
    		case 4:
    			if (countitem(6625) < 900) {
    				mes "[Reno]";
    				mes "Thank for your support, but we need 900 High Energy Crystals.";
    				close;
    			}
    			delitem 6625,900; //High_Purity_Energy_Xtal
    			set .@r, rand(1,33);
    			     if (.@r <= 10) getitem 18765,1; //Enhanced_Corsair
    			else if (.@r <= 20) getitem 18768,1; //Enhanced_Bone_Helm
    			else if (.@r <= 25) getitem 18766,1; //Enhanced_Helm_Of_Angel
    			else if (.@r <= 30) getitem 22014,1; //Enhanced_Variant_Shoes
    			else if (.@r <= 31) getitem 2957,1;  //Good_Ring_Of_Flame_Lord
    			else                getitem 2958,1;  //Good_Ring_Of_Resonance
    			break;
    		}
    		mes "[Reno]";
    		mes "Thank you very much. The Energy Crystals you donated will be greatly helpful for our research. This is your reward for your donation."; //custom translation
    		close;
    	case 7:  // iRO only
    		mes "[Reno]";
    		mes "This is the brochure regarding the equipment upgrade that our Energy Crystal research association provides. Please take a look around.";
    		close2;
    		readbook 11060,1; //Energy_Xtal_Combi_Book
    		end;
    	}
    
    //callsub L_CheckHunting,<quest index>,<start quest>,<number of quests>,"<type>",<reward id>,<reward amount>;
    L_CheckHunting:
    	for (set .@quest,getarg(0)+1; .@quest<getarg(1)+getarg(2); set .@quest,.@quest+1) {
    		if (checkquest(.@quest,HUNTING) == 2) {
    			mes "[Reno]";
    			mes "Finished "+getarg(3)+" collection hunting quest.";
    			next;
    			setquest getarg(0);
    			erasequest .@quest;
    			getitem getarg(4),getarg(5);
    			mes "You receive "+getarg(5)+" "+getitemname(getarg(4))+"s as the "+getarg(3)+" collection reward.";
    			close;
    		}
    	}
    	return;
    }
    
    
    Thanks!
  2. I just used Job Manual at my server, (Item ID: 14592) and upon using it my game crashed. Whenever I select that character again, the game crashes again. I don't see any errors on the rAthena exes. Is there a way I can eliminate a buff or that item using the dabase or something in my client? Other characters log in and can play just fine without crashes.

     

    Help would be greatly appreciated!


    nvm I removed the buff by checking out the SC_data sql part of my databse

  3. From a previous thread I was helped on how to solve a few of the issues in connecting to my own server, but I've run into another problem, which is being rejected from the server(3) after creating a character and trying to enter the world.

     

    My mmo.h has packet version 20130807 and I believe my client Ragexe is also the same.

     

    There seems to be no weird messages in charserv.exe

     

    [info]: sd->version = 45
    [info]: Loading Char Data (2000000)
    [info]: Loading Char Data (2000000)
    [info]: Char load request (150000)
    [info]: storage load complete from DB - id: 2000000 (total: 0)
    [info]: Loaded char (150000 - Wulfen):  status memo inventory cart storage 0 ski
    lls friends hotkeys mercenary
    [info]: Selected char: (Account 2000000: 0 - Wulfen)
    [info]: Subnet check [177.xx.xxx.14]: WAN
     
     
    My clientinfo.xml
     
      <?xml version="1.0" encoding="euc-kr" ?>
    - <clientinfo>
      <desc>Ragnarok Client Information</desc>
      <servicetype>korea</servicetype>
      <servertype>primary</servertype>
    - <connection>
      <display>Local</display>
      <address>177.xxx.xx.14</address>
      <port>6900</port>
      <version>45</version>
      <langtype>1</langtype>
      <registrationweb>www.ragnarok.com</registrationweb>
    - <loading>
      <image>loading00.jpg</image>
      <image>loading01.jpg</image>
      <image>loading02.jpg</image>
      <image>loading03.jpg</image>
      <image>loading04.jpg</image>
      </loading>
      </connection>
      </clientinfo>
     
     
     
     
    Any help would be greatly appreciated!

     


    EDIT: I actually found an error  in mapserv.bat it says

     

    [info]: clif_parse: Disconnecting session #3 with unknown packet version (p:0x50
    31,l:19).
     
     
    Hope this isolates the issue!
  4. Okay I feel like im very close to this now:

     

    Client runs without errors, goes into the first screen that says:
     

    "Possible escape area", and I select local

     

    then it asks for my id and pass, which I input, and I can see on login-server.exe that it says

     

    [status]: Connection of the account 'wulfen' accepted.

     

    And instantly after: 

     

     

    [info]: Closed connection from '192.168.0.100'.

     

    Then I select rAthena(0) and then I get a "Failed to Connect to Server Message"

     

    My clientinfo.xml looks like this:

     

      <?xml version="1.0" encoding="euc-kr" ?>
    - <clientinfo>
      <desc>Ragnarok Client Information</desc>
      <servicetype>korea</servicetype>
      <servertype>primary</servertype>
    - <connection>
      <display>Local</display>
      <address>192.168.0.100</address>
      <port>6900</port>
      <version>46</version>
      <langtype>1</langtype>
      <registrationweb>www.ragnarok.com</registrationweb>
    - <loading>
      <image>loading00.jpg</image>
      <image>loading01.jpg</image>
      <image>loading02.jpg</image>
      <image>loading03.jpg</image>
      <image>loading04.jpg</image>
      </loading>
      </connection>
      </clientinfo>

    .

     

    Any suggestions?

  5. Okay so I'm just going to enumerate the steps I'm taking since I think its best to start from scratch.

     

    1 - Extract the Clean RO folder once more.

    2 - Update it with rsu-kro-renewal-lite.exe

    3 - Download 2013-08-07a 

    4 - Download Nemo, select recommended patches, name DATA.INI and apply.

    5 - There's no data folder on the clean RO folder, so I'll have to create one and download everything from the translation folder.

    6 - Edit clientinfo.xml

    7 - Then copy the patched exe into the RO folder and run it.

     

    Does that sound about right or am I missing a step?

  6. Okay well it seems its moving forward but still more issues:

     

    I get now a message that says:

     

    lua files\quest\Quest_function

     

    [string "buf"]:6: bad argument #1 to 'ipairs' (table expected, got nil)

     

    That being said I can press ok and then game will load, with a strange  string of letters and numbers in the lower right corner of the client,  but the intro song plays and it asks "do you agree"? After which I press okay, it waits for a few seconds, and states "Failed to Connect to Server"

     

    Thanks for your continued help

  7. I downloaded Full_kRO_Renewal_20150601.exe from here https://www.nickyzai.com/?p=kro

     

    Sorry I meant to link this as the guide I ussed to create my own client, which I guess is what you meant by that:

     

    http://rathenaguides.blogspot.mx/2014/05/guide-for-making-your-own-ragnarok_14.html

     

    I used a file called 2013-08-14aRagexe.exe.zip and a Diff called 2013-08-14aRagexe.xdiff  and I selected the following items as per the guide: 

     

    - Disable  Ragexe Filename Check
    - Disable HShield
    - Disable Packet Encryption
    - Enable Multiple GRFs
    -@ Bug Fix
    - Ignore Missing File Error
    - Ignore Missing Palette Error
    - Increase Headgear ViewID to 5000
    - Increase Zoom
    - Load ItemInfo.lua before lub
    - Read Data Folder First
    - Read msgstringtable.txt
    - Read questid2display.txt
    - Translate Client In English
    - Use Normal Guild Brackets
    - Use Ragnarok Icon
    - eXtract MsgStringTable.txt
    - eXtract txt file strings

     

    Was that what you meant by patch list?

     

    As for the lub files I ran a bat which converted all lua files into lub files, I am not sure if that's what I needed to do.

     

    I removed the error ignore and i get the following errors:

     

    cannot open sys tem/iteminfo.lua: No such file or directory

    ItemInfo file init

     

    C:My Path\System\Font\RixSquirrel_10.eot (and a bunch of gibberish) 

  8. I'm a complete newbie at this whole server, but I want to set up a private server just for myself, don't want anyone else to connect to it.

     

    I followed the instructions on how to install the server as per

     

    https://rathena.org/wiki/Installation_on_Windows

     

     

    And I started the three servers with the .bat and they all launched succesfully. All I am having problems with is how to connect to my own server.

     

    I followed this guide:

     

    http://rathenaguides.blogspot.mx/2014/05/guide-for-making-your-own-ragnarok.html

     

     

    Followed it to the letter, and when I launch Loki launcher i put in my credentials then nothing happens. Could anyone give me some help here?

     

    I downloaded the Clean RO folder from the pinned thread in this forum.

     

    Assistance would be greatly appreciated!

  9. Hello!

     

    I am fairly new to this whole server creation thing, so I apologize in advance if this question has already been answered, or if I am posting this to the wrong place.

     

    Anyway, I made an offline server which I only want to use for solo play (not intending to bring it online), and I was wondering, how do I remove the weight limit from the server? I've set up mid-decent rates, but it's a pain to have to reach the limit every ten minutes.

     

    I learned that I could use @storage anywhere and that somehow alleviates the problem,but its not the fix I want.

     

    I also tried to get the enlarge weight quest skill #36 #681, but even though I use @questskill and it says its added, I receive nothing.

     

    I'd prefer If I could just simply keep everything in my inventory. Is it possible? 

     

    Help would be greatly appreciated. Thanks!

  10. Greetings! I've recently setup an offline server with the latest source, which I found at

     

    http://rathena.svn.sourceforge.net/svnroot/rathena/trunk/

     

    And I have installed pretty much everything successfully, and I got the latest client from 

     

    http://ratemyserver.net

     

    I also downloaded with SVN a folder with english translation files from:

     

     

    http://svn6.assembla.com/svn/ClientSide/Translation_Project/renewal%20data/

     

    And it seems to have translated most of the game properly. 

     

    The problem is, my skill tree is still not in english, even though I seem to have the skilldesctable2.txt files into my data folder, and by opening manually I can see the actual translations. I there something else I need to do in order to fix this?

     

    Greatly appreciated!

×
×
  • Create New...