Jump to content
  • 0

how can i add soul link buffs on this script?


Brynner

Question


  • Group:  Members
  • Topic Count:  118
  • Topics Per Day:  0.03
  • Content Count:  1942
  • Reputation:   197
  • Joined:  01/08/12
  • Last Seen:  

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_SPIRIT;
	setarray .min_Levels,        5,        5,       0,       0;

	.size_buff = getarraysize( .Buffs$ );
	end;	
}

prontera,163,185,6	duplicate(Healer)	Healer#alb	909

Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  90
  • Topics Per Day:  0.02
  • Content Count:  361
  • Reputation:   18
  • Joined:  01/09/13
  • Last Seen:  

Try  this. just rip the soul link part.

Credits to Euphy and Sandbox.

/===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1
//===== Compatible With: =====================================
//= rAthena SVN
//===== Description: =========================================
//= Basic healer script.
//===== Additional Comments: =================================
//= 1.0 Initial script.
//= 1.1 Aligned coordinates with @go.
//============================================================

-    script    Healer    -1,{

    set .@Price,0;    // Zeny required for heal
    set .@Buffs,1;    // Also buff players? (1: yes / 0: no)
    set .@Delay,3;    // Heal delay, in seconds

    if(getgroupid() > 5) {
        specialeffect2 EF_ASSUMPTIO; sc_start SC_ASSUMPTIO,600000,5;
        specialeffect2 EF_CONCENTRATE; sc_start SC_CONCENTRATE,600000,10;
        switch(Class){

            case 18:
            case 4019:
            case 4071:
            case 4078:
                skilleffect "SL_ALCHEMIST",0;
                sc_start4 SC_SPIRIT,9999999,5,455,0,0;
                break;
            case 15:
            case 4016:
            case 4070:
            case 4077:
                skilleffect "SL_MONK",0;
                sc_start4 SC_SPIRIT,9999999,5,447,0,0;
                break;
            case 4047:
                skilleffect "SL_STAR",0;
                sc_start4 SC_SPIRIT,9999999,5,448,0,0;
                break;
            case 16:
            case 4017:
            case 4067:
            case 4074:
                skilleffect "SL_SAGE",0;
                sc_start4 SC_SPIRIT,9999999,5,449,0,0;
                break;
            case 14:
            case 4015:
            case 4066:
            case 4073:
                skilleffect "SL_CRUSADER",0;
                sc_start4 SC_SPIRIT,9999999,5,450,0,0;
                break;
            case 23:
            case 4190:
                skilleffect "SL_SUPERNOVICE",0;
                sc_start4 SC_SPIRIT,9999999,5,451,0,0;
                break;
            case 7:
            case 4008:
            case 4054:
            case 4060:
                skilleffect "SL_KNIGHT",0;
                sc_start4 SC_SPIRIT,9999999,5,452,0,0;
                break;
            case 9:
            case 4010:
            case 4055:
            case 4061:
                skilleffect "SL_WIZARD",0;
                sc_start4 SC_SPIRIT,9999999,5,453,0,0;
                break;
            case 8:
            case 4009:
            case 4057:
            case 4063:
                skilleffect "SL_PRIEST",0;
                sc_start4 SC_SPIRIT,9999999,5,454,0,0;
                break;
            case 19:
            case 20:
            case 4020:
            case 4021:
            case 4068:
            case 4069:
            case 4075:
            case 4076:
                skilleffect "SL_BARDDANCER",0;
                sc_start4 SC_SPIRIT,9999999,5,455,0,0;
                break;
            case 17:
            case 4018:
            case 4072:
            case 4079:
                skilleffect "SL_ROGUE",0;
                sc_start4 SC_SPIRIT,9999999,5,456,0,0;
                break;
            case 12:
            case 4013:
            case 4059:
            case 4065:
                skilleffect "SL_ASSASIN",0;
                sc_start4 SC_SPIRIT,9999999,5,457,0,0;
                break;
            case 10:
            case 4011:
                skilleffect "SL_BLACKSMITH",0;
                sc_start4 SC_SPIRIT,9999999,5,458,0,0;
                break;
            case 11:
            case 4012:
            case 4056:
            case 4062:
                skilleffect "SL_HUNTER",0;
                sc_start4 SC_SPIRIT,9999999,5,460,0,0;
                break;
            case 4049:
                skilleffect "SL_SOULLINKER",0;
                sc_start4 SC_SPIRIT,9999999,5,461,0,0;
                break;
            default:
                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) end;
        set Zeny, Zeny-.@Price;
    }

    specialeffect2 EF_HEAL2; percentheal 100,100;
    if (.@Buffs) {
            repairall;
            skilleffect 34,0; sc_start SC_BLESSING,360000,10;
skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10;
            
            // buff for level below 85
            if( BaseLevel < 85 ){
                skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;
                skilleffect 33,0; sc_start SC_ANGELUS,360000,10;
                skilleffect 74,0; sc_start SC_MAGNIFICAT,360000,5;
                skilleffect 75,0; sc_start SC_GLORIA,360000,5;
                skilleffect 66,0; sc_start SC_IMPOSITIO,360000,5;
        }
    }

    // Identify All
    getinventorylist;
    for( set .@itemnum, 0; .@itemnum < @inventorylist_count; set .@itemnum, .@itemnum + 1 ) {
        if ( @inventorylist_identify[.@itemnum] != 1 ) {
            delitem2 @inventorylist_id[.@itemnum],1,0,0,0,0,0,0,0;
            getitem @inventorylist_id[.@itemnum],1;
        }
    }

    if (.@Delay) set @HD, gettimetick(2)+.@Delay;
    end;
}

