Jump to content

Plagiarize a Skill [Script Command] 1.0.0


1 Screenshot

About This File

{
	plagiarize <skill>,<lv>;
	Sets the invoking player's plagiarised skill and the desired lv.
}	by rootKid

 

INSTALLATION

[in src/map/script.c]

Find: 

	// declarations that were supposed to be exported from npc_chat.c
	#ifdef PCRE_SUPPORT
	BUILDIN(defpattern);
	BUILDIN(activatepset);
	BUILDIN(deactivatepset);
	BUILDIN(deletepset);

Add above:

/*===========================================
* Plagiarize a Skill
* plagiarize <skill>,<lv>;
* Sets the invoking player's plagiarised skill and the desired lv.
* by rootKid
*-------------------------------------------*/
BUILDIN_FUNC(plagiarize)
{
	int skillid, lv;
	struct map_session_data * sd = script_rid2sd(st);
	skillid=( script_isstringtype(st,2) ? skill->name2id(script_getstr(st,2)) : script_getnum(st,2) );
	lv=script_getnum(st,3);
	
	if (sd->cloneskill_idx && sd->status.skill[sd->cloneskill_idx].flag == 13){
				sd->status.skill[sd->cloneskill_idx].id = 0;
				sd->status.skill[sd->cloneskill_idx].lv = 0;
				sd->status.skill[sd->cloneskill_idx].flag = 0;
			}
	if (pc_checkskill(sd,RG_PLAGIARISM)) {		
			sd->cloneskill_idx = skillid;
			sd->status.skill[sd->cloneskill_idx].id = skillid;
			sd->status.skill[sd->cloneskill_idx].lv = lv;
			sd->status.skill[sd->cloneskill_idx].flag = 13;//cloneskill flag
			pc_setglobalreg(sd, add_str(SKILL_VAR_PLAGIARISM), skillid);
			pc_setglobalreg(sd, add_str(SKILL_VAR_PLAGIARISM_LV), lv);
			clif_skillinfoblock(sd);
			}
	return 0;
}

Find:

BUILDIN_DEF(_,"s"),

Add above:

BUILDIN_DEF(plagiarize,"ii"),

 

END OF INSTALLATION

I have attached an unfinished function-based script using this script command as a reference.


What's New in Version 1.0.0   See changelog

Released

No changelog available for this version.

  • Upvote 1

×
×
  • Create New...