Jump to content

Question

7 answers to this question

Recommended Posts

Posted (edited)

its not about resource friendly, emistry's script doesn't even work

because our emperium has event labels

monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Emperium",1288,1,"Agit#"+strnpcinfo(2)+"::OnAgitBreak";

"Agit#arug_cas01::OnAgitBreak" is the event label

http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1260

the purpose of OnNPCKillEvent is meant to be used in quest script

and monsters with event labels is meant to be used in event script

both of them shouldn't be mix together

for example, in a poring event, a lot of porings is spawned,

if OnNPCKillEvent allows to trigger for it, players might abused the system and gets the quest done instantly

but because of event script, it has event labels, players will not abused the system to get it done from events

but yeah, just add getitem under OnAgitBreak: and OnStartArena:

rep up

Edited by AnnieRuru
Posted (edited)

// The Emperium has been broken.
OnAgitBreak:
getitem 7227,1;
set .@GID,getcharid(2);
// Show and log error if an unguilded player breaks the Emperium. (Should NEVER happen)
if (.@GID <= 0) {
	set .@notice$,"Character "+strcharinfo(0)+" ("+getcharid(0)+") broke the Emperium in Castle: "+strnpcinfo(2)+" while guildless. No data will be saved and Emperium respawned.";
	 logmes .@notice$; debugmes .@notice$;
	donpcevent "Agit#"+strnpcinfo(2)+"::OnStartArena";
	end;
}

OnStartArena:
getitem 7227,1;
// OnAgitStart will fall through and spawn the Emperium.
if (strnpcinfo(2) == "aldeg_cas01") { setarray .@emproom[0],216,23; }
else if (strnpcinfo(2) == "aldeg_cas02") { setarray .@emproom[0],213,23; }
else if (strnpcinfo(2) == "aldeg_cas03") { setarray .@emproom[0],205,31; }
else if (strnpcinfo(2) == "aldeg_cas04") { setarray .@emproom[0],36,217; }
else if (strnpcinfo(2) == "aldeg_cas05") { setarray .@emproom[0],27,101; }
else if (strnpcinfo(2) == "gefg_cas01") { setarray .@emproom[0],197,181; }
else if (strnpcinfo(2) == "gefg_cas02") { setarray .@emproom[0],176,178; }
else if (strnpcinfo(2) == "gefg_cas03") { setarray .@emproom[0],244,166; }
else if (strnpcinfo(2) == "gefg_cas04") { setarray .@emproom[0],174,177; }
else if (strnpcinfo(2) == "gefg_cas05") { setarray .@emproom[0],194,184; }
else if (strnpcinfo(2) == "payg_cas01") { setarray .@emproom[0],139,139; }
else if (strnpcinfo(2) == "payg_cas02") { setarray .@emproom[0],38,25; }
else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],268,264; }
else if (strnpcinfo(2) == "payg_cas04") { setarray .@emproom[0],270,28; }
else if (strnpcinfo(2) == "payg_cas05") { setarray .@emproom[0],30,30; }
else if (strnpcinfo(2) == "prtg_cas01") { setarray .@emproom[0],197,197; }
else if (strnpcinfo(2) == "prtg_cas02") { setarray .@emproom[0],157,174; }
else if (strnpcinfo(2) == "prtg_cas03") { setarray .@emproom[0],16,220; }
else if (strnpcinfo(2) == "prtg_cas04") { setarray .@emproom[0],291,14; }
else if (strnpcinfo(2) == "prtg_cas05") { setarray .@emproom[0],266,266; }

like this?

Edited by Yasunari Ishibashi
  • Upvote 1

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