Any good scripter here? i need help on this,

Critica

New member
Messages
76
Points
0
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?
 

Code:
/*    ||======================================================||    ||======================================================||    ||					   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; }
 
Last edited by a moderator:
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
default_tongue.png
If you can wait that long, or maybe someone else will have put up something until then xD

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

Edit:

P/S Masao: Hello!
default_biggrin.png


Code:
/*    ||======================================================||    ||======================================================||    ||					   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; }
 
Last edited by a moderator:
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

 
Last edited by a moderator:
Hi Joseph =D

Well, seems like he got what he wanted xD So no need for me to waste further time into that script ^^

 
No, Masao!

Like you said this script is very old and it does suck anyway
default_ohmy.png
 

 
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

 
Back
Top