Jump to content
  • 0
Sign in to follow this  
Critica

Any good scripter here? i need help on this,

Question

This is a old script, its all working fine
except the part where the refine and cards thing.

just try the script, so you would know what im talking about.

 

ok. to make it clear,

this script works like a leveling equip

each time you killed a monster, your equip gain experience, and then if you reached 100%
it will evolved or level up, change into new equip (depends on what you put on d script) 

but the problem here is that, for ex.  when you have cards and refine on your 1st weapon (not evolved)
when it evolved or changes into new wep, the cards and refine are not carried over, which is it supposed
too, coz i see its written in the script., its just not working properly iguess?
 

/*    ||======================================================||    ||======================================================||    ||					   NPC:						   ||    ||======================================================||    ||				  Evolution Wings					 ||    ||======================================================||    ||					Version 1.3					   ||    ||======================================================||    ||				   Made by Streiker				   ||    ||======================================================||    ||					  Updates:						||    ||					(5 latests)					   ||    || Version 1.1:										 ||    ||			 Fixed: The npc didn't work.			  ||    ||			 Added new configs.					   ||    ||			 Changed the exp rates system.			||    ||													  ||    || Version 1.1.1:									   ||    ||			  Fixed: Mistakes.						||    ||													  ||    || Version 1.2:										 ||    ||			 Added rahuldev345 suggestion (spec. mobs)||    ||			 Added AnnieRuru suggestion (refine)	  ||    ||													  ||    || Version 1.3:										 ||    ||			Added new mode, new confs, new vars.	  ||    ||======================================================||    ||					 Description:					 ||    ||													  ||    || Make easily "evolution wings" with this.			 ||    ||======================================================||    ||			   Additional Comments:				   ||    ||													  ||    || At the moment none.								  ||    ||======================================================||    ||======================================================|| */ -	script	Wings_Conf	-1,{  OnInit:  /* Evolution modes:  1 = Every X numer of mobs (1%). 2 = Experience (1%). 3 = Every X number of mobs (100%).  */  	set .rates, 100;	// % (Only for Mode 2).  /* ID[...], evolution mode[...], mob id[...], neccesary to advance 1%[...]. (Configured for the 1st mode). If  you want any monster, use 111. // Use callsub for add more wings. */ 	callsub Ids, 1101, 3, 111, 100, 1107, 3, 111, 100, 1113, 3, 111, 100, 1116, 3, 111, 0 ;/* 0 = Won't evolved automatically. 1 = Will be evolved automatically */ 	set .auto, 1;  // Delay of evolution (miliseconds). 	set .time, 3000;  // Announces color. 	setarray .c$[0],"4db557",	// % of evolution. 					"d43438",	// Wings evolving. 					"4da5b5";	// Wings evolved. 	set .w1, 0;  	end ;  Ids:  	set .w1, .w1 + 1; 	for ( set .@a, 0; getarg ( .@a, 0 ) != 0 ; set .@a, .@a + 4 ) { 		set .w2[.w1 - 1], .w2[.w1 - 1] + 1; 		setd ".a1"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a );	  // id. 		setd ".a2"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 1 );	// mode. 		setd ".a3"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 2 );	// mob id. 		setd ".a4"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 3 );	// amount. 	} 	return ;  OnNPCKillEvent:  	setarray .@slots[0], 1, 3, 4, 9, 10; // put here your slots.	for ( set .@a, 0; .@a < 3 && ! .@c ; set .@a, .@a + 1 ) {		if ( set ( .@e, getequipid ( .@slots[.@a] ) ) < 0 )			continue ;		set .@id, 0;		set .@w, 1;		while ( set ( .@id, .@id + 1 ) <= .w2[.@w - 1] && ! .@c ) {			if ( .@e == getd ( ".a1"+ .@w +"_"+ .@id ) ) {				set .@c, ( getd ( ".a4"+ .@w +"_"+ .@id ) > 0 ) * ( killedrid == getd ( ".a3"+ .@w +"_"+ .@id ) || getd ( ".a3"+ .@w +"_"+ .@id ) < 1001 );				if ( .@c )					break ;			}			if ( .@id >= .w2[.@w - 1] ) {				set .@id, 0;				set .@w, .@w + 1;			}		}	}	if ( ! ( .@c ) ) end ; 	set .@e2, getd ( "evo"+ .@e ); 	if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 1 ) { 		setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, getd("$Mobs_"+ getcharid( 0 ) +"_"+ .@e ) + 1; 		if ( ( getd ( "$Mobs_"+getcharid ( 0 ) ) % getd ( ".a4"+ .@w +"_"+ .@id ) ) ) end ; 		setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; 		setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, 0; 	} 	else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 2 ) { 		setd "$Exp_"+ getcharid ( 0 ) +"_"+ .@e, getd ("$Exp_"+ getcharid ( 0 ) +"_"+ .@e ) + ( strmobinfo ( 6, killedrid ) * .rates / 100 ); 		if ( getd ( "$Exp_"+getcharid ( 0 ) +"_"+ .@e ) < getd ( ".a4"+ .@w +"_"+ .@id ) ) end ; 		setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; 		setd "$Exp_"+ getcharid ( 0 ), 0; 	} 	else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 3 ) { 		setd "$Mobs_"+ getcharid ( 0 ), getd ("$Mobs_"+ getcharid( 0 ) +"_"+ .@e ) + 1; 		if ( ( getd ( "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e ) % getd ( ".a4"+ .@w +"_"+ .@id ) ) ) end ; 		setd "evo"+ .@e, getd ( "evo"+ .@e ) + 100; 		setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, 0; 	} 	else debugmes "Script Wings_Evo, error: wrong mode configuration."; 	if ( .@e2 != getd ( "evo"+ .@e ) ) { 		announce getd ( "evo"+ .@e ) +"% "+ getitemname ( .@e ) , bc_self, "0x"+ .c$[0] ; 		specialeffect2 58 ; 		sleep2 200 ; 		specialeffect2 383 ; 	} 	if ( getd ( "evo"+ .@e ) >= 100 && .auto ) { 		specialeffect2 263 ; 		sleep2 500 ; 		specialeffect2 377 ; 		sleep2 300 ; 		specialeffect2 542 ; 		sleep2 300 ; 		announce getitemname ( .@e ) +" evolving..." , bc_self, "0x"+ .c$[1] ; 		if ( .time ) sleep2 .time ; 		specialeffect2 463 ; 		sleep2 200; 		specialeffect2 665 ; 		sleep2 500 ; 		//specialeffect2 437 ; 		setarray .@card[1], getequipcardid ( .slot, 0 ), getequipcardid ( .slot, 1 ), getequipcardid ( .slot, 2 ), getequipcardid ( .slot, 3 ); 		set .@refine, getequiprefinerycnt ( .slot ); 		delitem .@e, 1 ; 		getitem2 getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) , 1, 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4] ; 		equip getd ( ".a1"+  .@w +"_"+ ( .@id + 1 ) ) ; 		setd "evo"+ .@e, 0; 		announce "Congratulations, your weapon have leveled to "+ getitemname ( getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) ) +"." , bc_self , "0x"+ .c$[2] ; 	} 	end; }
Edited by Critica

Share this post


Link to post
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Changed .slot to .@slots[.@a-1].

 

Edit:

 

P/S Masao: Hello! :D

 

/*    ||======================================================||    ||======================================================||    ||					   NPC:						   ||    ||======================================================||    ||				  Evolution Wings					 ||    ||======================================================||    ||					Version 1.3					   ||    ||======================================================||    ||				   Made by Streiker				   ||    ||======================================================||    ||					  Updates:						||    ||					(5 latests)					   ||    || Version 1.1:										 ||    ||			 Fixed: The npc didn't work.			  ||    ||			 Added new configs.					   ||    ||			 Changed the exp rates system.			||    ||													  ||    || Version 1.1.1:									   ||    ||			  Fixed: Mistakes.						||    ||													  ||    || Version 1.2:										 ||    ||			 Added rahuldev345 suggestion (spec. mobs)||    ||			 Added AnnieRuru suggestion (refine)	  ||    ||													  ||    || Version 1.3:										 ||    ||			Added new mode, new confs, new vars.	  ||    ||======================================================||    ||					 Description:					 ||    ||													  ||    || Make easily "evolution wings" with this.			 ||    ||======================================================||    ||			   Additional Comments:				   ||    ||													  ||    || At the moment none.								  ||    ||======================================================||    ||======================================================|| */ -	script	Wings_Conf	-1,{  OnInit:  /* Evolution modes:  1 = Every X numer of mobs (1%). 2 = Experience (1%). 3 = Every X number of mobs (100%).  */  	set .rates, 100;	// % (Only for Mode 2).  /* ID[...], evolution mode[...], mob id[...], neccesary to advance 1%[...]. (Configured for the 1st mode). If  you want any monster, use 111. // Use callsub for add more wings. */ 	callsub Ids, 1101, 3, 111, 1, 1107, 3, 111, 1, 1113, 3, 111, 100, 1116, 3, 111, 0 ;/* 0 = Won't evolved automatically. 1 = Will be evolved automatically */ 	set .auto, 1;  // Delay of evolution (miliseconds). 	set .time, 3000;  // Announces color. 	setarray .c$[0],"4db557",	// % of evolution. 					"d43438",	// Wings evolving. 					"4da5b5";	// Wings evolved. 	set .w1, 0;  	end ;  Ids:  	set .w1, .w1 + 1; 	for ( set .@a, 0; getarg ( .@a, 0 ) != 0 ; set .@a, .@a + 4 ) { 		set .w2[.w1 - 1], .w2[.w1 - 1] + 1; 		setd ".a1"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a );	  // id. 		setd ".a2"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 1 );	// mode. 		setd ".a3"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 2 );	// mob id. 		setd ".a4"+ .w1 +"_"+ .w2[.w1 - 1], getarg ( .@a + 3 );	// amount. 	} 	return ;  OnNPCKillEvent:  	setarray .@slots[0], 1, 3, 4, 9, 10; // put here your slots.	for ( set .@a, 0; .@a < 3 && ! .@c ; set .@a, .@a + 1 ) {		if ( set ( .@e, getequipid ( .@slots[.@a] ) ) < 0 )			continue ;		set .@id, 0;		set .@w, 1;		while ( set ( .@id, .@id + 1 ) <= .w2[.@w - 1] && ! .@c ) {			if ( .@e == getd ( ".a1"+ .@w +"_"+ .@id ) ) {				set .@c, ( getd ( ".a4"+ .@w +"_"+ .@id ) > 0 ) * ( killedrid == getd ( ".a3"+ .@w +"_"+ .@id ) || getd ( ".a3"+ .@w +"_"+ .@id ) < 1001 );				if ( .@c )					break ;			}			if ( .@id >= .w2[.@w - 1] ) {				set .@id, 0;				set .@w, .@w + 1;			}		}	}	if ( ! ( .@c ) ) end ; 	set .@e2, getd ( "evo"+ .@e ); 	if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 1 ) { 		setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, getd("$Mobs_"+ getcharid( 0 ) +"_"+ .@e ) + 1; 		if ( ( getd ( "$Mobs_"+getcharid ( 0 ) ) % getd ( ".a4"+ .@w +"_"+ .@id ) ) ) end ; 		setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; 		setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, 0; 	} 	else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 2 ) { 		setd "$Exp_"+ getcharid ( 0 ) +"_"+ .@e, getd ("$Exp_"+ getcharid ( 0 ) +"_"+ .@e ) + ( strmobinfo ( 6, killedrid ) * .rates / 100 ); 		if ( getd ( "$Exp_"+getcharid ( 0 ) +"_"+ .@e ) < getd ( ".a4"+ .@w +"_"+ .@id ) ) end ; 		setd "evo"+ .@e, getd ( "evo"+ .@e ) + 1; 		setd "$Exp_"+ getcharid ( 0 ), 0; 	} 	else if ( getd ( ".a2"+ .@w +"_"+ .@id ) == 3 ) { 		setd "$Mobs_"+ getcharid ( 0 ), getd ("$Mobs_"+ getcharid( 0 ) +"_"+ .@e ) + 1; 		if ( ( getd ( "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e ) % getd ( ".a4"+ .@w +"_"+ .@id ) ) ) end ; 		setd "evo"+ .@e, getd ( "evo"+ .@e ) + 100; 		setd "$Mobs_"+ getcharid ( 0 ) +"_"+ .@e, 0; 	} 	else debugmes "Script Wings_Evo, error: wrong mode configuration."; 	if ( .@e2 != getd ( "evo"+ .@e ) ) { 		announce getd ( "evo"+ .@e ) +"% "+ getitemname ( .@e ) , bc_self, "0x"+ .c$[0] ; 		specialeffect2 58 ; 		sleep2 200 ; 		specialeffect2 383 ; 	} 	if ( getd ( "evo"+ .@e ) >= 100 && .auto ) { 		specialeffect2 263 ; 		sleep2 500 ; 		specialeffect2 377 ; 		sleep2 300 ; 		specialeffect2 542 ; 		sleep2 300 ; 		announce getitemname ( .@e ) +" evolving..." , bc_self, "0x"+ .c$[1] ; 		if ( .time ) sleep2 .time ; 		specialeffect2 463 ; 		sleep2 200; 		specialeffect2 665 ; 		sleep2 500 ; 		//specialeffect2 437 ;		.@a -= 1;		setarray .@card[1], getequipcardid ( .@slots[.@a], 0 ), getequipcardid ( .@slots[.@a], 1 ), getequipcardid ( .@slots[.@a], 2 ), getequipcardid ( .@slots[.@a], 3 ); 		set .@refine, getequiprefinerycnt ( .@slots[.@a] ); 		delitem .@e, 1 ; 		getitem2 getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) , 1, 1, .@refine, 0, .@card[1], .@card[2], .@card[3], .@card[4] ; 		equip getd ( ".a1"+  .@w +"_"+ ( .@id + 1 ) ) ; 		setd "evo"+ .@e, 0; 		announce "Congratulations, your weapon have leveled to "+ getitemname ( getd ( ".a1"+ .@w +"_"+ ( .@id + 1 ) ) ) +"." , bc_self , "0x"+ .c$[2] ; 	} 	end; }
Edited by Joseph

Share this post


Link to post
Share on other sites
  • 0

Well, to be honest, this Script looks like, as you said, very old and it does suck anyway xD

 

I could try to write you an Script that Levels Up your Weapon, Gear or even Both, or you choose which parts of equipment can be Lvled Up, that will be your choice in the end.

 

Just give me a day or two and it will be done :P If you can wait that long, or maybe someone else will have put up something until then xD

Share this post


Link to post
Share on other sites
  • 0

DUDE!

it works LoL, but there is a bug,

when the weapon evolved/level up, you get 2 items, 1 without the refine/cards and 1 with both. xD

 

just kidding, it works XD

Edited by Critica

Share this post


Link to post
Share on other sites
  • 0

Yep, that's true xD

 

But I couldn't properly do the Script I'd like it to be anyway, since it'd need an new script command, so it would need some source modification, otherwise I would do it via sql which would use way to much server capacity and the whole server would start laging like hell xD

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.