// Ontouch
prontera,156,190,0    script    Healer:OnTouch    -1,5,5,{

    OnTouch:

    set .@Price,0;    // Zeny required for heal
    set .@Buffs,1;    // Also buff players? (1: yes / 0: no)
    set .@Delay,3;    // Heal delay, in seconds

    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) end;
        set Zeny, Zeny-.@Price;
    }

    specialeffect2 EF_HEAL2; percentheal 100,100;
    if (.@Buffs) {
            repairall;
            skilleffect 34,0; sc_start SC_BLESSING,360000,10;
skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10;
            
            // buff for level below 85
            if( BaseLevel < 85 ){
                skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;
                skilleffect 33,0; sc_start SC_ANGELUS,360000,10;
                skilleffect 74,0; sc_start SC_MAGNIFICAT,360000,5;
                skilleffect 75,0; sc_start SC_GLORIA,360000,5;
                skilleffect 66,0; sc_start SC_IMPOSITIO,360000,5;
            }
    }

    // Identify All
    getinventorylist;
    for( set .@itemnum, 0; .@itemnum < @inventorylist_count; set .@itemnum, .@itemnum + 1 ) {
        if ( @inventorylist_identify[.@itemnum] != 1 ) {
            delitem2 @inventorylist_id[.@itemnum],1,0,0,0,0,0,0,0;
            getitem @inventorylist_id[.@itemnum],1;
        }
    }

    if (.@Delay) set @HD, gettimetick(2)+.@Delay;
    end;
}


// Duplicates
//============================================================
alberta,25,240,6    duplicate(Healer)    Healer#alb    624
aldebaran,135,118,6    duplicate(Healer)    Healer#alde    624
amatsu,200,79,4    duplicate(Healer)    Healer#ama    624
ayothaya,155,112,6    duplicate(Healer)    Healer#ayo    624
comodo,184,158,6    duplicate(Healer)    Healer#com    624
einbech,57,36,6    duplicate(Healer)    Healer#einbe    624
einbroch,57,202,6    duplicate(Healer)    Healer#einbr    624
geffen,115,72,6    duplicate(Healer)    Healer#gef    624
gonryun,156,122,6    duplicate(Healer)    Healer#gon    624
hugel,89,150,6    duplicate(Healer)    Healer#hug    624
izlude,121,150,6    duplicate(Healer)    Healer#izl    624     //Pre-RE: (125,118)
jawaii,250,139,4    duplicate(Healer)    Healer#jaw    624
lighthalzen,152,100,6    duplicate(Healer)    Healer#lhz    624
louyang,226,103,4    duplicate(Healer)    Healer#lou    624
manuk,272,144,6    duplicate(Healer)    Healer#man    624
mid_camp,203,289,6    duplicate(Healer)    Healer#mid    624
moc_ruins,72,164,4    duplicate(Healer)    Healer#moc    624
morocc,153,97,6    duplicate(Healer)    Healer#mor    624
moscovia,220,191,4    duplicate(Healer)    Healer#mos    624
niflheim,212,182,5    duplicate(Healer)    Healer#nif    624
payon,179,106,4    duplicate(Healer)    Healer#pay    624
prontera,156,190,4    duplicate(Healer)    Healer#prt    624
rachel,125,116,6    duplicate(Healer)    Healer#rac    624
splendide,201,153,4    duplicate(Healer)    Healer#spl    624
thor_camp,249,74,4    duplicate(Healer)    Healer#thor    624
umbala,105,148,3    duplicate(Healer)    Healer#umb    624
veins,217,121,4    duplicate(Healer)    Healer#ve    624
xmas,143,136,4    duplicate(Healer)    Healer#xmas    624
yuno,164,45,4    duplicate(Healer)    Healer#yuno    624
caspen,153,209,4    duplicate(Healer)    Healer#caspen    624

