Jump to content
  • 0
AsurielRO

REQUEST : Plagiarism / Copy Cat NPC.

Question

Hi everyone, may i request a plagiarism npc also known as copy cat?

I've tried some of the script here but it seems like it is not working because after i choose a skill my character just stock on the screen and i need to use Alt + F4 to move again.

Also i didn't get any skills using a stalker/chaser job. When i use a GM Account and i use this NPC using "Other" job like priest i've also stock and boom map crashed. 😞
 

gonryun,167,109,4	script	Copy Cat	779,{
	mes "select which skill you want to be copy, your existing one will be overwrite";
	next;
	set [email protected], select(.menu$) -1;
	if ( getskilllv(.skill$[[email protected] * 3 +1]) && .skill$[[email protected] * 3 +1] ) {
		mes "you already copied that skill";
		close;
	}
	else if ( .skill$[[email protected] * 3 +1] ) {
		mes "are you sure you want to copy "+ .skill$[[email protected] * 3] +"?";
	}
	mes "you'll need to relogin again";
	next;
	if ( select ( "Yes", "No" ) == 2 ) close;
	set CLONE_SKILL, .skill$[[email protected] * 3 +1];
	set CLONE_SKILL_LV, .skill$[[email protected] * 3 +2];
	atcommand "@kick "+ strcharinfo(0);
	end;

OnInit:
    setarray .skill$,
	"< Remove >", 0, 0,
	"Bash", 5, 3,
	"Provoke", 6, 5,
	"Magnum Break", 7, 5,
	"Napalm Beat", 11, 5,
	"Soul Strike", 13, 5,
	"Cold Bolt", 14, 5,
	"Frost Diver", 15, 3,
	"Fire Ball", 17, 5,
	"Fire Bolt", 19, 3,
	"Lightning Bolt", 20, 5,
	"Thunderstorm", 21, 3,
	"Mammonite", 42, 5,
	"Double Strafe", 46, 3,
	"Arrow Shower", 47, 5,
	"Brandish Spear", 57, 5,
	"Spear Stab", 58, 3,
	"Spear Boomerang", 59, 5,
	"Bowling Bash", 62, 3,
	"Magnus Exorcismus", 79, 5,
	"Fire Pillar", 80, 5,
	"Meteor Storm", 83, 3,
	"Jupitel Thunder", 84, 3,
	"Lord of Vermilion", 85, 3,
	"Water Ball", 86, 2,
	"Frost Nova", 88, 3,
	"Storm Gust", 89, 3,
	"Earth Spike", 90, 3,
	"Heaven's Drive", 91, 3,
	"Land Mine", 116, 3,
	"Blast Mine", 122, 5,
	"Claymore Trap", 123, 5,
	"Sonic Blow", 136, 5,
	"Holy Light", 156, 5,
	"Holy Cross", 253, 5,
	"Grand Cross", 254, 5,
	"Raging Trifecta Blow", 263, 3,
	"Occult Impaction", 266, 3,
	"Throw Spirit Sphere", 267, 5,
	"Asura Strike", 271, 3,
	"Raging Quadruple Blow", 272, 5,
	"Throw Tomahawk", 337, 5,
	"Flying Kick", 421, 3,
	"Throw Zeny", 526, 3,
	"Improvised Defense", 527, 5,
	"Vanishing Slash", 528, 5,
	"Shadow Leap", 529, 3,
	"Shadow Slash", 530, 3,
	"Cicada Skin Sheeding", 531, 3,
	"Crimson Fire Petal", 534, 3,
	"Crimson Fire Formation", 535, 5,
	"Raging Fire Dragon", 536, 3,
	"Spear of Ice", 537, 3,
	"Ice Meteor", 539, 3,
	"Wind Blade", 540, 3,
	"Lightning Strike of Destruction", 541, 5,
	"Kamaitachi", 542, 3,
	"Charge Attack", 1001, 5,
	"Throw Venom Knife", 1004, 3,
	"Sight Blaster", 1006, 5,
	"Phantasmic Arrow", 1009, 5,
	"Ki Translation", 1015, 5,
	"Rapid Throw", 3008, 5;
    set [email protected], getarraysize(.skill$);
	for ( set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] +3 )
		set .menu$, .menu$ + .skill$[[email protected]] +":";
	end;
}

 

