Nova

Nightmareish Jitterbug (Episode 14.3)

Recommended Posts

In order to give back to this community, and as a huge thank you to all of those who put work into the emulator, we've decided to share our Nightmarish Jitterbug instance.

This instance was scripted by Tokei, with YouTube videos as sources, as well as me running it on iRO. A huge thank you to our ex-player Deegs for lending me his iRO RK in order to run the content.

A small amount of dialogue is missing, and you're welcome to contribute if you run into the actual lines. They're marked in the script file itself.

 

Item drop rates were the only thing really customized, enjoy the release!

 

http://novaragnarok.com/download/NightmarishJitterbug.txt

 

KJaExLg.png

  • Upvote 6
  • Love 1
  • MVP 1

Share this post


Link to post
Share on other sites

i get a error here

 

function script JitDiag {
mes "[" + getarg(0) + "]";
mes getarg(3);

npctalk getarg(3), instance_npcname(getarg(0) + getarg(4, "#" + strnpcinfo(2)));

 

npctalk in the script is different from rathena i think

 

npctalk <"message">;

Share this post


Link to post
Share on other sites

i get a error here

 

function script JitDiag {
mes "[" + getarg(0) + "]";
mes getarg(3);

npctalk getarg(3), instance_npcname(getarg(0) + getarg(4, "#" + strnpcinfo(2)));

 

npctalk in the script is different from rathena i think

 

npctalk <"message">;

 

Completely forgot about that, to avoid using hundreds of donpcevents, we customized npctalk with an optional parameter to target a specific NPC. Here:

/*==========================================
 * npctalk (sends message to surrounding area)
 *------------------------------------------*/
BUILDIN_FUNC(npctalk)
{
	const char* str;

	struct npc_data* nd;
	str = script_getstr(st,2);

	if (script_hasdata(st, 3)) {
		nd = npc_name2id(script_getstr(st, 3));
	}
	else {
		nd = (struct npc_data *)map_id2bl(st->oid);
	}
	
	if(nd)
	{
		char name[NAME_LENGTH], message[256];
		safestrncpy(name, nd->name, sizeof(name));
		strtok(name, "#"); // discard extra name identifier if present
		safesnprintf(message, sizeof(message), "%s : %s", name, str);
		clif_disp_overhead(&nd->bl, message);
	}
	return SCRIPT_CMD_SUCCESS;
}

BUILDIN_DEF(npctalk,"s?"), // [Valaris]

Share this post


Link to post
Share on other sites

i edit npctalk, now the instance work but look the screenshot chat

 

 

edit:

if you press "Hurry" option this is show in mapserver

 

Error: script:getelementofarray: illegal scope

debug: Data: variable name='jitoptions'

 

edit2:

 

i change all jitoptions for @jitoptions (temp player array) and it works 

 

edit3:

npctalk fixed, my fault, ty

post-14069-0-28623900-1453317694_thumb.jpg

Edited by juanfu

Share this post


Link to post
Share on other sites

The chats would be because you didn't copy the npctalk function properly.

 

I'm having no errors on a clean rA copy, so I couldn't really tell you what the issue is here with the jitoptions variable. I'm guessing your script engine is a bit outdated, so you could try and add the following :

 

 

case 0:

setquest 13181;
setquest 13182;
if (!jitoptions) {
   setarray jitoptions, -1, -1, -1, -1, 0;
}
mapannounce "moc_para01", strcharinfo(0) + " of the party, " + [email protected]_name$ + ", is entering the " + [email protected]_name$ + ".", bc_map, "0x00ff99";
break;

 

If that doesn't help, then I'm afraid I do not have a solution for you =l.

Share this post


Link to post
Share on other sites

Thanks nova for sharing. Is this script applicable to pre-renewal servers?

Share this post


Link to post
Share on other sites

The mobs are definitely not balanced for pre-renewal, but you could easily add our source code addons and just modify the mob_db entries to fit pre-renewal.

Share this post


Link to post
Share on other sites

How can i Add the source code addons sir?

Can you PLEASE help me. Coz I'd really like to put this on my server but I don't know much about src modifications

Share this post


Link to post
Share on other sites

How can i Add the source code addons sir?

Can you PLEASE help me. Coz I'd really like to put this on my server but I don't know much about src modifications

Replace your builtin npctalk in script.c with one @Tokei provided.

Edited by secretdataz
  • Upvote 1

Share this post


Link to post
Share on other sites

newoz npc error?23m29s2.png

Edited by Fae

Share this post


Link to post
Share on other sites

@Tokei @Nova

Didn't see value of temp. char. variable @menu for jitoptions[0..4] get define.

It should be defined in Newoz#09 while selecting options.

Edited by exneval

Share this post


Link to post
Share on other sites

It's a value set source-wise after calling menu; it gives you the latest selected option.

  • Upvote 1

Share this post


Link to post
Share on other sites

@Tokei

Argh.. you're right... sorry, I'm verynoob at scripting...

Thanks~

Share this post


Link to post
Share on other sites

great job :D got it to work

Edited by spinzaku

Share this post


Link to post
Share on other sites

After the Patch of Rathena i got this error,

did the change the instance_create thing?

when i click the "Open the Dimensional Portal"

the error will appear, and the reservation is Failed

2hguu76.png

 

never mind as i can see the instances_db is updated

26,Nightmarish Jitterbug,3300,300,[email protected],16,18,[email protected]

they put IdleTimeOut

// Structure of Database:
// ID,Name,LimitTime,IdleTimeOut,EnterMap,EnterX,EnterY,Map2,...,Map255

thanks anyway ^^

Edited by Fae

Share this post


Link to post
Share on other sites

 

i get a error here

 

function script JitDiag {
mes "[" + getarg(0) + "]";
mes getarg(3);

npctalk getarg(3), instance_npcname(getarg(0) + getarg(4, "#" + strnpcinfo(2)));

 

npctalk in the script is different from rathena i think

 

npctalk <"message">;

 

Completely forgot about that, to avoid using hundreds of donpcevents, we customized npctalk with an optional parameter to target a specific NPC. Here:

/*==========================================
 * npctalk (sends message to surrounding area)
 *------------------------------------------*/
BUILDIN_FUNC(npctalk)
{
	const char* str;

	struct npc_data* nd;
	str = script_getstr(st,2);

	if (script_hasdata(st, 3)) {
		nd = npc_name2id(script_getstr(st, 3));
	}
	else {
		nd = (struct npc_data *)map_id2bl(st->oid);
	}
	
	if(nd)
	{
		char name[NAME_LENGTH], message[256];
		safestrncpy(name, nd->name, sizeof(name));
		strtok(name, "#"); // discard extra name identifier if present
		safesnprintf(message, sizeof(message), "%s : %s", name, str);
		clif_disp_overhead(&nd->bl, message);
	}
	return SCRIPT_CMD_SUCCESS;
}

BUILDIN_DEF(npctalk,"s?"), // [Valaris]

where i need put this?

Share this post


Link to post
Share on other sites

\src\map\script.c

 

find npctalk function and replace it

 

then search for this line

 

BUILDIN_DEF(npctalk,"s"), // [Valaris]

 

and change it for this

 

BUILDIN_DEF(npctalk,"s?"), // [Valaris]

 

then recompile the emulator

Share this post


Link to post
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
Reply to this topic...

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

Loading...