Brynner 34 Posted March 29, 2014 (edited) 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 .@Price,0; // Zeny required for heal set .@Buffs,1; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds callfunc "F_ClearGarbage",0; if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close; set Zeny, Zeny-.@Price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { for( .@i = 0; .@i < .size_buff; .@i++ ) { .@sum = atoi(.@b$[.@i]) + .min_Levels[.@i]; .@j = .Buffs$[.@i]; if( .@sum ) sc_start .@j,240000,.@sum; } } if (.@Delay) set @HD, gettimetick(2)+.@Delay; 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 March 29, 2014 by bgamez23 Quote Share this post Link to post Share on other sites
0 evilpuncker 503 Posted March 29, 2014 (edited) bellow sc_start .@j,240000,.@sum; add the following: if ( .@spirit = .spirit[BaseJob] ); else if ( Upper & 1 && BaseLevel < 70 ) .@spirit = 494; else end; sc_start4 SC_SOULLINK, -1, 5, .@spirit,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 March 29, 2014 by evilpuncker Quote Share this post Link to post Share on other sites
0 Brynner 34 Posted March 29, 2014 bellow sc_start .@j,240000,.@sum; add the following: if ( .@spirit = .spirit[BaseJob] ); else if ( Upper & 1 && BaseLevel < 70 ) .@spirit = 494; else end; sc_start4 SC_SOULLINK, -1, 5, .@spirit,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. Quote Share this post Link to post Share on other sites
0 quesoph 105 Posted March 29, 2014 (edited) - script Healer -1,{ set .@Price,0; // Zeny required for heal set .@Buffs,1; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds callfunc "F_ClearGarbage",0; if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close; set Zeny, Zeny-.@Price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { for( .@i = 0; .@i < .size_buff; .@i++ ) { .@sum = atoi(.@b$[.@i]) + .min_Levels[.@i]; .@j = .Buffs$[.@i]; stand (strcharinfo(0)); // <- Added this so characters dont get stuck when you cast soul link when sitting. if( .@sum ) sc_start .@j, 240000, .@sum; 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 (.@Delay) set @HD, gettimetick(2)+.@Delay; 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 March 29, 2014 by quesoph Quote Share this post Link to post Share on other sites
0 Brynner 34 Posted March 29, 2014 the skill effect works fine. but the soul link does not really work? i just use union skill instead of flying. nothings happen. Quote Share this post Link to post Share on other sites
0 cicciobello 0 Posted March 29, 2014 use npcskill Quote Share this post Link to post Share on other sites
0 Brynner 34 Posted March 29, 2014 use npcskill ? Quote Share this post Link to post Share on other sites
0 cicciobello 0 Posted March 29, 2014 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. Quote Share this post Link to post Share on other sites
0 quesoph 105 Posted March 29, 2014 (edited) - script Healer -1,{ set .@Price,0; // Zeny required for heal set .@Buffs,1; // Also buff players? (1: yes / 0: no) set .@Delay,0; // Heal delay, in seconds callfunc "F_ClearGarbage",0; switch ( BaseJob ) { case 18: .@spirit = 445; break; case 20: case 15: .@spirit = 447; break; case 19: .@spirit = 455; break; case 4047: .@spirit = 448; break; case 17: .@spirit = 456; break; case 16: .@spirit = 449; break; case 12: .@spirit = 457; break; case 14: .@spirit = 450; break; case 10: .@spirit = 458; break; case 23: .@spirit = 451; break; case 11: .@spirit = 460; break; case 7: .@spirit = 452; break; case 4049: .@spirit = 461; break; case 8: .@spirit = 454; break; case 9: .@spirit = 453; break; } if (@HD > gettimetick(2)) end; if (.@Price) { message strcharinfo(0),"Healing costs "+.@Price+" Zeny."; if (Zeny < .@Price) end; if(select("^0055FFHeal^000000:^777777Cancel^000000") == 2) close; set Zeny, Zeny-.@Price; } specialeffect2 EF_HEAL2; percentheal 100,100; if (.@Buffs) { for( .@i = 0; .@i < getarraysize( .Buffs$ ); .@i++ ) { .@sum = atoi(.@b$[.@i]) + .min_Levels[.@i]; .@j = .Buffs$[.@i]; stand (strcharinfo(0)); // <- Added this so characters dont get stuck when soul link is casting. if( .@sum ) sc_start4 .@j, 240000, 5, .@spirit,0,0; if ( .min_Levels[3] ) skilleffect .@spirit, 5; // Start Soul Link Effect. } } if (.@Delay) set @HD, gettimetick(2)+.@Delay; 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 March 29, 2014 by quesoph 2 mrlongshen and IndieRO reacted to this Quote Share this post Link to post Share on other sites
0 Ragnar Lothbrok 21 Posted March 29, 2014 (edited) @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 March 29, 2014 by P r o p e r t i e s Quote Share this post Link to post Share on other sites
0 cicciobello 0 Posted March 29, 2014 use the delay var in your script? Quote Share this post Link to post Share on other sites
0 Ragnar Lothbrok 21 Posted March 31, 2014 like this?: else { dispbottom "Don't spam healer please :< Wait "+ @Delay +" second"+ ( ( @t > 1 ) ? "s" : "" ); } Quote Share this post Link to post Share on other sites
0 mrlongshen 22 Posted November 27, 2015 @@quesoph thanks Quote Share this post Link to post Share on other sites
how can i add soul link buffs here?when i try to add SC_SPIRIT nothings happen. thank you in advance.
Share this post
Link to post
Share on other sites