Jump to content
  • 0

showevent didn't do like the doc say?


Question

Posted

Hi~

So I want to make something using the showevent function...

But I need to disable the quest bubble... and I can't do that.

It's not because it isn't working, but instead of being disabled... it did something different.

I have read the docs about showevent, it said that :

state can be:

0 = disable ( Used to disable and remove the mark and the emotion from the NPC. )

1 = exclamation emotion ( Used to show an important quest event to certain player. )

2 = interrogation emotion ( Used to show an non-important quest event to certain player. )

Other value may cause client crashes.

So I suppose that showevent 0,0; should remove the bubble, right?

but instead of being removed... it gives me a yellow bubble with "!" mark and Quest. (see attachment)

/swt

post-6754-0-38176600-1344346813_thumb.jpg

After doing some experiments... this is what showevent did to me :

showevent 0,0; = give yellow bubble with "!" mark and Quest.

showevent 1,0; = give yellow bubble with "?" mark and Quest.

showevent 2,0; = give orange bubble with "!" mark and Job.

showevent 3,0; = give orange bubble with "?" mark and Job.

showevent 4,0; = give green bubble with "!" mark and Event.

showevent 5,0; = give green bubble with "?" mark and Event.

I tried playing around by puttingvarious number other than 0-5, but it spawned something so random.

Anyway, none of them giving me a "disable" bubble.

I'm using latest revision of rAthena SVN, 2012-04-10 RagexeRE client, and latest lua files.

So, does anyone know what's going on? /wah

8 answers to this question

Recommended Posts

Posted (edited)

Bump! Having the same problem, showevent 0,0 did not remove the bubble, instead duplicating "!" and [QUEST]

iki7F.jpg

Here's the code.

-cut-
mes "[Receptionist]";
  mes "Alright, you are good to go to your training now.";
  mes "Please proceed to Field Guide at the training ground.";
  close2;
  set novi_quest,1;
  setquest 55001;
  showevent 0,0;
  doevent "Field Guide#Novi::OnShowEvent";
  end;


OnTouch:
if (novi_quest < 1) {
showevent 1,0;
npctalk "Hello! (Click on NPC to Interact)";
} else end;

OnShowEvent:
showevent 1,0;
end;
}

Edited by darristan
Posted

Anyway, none of them giving me a "disable" bubble.

"disable" is not a bubble.. it literally means disabled.

Bump! Having the same problem, showevent 0,0 did not remove the bubble, instead duplicating "!" and [QUEST]

iki7F.jpg

Here's the code.

-cut-
mes "[Receptionist]";
mes "Alright, you are good to go to your training now.";
mes "Please proceed to Field Guide at the training ground.";
close2;
set novi_quest,1;
setquest 55001;
showevent 0,0;
doevent "Field Guide#Novi::OnShowEvent";
end;
OnTouch:
if (novi_quest < 1) {
showevent 1,0;
npctalk "Hello! (Click on NPC to Interact)";
} else end;

OnShowEvent:
showevent 1,0;
end;
}

That's probably because you haven't used showevent in the right place.. and where is your OnTouch referring to?

Posted

Where have I done wrong? This is a map where new players started in, so the onTouch will trigger the NPC shows [?/QUEST]

Here is the whole code.

