• 0
bgamez23

how can i add soul link buffs on this script?

Question

how can i add soul link buffs here?when i try to add SC_SPIRIT nothings happen. thank you in advance.

 

-	script	Healer	-1,{		set [email protected],0;	// Zeny required for heal	set [email protected],1;	// Also buff players? (1: yes / 0: no)	set [email protected],0;	// Heal delay, in seconds	callfunc "F_ClearGarbage",0;	if (@HD > gettimetick(2)) end;	if ([email protected]) {		message strcharinfo(0),"Healing costs "[email protected]+" Zeny.";		if (Zeny < [email protected]) end;		if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close;		set Zeny, [email protected];	}	specialeffect2 EF_HEAL2; percentheal 100,100;	if ([email protected]) {		for( [email protected] = 0; [email protected] < .size_buff; [email protected]++ ) {			[email protected] = atoi([email protected]$[[email protected]]) + .min_Levels[[email protected]];			[email protected] = .Buffs$[[email protected]];			if( [email protected] )				sc_start [email protected],240000,[email protected];		}	}	if ([email protected]) set @HD, gettimetick(2)[email protected];	close;OnInit:	deletearray .Buffs$;	deletearray .min_Levels;	setarray .Buffs$, SC_INCREASEAGI, SC_BLESSING, SC_KYRIE, SC_SOULLINK;	setarray .min_Levels,        5,        5,       0,       0;	.size_buff = getarraysize( .Buffs$ );	end;	}prontera,163,185,6	duplicate(Healer)	Healer#alb	909
Edited by bgamez23

Share this post


Link to post
Share on other sites

12 answers to this question

  • 0
-    script    Healer    -1,{        set [email protected],0;    // Zeny required for heal    set [email protected],1;    // Also buff players? (1: yes / 0: no)    set [email protected],0;    // Heal delay, in seconds    callfunc "F_ClearGarbage",0;    switch ( BaseJob ) {        case 18:    [email protected] = 445; break;        case 20:        case 15:    [email protected] = 447; break;        case 19:    [email protected] = 455; break;        case 4047:  [email protected] = 448; break;        case 17:    [email protected] = 456; break;        case 16:    [email protected] = 449; break;        case 12:    [email protected] = 457; break;        case 14:    [email protected] = 450; break;        case 10:    [email protected] = 458; break;        case 23:    [email protected] = 451; break;        case 11:    [email protected] = 460; break;        case 7:     [email protected] = 452; break;        case 4049:  [email protected] = 461; break;        case 8:     [email protected] = 454; break;        case 9:     [email protected] = 453; break;    }    if (@HD > gettimetick(2)) end;    if ([email protected]) {        message strcharinfo(0),"Healing costs "[email protected]+" Zeny.";        if (Zeny < [email protected]) end;        if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close;        set Zeny, [email protected];    }    specialeffect2 EF_HEAL2; percentheal 100,100;            if ([email protected]) {        for( [email protected] = 0; [email protected] < getarraysize( .Buffs$ ); [email protected]++ ) {            [email protected] = atoi([email protected]$[[email protected]]) + .min_Levels[[email protected]];            [email protected] = .Buffs$[[email protected]];            stand (strcharinfo(0)); // <- Added this so characters dont get stuck when soul link is casting.            if( [email protected] )                sc_start4 [email protected], 240000, 5,  [email protected],0,0;            if ( .min_Levels[3] )                skilleffect [email protected], 5;    // Start Soul Link Effect.        }    }    if ([email protected]) set @HD, gettimetick(2)[email protected];    close;OnInit:    setarray .Buffs$, SC_INC_AGI, SC_BLESSING, SC_KYRIE, SC_SOULLINK;    setarray .min_Levels,        5,	    5,	   1,	   5;    end;    }prontera,163,185,6    duplicate(Healer)    Healer1#alb    909
Edited by quesoph

Share this post


Link to post
Share on other sites
  • 0

bellow sc_start [email protected],240000,[email protected];

 

add the following:

 

 

if ( [email protected] = .spirit[BaseJob] );	else if ( Upper & 1 && BaseLevel < 70 )		[email protected] = 494;	else		end;	sc_start4 SC_SOULLINK, -1, 5, [email protected],0,0; 

and bellow OnInit: add it:

 

 

	.spirit[Job_Alchemist] = 445;	.spirit[Job_Monk] = 447;	.spirit[Job_Star_Gladiator] = 448;	.spirit[Job_Sage] = 449;	.spirit[Job_Crusader] = 450;	.spirit[Job_SuperNovice] = 451;	.spirit[Job_Knight] = 452;	.spirit[Job_Wizard] = 453;	.spirit[Job_Priest] = 454;	.spirit[Job_Bard] = .spirit[Job_Dancer] = 455;	.spirit[Job_Rogue] = 456;	.spirit[Job_Assassin] = 457;	.spirit[Job_Blacksmith] = 458;	.spirit[Job_Hunter] = 460;	.spirit[Job_Soul_Linker] = 461; 

 

@edit

btw, why you used 0 for min level?

Edited by evilpuncker

Share this post


Link to post
Share on other sites
  • 0

bellow sc_start [email protected],240000,[email protected];

 

add the following:

 

 

if ( [email protected] = .spirit[BaseJob] );	else if ( Upper & 1 && BaseLevel < 70 )		[email protected] = 494;	else		end;	sc_start4 SC_SOULLINK, -1, 5, [email protected],0,0; 

and bellow OnInit: add it:

 

 

	.spirit[Job_Alchemist] = 445;	.spirit[Job_Monk] = 447;	.spirit[Job_Star_Gladiator] = 448;	.spirit[Job_Sage] = 449;	.spirit[Job_Crusader] = 450;	.spirit[Job_SuperNovice] = 451;	.spirit[Job_Knight] = 452;	.spirit[Job_Wizard] = 453;	.spirit[Job_Priest] = 454;	.spirit[Job_Bard] = .spirit[Job_Dancer] = 455;	.spirit[Job_Rogue] = 456;	.spirit[Job_Assassin] = 457;	.spirit[Job_Blacksmith] = 458;	.spirit[Job_Hunter] = 460;	.spirit[Job_Soul_Linker] = 461; 

 

@edit

btw, why you used 0 for min level?

its not working. because in this script if you buy additional buffs for this healer. it will ask for minimum level.

Share this post


Link to post
Share on other sites
  • 0
-    script    Healer    -1,{        set [email protected],0;    // Zeny required for heal    set [email protected],1;    // Also buff players? (1: yes / 0: no)    set [email protected],0;    // Heal delay, in seconds    callfunc "F_ClearGarbage",0;    if (@HD > gettimetick(2)) end;    if ([email protected]) {        message strcharinfo(0),"Healing costs "[email protected]+" Zeny.";        if (Zeny < [email protected]) end;        if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close;        set Zeny, [email protected];    }    specialeffect2 EF_HEAL2; percentheal 100,100;    if ([email protected]) {        for( [email protected] = 0; [email protected] < .size_buff; [email protected]++ ) {            [email protected] = atoi([email protected]$[[email protected]]) + .min_Levels[[email protected]];            [email protected] = .Buffs$[[email protected]];            stand (strcharinfo(0)); // <- Added this so characters dont get stuck when you cast soul link when sitting.            if( [email protected] )                sc_start [email protected], 240000, [email protected];            if ( .min_Levels[3] ) {                skilleffect 461, 5; // show soul link effect.                message strcharinfo(0),jobname(BaseJob)=="Bard"||jobname(BaseJob)=="Dancer"?"Bard and Dancer Spirit !!":jobname(BaseJob)+" Spirit !!";            }        }    }    if ([email protected]) set @HD, gettimetick(2)[email protected];    close;OnInit:    deletearray .Buffs$;    deletearray .min_Levels;    setarray .Buffs$, SC_INC_AGI, SC_BLESSING, SC_KYRIE, SC_SOULLINK; // SC_INC_AGI if you're using hercules.    setarray .min_Levels,	    5,	    5,	   1,	   1;    .size_buff = getarraysize( .Buffs$ );    end;    }prontera,163,185,6    duplicate(Healer)    Healer#alb    909

 

http://herc.ws/board/topic/2919-soul-linker-npc-bug/?p=19358

Edited by quesoph

Share this post


Link to post
Share on other sites
  • 0

the skill effect works fine. but the soul link does not really work?

screen_Alecon_RO000.jpgscreen_Alecon_RO001.jpg

 

i just use union skill instead of flying. nothings happen.

Share this post


Link to post
Share on other sites
  • 0

that script command, i don't know what to explain more oO

every class has a different skill id so you've to make a switch or many ifs.

Share this post


Link to post
Share on other sites
  • 0

@quesoph

 

how to make it 5secs delay? and can you please add something like this:

 

else {
dispbottom "Don't spam healer please :< Wait "+ @timeleft +" second"+ ( ( @t > 1 ) ? "s" : "" );
  }

 

this will show if they keep on clicking after they where just healed.. 

 

thanks

Edited by P r o p e r t i e s

Share this post


Link to post
Share on other sites
  • 0

like this?:

 

else {
dispbottom "Don't spam healer please :< Wait "+ @Delay +" second"+ ( ( @t > 1 ) ? "s" : "" );
  }

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now