Jump to content
  • 0

How to give auto prize?


Jin Freecs

Question


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  63
  • Reputation:   3
  • Joined:  12/22/11
  • Last Seen:  

im using this KOE script but this is script have a bug that can abuse. example KOE finish the GM of any guild can stay inside and can ECALL many times of their all members to get the prize over and over again.

could anyone can edit this that when the KOE ends all players inside the map will be warp out and give only the price for those who won the KOE or the owner of the emperium.

- script KoE -1,{
OnInit:
disablenpc "The King#KoE";
disablenpc "Get Your Price Here#KoE";
end;
OnWhisperGlobal:
if ( getgmlevel() < 99 ) end;
else if ( compare ( @whispervar0$, "on" ) ) goto L_start;
else if ( compare ( @whispervar0$, "off" ) ) goto L_end;
else end;

L_end:
OnClock1300:
OnClock2110:
announce "The King of Emperium Hill is over!", 0;
set .koe_start, 0;
enablenpc "Get Your Price Here#KoE";
disablenpc "The King#KoE";
killmonsterall "guild_vs1";
end;
L_start:
OnClock1200:
OnClock2010:
announce "The King of Emperium Hill has begun! Please proceed to prontera to join", 0;
set .koe_start, 1;
enablenpc "The King#KoE";
disablenpc "Get Your Price Here#KoE";
set $koegid, 0;
donpcevent "::OnRevKoE";
maprespawnguildid "guild_vs1", $koegid, 6;
monster "guild_vs1",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
end;
OnEmpDead:
set $koegid, getcharid(2);
announce "The current King of Emperium Hill is the [" + strcharinfo(2) + "] guild.", 0;
donpcevent "::OnRevKoE";
maprespawnguildid "guild_vs1", $koegid, 6;
sleep 500;
if ( .koe_start )
 monster "guild_vs1",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
end;
}
// KoE Entrance
prontera,147,162,6 script The King#KoE 966,{
   mes "[The King]";
if ( getcharid(2) == 0 ) {
 mes "You must have a guild to participate in the ^FF0000King of Emperium Hill Tournament^000000.";
 close;
}
   mes "Hello.";
   mes "Would you like to participate in the ^FF0000King of Emperium Hill Tournament^000000?";
if ( select ( "Yes", "No" ) == 2 ) close;
   switch( rand(1,4) ){
       case 1: warp "guild_vs1", 50, 88; end;
       case 2: warp "guild_vs1", 88, 50; end;
       case 3: warp "guild_vs1", 50, 11; end;
       case 4: warp "guild_vs1", 11, 50; end;
}
}
// KoE Exit
guild_vs1,49,56,5 script Get Your Price Here#KoE 51,{
mes "[ Exit ]";
mes "See ya.";
if ( getcharid(2) == $koegid )
 getitem 607, 20; // configure prize here
next;
warp "Save",0,0;
close;
}
// Flags
guild_vs1,49,38,4 script King of Emperium Hill#1::koe_flag 722,{
set .@gid, $koegid;
if ( .@gid == 0 ) end;
mes "[King of Emperium Hill]";
mes "The Current King of Emperium Hill is the ["+ getguildname(.@gid) +"] guild.";
close;
OnRevKoE:
flagemblem $koegid;
end;
}
guild_vs1,61,49,6 duplicate(koe_flag) King of Emperium Hill#2 722
guild_vs1,38,49,2 duplicate(koe_flag) King of Emperium Hill#3 722
guild_vs1,49,61,0 duplicate(koe_flag) King of Emperium Hill#4 722
prontera,156,192,4 duplicate(koe_flag) King of Emperium Hill#5 722
guild_vs1 mapflag gvg
guild_vs1 mapflag nobranch
guild_vs1 mapflag nomemo
guild_vs1 mapflag nopenalty
guild_vs1 mapflag noreturn
guild_vs1 mapflag nosave SavePoint
guild_vs1 mapflag noteleport
guild_vs1 mapflag gvg_noparty
guild_vs1 mapflag nowarp
guild_vs1 mapflag nowarpto

Link to comment
Share on other sites

10 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  117
  • Reputation:   18
  • Joined:  01/06/12
  • Last Seen:  

Hm, this should have brought every winner out of map

warp "Save",0,0;

but you can try changing "Save" for your main town map and see if that works.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  63
  • Reputation:   3
  • Joined:  12/22/11
  • Last Seen:  

can you edit the script?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  117
  • Reputation:   18
  • Joined:  01/06/12
  • Last Seen:  

I've set it to prontera for now, just change the following line,

warp "prontera",0,0; //Change this line to where ever you want

