Jump to content
  • 0

Request > Walking NPC Drop items


celeron0134

Question


  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

Hello good day .. 

i need an NPC that when your are near the NPC like 2 cells away from the NPC.. a timer (waiting room) will count down for 60 secs

and if you run away from that NPC.. the timer will stop ( but it will not reset ).. so if you go again near the NPC the count down will resume

after 60 secs.. an item will drop and repeats the 60 sec count down , while you are near the NPC you'll get a random buffs or Debuffs . every 5 secs

example , gloria or reverse orchish,, blessing or curse, 

for the walk away and going back.. any player can resume the count down

Edited by celeron0134
Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  477
  • Reputation:   269
  • Joined:  06/13/17
  • Last Seen:  

prontera,155,170,3	script	Tamadora	10110,3,3,{
end;
OnTouch_:
	if(gettime(DT_HOUR) < 7) end;	// 7AM Onwards
	if(!.Active){
		initnpctimer;
		.Active = 1;
		.CFail = 0;
	}
end;

OnTimer1000:
	getmapxy(.@map$,.@x,.@y,BL_NPC);
	.@c = getareaunits(BL_PC,.@map$,[email protected],[email protected],.@x+.Cells,.@y+.Cells,.@aid);
	if(!.@c){
		if(++.CFail>=.Fail){
			stopnpctimer;
			.Active = 0;
			end;
		}
		initnpctimer;
		end;
	}
	if(.CurrentCD >= .Countdown){
		.@idx = rand(getarraysize(.ItemDrop));
		makeitem .ItemDrop[.@idx],.ItemAmt[.@idx],.@map$,rand([email protected],.@x+.Cells),rand([email protected],.@y+.Cells);
	}
	if(.Countdown-.CurrentCD <= 0) .CurrentCD = 0;
	if(.CurrentCD%3==0){
		for(.@i=0;.@i<.@c;.@i++){
			.@idx2 = rand(getarraysize(.SkillID));
			unitskilluseid getnpcid(0),.SkillID[.@idx2],.SkillLV[.@idx2],.@aid[.@i],-1;
		}
		showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA;
		sleep 1000;
	}
	showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA;
	npcwalkto rand(.XY[0],.XY[2]),rand(.XY[1],.XY[3]);
	initnpctimer;
end;

OnInit:
	.Countdown = 120;	//seconds
	.Fail = 3;	//3 seconds
	.Cells = 5;	//3 Cells Away
	npcspeed 150;
	setarray .XY[0],150,175,160,165;
	setarray .ItemDrop[0],7929;
	setarray .ItemAmt[0],1;
	setarray .SkillID[0],489,16,29,30,34;
	setarray .SkillLV[0],15,20,10,10,10;
end;
}

 

  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

Also this will be disabled on midnight and will be resumed on 7am in the morning kindly help me pleaseeeee thanks

bump please

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  61
  • Topics Per Day:  0.02
  • Content Count:  911
  • Reputation:   166
  • Joined:  11/27/14
  • Last Seen:  

I think the close NPC to your request is my Shower event . But you need to revise it and make it to NPC base

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

@Haruka Mayumi here's the request  -  the concept is like when players are on the PVP room.. they have to defend the NPC spot like maybe 3 cells SQUARE . if there are no players on the 3 cells square.. the countdown timer will stop.. 

2minutes = countdown

noplayer near the npc = countdown stops

on2minutes - 1 7929 will drop ( configurable on how many pcs will drop )

and if it's possible ,, The NPC casts Tarot Card of fate on the nearby players on the 3cell square every 3secs

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  477
  • Reputation:   269
  • Joined:  06/13/17
  • Last Seen:  

Okay I found this interesting. I will give you the simple script but I would probably adjust it to better one.

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

4 hours ago, Haruka Mayumi said:

prontera,155,170,3	script	Tamadora	10110,3,3,{
end;
OnTouch_:
	if(gettime(DT_HOUR) < 7) end;	// 7AM Onwards
	if(!.Active){
		initnpctimer;
		.Active = 1;
		.CFail = 0;
	}
end;

OnTimer1000:
	getmapxy(.@map$,.@x,.@y,BL_NPC);
	.@c = getareaunits(BL_PC,.@map$,[email protected],[email protected],.@x+.Cells,.@y+.Cells,.@aid);
	if(!.@c){
		if(++.CFail>=.Fail){
			stopnpctimer;
			.Active = 0;
			end;
		}
		initnpctimer;
		end;
	}
	if(.CurrentCD >= .Countdown){
		.@idx = rand(getarraysize(.ItemDrop));
		makeitem .ItemDrop[.@idx],.ItemAmt[.@idx],.@map$,rand([email protected],.@x+.Cells),rand([email protected],.@y+.Cells);
	}
	if(.Countdown-.CurrentCD <= 0) .CurrentCD = 0;
	if(.CurrentCD%3==0){
		for(.@i=0;.@i<.@c;.@i++){
			.@idx2 = rand(getarraysize(.SkillID));
			unitskilluseid getnpcid(0),.SkillID[.@idx2],.SkillLV[.@idx2],.@aid[.@i],-1;
		}
		showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA;
		sleep 1000;
	}
	showscript "~ < "+(.Countdown-.CurrentCD++)+" > ~",getnpcid(0),AREA;
	npcwalkto rand(.XY[0],.XY[2]),rand(.XY[1],.XY[3]);
	initnpctimer;
end;

OnInit:
	.Countdown = 120;	//seconds
	.Fail = 3;	//3 seconds
	.Cells = 5;	//3 Cells Away
	npcspeed 150;
	setarray .XY[0],150,175,160,165;
	setarray .ItemDrop[0],7929;
	setarray .ItemAmt[0],1;
	setarray .SkillID[0],489,16,29,30,34;
	setarray .SkillLV[0],15,20,10,10,10;
end;
}

 

