Jump to content

meruem

Members
  • Content Count

    52
  • Joined

  • Last visited

Posts posted by meruem


  1. It seems that this forum is dead. I tried asking on different places discord, scriptng etc etc. Coz i dont want to bump this old topic. 

    My only problem is i want the prize only to be given on the first rebirth and not on the next rebirths, 
    Hope someone can help me here.

    Thank you sir @Dastgir  for this wonderful script.


  2. This is my rebirth script

     

    prontera,210,218,6	script	Rebirth NPC	811,{
    function deleteItem;		// Deletes Required Items
    function CheckItemNeed;		// Shows the Required Items
    function getItemReward;		// Gives the Reward
    
    	mes "^11E6D0[Rebirth System]^000000";
    	mes strcharinfo(0)+", How may I help you?";
    	switch( select( "^777777~ Ranking:~ Rebirth:~ Information:~ Reset Stat:~ Cancel"+((getgmlevel()>=.GMLevel)?":~ Reset Ranking":"")+"^000000" ) ) {
    		case 1:
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			mes "Rankings:";
    			query_sql "SELECT `name`,`rebirth_no`,`master_rebirth` FROM `rebirth_system` ORDER BY `master_rebirth` DESC, `rebirth_no` DESC LIMIT "+.list,@name$,@rebirth_no,@master_rebirth;
    			if(getarraysize(@name$)==0){mes "^F20808 No Records Found ^000000"; close;}
    			mes "Format:";
    			mes "^0814F2[Character Name]^000000 - ^B308F2[Rebirths]^000000 - ^B303F2[Master_Rebirth]^000000";
    			for (.@i=0; .@i < getarraysize(@name$); .@i++){
    				mes (.@i+1) +".) ^0814F2["+ @name$[.@i] +"]^000000 - ^B308F2["+ @rebirth_no[.@i] +"]^000000 - ^B303F2["+ @master_rebirth[.@i] +"]^000000";
    			}
    			deletearray @name$[0],.list; deletearray @rebirth_no[0],.list; deletearray @master_rebirth[0],.list;
    			close;
    		case 2:
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			if (.MasterRebirth>0 && rebirth_no >= .MasterRebirth){
    				mes "You can Do Master Rebirth too.";
    				mes "Master rebirth allows you to earn some more powerful items.";
    				mes "On doing Master Rebirth, you will lose "+ .MasterRebirth +" Rebirths";
    				if (.MaxRebirth[1]){ mes "You can do "+ .MaxRebirth[1] +" Master Rebirths Only"; }
    				@rebirth_type = select("Do Standard Rebirth:Do Master Rebirth");
    				next;
    				mes "^11E6D0[Rebirth System]^000000";
    			}else{
    				@rebirth_type = 1;
    			}
    			if ((@rebirth_type==1 && .MaxRebirth[0] > 0 && rebirth_no >= .MaxRebirth[0]) || (@rebirth_type==2 && .MaxRebirth[1] > 0 && master_rebirth >= .MaxRebirth[1]) ){
    				mes "You have Reached the Maximum Number of "+ ( (@rebirth_type==2)?"Master":"" ) +" Rebirths("+ ( (@rebirth_type==2)?master_rebirth:rebirth_no ) +")";
    				close;
    			}
    			.@eac = eaclass();
    			.@can_rebirth = false;
    			for (.@i=0; .@i<getarraysize(.add_jobs); .@i++){
    				if (Class==.add_jobs[.@i]){
    					.@can_rebirth = true;
    					break;
    				}
    			}
    			if (!.@can_rebirth){
    				.@can_rebirth = true;
    				setarray .@jobcheck[0],EAJL_2,EAJL_2_1,EAJL_2_2,EAJL_UPPER,EAJL_BABY,EAJL_THIRD;
    				for (.@i = 0; .@i < getarraysize(.@jobcheck); .@i++)
    					if ((.job_rebirth&.@jobcheck[.@i])){
    						if (!(.@eac&.@jobcheck[.@i])){
    							if ((.@i == 1 || .@i == 2) && .@pass == true)
    								continue;
    							.@can_rebirth = false;
    							break;
    						}
    						if (.@i == 0)
    							.@pass = true;
    					}
    						
    			}
    			if( BaseLevel < 500 || JobLevel < 120 ) {
    				mes "You must be Max BaselLevel/Joblevel to Rebirth.";
    				close;
    			}else if( !.@can_rebirth ){
    				if (.job_rebirth&EAJL_BABY)
    					.@job$ = "Baby ";
    				if (.job_rebirth&EAJL_THIRD)
    					.@job$ = .@job$+"Third";
    				else if (.job_rebirth&EAJL_2_1 || .job_rebirth&EAJL_2_2)
    					.@job$ = .@job$+"Second";
    				else if (.job_rebirth&EAJL_UPPER)
    					.@job$ = .@job$+"1-1";
    				mes "You need to be "+ ((.job_rebirth&EAJL_UPPER)?"Trans":"") +" "+ .@job$ +" Job";
    				close;
    			}
    
    			mes "Items need :";
    			CheckItemNeed(@rebirth_type);
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			deleteItem(@rebirth_type);
    			break;
    		case 3:
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			switch(.reset_opt){
    				case 1:
    				case 2:
    					mes "Your BaseLevel,JobLevel"+ ((.reset_opt==1)?",Skills,StatPoints And Status":" And SkillPoints") +" will be Reset.";
    					break;
    				case 3:	
    				case 4:				
    					mes "You will be Changed to "+ ((.reset_opt==3)?"Base":"Job") +"Level 1 with JobLevel and Skills/Status Unaffected";
    					break;
    			}
    			if (.job_rebirth&EAJL_BABY)
    				.@job$ = "Baby ";
    			if (.job_rebirth&EAJL_THIRD)
    				.@job$ = .@job$+"Third";
    			else if (.job_rebirth&EAJL_2_1 || .job_rebirth&EAJL_2_2)
    				.@job$ = .@job$+"Second";
    			else if (.job_rebirth&EAJL_UPPER)
    				.@job$ = .@job$+"1-1";
    			mes "You Should be "+ ((.job_rebirth&EAJL_UPPER)?"Trans":"") +" "+ .@job$ +" Job to be able to Rebirth.";
    			if (.job_rebirth&EAJL_UPPER)
    				.@trans = 1;
    			if (.StatusN){ mes "You Get "+ .StatusN +" Extra Status point for every Rebirth"; }
    			if (.ResetJob==2 || (.ResetJob==1 && !.@trans) || .@can_rebirth){ mes "You will become Novice Upon rebirth"; }
    			else if ((.ResetJob==1 && .@trans) || (.ResetJob==3)){ mes "You will become High Novice Upon rebirth"; }
    			else{ mes "Your Job will not change upon rebirth"; }
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			mes "For Rebirth, you may need some items.";
    			CheckItemNeed(1,1);
    			if (.MasterRebirth > 0){
    				next;
    				mes "^11E6D0[Rebirth System]^000000";
    				mes "Upon Reaching "+ .MasterRebirth +" Rebirths, you can do Master Rebirth";
    				if (.MaxRebirth[1]){ mes "You can do "+ .MaxRebirth[1] +" Master Rebirths Only"; }
    				if (.StatusM){ mes "You Get "+ ((.StatusM)-(.StatusN * .MasterRebirth)) +" Extra Status point than Normal Rebirth for every Master Rebirth"; }
    				mes "Master Rebirth Allows you to earn some powerful items.";
    				next;
    				mes "^11E6D0[Rebirth System]^000000";
    				mes "For Master Rebirth, you may need some items.";
    				CheckItemNeed(2,1);
    			}
    			close;
    		case 4:
    			mes "[Reset Stats]";
    			mes "Reset Stats: "+ .ResetStat +"z";
    			mes "Continue?";
    			if (select("~ Yes, Reset Stat", "No, I don't want to reset") == 2)
    				close;
    			next;
    			mes "[Reset Stats]";
    			if (Zeny < .ResetStat) {
    				mes "Sorry, you don't have enough Zeny.";
    				close;
    			}
    			Zeny -= .ResetStat;
    			resetstatus;
    			StatusPoint = StatusPoint + (.StatusM * master_rebirth) + (.StatusN * rebirth_no);
    			mes "There you go!";
    			close;
    		case 5:
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			mes "Bye.";
    			close;
    		case 6:
    			next;
    			mes "^11E6D0[Rebirth System]^000000";
    			mes "Are you sure you want to reset Ranking?";
    			mes "Once done, Action cannot be reverted.";
    			if (select("Yes, Reset the Ranking:No, Let me think again.")==2){
    				next;
    				mes "^11E6D0[Rebirth System]^000000";
    				mes "Thank you for using my service.";
    				close;
    			}
    			next;
    			query_sql "TRUNCATE TABLE `rebirth_system`";
    			query_sql "DELETE FROM `char_reg_num_db` WHERE `key`='rebirth_no' OR `key`='master_rebirth'";
    			query_sql "SELECT `account_id` from `char` where `online`=1", .@account_id;
    			for (.@i=0; .@i < getarraysize(.@account_id); .@i++){
    				if (attachrid(.@account_id[.@i])){
    					if (rebirth_no){ rebirth_no = 0; }
    					if (master_rebirth){ master_rebirth = 0; }
    				}
    			}
    			deletearray .@account_id[0],getarraysize(.@account_id);
    			mes "^11E6D0[Rebirth System]^000000";
    			mes "Ranker Reset.";
    			close;
    			
    	}
    	if (@rebirth_type==1){rebirth_no += 1;}
    	else{master_rebirth += 1; rebirth_no = rebirth_no - .MasterRebirth; }
    	switch(.ResetJob){
    		case 1: 
    			if (!Upper){
    				jobchange Job_Novice; break;
    			}
    		case 3: jobchange Job_Novice_High; break;
    		case 2: jobchange Job_Novice; break;
    		default: break;
    	
    	}
    	//set BaseLevel,200;
    	if (.reset_ss&1){resetstatus;}
    	if (.reset_ss&2){resetskill;}
    	query_sql "INSERT INTO `rebirth_system` (`char_id`,`name`,`rebirth_no`,`master_rebirth`) VALUES ("+getcharid(0)+",'"+strcharinfo(0)+"',"+rebirth_no+","+master_rebirth+") ON DUPLICATE KEY UPDATE `rebirth_no`="+rebirth_no+", `master_rebirth`="+master_rebirth+" ";
    	getItemReward(@rebirth_type);
    	if (.StatusN || .StatusM){
    		StatusPoint = StatusPoint + (.StatusM * master_rebirth) + (.StatusN * rebirth_no);
    	}
    	mes "^11E6D0[Rebirth System]^000000";
    	mes "You have taken Rebirth.";
    	if (@rebirth_type==1){
    		announce "[ Rebirth system ] : "+ strcharinfo(0) +" rebirth for the "+ rebirth_no +" time !", 0;
    	}else{
    		announce "[ Rebirth system ] : "+ strcharinfo(0) +" has done Master rebirth for "+ master_rebirth +" time !", 0;
    	}
    	close;
    
    function deleteItem {
    	for (.@i=0 ; .@i < .size_item; .@i += 3 ){
    		if ( !( getarg(0)&(.item_req[.@i+2]) ) ){continue;}
    		delitem .item_req[.@i], ( .item_req[ .@i+1 ]*(rebirth_no+1) );
    	}
    	return;
    }
    
    function CheckItemNeed {
    	if ( Weight > 200000 ) {
    		mes "You must reduce your weight to 2000 to do Rebirth.";
    		close;
    	}
    	.@error = 0;
    	for (.@i=0 ; .@i < .size_item; .@i += 3 ){
    		if ( !( getarg(0)&(.item_req[.@i+2]) ) ){continue;}
    		if ( countitem( .item_req[.@i] ) < .item_req[ .@i+1 ]*(rebirth_no+1) ) {
    			mes "You Require [^ff0000"+countitem( .item_req[.@i] )+" / "+ .item_req[.@i+1]*(rebirth_no+1) +"^000000] ^112FD9"+getitemname( .item_req[.@i] )+"^000000";
    			.@error = 1;
    		}else{
    			mes "You Require [^00ff00"+countitem( .item_req[.@i] )+" / "+ .item_req[.@i+1]*(rebirth_no+1) +"^000000] ^112FD9"+getitemname( .item_req[.@i] )+"^000000";
    		}
    	}
    	if (.@error && !getarg(1,0)){close;}
    	
    	return;
    }
    
    function getItemReward {
    	for (.@i=0 ; .@i < .size_reward; .@i += 4 ){
    		if ( !( getarg(0)&( .reward[.@i+3] ) ) ) {continue;}
    		if (rand(1,10000) <= .reward[.@i+2]){
    			mes "You Got "+.reward[.@i+1]+" "+getitemname(.reward[.@i])+" ";
    			getitem .reward[.@i], .reward[ .@i+1 ];
    		}
    	}
    	next;
    	return;
    }
    
    //OnNPCKillEvent:
    //if( getmonsterinfo( killedrid,MOB_MVPEXP ) ){
    	// if( getcharid(1) ){
    	// 	getpartymember getcharid(1),2;
    	// 	.@Name$ = $@partymembername$[ rand( $@partymembercount ) ];
    	// }else{
    	// 	.@Name$ = strcharinfo(0);
    	// }
    	//for (set .@a,0; .@a < getarraysize(.mvp_reward); set .@a, .@a+3){
    	//	if(rand(0,99) < .mvp_reward[.@a+2]){
    	//		getitem .mvp_reward[.@a], .mvp_reward[.@a+1];
    	//	}
    	//}
    	// announce "[ "+( getcharid(1) ? "Party":"Player" )+" ] "+.@Name$+" has killed "+getmonsterinfo( killedrid,MOB_NAME )+" at "+strcharinfo(3),0;
    //}
    //end;
    	
    OnInit:
    
    	bindatcmd("reborninfo",strnpcinfo(0)+"::OnCommand");
    
    	waitingroom "Rebirth NPC",0,"",0;
    
    	//MVP Kill Reward List <item[0], number of item[0], chance[0], item[1], number of item[1], chance[1], ...>
    	setarray .mvp_reward[0], 60001,1,50,60002,1,100;
    
    	// item required <item ID>, <number> , <1=NormalRebirth,2=MasterRebirth,3=ForBorthRebirths>
    	setarray .item_req, 60001, 1, 1;
    
    	.size_item = getarraysize( .item_req );
    	// rewards <item ID>, <quantity>,<chance(10000=100%)>,<1=NormalRebirth,2=MasterRebirth,3=PriceForBothRebirths>
        // recalculates the chance and gives the next reward if chance is met.
    	setarray .reward,80078,1,10000,1;
    		.size_reward = getarraysize( .reward );	//Do not Change This
    	.list = 10;		//Show Top x in Ranking
    	/*
    		EAJL_2_1: 2-1 Class
    		EAJL_2_2: 2-2 Class
    		EAJL_2: All Second Class
    		EAJL_UPPER: All Trans Class
    		EAJL_BABY: All Baby Class
    		EAJL_THIRD: All Third Class
    		Full List:
    			EAJL_2_1|EAJL_UPPER: Trans 2-1 Class
    			EAJL_2_2|EAJL_UPPER: Trans 2-2 Class
    			EAJL_2|EAJL_UPPER: Trans Second Class
    			
    			EAJL_BABY|EAJL_2: All Second Baby Class
    			(Same for 2_1/2_2/Upper as mentioned above)
    			
    			EAJL_THIRD|EAJL_2_1: 3-1 Class
    			EAJL_THIRD|EAJL_2_2: 3-2 Class
    			
    			EAJL_THIRD|EAJL_2_1|EAJL_UPPER: Trans 3-1 Class
    			EAJL_THIRD|EAJL_2_2|EAJL_UPPER: Trans 3-2 Class
    			EAJL_THIRD|EAJL_2|EAJL_UPPER: Trans 3rd Class
    			
    			EAJL_THIRD|EAJL_2_1|EAJL_UPPER|EAJL_BABY: Baby Trans 3-1 Class
    			... You can have any Combination of classes ...
    			
    			
    	*/
    	.job_rebirth = EAJL_2|EAJL_UPPER;							
    	setarray .add_jobs[0],Job_Rebellion,Job_Gunslinger,				// Additional Jobs, who can rebirth
    						  Job_Soul_Linker,
    						  Job_Star_Gladiator,
    						  Job_Taekwon;
    
    	.ResetStat = 1000000000;									// Zeny needed for Resetting Stat
    	.reset_opt = 1;										// (1=Reset Base and JobLevel to 1(0 skill points and all stats to 1),2=Reset Base and JobLevel to 1(SkillPoint=0, While Skills and stats are not affected),3=Reset BaseLevel to 1, 4=Reset Job Level to 1)
    	.reset_ss = 3;										// (1=Reset Status, 2=Reset Skills, 3 = Reset Status and Skills).
    	setarray .MaxRebirth[0],100,1;						// Maximum Number of Normal Rebirth/Master Rebirth.(0=Unlimited) 
    	.ResetJob = 1;										// 0=Don't Change Job, Just Reset Level,1=Reset Job to Novice/Novice_High depending upon the job, 2=Force Reset to Novice, 3=Force Reset to Novice_High
    	.MasterRebirth = 0;								// Number of rebirths require to do Master Rebirth. (0 to disable)
    	.StatusN = 600;										// Status Point to Give at Every Normal Rebirth.
    	.StatusM = (.StatusN * .MasterRebirth) + 600;		// Status Point to Give at Every Master Rebirth. (Don't Change initial part)
    	.GMLevel = 99;										// Minimum GM Level to Reset the Ranking.
    	
    	query_sql "CREATE TABLE IF NOT EXISTS `rebirth_system` (  `char_id` int(11) NOT NULL default '0',  `name` varchar(24) NOT NULL DEFAULT 'NULL',  `rebirth_no` mediumint(6) NOT NULL default '0',  `master_rebirth` mediumint(6)  NOT NULL default '0',  PRIMARY KEY  (`char_id`)) ENGINE=MyISAM";
    	end;
    
    OnCommand:
    	dispbottom "REBIRTH COUNTS: " + rebirth_no;
    	dispbottom "+ 10% MaxHP Per Rebirth";
    	dispbottom "+ 225 Max Weight Per Rebirth";
    	dispbottom "+ 10M Break HP Limit Per Rebirth";
    	dispbottom "+ 1 All Stats when Rebirth is 101";
    	dispbottom "10M Max Damage when Rebirth 150";
    	dispbottom "15M Max Damage when Rebirth 180";
    	dispbottom "20M Max Damage when Rebirth 200";
    	end;
    }
    

    I want the rebirth prize to be given only after the first rebirth. And no prize will be given on the next rebirths after that.

     

    Also why expanded jobs cant rebirth? Is it possible to enable rebirth on all expanded job too?

     

    Thank you in advance guys. 


  3. On 1/16/2022 at 10:52 AM, IndieRO said:

    prontera,146,189,3 script PvP Room 469,{ mes "[^ff0000PvP Room^000000]"; mes "Ok, Choose One!"; mes "^FF0000PVP Free for All^000000: Enable all equipment and items"; mes "^FF0000Champ vs Champ^000000: Weapon and Acc only."; mes "^FF0000SinX vs SinX^000000: Sinx Maniac!"; mes "^FF0000Solo Mode^000000: Disable Party."; mes "^FF0000GVG Map^000000: Guild only map with WoE system and mechanics."; next; menu "^008000- ^000000 PVP Free for all ^FF0000["+ (getmapusers("06guild_08.gat"))+ "]^000000",MM, "^008000- ^000000 Champ vs Champ ^FF0000["+ (getmapusers("pvp_n_6-5.gat"))+ "]^000000",SS, "^008000- ^000000 SinX vs SinX ^FF0000["+ (getmapusers("pvp_n_4-5.gat"))+ "]^000000",SX, "^008000- ^000000 Solo Mode ^FF0000["+ (getmapusers("[email protected]"))+ "]^000000",SM, "^008000- ^000000 GVG Map ^FF0000["+ (getmapusers("guild_vs3.gat"))+ "]^000000",DM; SM: .@party_id = getcharid(1); if (.@party_id < 1) { mes "^ff0000You have party! please remove your party!.^000000"; close; } mes "[^ff0000PvP Room^000000]"; mes "Here we go!"; if (getgroupid()<6) { announce strcharinfo(0)+" Has Entered The Pvp [Solo Mode]",bc_all,0xcccccc; } warp "5@mtower", 0,0; close; MM: warp "06guild_08",0,0; announce ""+ strcharinfo(0) +" Has Entered The Pvp room.",bc_all,0xcccccc; end; DM: mes "[^ff0000PvP Room^000000]"; if (getcharid(2) == 0){ next; mes "You don't have guild"; close; } mes "Here we go!"; warp "guild_vs3",0,0; if (getgroupid()<6) { announce strcharinfo(0)+" Has Entered The GVG Map",bc_all,0xcccccc; } close; SX: if ( class == 4013) { warp "pvp_n_4-5",0,0; announce strcharinfo(0)+" Has Entered The PVP [Sinx VS Sinx]",bc_all,0x00FFFF; end; } mes "[^ff0000PvP Room^000000]"; mes "Only Sinx can enter this room"; close; SS: if (class == 4016) { warp "pvp_n_6-5",0,0; announce strcharinfo(0)+" Has Entered The PVP [Champ VS Champ]",bc_all,0x00FFFF; end; } mes "[^ff0000PvP Room^000000]"; mes "This is Room Champ Only!!"; end; L_No: mes "[^ff0000PvP Room^000000]"; mes "Ok Right !"; close; end; OnInit: waitingroom "[PvP Room]",0; end; } // custom 5@mtower mapflag nowarpto 5@mtower mapflag nowarp 5@mtower mapflag noreturn guild_vs2 mapflag nowarpto guild_vs2 mapflag nowarp guild_vs2 mapflag noreturn guild_vs3 mapflag nowarpto guild_vs3 mapflag nowarp guild_vs3 mapflag noreturn pvp_n_6-5 mapflag nowarpto pvp_n_6-5 mapflag nowarp pvp_n_6-5 mapflag noreturn guild_vs3 mapflag restricted 3 pvp_n_6-5 mapflag restricted 3 guild_vs2 mapflag restricted 3 pvp_n_6-5 mapflag nobranch guild_vs2 mapflag nobranch 5@mtower mapflag nobranch guild_vs3 mapflag nocommand 5 pvp_n_6-5 mapflag nocommand 5 5@mtower mapflag nocommand 5 5@mtower mapflag pvp 5@mtower mapflag nosave 5@mtower mapflag noteleport 5@mtower mapflag pvp_noguild 06guild_08 mapflag nosave 06guild_08 mapflag nowarpto 06guild_08 mapflag nowarp 06guild_08 mapflag noreturn 06guild_08 mapflag nobranch 06guild_08 mapflag nocommand 5 06guild_08 mapflag pvp 06guild_08 mapflag noteleport 06guild_08 mapflag pvp_noguild pvp_n_4-5 mapflag nosave pvp_n_4-5 mapflag nowarpto pvp_n_4-5 mapflag nowarp pvp_n_4-5 mapflag noreturn pvp_n_4-5 mapflag nobranch pvp_n_4-5 mapflag nocommand 5 pvp_n_4-5 mapflag pvp pvp_n_4-5 mapflag noteleport pvp_n_4-5 mapflag pvp_noguild

    
    prontera,146,189,3	script	PvP Room	469,{
    	
    	mes "[^ff0000PvP Room^000000]";
    	mes "Ok, Choose One!";
    	mes "^FF0000PVP Free for All^000000: Enable all equipment and items";
    	mes "^FF0000Champ vs Champ^000000: Weapon and Acc only.";
    	mes "^FF0000SinX vs SinX^000000: Sinx Maniac!";
    	mes "^FF0000Solo Mode^000000: Disable Party.";
    	mes "^FF0000GVG Map^000000: Guild only map with WoE system and mechanics.";
    	next;
    	menu
    	"^008000- ^000000 PVP Free for all ^FF0000["+ (getmapusers("06guild_08.gat"))+ "]^000000",MM,
    	"^008000- ^000000 Champ vs Champ ^FF0000["+ (getmapusers("pvp_n_6-5.gat"))+ "]^000000",SS,
    	"^008000- ^000000 SinX vs SinX ^FF0000["+ (getmapusers("pvp_n_4-5.gat"))+ "]^000000",SX,
    	"^008000- ^000000 Solo Mode ^FF0000["+ (getmapusers("[email protected]"))+ "]^000000",SM,
    	"^008000- ^000000 GVG Map ^FF0000["+ (getmapusers("guild_vs3.gat"))+ "]^000000",DM;
    
    SM:
    	.@party_id = getcharid(1);
    	if (.@party_id < 1) {
    		mes "^ff0000You have party! please remove your party!.^000000";
    		close;
    	}
    	mes "[^ff0000PvP Room^000000]";
    	mes "Here we go!";
    	if (getgroupid()<6) {
    		announce strcharinfo(0)+" Has Entered The Pvp [Solo Mode]",bc_all,0xcccccc;
    
    	}
    	warp "5@mtower", 0,0; 
    	close;
    
    MM:
    	warp "06guild_08",0,0;
    	announce ""+ strcharinfo(0) +" Has Entered The Pvp room.",bc_all,0xcccccc;
    	end;
    
    
    DM:
    	mes "[^ff0000PvP Room^000000]";
    	if (getcharid(2) == 0){
    		next;
    		mes "You don't have guild";
    		close;
    	}
    	mes "Here we go!";
    	warp "guild_vs3",0,0;
    	if (getgroupid()<6) {
    	announce strcharinfo(0)+" Has Entered The GVG Map",bc_all,0xcccccc;
    	}
    	close;
    
    SX:
    	if ( class == 4013) {
    		warp "pvp_n_4-5",0,0;
    		announce strcharinfo(0)+" Has Entered The PVP [Sinx VS Sinx]",bc_all,0x00FFFF;
    		end;
    	}
    	mes "[^ff0000PvP Room^000000]";
    	mes "Only Sinx can enter this room";
    	close;
    
    SS:
    	if (class == 4016) {
    		warp "pvp_n_6-5",0,0;
    		announce strcharinfo(0)+" Has Entered The PVP [Champ VS Champ]",bc_all,0x00FFFF;
    		end;
    	}
    	mes "[^ff0000PvP Room^000000]";
    	mes "This is Room Champ Only!!";
    	end;
    
    L_No:
    	mes "[^ff0000PvP Room^000000]";
    	mes "Ok Right !";
    	close;
    
    end;
    OnInit:
    	waitingroom "[PvP Room]",0;
    	end;
    }
    
    
    // custom
    5@mtower	mapflag	nowarpto
    5@mtower	mapflag	nowarp
    5@mtower	mapflag	noreturn
    guild_vs2	mapflag	nowarpto
    guild_vs2	mapflag	nowarp
    guild_vs2	mapflag	noreturn
    guild_vs3	mapflag	nowarpto
    guild_vs3	mapflag	nowarp
    guild_vs3	mapflag	noreturn
    pvp_n_6-5	mapflag	nowarpto
    pvp_n_6-5	mapflag	nowarp
    pvp_n_6-5	mapflag	noreturn
    guild_vs3	mapflag	restricted	3
    pvp_n_6-5	mapflag	restricted	3
    guild_vs2	mapflag	restricted	3
    pvp_n_6-5	mapflag	nobranch
    guild_vs2	mapflag	nobranch
    5@mtower	mapflag	nobranch
    guild_vs3	mapflag	nocommand	5
    pvp_n_6-5	mapflag	nocommand	5
    5@mtower	mapflag	nocommand	5
    5@mtower	mapflag	pvp
    5@mtower	mapflag	nosave
    5@mtower	mapflag	noteleport
    5@mtower	mapflag	pvp_noguild
    
    
    
    06guild_08	mapflag	nosave
    06guild_08	mapflag	nowarpto
    06guild_08	mapflag	nowarp
    06guild_08	mapflag	noreturn
    06guild_08	mapflag	nobranch
    06guild_08	mapflag	nocommand	5
    06guild_08	mapflag	pvp
    06guild_08	mapflag	noteleport
    06guild_08	mapflag	pvp_noguild
    
    pvp_n_4-5	mapflag	nosave
    pvp_n_4-5	mapflag	nowarpto
    pvp_n_4-5	mapflag	nowarp
    pvp_n_4-5	mapflag	noreturn
    pvp_n_4-5	mapflag	nobranch
    pvp_n_4-5	mapflag	nocommand	5
    pvp_n_4-5	mapflag	pvp
    pvp_n_4-5	mapflag	noteleport
    pvp_n_4-5	mapflag	pvp_noguild
    

     

    Hi sir. There are many problem with the npc.

    Champ and sinx cant enter the champ vs champ and sinx vs sinx.

    Also cant enter solo. Always saying i have party even i dont have any party. 
     


  4. On 1/12/2022 at 1:34 PM, IndieRO said:

    patch with nemo
    image.png.ca9c95a8a2e890799dd7bdd5536c4fca.png


    on 20191224Ragexe

    Hello sir. Thank you for your reply.

    Where can I find the right ragexe that I will diff? Coz I see many around but I dont know what is the right one to use.  Or maybe list where I can choose?

     

    Or maybe there is a ready made one. I dont know something ready to use that will read 64k hairstyles? 

     

    Thank you again sir. 


  5. // How guild skills cooldown works?
    // 0 - you relog with the same cooldown remaining as from when you logged out
    // 1 - restarts the cooldown upon login to its full duration.
    // 2 - like 1, but your logged off time is also decreased from the remaining cooldown (Aegis)
    guild_skill_relog_delay: 0

    how can i set it to "ecall can be use again after relogging/character select"?

     

    I think this setting is bug. I tried all of the settings. 

    And its not even on the options. 

     

    Correct me if im wrong. Thank you guys. 


  6. I searched already many times on herc forum. But I cant find job vs job pvp npc. 

     

    Thats why Im here requesting for it.

     

    A pvp npc with options

     

    champ class only

    sinx only

    Free for all

    etc etc. 

     

    Hope someone can share it. Thank you. 


  7. For example: this is just an example

     

    I accidentally give an mjolnir on one shower event on my server. But it makes the economy unbalance.

    And now i want to delete all the mjolnir item on the server without disabling mjolnir as an item on my server. 

    I just want the mjolnirs gone on the inventory storage etc etc of the players who got it. 

     

    Hope I explained it clearly. lol. 


  8. On 11/1/2021 at 5:00 PM, Racaae said:

    No, insert only the ID of the items you don't want them to create.

     

     

    //Item list .items$ = "607,608,1530,2020,2021,2181,2182,2383,2410," + "2541,2629,2630,5377,";

    
    //Item list
    .items$ = "607,608,1530,2020,2021,2181,2182,2383,2410," +
    	      "2541,2629,2630,5377,";

    Using the example above: player can't create Yggdrasil Berry (ID 607), nor Yggdrasil Seed (ID 608), nor Brynhild (ID 2383), nor Gentleman's Pipe (ID 5377).

    They will be able to create, let's say... Combat Knife (ID 1228), and any other items, since it's not in the list.


    Do I add this as an npc? 
    Or add this like adding a new command? 
    Im quite confuse. 


  9. On 10/31/2021 at 2:27 PM, Racaae said:
      Hide contents

    //Created by Racaae (https://herc.ws/board/topic/20119-is-this-can-be-done/) - script restricted_item_command HIDDEN_WARP_NPC,{ OnInit: //== CONF =========== .command$ = "item3"; .max_qty = 10; //0 = Whitelist (can only create items in the list below) or //1 = Blacklist (cannot create items in the list below) .mode = 1; //Item list .items$ = "607,608,1530,2020,2021,2181,2182,2383,2410," + "2541,2629,2630,5377,"; //=================== bindatcmd .command$,strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: if (atoi(.@atcmd_parameters$[0]) < 501) { dispbottom "Please enter an item ID (usage: @" + .command$ + " <item ID> <quantity>)."; end; } .@id = atoi(.@atcmd_parameters$[0]); .@qty = atoi(.@atcmd_parameters$[1]); if (.@qty < 1) .@qty = 1; if (getitemname(.@id) == "null") { dispbottom "Invalid item ID."; end; } if (.@qty > .max_qty) { dispbottom "You can create only " + .max_qty + " at a time."; end; } if (compare(","+.items$+"," , ","+.@id+",")) .@listed = 1; if ((.mode == 1 && .@listed) || (!.mode && !.@listed)) { dispbottom "You cannot create " + getitemname(.@id) + "."; end; } getitem .@id, .@qty; dispbottom "Item created."; end; }

    
    
    //Created by Racaae (https://herc.ws/board/topic/20119-is-this-can-be-done/)
    -	script	restricted_item_command	HIDDEN_WARP_NPC,{
    OnInit:
    
    //== CONF ===========
    	.command$ = "item3";
    	.max_qty = 10;
    
    	//0 = Whitelist (can only create items in the list below) or
    	//1 = Blacklist (cannot create items in the list below)
    	.mode = 1;
    
    	//Item list
    	.items$ = "607,608,1530,2020,2021,2181,2182,2383,2410," +
    	          "2541,2629,2630,5377,";
    
    //===================
    
    	bindatcmd .command$,strnpcinfo(3)+"::OnAtcommand";
    	end;
    
    OnAtcommand:
    	if (atoi(.@atcmd_parameters$[0]) < 501) {
    		dispbottom "Please enter an item ID (usage: @" + .command$ + " <item ID> <quantity>).";
    		end;
    	}
    	.@id = atoi(.@atcmd_parameters$[0]);
    	.@qty = atoi(.@atcmd_parameters$[1]);
    	if (.@qty < 1)
    		.@qty = 1;
    	if (getitemname(.@id) == "null") {
    		dispbottom "Invalid item ID.";
    		end;
    	}
    	if (.@qty > .max_qty) {
    		dispbottom "You can create only " + .max_qty + " at a time.";
    		end;
    	}
    	if (compare(","+.items$+"," , ","+.@id+","))
    		.@listed = 1;
    	if ((.mode == 1 && .@listed) || (!.mode && !.@listed)) {
    		dispbottom "You cannot create " + getitemname(.@id) + ".";
    		end;
    	}
    	getitem .@id, .@qty;
    	dispbottom "Item created.";
    	end;
    }

     

    Thank you so much for this script sir. 

    Can you further explain how can I makr this work? 

     

    Example i want to give every player "@item3" meaning i need to input all item id from the item_db?


  10. Can I modify the id of an item with symbols?

    For example:

     

    /*
    {
        Id: 7950
        AegisName: "THG_Membership"
        Name: "THG Membership"
        Type: 3
        Sell: 10
        Weight: 10
    },
    */

     

    I will change it to

    /*
    {
        Id: #7950
        AegisName: "THG_Membership"
        Name: "THG Membership"
        Type: 3
        Sell: 10
        Weight: 10
    },
    */

     

    Can I do that without having any error? 

×
×
  • Create New...

Important Information

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