// Receptionist
nov_01,30,17,4 script Receptionist#Novi 55,5,5,{
switch (novi_quest) {
 case 0:
  mes "[Receptionist]";
  mes "Hello! Welcome to ^FF0000Flarism Ragnarok Online^000000.";
  next;
  mes "[Receptionist]";
  mes "You look to be new here.";
  mes "What is your name?";
  next;
  input .@charname$;
  if (.@charname$!=strcharinfo(0)) {
mes "[Receptionist]";
mes "Sorry, but I don't think I heard you correctly.";
close;
  }
  mes "[Receptionist]";
  mes "^0000FF" + strcharinfo(0) + "^000000...";
  mes "Please wait while I register your name into the lists.";
  next;
  mes "[Receptionist]";
  mes "Congratulations! You are now a registered Midgard novice!";
  next;
  mes "[Receptionist]";
  mes "Here is some equipments for you to use during the training.";
  getitem 569,30; // Novice Potions
  getitem 5055,1; // Novice False Eggshell [0]
  getitem 2393,1; // Novice Adventurer's Suit [1]
  getitem 2510,1; // Somber Novice Hood [0]
  getitem 2414,1; // Novice Slippers [0]
  getitem 1243,1; // Novice Main Gauche [0]
  getitem 2112,1; // Novice Guard [0]
  next;
  mes "[Receptionist]";
  mes "Alright, you are good to go to your training now.";
  mes "Please proceed to Field Guide at the training ground.";
  close2;
  set novi_quest,1;
  setquest 55001;
  showevent 0,0;
  doevent "Field Guide#Novi::OnShowEvent";
  end;

 case 1:
  mes "[Receptionist]";
  mes "Please make your way to the training ground and meet the guide.";
  next;
  menu "Where is the training ground?",-;
  mes "[Receptionist]";
  mes "Walk across the hall and you shall see the portal to training ground.";
  emotion 21;
  close;

 case 6:
  mes "[Receptionist]";
  mes "Congratulations! ^0000FF" + strcharinfo(0) + "^000000.";
  mes "I see you have finished your training, quite an effort huh.";
  next;
  mes "[Receptionist]";
  mes "You are now an adventurer, do you wish to go out to the Midgard now?";
  mes "^808080Tips: You are unable to return to training ground once you leave.^000000";
  next;
  if(select("Yes, please.:No, I wish to stay longer.") == 2) {
mes "[Receptionist]";
mes "You can talk to me again when you are ready.";
close;
  }
  mes "[Receptionist]";
  mes "Alright, here is some item might help you out there.";
  next;
  mes "[Receptionist]";
  mes "Good luck out there!";
  close2;
  getitem 12208,1; // Battle Manual
  set novi_quest,7;
  completequest 55006;
  showevent 0,0;
  warp "prontera",150,150; // Warp
  savepoint "prontera",150,150; // Save
  end;

 case 7:
  mes "[Receptionist]";
  mes "Bugged! Please kindly contact GM at";
  mes "flarismro[at]gmail[dot]com";
  close;

 default:
  mes "[Receptionist]";
  mes "How is everything going on?";
  close;
}
OnTouch:
if (novi_quest < 1) {
 showevent 1,0;
 npctalk "Hello! (Click on NPC to Interact)";
} else end;

OnShowEvent:
showevent 1,0;
end;
}

Bump. Not yet solved.

Another bump...

Posted

After doing some experiments... this is what showevent did to me :

showevent 0,0; = give yellow bubble with "!" mark and Quest.

showevent 1,0; = give yellow bubble with "?" mark and Quest.

showevent 2,0; = give orange bubble with "!" mark and Job.

showevent 3,0; = give orange bubble with "?" mark and Job.

showevent 4,0; = give green bubble with "!" mark and Event.

showevent 5,0; = give green bubble with "?" mark and Event.

you know ... I'm still using this outdated server revision 14801 and what I get is

showevent 1,0; = give yellow bubble with "!" mark and Quest.

....

showevent 6,0; = give green bubble with "?" mark and Event.

which is everything +1,

and showevent 0,0; works fine to remove the bubble on my 14801 revision

anyway have you guys tried showevent -1,0; ?

in theory it should work .... if not please wait 1~2 more days till I download finish the latest kro+sak renewal client, still downloading atm

Posted (edited)

prontera,178,208,3 script Quest Marker 55,{
mes "Hello.";
next;
if (select("Enable:Disable") == 2) {
 showevent -1,0;
 mes "Show Event Disabled.";
 close;
}
showevent 1,0;
mes "Show Event Enabled.";
close;
}

A warg summoned somehow when I choose disabled (showevent -1,0). /hum

W2GVq.png

Here is the src of showevent function:

BUILDIN_FUNC(showevent)
{
TBL_PC *sd = script_rid2sd(st);
struct npc_data *nd = map_id2nd(st->oid);
int state, color;
if( sd == NULL || nd == NULL )
return 0;
state = script_getnum(st, 2);
color = script_getnum(st, 3);
if( color < 0 || color > 3 )
color = 0; // set default color
clif_quest_show_event(sd, &nd->bl, state, color);
return 0;
}

//Quest Log System [inkfish]
BUILDIN_DEF(setquest, "i"),
BUILDIN_DEF(erasequest, "i"),
BUILDIN_DEF(completequest, "i"),
BUILDIN_DEF(checkquest, "i?"),
BUILDIN_DEF(changequest, "ii"),
BUILDIN_DEF(showevent, "ii"),
{NULL,NULL,NULL},

Edited by darristan
Posted

I know a little bit about src modification

and compare a little ... latest 16815 and mine -> 14801 <-- works great

the source code for BUILDIN_FUNC(showevent) and clif_quest_show_event doesn't show any different

my instinct tells me this is client side fault ... something like recent hexed client changed the packet handling

however I guess its safe for you to post this in rathena bug report section to get some insight from developers

if this is truly a packet change,

developers should fix this with #if PACKETVER >= 20120410 ... .something

I'm still downloading latest client so I can't get much info for now

======================================

there is a gurantee workaround this problem by doing @refresh

prontera,157,175,5    script    guild redeem    100,{
   showevent 1, 0;
   sleep2 2000;
   getmapxy .@map$, .@x, .@y, 0;
   warp .@map$, .@x, .@y;
}

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...