this is better than i expected.. love it.. !! thanks a lot 

 

EDIT: 

   Cute NPC sprite and name !! =D

Edited by celeron0134
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

@Haruka Mayumi how to make it so. that it detects a player cloaking or hiding or in chase walk.. so it will cast ruwach and heaven's drive.. tried adding ruwach and heavens drive.. but heaven's drive misses

maybe the npc has to have stats ..  

 

grandcross skill doesnt work also

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  477
  • Reputation:   269
  • Joined:  06/13/17
  • Last Seen:  

*checkoption(<option number>{,<char_id>})
*checkoption1(<option number>{,<char_id>})
*checkoption2(<option number>{,<char_id>})
*setoption <option number>{,<flag>{,<char_id>}};

The 'setoption' series of functions check for a so-called option that is set on
the invoking character. 'Options' are used to store status conditions and a lot
of other non-permanent character data of the yes-no kind. For most common cases,
it is better to use 'checkcart','checkfalcon','checkriding' and other similar
functions, but there are some options which you cannot get at this way. They
return 1 if the option is set and 0 if the option is not set.

Option numbers valid for the first (option) version of this command are:

0x1       - Sight in effect.
0x2       - Hide in effect.
0x4       - Cloaking in effect.
0x8       - Cart number 1 present.
0x10      - Falcon present.
0x20      - Peco Peco present.
0x40      - GM Perfect Hide in effect.
0x80      - Cart number 2 present.
0x100     - Cart number 3 present.
0x200     - Cart number 4 present.
0x400     - Cart number 5 present.
0x800     - Orc head present.
0x1000    - The character is wearing a wedding sprite.
0x2000    - Ruwach is in effect.
0x4000    - Chasewalk in effect.
0x8000    - Flying or Xmas suit.
0x10000   - Sighttrasher.
0x100000  - Warg present.
0x200000  - The character is riding a warg.

Grandcross is an AoE skill will most likely fail if it doesn't have stats not like sight thrasher.. you need target skills

10 minutes ago, celeron0134 said:

grandcross skill doesnt work also

Edited by Haruka Mayumi
  • Love 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  66
  • Topics Per Day:  0.02
  • Content Count:  194
  • Reputation:   1
  • Joined:  12/13/16
  • Last Seen:  

22 minutes ago, Haruka Mayumi said:

*checkoption(<option number>{,<char_id>})
*checkoption1(<option number>{,<char_id>})
*checkoption2(<option number>{,<char_id>})
*setoption <option number>{,<flag>{,<char_id>}};

The 'setoption' series of functions check for a so-called option that is set on
the invoking character. 'Options' are used to store status conditions and a lot
of other non-permanent character data of the yes-no kind. For most common cases,
it is better to use 'checkcart','checkfalcon','checkriding' and other similar
functions, but there are some options which you cannot get at this way. They
return 1 if the option is set and 0 if the option is not set.

Option numbers valid for the first (option) version of this command are:

0x1       - Sight in effect.
0x2       - Hide in effect.
0x4       - Cloaking in effect.
0x8       - Cart number 1 present.
0x10      - Falcon present.
0x20      - Peco Peco present.
0x40      - GM Perfect Hide in effect.
0x80      - Cart number 2 present.
0x100     - Cart number 3 present.
0x200     - Cart number 4 present.
0x400     - Cart number 5 present.
0x800     - Orc head present.
0x1000    - The character is wearing a wedding sprite.
0x2000    - Ruwach is in effect.
0x4000    - Chasewalk in effect.
0x8000    - Flying or Xmas suit.
0x10000   - Sighttrasher.
0x100000  - Warg present.
0x200000  - The character is riding a warg.

Grandcross is an AoE skill will most likely fail if it doesn't have stats not like sight thrasher.. you need target skills

orayt thanks again.. ill just add targeted skills .. muaaaah

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