Version 1.0.0
254 downloads
{
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.