Jump to content
  • 0

Adding custom NPC using existing MOB sprite


Gidz Cross

Question


  • Group:  Members
  • Topic Count:  128
  • Topics Per Day:  0.03
  • Content Count:  656
  • Reputation:   84
  • Joined:  04/07/14
  • Last Seen:  

Hi fellas. I just a guide how to add custom npc using mob sprite? I want that npc to be able to clickable and doesnt have attack cursor. Thanks!

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  28
  • Reputation:   11
  • Joined:  03/30/20
  • Last Seen:  

@gidzdlcrz Hello, my friend!

 

I hope you're doing well!

Have you checked the Healer NPC in Rathena npc folder? Its a Poring, maybe its sintax helps you in your search?

\npc\custom\healer.txt

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

-	script	Healer	-1,{

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

	if (@HD > gettimetick(2))
		end;
	if (.@Price) {
		message strcharinfo(0), "Healing costs " + callfunc("F_InsertComma",.@Price) + " Zeny.";
		if (Zeny < .@Price)
			end;
		if (select("^0055FFHeal^000000:^777777Cancel^000000") == 2)
			end;
		Zeny -= .@Price;
	}
	specialeffect2 EF_HEAL2;
	percentheal 100,100;
	if (.@Buffs) {
		specialeffect2 EF_INCAGILITY;
		sc_start SC_INCREASEAGI,240000,10;
		specialeffect2 EF_BLESSING;
		sc_start SC_BLESSING,240000,10;
		}
	if (.@Delay)
		@HD = gettimetick(2) + .@Delay;
	end;
}


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

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

You can also check this guide about adding scripts:

https://github.com/rathena/rathena/wiki/Adding-a-Script

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  128
  • Topics Per Day:  0.03
  • Content Count:  656
  • Reputation:   84
  • Joined:  04/07/14
  • Last Seen:  

5 hours ago, drakulya said:

@gidzdlcrz Hello, my friend!

 

I hope you're doing well!

Have you checked the Healer NPC in Rathena npc folder? Its a Poring, maybe its sintax helps you in your search?

\npc\custom\healer.txt


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

-	script	Healer	-1,{

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

	if (@HD > gettimetick(2))
		end;
	if (.@Price) {
		message strcharinfo(0), "Healing costs " + callfunc("F_InsertComma",.@Price) + " Zeny.";
		if (Zeny < .@Price)
			end;
		if (select("^0055FFHeal^000000:^777777Cancel^000000") == 2)
			end;
		Zeny -= .@Price;
	}
	specialeffect2 EF_HEAL2;
	percentheal 100,100;
	if (.@Buffs) {
		specialeffect2 EF_INCAGILITY;
		sc_start SC_INCREASEAGI,240000,10;
		specialeffect2 EF_BLESSING;
		sc_start SC_BLESSING,240000,10;
		}
	if (.@Delay)
		@HD = gettimetick(2) + .@Delay;
	end;
}


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

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

You can also check this guide about adding scripts:

https://github.com/rathena/rathena/wiki/Adding-a-Script

Yep. Thank you so much. But my question is how do you make a custom npc using mob sprite. If you select 909 for example. That is a poring npc using poring sprite. I want to use king poring for example. I dont want my cursor becoming sword. 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  28
  • Reputation:   11
  • Joined:  03/30/20
  • Last Seen:  

@gidzdlcrz I was looking on the forum and I learned that the cursor state is set harcoded inside client based on the job id/mob id/npc id. Now I dont know why it works for Poring and it doesnt work for other mobs. I hope somebody with more expertise helps you asap.
This guy also has a different approach:

 

Maybe you can try it.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  15
  • Topics Per Day:  0.01
  • Content Count:  81
  • Reputation:   17
  • Joined:  07/18/16
  • Last Seen:  

like this ?

image.png.297e3cd5a3ff24444fd47fb6e6ff257e.png

you'll need to create custom npc sprite by using monster sprite
and create custom npc id
for how to you can just search in the forum

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  128
  • Topics Per Day:  0.03
  • Content Count:  656
  • Reputation:   84
  • Joined:  04/07/14
  • Last Seen:  

6 hours ago, kodkodkub said:

like this ?

image.png.297e3cd5a3ff24444fd47fb6e6ff257e.png

you'll need to create custom npc sprite by using monster sprite
and create custom npc id
for how to you can just search in the forum

Yes this one! ♥ Me likey! Can you walk me through instead? Ive tried several threads but fail to see what i want to. Thanks in advance mate.

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