- script KoE -1,{
OnInit:
disablenpc "The King#KoE";
disablenpc "Get Your Price Here#KoE";
end;
OnWhisperGlobal:
if ( getgmlevel() < 99 ) end;
else if ( compare ( @whispervar0$, "on" ) ) goto L_start;
else if ( compare ( @whispervar0$, "off" ) ) goto L_end;
else end;

L_end:
OnClock1300:
OnClock2110:
announce "The King of Emperium Hill is over!", 0;
set .koe_start, 0;
enablenpc "Get Your Price Here#KoE";
disablenpc "The King#KoE";
killmonsterall "guild_vs1";
end;
L_start:
OnClock1200:
OnClock2010:
announce "The King of Emperium Hill has begun! Please proceed to prontera to join", 0;
set .koe_start, 1;
enablenpc "The King#KoE";
disablenpc "Get Your Price Here#KoE";
set $koegid, 0;
donpcevent "::OnRevKoE";
maprespawnguildid "guild_vs1", $koegid, 6;
monster "guild_vs1",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
end;
OnEmpDead:
set $koegid, getcharid(2);
announce "The current King of Emperium Hill is the [" + strcharinfo(2) + "] guild.", 0;
donpcevent "::OnRevKoE";
maprespawnguildid "guild_vs1", $koegid, 6;
sleep 500;
if ( .koe_start )
 monster "guild_vs1",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
end;
}
// KoE Entrance
prontera,147,162,6 script The King#KoE 966,{
mes "[The King]";
if ( getcharid(2) == 0 ) {
 mes "You must have a guild to participate in the ^FF0000King of Emperium Hill Tournament^000000.";
 close;
}
mes "Hello.";
mes "Would you like to participate in the ^FF0000King of Emperium Hill Tournament^000000?";
if ( select ( "Yes", "No" ) == 2 ) close;
switch( rand(1,4) ){
	case 1: warp "guild_vs1", 50, 88; end;
	case 2: warp "guild_vs1", 88, 50; end;
	case 3: warp "guild_vs1", 50, 11; end;
	case 4: warp "guild_vs1", 11, 50; end;
}
}
// KoE Exit
guild_vs1,49,56,5 script Get Your Price Here#KoE 51,{
mes "[ Exit ]";
mes "See ya.";
if ( getcharid(2) == $koegid )
 getitem 607, 20; // configure prize here
next;
warp "prontera",0,0; //Change this line to where ever you want
close;
}
// Flags
guild_vs1,49,38,4 script King of Emperium Hill#1::koe_flag 722,{
set .@gid, $koegid;
if ( .@gid == 0 ) end;
mes "[King of Emperium Hill]";
mes "The Current King of Emperium Hill is the ["+ getguildname(.@gid) +"] guild.";
close;
OnRevKoE:
flagemblem $koegid;
end;
}
guild_vs1,61,49,6 duplicate(koe_flag) King of Emperium Hill#2 722
guild_vs1,38,49,2 duplicate(koe_flag) King of Emperium Hill#3 722
guild_vs1,49,61,0 duplicate(koe_flag) King of Emperium Hill#4 722
prontera,156,192,4 duplicate(koe_flag) King of Emperium Hill#5 722
guild_vs1 mapflag gvg
guild_vs1 mapflag nobranch
guild_vs1 mapflag nomemo
guild_vs1 mapflag nopenalty
guild_vs1 mapflag noreturn
guild_vs1 mapflag nosave SavePoint
guild_vs1 mapflag noteleport
guild_vs1 mapflag gvg_noparty
guild_vs1 mapflag nowarp
guild_vs1 mapflag nowarpto

also make sure all tabs are set correctly because they might have broke when I copied it from your post.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  117
  • Reputation:   18
  • Joined:  01/06/12
  • Last Seen:  

Oh sorry, my bad I misread bug. It needs a mapwarp after Emp has been killed. You will also need to give price during the time everyone is warped out. I'll try to figure out something.

Edit: Trying to figure it out but running low on time so might post what I find tomorrow morning.

Edited by JoWei
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  63
  • Reputation:   3
  • Joined:  12/22/11
  • Last Seen:  

Thanks for the help your last script always give price when the emp is broke i really want is when the KOE is end then all players will be warped then give prizes

BUMP! thanks

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2345
  • Joined:  10/28/11
  • Last Seen:  

try this.....

put this part at the line that determine the guild win..

if( query_sql( "SELECT `account_id` FROM `char` WHERE `guild_id`='"+$koegid+"' AND `online`= 1 ",.@AID ) )
for( set .@i,0; .@i < getarraysize( .@AID ); set .@i,.@i + 1 ){
 getitem 607,1,.@AID[.@i];
 getitem 608,1,.@AID[.@i];
}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  20
  • Topics Per Day:  0.00
  • Content Count:  63
  • Reputation:   3
  • Joined:  12/22/11
  • Last Seen:  

Thanks Emistry but can you edit the script? and add that part and also im using eathena sql..

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2345
  • Joined:  10/28/11
  • Last Seen:  

inside this part...

L_end:
OnClock1300:
OnClock2110:
announce "The King of Emperium Hill is over!", 0;
set .koe_start, 0;
enablenpc "Get Your Price Here#KoE";
disablenpc "The King#KoE";
killmonsterall "guild_vs1";
end;

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