// Duplicates (Renewal)
//============================================================
brasilis,194,221,6    duplicate(Healer)    Healer#bra    624
dicastes01,201,194,4    duplicate(Healer)    Healer#dic    624
ecl_in01,45,60,4    duplicate(Healer)    Healer#ecl    624
malangdo,132,114,6    duplicate(Healer)    Healer#mal    624
malaya,227,204,6    duplicate(Healer)    Healer#ma    624
mora,55,152,4    duplicate(Healer)    Healer#mora    624

//ON TOUCH HEALER
alberta,25,240,6    duplicate(Healer:OnTouch)    Healer:OnTouch#alb    -1,5,5,{
aldebaran,135,118,6    duplicate(Healer:OnTouch)    Healer:OnTouch#alde    -1,5,5,{
amatsu,200,79,4    duplicate(Healer:OnTouch)    Healer:OnTouch#ama    -1,5,5,{
ayothaya,155,112,6    duplicate(Healer:OnTouch)    Healer:OnTouch#ayo    -1,5,5,{
comodo,184,158,6    duplicate(Healer:OnTouch)    Healer:OnTouch#com    -1,5,5,{
einbech,57,36,6    duplicate(Healer:OnTouch)    Healer:OnTouch#einbe    -1,5,5,{
einbroch,57,202,6    duplicate(Healer:OnTouch)    Healer:OnTouch#einbr    -1,5,5,{
geffen,115,72,6    duplicate(Healer:OnTouch)    Healer:OnTouch#gef    -1,5,5,{
gonryun,156,122,6    duplicate(Healer:OnTouch)    Healer:OnTouch#gon    -1,5,5,{
hugel,89,150,6    duplicate(Healer:OnTouch)    Healer:OnTouch#hug    -1,5,5,{
izlude,121,150,6    duplicate(Healer:OnTouch)    Healer:OnTouch#izl    -1,5,5,{     //Pre-RE: 
jawaii,250,139,4    duplicate(Healer:OnTouch)    Healer:OnTouch#jaw    -1,5,5,{
lighthalzen,152,100,6    duplicate(Healer:OnTouch)    Healer:OnTouch#lhz    -1,5,5,{
louyang,226,103,4    duplicate(Healer:OnTouch)    Healer:OnTouch#lou    -1,5,5,{
manuk,272,144,6    duplicate(Healer:OnTouch)    Healer:OnTouch#man    -1,5,5,{
mid_camp,203,289,6    duplicate(Healer:OnTouch)    Healer:OnTouch#mid    -1,5,5,{
moc_ruins,72,164,4    duplicate(Healer:OnTouch)    Healer:OnTouch#moc    -1,5,5,{
morocc,153,97,6    duplicate(Healer:OnTouch)    Healer:OnTouch#mor    -1,5,5,{
moscovia,220,191,4    duplicate(Healer:OnTouch)    Healer:OnTouch#mos    -1,5,5,{
niflheim,212,182,5    duplicate(Healer:OnTouch)    Healer:OnTouch#nif    -1,5,5,{
payon,179,106,4    duplicate(Healer:OnTouch)    Healer:OnTouch#pay    -1,5,5,{
prontera,156,190,4    duplicate(Healer:OnTouch)    Healer:OnTouch#prt    -1,5,5,{
rachel,125,116,6    duplicate(Healer:OnTouch)    Healer:OnTouch#rac    -1,5,5,{
splendide,201,153,4    duplicate(Healer:OnTouch)    Healer:OnTouch#spl    -1,5,5,{
thor_camp,249,74,4    duplicate(Healer:OnTouch)    Healer:OnTouch#thor    -1,5,5,{
umbala,105,148,3    duplicate(Healer:OnTouch)    Healer:OnTouch#umb    -1,5,5,{
veins,217,121,4    duplicate(Healer:OnTouch)    Healer:OnTouch#ve    -1,5,5,{
xmas,143,136,4    duplicate(Healer:OnTouch)    Healer:OnTouch#xmas    -1,5,5,{
yuno,164,45,4    duplicate(Healer:OnTouch)    Healer:OnTouch#yun    -1,5,5,{
caspen,153,209,4    duplicate(Healer:OnTouch)    Healer:OnTouch#caspen    -1,5,5,{
Edited by Patskie
Prevented 2 miles scroll bar on this topic by using CODE tag
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  127
  • Topics Per Day:  0.03
  • Content Count:  1445
  • Reputation:   163
  • Joined:  08/17/13
  • Last Seen:  

