Jump to content
  • 0

@buffs command removing stone curse debuff


IsabelaFernandez

Question


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.06
  • Content Count:  354
  • Reputation:   8
  • Joined:  04/16/18
  • Last Seen:  

Hi guys, I have this custom script and whenever the player enters the Stone Curse state, the @buffs remove command. Is there any solution to not be removing it?

https://pastebin.com/Z8Bbb4Q9

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

-	script	buff_cmd	-1,{
	
OnInit:
	bindatcmd "buffs", strnpcinfo(0)+"::OnCommand",0,99;
	end;

OnCommand:
	if(getgroupid() <= 4) {
		message strcharinfo(0),"No, VIP.";
		end;
	}
	.@stone_time = getstatus(SC_STONE, 5);
	.@curse_time = getstatus(SC_CURSE, 5);
	skilleffect 34,0; sc_start SC_BLESSING,360000,10;
	skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10;
	sc_start SC_ASPDPOTION2,360000,0;
	sc_start SC_STRFood,360000,10;
	sc_start SC_AGIFood,360000,10;
	sc_start SC_VITFood,360000,10;
	sc_start SC_INTFood,360000,10;
	sc_start SC_DEXFood,360000,10;
	sc_start SC_LUKFood,360000,10;
	sc_start SC_HitFood,1200000,30;
	sc_start SC_FleeFood,1200000,30;
	sc_start SC_BATKFood,1200000,10;
	sc_start SC_MATKFood,120000,10;
	
	if (.@stone_time > 0)
		sc_start SC_STONE, .@stone_time, 0;
	if (.@curse_time > 0)
		sc_start SC_CURSE, .@curse_time, 0;
	end;	
}

or you could also try tricks like this to reapply the debuffs

  • MVP 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  746
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

1 hour ago, IsabelaFernandez said:

Hi guys, I have this custom script and whenever the player enters the Stone Curse state, the @buffs remove command. Is there any solution to not be removing it?

https://pastebin.com/Z8Bbb4Q9

   unless you edit your SC_BLESSING on your status.cpp

	case SC_BLESSING:
		// !TODO: Blessing and Agi up should do 1 damage against players on Undead Status, even on PvM
		// !but cannot be plagiarized (this requires aegis investigation on packets and official behavior) [Brainstorm]
		if ((!undead_flag && status->race != RC_DEMON) || bl->type == BL_PC) {
			if (sc->data[SC_STONE] && sc->opt1 == OPT1_STONE)
				status_change_end(bl, SC_STONE, INVALID_TIMER);
			if (sc->data[SC_CURSE]) {
					status_change_end(bl, SC_CURSE, INVALID_TIMER);
					return 1; // End Curse and do not give stat boost
			}
		}
		if(sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_HIGH)
			status_change_end(bl, SC_SPIRIT, INVALID_TIMER);
		break;

 

  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.06
  • Content Count:  354
  • Reputation:   8
  • Joined:  04/16/18
  • Last Seen:  

1 hour ago, Bringer said:

   unless you edit your SC_BLESSING on your status.cpp

	case SC_BLESSING:
		// !TODO: Blessing and Agi up should do 1 damage against players on Undead Status, even on PvM
		// !but cannot be plagiarized (this requires aegis investigation on packets and official behavior) [Brainstorm]
		if ((!undead_flag && status->race != RC_DEMON) || bl->type == BL_PC) {
			if (sc->data[SC_STONE] && sc->opt1 == OPT1_STONE)
				status_change_end(bl, SC_STONE, INVALID_TIMER);
			if (sc->data[SC_CURSE]) {
					status_change_end(bl, SC_CURSE, INVALID_TIMER);
					return 1; // End Curse and do not give stat boost
			}
		}
		if(sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_HIGH)
			status_change_end(bl, SC_SPIRIT, INVALID_TIMER);
		break;

 

which part should I delete?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  102
  • Reputation:   6
  • Joined:  03/02/18
  • Last Seen:  

just comment this part 

/*if ((!undead_flag && status->race != RC_DEMON) || bl->type == BL_PC) {
			if (sc->data[SC_STONE] && sc->opt1 == OPT1_STONE)
				status_change_end(bl, SC_STONE, INVALID_TIMER);
			if (sc->data[SC_CURSE]) {
					status_change_end(bl, SC_CURSE, INVALID_TIMER);
					return 1; // End Curse and do not give stat boost
			}
		}*/
  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.06
  • Content Count:  354
  • Reputation:   8
  • Joined:  04/16/18
  • Last Seen:  

On 11/18/2023 at 10:48 AM, Emistry said:
-	script	buff_cmd	-1,{
	
OnInit:
	bindatcmd "buffs", strnpcinfo(0)+"::OnCommand",0,99;
	end;

OnCommand:
	if(getgroupid() <= 4) {
		message strcharinfo(0),"No, VIP.";
		end;
	}
	.@stone_time = getstatus(SC_STONE, 5);
	.@curse_time = getstatus(SC_CURSE, 5);
	skilleffect 34,0; sc_start SC_BLESSING,360000,10;
	skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10;
	sc_start SC_ASPDPOTION2,360000,0;
	sc_start SC_STRFood,360000,10;
	sc_start SC_AGIFood,360000,10;
	sc_start SC_VITFood,360000,10;
	sc_start SC_INTFood,360000,10;
	sc_start SC_DEXFood,360000,10;
	sc_start SC_LUKFood,360000,10;
	sc_start SC_HitFood,1200000,30;
	sc_start SC_FleeFood,1200000,30;
	sc_start SC_BATKFood,1200000,10;
	sc_start SC_MATKFood,120000,10;
	
	if (.@stone_time > 0)
		sc_start SC_STONE, .@stone_time, 0;
	if (.@curse_time > 0)
		sc_start SC_CURSE, .@curse_time, 0;
	end;	
}

or you could also try tricks like this to reapply the debuffs

Perfect! thank you very much. /thx

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...