Link to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 1

I have made my own Plagiarism NPC last week. Hope it helps you.

//===== rAthena Script =======================================
//= Plagiarism NPC
//===== By: ==================================================
//= Easycore
//===== Last Updated: ========================================
//= 20210905
//===== Description: ========================================= 
//= Simple Plagiarism Skill
//= Require 'getskillname' script command:
//=    https://rathena.org/board/files/file/4307-script-command-getskillname/
//============================================================

prontera,150,150,3	script	Plagiarism NPC	747,{
	mes "[ ^FF0000Plagiarism Master^000000 ]";
	if (.plag_skill && !getskilllv("RG_PLAGIARISM")) {
		mes "You must have Plagiarism learned.";
		close;
	}
	mes "Heya ^FFA500"+strcharinfo(0)+"^000000!";
	mes "Do you want to copy a skill?";
	if (.zeny)
		mes "My service costs ^FF0000"+.zeny+" Zeny^000000.";
	if (select("~ Proceed","Cancel") == 2) close;
	if (.zeny > 0 && Zeny < .zeny) {
		message(strcharinfo(0),"Not enough Zeny.");
		close;
	}
	.@menu$ = "";
	.@f = getarraysize(.SkillID);
	for(.@i = 0; .@i < .@f; .@i++)
		.@menu$ += getskillname(.SkillID[.@i])+(.@i==.@f?"":":");
	.@s = select(.@menu$) - 1;
	close2;
	if (.zeny > 0 && Zeny < .zeny)
		end;
	if (.zeny > 0)
		Zeny -= .zeny;
	npcskill .SkillID[.@s],.SkillLV[.@s],20,200;
	sleep2 1500;
	unitwarp getnpcid(0),.map$,.x,.y;
	end;

	OnInit:
		//Default NPC Data Values
		setunitdata(getnpcid(0),UNPC_DEX,300);
		setunitdata(getnpcid(0),UNPC_ATKMIN,100);
		setunitdata(getnpcid(0),UNPC_ATKMAX,200);
		getmapxy(.map$,.x,.y,BL_NPC);

		//Configuration
		//Zeny required? Set 0 to disable it
		.zeny = 25000;
		//Must Plagiarism skil be learned? (1. Yes | 0. No)
		.plag_skill = 1;
		//Skill ID Array
		setarray .SkillID[0],263,13, 7,14,19,20,21,83,84,85,86,89,90,91,421,534,536,537,540,542;
		//Skill LV Array
		setarray .SkillLV[0], 10,10,10,10,10,10,10,10,10,10,10,10,10,5,   7, 10,  5, 10, 19,  5;
		end;
}

PS: It requires 'getskillname' script command to work.

 

  • Upvote 2
Link to comment
Share on other sites

  • 0
On 9/6/2021 at 6:02 AM, Easycore said:

I have made my own Plagiarism NPC last week. Hope it helps you.

//===== rAthena Script =======================================
//= Plagiarism NPC
//===== By: ==================================================
//= Easycore
//===== Last Updated: ========================================
//= 20210905
//===== Description: ========================================= 
//= Simple Plagiarism Skill
//= Require 'getskillname' script command:
//=    https://rathena.org/board/files/file/4307-script-command-getskillname/
//============================================================