i have this functopn ( i didnt made it, i think it was made by patskie, capuche or annie, sorry i cant remember D: so, thank you 3 lol, dont blame me there was no credit on the script ): )

function	script	soullink	{
    switch ( basejob ) {
        case Job_Alchemist:    set .@spirit, 445; break;
        case Job_Monk:     set .@spirit, 447; break;
        case Job_Star_Gladiator:  set .@spirit, 448; break;
        case Job_Sage:     set .@spirit, 449; break;
        case Job_Crusader:    set .@spirit, 450; break;
        case Job_SuperNovice:   set .@spirit, 451; break;
        case Job_Knight:    set .@spirit, 452; break;
        case Job_Wizard:    set .@spirit, 453; break;
        case Job_Priest:    set .@spirit, 454; break;
        case Job_Bard: case Job_Dancer: set .@spirit, 455; break;
        case Job_Rogue:     set .@spirit, 456; break;
        case Job_Assassin:    set .@spirit, 457; break;
        case Job_Blacksmith:   set .@spirit, 458; break;
        case Job_Hunter:    set .@spirit, 460; break;
        case Job_Soul_Linker:   set .@spirit, 461; break;
        default:
            if ( upper == 1 && baselevel < 70 )
                set .@spirit, 494;
    }
    if ( .@spirit ) {
        sc_start4 sc_spirit, 360000, 5, .@spirit,0,0;
        skilleffect .@spirit, 5;
    }

    end;
}

then i have my item with this

id,name with _,with without _,5,0,0,0,,0,,0,0xFFFFFFFF,7,2,1,,1,0,1584,{ },{ callfunc "soullink"; },{ percentheal -100,-100; }

when they equip the otem they get link

 

if they unequip they die DD:

 

that may help you DD: ? if not i got this npc (credits to its author, dunno D:! )

izlude,107,146,4	script	Linker	742,50,50,{
set .@n$,"^0000FF[ Master Link ]^000000";
set .@time, 300000; // the buff last 5 minutes
set @zenycost,100000;
mes .@n$;
mes "Hola, ¿que tal va su viaje? espero que bien, yo solo soy un esperitualista.";
mes "Mira "+strcharinfo(0)+", yo puedo darte todo el poder de los espiritus para tu clase.";
mes "Por 100,000z puedo hacer que los grandes espiritus se enlacen a tu alma. ¿Quieres que enlace tu alma a ellos?";
switch(select("Yes:No")) {
case 1:
if(Zeny < @zenycost) goto l_nozeny;
set Zeny,Zeny - @zenycost;
switch ( basejob ) {
		case Job_Alchemist:				set .@spirit, 445; break;
		case Job_Monk:					set .@spirit, 447; break;
		case Job_Star_Gladiator:		set .@spirit, 448; break;
		case Job_Sage:					set .@spirit, 449; break;
		case Job_Crusader:				set .@spirit, 450; break;
		case Job_SuperNovice:			set .@spirit, 451; break;
		case Job_Knight:				set .@spirit, 452; break;
		case Job_Wizard:				set .@spirit, 453; break;
		case Job_Priest:				set .@spirit, 454; break;
		case Job_Bard: case Job_Dancer:	set .@spirit, 455; break;
		case Job_Rogue:					set .@spirit, 456; break;
		case Job_Assassin:				set .@spirit, 457; break;
		case Job_Blacksmith:			set .@spirit, 458; break;
		case Job_Hunter:				set .@spirit, 460; break;
		case Job_Soul_Linker:			set .@spirit, 461; break;
		default:
			if ( upper == 1 && baselevel < 70 )
				set .@spirit, 494;
	}
	if ( .@spirit ) {
		sc_start4 sc_spirit, .@time, 5, .@spirit,0,0;
		skilleffect .@spirit, 5;
	}
case 2:
mes .@n$;
mes "Muy bien, hasta pronto y mucha suerte, que los espiritus siempre te acompañen.";
close;
}
l_nozeny:
mes .@n$;
mes "Necesitas 100,000Z para poder enlazar tu alma con los espiritus.";
close;
}

i hope that works o:!

  • Upvote 1
Link to comment
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.   Paste as plain text instead

  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.

×
×
  • Create New...