prontera,150,150,3	script	Plagiarism NPC	747,{
	mes "[ ^FF0000Plagiarism Master^000000 ]";
	if (.plag_skill && !getskilllv("RG_PLAGIARISM")) {
		mes "You must have Plagiarism learned.";
		close;
	}
	mes "Heya ^FFA500"+strcharinfo(0)+"^000000!";
	mes "Do you want to copy a skill?";
	if (.zeny)
		mes "My service costs ^FF0000"+.zeny+" Zeny^000000.";
	if (select("~ Proceed","Cancel") == 2) close;
	if (.zeny > 0 && Zeny < .zeny) {
		message(strcharinfo(0),"Not enough Zeny.");
		close;
	}
	.@menu$ = "";
	.@f = getarraysize(.SkillID);
	for(.@i = 0; .@i < .@f; .@i++)
		.@menu$ += getskillname(.SkillID[.@i])+(.@i==.@f?"":":");
	.@s = select(.@menu$) - 1;
	close2;
	if (.zeny > 0 && Zeny < .zeny)
		end;
	if (.zeny > 0)
		Zeny -= .zeny;
	npcskill .SkillID[.@s],.SkillLV[.@s],20,200;
	sleep2 1500;
	unitwarp getnpcid(0),.map$,.x,.y;
	end;

	OnInit:
		//Default NPC Data Values
		setunitdata(getnpcid(0),UNPC_DEX,300);
		setunitdata(getnpcid(0),UNPC_ATKMIN,100);
		setunitdata(getnpcid(0),UNPC_ATKMAX,200);
		getmapxy(.map$,.x,.y,BL_NPC);

		//Configuration
		//Zeny required? Set 0 to disable it
		.zeny = 25000;
		//Must Plagiarism skil be learned? (1. Yes | 0. No)
		.plag_skill = 1;
		//Skill ID Array
		setarray .SkillID[0],263,13, 7,14,19,20,21,83,84,85,86,89,90,91,421,534,536,537,540,542;
		//Skill LV Array
		setarray .SkillLV[0], 10,10,10,10,10,10,10,10,10,10,10,10,10,5,   7, 10,  5, 10, 19,  5;
		end;
}

PS: It requires 'getskillname' script command to work.

 

Cool script! Thanks! But i found a problem concerning SOUL STRIKE, LORD OF VERMILLION and FLYING SIDE KICK. My server settings is 255/120. Im using @statall which would give me 255 to all stats. Those skills are going to miss. I tried normal builds but its still the same. Tried adding INT to the NPC stats i guess it works but the damage will become stronger. Any thoughts?

Edited by Gidz Cross
typo
Link to comment
Share on other sites

  • 0

Increase the values in

		setunitdata(getnpcid(0),UNPC_ATKMIN,100);
		setunitdata(getnpcid(0),UNPC_ATKMAX,200);

Also check stat point part

npcskill <skill id>,<skill lvl>,<stat point>,<NPC level>;

https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8469

Link to comment
Share on other sites

  • 0
1 hour ago, Easycore said:

Increase the values in

		setunitdata(getnpcid(0),UNPC_ATKMIN,100);
		setunitdata(getnpcid(0),UNPC_ATKMAX,200);

Also check stat point part

npcskill <skill id>,<skill lvl>,<stat point>,<NPC level>;

https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8469

What i did was add int onto it.
 

setunitdata(getnpcid(0),UNPC_DEX,300);
setunitdata(getnpcid(0),UNPC_INT,100);
setunitdata(getnpcid(0),UNPC_ATKMIN,100);
setunitdata(getnpcid(0),UNPC_ATKMAX,200);
getmapxy(.map$,.x,.y,BL_NPC);

i will check the stat point part. Thanks!

Link to comment
Share on other sites

  • 0
On 9/10/2021 at 12:57 AM, Easycore said:

Also check stat point part

npcskill <skill id>,<skill lvl>,<stat point>,<NPC level>;

https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8469

Confirmed. This works. 🙂 Thank you!!!

 

Only the Flying Sidekick remains. Hehehe!

image.png.6f3f3387f2efddc2e72095ca2eede8eb.png

Oh yea.. I also noticed that i can copy 2 skill. The other skill is not usable tho. And upon character select, it will removed.

Edited by Gidz Cross
Edit
Link to comment
Share on other sites

  • 0
14 minutes ago, Gidz Cross said:

Oh yea.. I also noticed that i can copy 2 skill. The other skill is not usable tho. And upon character select, it will removed.

That is not related to this script.
The only purpose of this is to receive damage from an NPC in order to copy a skill.

Link to comment
Share on other sites

  • 0
On 9/10/2021 at 10:13 AM, Easycore said:

That is not related to this script.
The only purpose of this is to receive damage from an NPC in order to copy a skill.

Yeah. But still im having problem with Flying Side kick. it always misses.

Link to comment
Share on other sites

  • 0
3 hours ago, Gidz Cross said:

Yeah. But still im having problem with Flying Side kick. it always misses.

https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8168

https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L8163

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

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.