Jump to content
  • 0

[SOLVED]Client has stopped working


19jake68

Question


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  9
  • Reputation:   0
  • Joined:  12/14/12
  • Last Seen:  

EDIT: I solved this issue by disabling announcer npc. :D

Hey guys. Uhm, I need some help regarding my client. Well obviously, I post this topic here at scripting support, because I'm suspecting that one of the custom scripts I used were maybe the cause of the problem.

My client crashes every hour and 30 mins, like 1:30, then 2:30, 3:30, etc. everytime. I dunno what to do to fix this, been tryin' every possible way to fix, but i cant. Here's the list of scripts I used, maybe you can help me by posting it here.

1. Announcer

//Announcer NPC by Wausser([email protected])

//Version 1.2

//Descpription: This NPC can be used by players to broadcast a message in different 5 different colors against a fee

// It can also be used by GM's to broadcast a message through a simple GM menu.

// GM's of lvl 80 and higher can save up to 3 messages, one of them will be

// announced every hour on a 33,33% chance.

//

//Intsructions: To set the zeny price change @zeny, 10000000 to an amount you like.

// To change the time the hourly messsage will be announced, change Onminute30: to a time you like

//

//Special thanks to: Dashu(guiding & advice) and GM-Windsor-(for his line announce callfunc("F_RandMes .. etc ))

prontera,161,185,4 script Broadcaster 832,{

set @zeny, 100000; //Put your price here

if (getgmlevel() >= 80) goto L_GM80;

if(getgmlevel() < 80 && getgmlevel() >= 60) goto L_GM60;

if(getgmlevel() < 60 && getgmlevel() >= 40) goto L_GM40;

mes "[Arnold]";

mes "Hi I'm the official announcer";

mes "of this server.";

mes "Can I help you?";

next;

switch (select("I want to broadcast an announcement:Tell me the conditions:Nothing")){

case 3:

mes "[Arnold]";

mes "If you never need to announce something";

mes "just drop by.";

close;

case 2:

mes "[Arnold]";

mes "Ok I'll tell you the rules.";

next;

mes "[Arnold]";

mes "First of all, all rules that";

mes "count for this server, count also for me.";

next;

mes "[Arnold]";

mes "So no advertising, spamming, insluting or provoking.";

next;

mes "[Arnold]";

mes "The fee for my service is " + @zeny + " zeny.";

close;

case 1:

mes "[Arnold]";

mes "All right, but you have";

mes "to follow the rules.";

mes "Abuse will be severly punished.";

next;

mes "[Arnold]";

mes "Please prepare your message";

mes "and fill it in, in the next screen.";

next;

input @msg$;

mes "[Arnold]";

mes "All right, this is";

mes "the message you want broadcasted?";

next;

mes "" + @msg$ + "";

next;

switch (select("Yes:No:Quit")){

case 1:

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

}

case 2:

mes "[Arnold]";

mes "You'll have one chance to change your broadcast.";

next;

input @msg$;

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

if (zeny < @zeny) goto L_NO_ZENY;

set Zeny,Zeny-@zeny;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks, come back if you need more announcements.";

close;

}

case 3:

mes "[Arnold]";

mes "If you never need to announce something";

mes "just drop by.";

close;

}

}

L_NO_ZENY:

mes "[Arnold]";

mes "You don't have enough zeny.";

mes "Please come back if you have enough.";

close;

//GM MENU

L_GM80:

mes "[Arnold]";

mes "Hello Master.";

mes "What can I do for you?";

next;

switch (select("Regular Broadcast:Periodical Announcement:Nothing")){

case 3:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

case 2:

mes "[Arnold]";

mes "Here you can choose to send a message";

mes "every hour.";

next;

mes "[Arnold]";

mes "You can set to 3 messages";

mes "the server will randomly pick one of those mesages";

mes "to broadcast it once every hour";

next;

switch (select("Message Number 1:Message Number 2:Message Number 3: View current messages")){

case 1:

mes "[Arnold]";

mes "Put in message number 1 here";

next;

input $gm_msg1$;

mes "[Arnold]";

mes "The current message is:";

mes "" + $gm_msg1$ + "";

next;

mes "[Arnold]";

mes "Come back if you need my services Master.";

close;

case 2:

mes "[Arnold]";

mes "Put in message number 2 here";

next;

input $gm_msg2$;

mes "[Arnold]";

mes "The current message is:";

mes "" + $gm_msg2$ + "";

next;

mes "[Arnold]";

mes "Come back if you need my services Master.";

close;

case 3:

mes "[Arnold]";

mes "Put in message number 3 here";

next;

input $gm_msg3$;

mes "[Arnold]";

mes "The current message is:";

mes "" + $gm_msg3$ + "";

next;

mes "[Arnold]";

mes "Come back if you need my services Master.";

close;

case 4:

mes "[Arnold]";

mes "This are the current messages:";

mes "-" + $gm_msg1$ + "";

mes "-" + $gm_msg2$ + "";

mes "-" + $gm_msg3$ + "";

next;

mes "[Arnold]";

mes "Come back if you need my services Master.";

close;

}

case 1:

mes "[Arnold]";

mes "Please only use this for server purposes.";

mes "Not for fun messages.";

next;

input @msg$;

mes "[Arnold]";

mes "All right, this is";

mes "the message you want broadcasted?";

next;

mes "" + @msg$ + "";

next;

switch (select("Yes:No:Quit")){

case 1:

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks MAster, come back if you need more announcements.";

close;

}

case 2:

mes "[Arnold]";

mes "Please fill in the right message, I'll broadcast it rightaway.";

next;

input @msg$;

mes "I'll broadcast this message.";

next;

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks MAster, come back if you need more announcements.";

close;

}

case 3:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

}

}

L_GM40:

mes "[Arnold]";

mes "Hello Master.";

mes "What can I do for you?";

next;

switch (select("Regular Broadcast:Nothing")){

case 2:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

case 1:

mes "[Arnold]";

mes "Please only use this for server purposes.";

mes "Not for fun messages.";

next;

input @msg$;

mes "[Arnold]";

mes "All right, this is";

mes "the message you want broadcasted?";

next;

mes "" + @msg$ + "";

next;

switch (select("Yes:No:Quit")){

case 1:

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks MAster, come back if you need more announcements.";

close;

}

case 2:

mes "[Arnold]";

mes "Please fill in the right message, I'll broadcast it rightaway.";

next;

input @msg$;

mes "I'll broadcast this message.";

next;

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks MAster, come back if you need more announcements.";

close;

}

case 3:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

}

}

L_GM60:

mes "[Arnold]";

mes "Hello Master.";

mes "What can I do for you?";

next;

switch (select("Regular Broadcast:Periodical Announcement:Nothing")){

case 3:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

case 2:

mes "[Arnold]";

mes "Here you can view the periodical messages.";

next;

mes "[Arnold]";

mes "The server adminstrator can save to 3 messages.";

mes "The server will randomly pick one of those mesages";

mes "to broadcast it once every hour";

next;

switch (select("View current messages:Nothing")){

case 1:

mes "[Arnold]";

mes "This are the current messages:";

mes "-" + $gm_msg1$ + "";

mes "-" + $gm_msg2$ + "";

mes "-" + $gm_msg3$ + "";

next;

mes "[Arnold]";

mes "Come back if you need my services Master.";

close;

case 2:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

}

case 1:

mes "[Arnold]";

mes "Please only use this for server purposes.";

mes "Not for fun messages.";

next;

input @msg$;

mes "[Arnold]";

mes "All right, this is";

mes "the message you want broadcasted?";

next;

mes "" + @msg$ + "";

next;

switch (select("Yes:No:Quit")){

case 1:

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks MAster, come back if you need more announcements.";

close;

}

case 2:

mes "[Arnold]";

mes "Please fill in the right message, I'll broadcast it rightaway.";

next;

input @msg$;

mes "I'll broadcast this message.";

next;

mes "[Arnold]";

mes "In what color do you want to have your announcement?";

next;

switch (select("Yellow:Red:Blue:Green:Pink")){

case 1:

//YELLOW

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFFFF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 2:

//RED

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF3333;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 3:

//Blue

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x00CCFF;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 4:

//Green

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0x33FF00;

mes "[Arnold]";

mes "Thanks Master, come back if you need more announcements.";

close;

case 5:

//Pink

mes "[Arnold]";

mes "Then I will announce it.";

next;

announce ""+strcharinfo(0)+": "+@msg$+"",bc_all,0xFF00CC;

mes "[Arnold]";

mes "Thanks MAster, come back if you need more announcements.";

close;

}

case 3:

mes "[Arnold]";

mes "All right Master";

mes "come back if you need my services.";

close;

}

}

}

// The Hourly Announce Part

- script GM_Announcer -1,{

OnMinute30:

announce callfunc("F_RandMes",3,""+ $gm_msg1$ +"",""+ $gm_msg2$ +"",""+ $gm_msg3$ +""),0;

end;

}

2. Attendance

- script AttendanceScript -1,{

OnPCLoginEvent:

// last login was BEFORE today

if (#lastDayOnline < gettimetick(2)/86400) {

// last login was exactly YESTERDAY, set consecutive_days +1

if (#lastDayOnline == (gettimetick(2)/86400 - 1))

set #consecutive_days, #consecutive_days+1;

else // reset their streak to 1

set #consecutive_days, 1;

set #lastDayOnline, gettimetick(2)/86400;

set #KAFRAPOINTS, #KAFRAPOINTS + 2;

dispbottom "You received 2 Kafrapoints for your daily attendance";

dispbottom "Current Balance ="+#KAFRAPOINTS+" Kafrapoints";

// check for 7-day streak

if (#consecutive_days % 7 == 0){

set #KAFRAPOINTS, #KAFRAPOINTS + 50; // Jellopy

dispbottom "You received 50 Kafrapoints for your daily attendance";

dispbottom "Current Balance ="+#KAFRAPOINTS+" Kafrapoints";

// check for 30-day streak

if (#consecutive_days % 30 == 0){

set #KAFRAPOINTS, #KAFRAPOINTS + 200; // Jellopy

dispbottom "You received 200 Kafrapoints for your daily attendance";

dispbottom "Current Balance ="+#KAFRAPOINTS+" Kafrapoints";

// save today as the Last Day they were Online

}

}

}

end;

}

3. Build Manager

prontera,142,180,5 script Build Manager 439,{

// Mode of NPC

// 1 = Switch & Save Status Build

// 2 = Reset Status

// 4 = Reset Skills

// 7 = All of Above [ 1+2+4 = 7 ]

set .BMMode,7;

// How Many Slots available to Save Status Builds.

set .MaxSlots,5;

// Enable Stats Slot Rename

set .StatRename,1;

setarray .BMCosts[1],

500000, // Switch Builds Cost

500000, // Save Build Cost

500000, // Reset Status Cost

500000; // Reset Skills Cost

while(1){

switch( select( ( .BMMode & 1 )?"^0000FFSwitch Status^000000":"",

( .BMMode & 1 )?"^0000FFSave Status^000000":"",

( .BMMode & 2 )?"^0000FFReset Status^000000":"",

( .BMMode & 4 )?"^0000FFReset Skills^000000":"")){

Case 1:

if( Zeny < .BMCosts[ @menu ] ){

mes "You required ^FF0000"+.BMCosts[ @menu ]+" Zeny^000000 to use this services.";

next;

break;

}

mes "^0000FFCost^000000 : ^FF0000"+.BMCosts[ @menu ]+"^000000 Zeny";

message strcharinfo(0),"Input 0 to Cancel";

mes "^FF0000Slot[X]^000000-[^0000FFSTR|AGI|VIT|INT|DEX|LUK^000000]";

mes "^0000FF_____________________________^000000";

for( set .@i,1; .@i <= .MaxSlots; set .@i,.@i + 1 ){

mes "^FF0000"+.@i+".^0000FF"+getd( "Slot_"+.@i+"$" )+"^000000 [^0000FF"+getd("STR_"+.@i)+"|"+getd("AGI_"+.@i)+"|"+getd("VIT_"+.@i)+"|"+getd("INT_"+.@i)+"|"+getd("DEX_"+.@i)+"|"+getd("LUK_"+.@i)+"^000000]";

}

mes "^0000FF_____________________________^000000";

input .@a,0,.MaxSlots;

if( .@a != 0 ){

callfunc("SwitchBuild",.@a);

message strcharinfo(0),"Done";

set Zeny,Zeny - .BMCosts[ @menu ];

}

next;

break;

Case 2:

if( Zeny < .BMCosts[ @menu ] ){

mes "You required ^FF0000"+.BMCosts[ @menu ]+" Zeny^000000 to use this services.";

next;

break;

}

mes "^0000FFCost^000000 : ^FF0000"+.BMCosts[ @menu ]+"^000000 Zeny";

mes "^0000FF_____________________________^000000";

mes "^FF0000@^000000 STR - "+readparam(bStr)+" ^FF0000@^000000 AGI - "+readparam(bAgi)+" ^FF0000@^000000 VIT - "+readparam(bVit)+"";

mes "^FF0000@^000000 INT - "+readparam(bInt)+" ^FF0000@^000000 DEX - "+readparam(bDex)+" ^FF0000@^000000 LUK - "+readparam(bLuk)+"";

mes "^0000FF_____________________________^000000";

message strcharinfo(0),"Input 0 to Cancel";

mes "^FF0000Slot[X]^000000-[^0000FFSTR|AGI|VIT|INT|DEX|LUK^000000]";

mes "^0000FF_____________________________^000000";

for( set .@i,1; .@i <= .MaxSlots; set .@i,.@i + 1 ){

mes "^FF0000"+.@i+".^0000FF"+getd( "Slot_"+.@i+"$" )+"^000000 [^0000FF"+getd("STR_"+.@i)+"|"+getd("AGI_"+.@i)+"|"+getd("VIT_"+.@i)+"|"+getd("INT_"+.@i)+"|"+getd("DEX_"+.@i)+"|"+getd("LUK_"+.@i)+"^000000]";

}

mes "^0000FF_____________________________^000000";

input .@a,0,.MaxSlots;

if( .@a != 0 ){

callfunc("SaveBuild",.@a,.StatRename);

set Zeny,Zeny - .BMCosts[ @menu ];

}

next;

break;

Case 3:

if( Zeny < .BMCosts[ @menu ] ){

mes "You required ^FF0000"+.BMCosts[ @menu ]+" Zeny^000000 to use this services.";

next;

break;

}

mes "^0000FFCost^000000 : ^FF0000"+.BMCosts[ @menu ]+"^000000 Zeny";

ResetStatus;

set Zeny,Zeny - .BMCosts[ @menu ];

mes "Your Status has been Reset. You have gained back your ^FF0000riginal Status Points^000000";

next;

break;

Case 4:

if( Zeny < .BMCosts[ @menu ] ){

mes "You required ^FF0000"+.BMCosts[ @menu ]+" Zeny^000000 to use this services.";

next;

break;

}

mes "^0000FFCost^000000 : ^FF0000"+.BMCosts[ @menu ]+"^000000 Zeny";

ResetSkill;

set Zeny,Zeny - .BMCosts[ @menu ];

mes "Your Skills has been Reset. You have gained back your ^FF0000riginal Skill Points^000000";

next;

break;

}

}

OnInit:

waitingroom "Build Manager",0;

end;

}

function script SaveBuild {

setd "STR_"+getarg(0),readparam(bStr);

setd "AGI_"+getarg(0),readparam(bAgi);

setd "VIT_"+getarg(0),readparam(bVIT);

setd "INT_"+getarg(0),readparam(bInt);

setd "DEX_"+getarg(0),readparam(bDex);

setd "LUK_"+getarg(0),readparam(bLuk);

if( getarg(1) ){

do{

message strcharinfo(0),"Input the Name for this Slot. [ Max. 12 Chars ]";

input getd( "Slot_"+getarg(0)+"$" );

}while( getstrlen( getd( "Slot_"+getarg(0)+"$" ) ) > 12 );

}else{

set getd( "Slot_"+getarg(0)+"$" ),"Stats "+getarg(0);

}

return;

}

function script SwitchBuild {

ResetStatus;

statusup2 bStr,getd( "STR_"+getarg(0) )-1;

statusup2 bAgi,getd( "AGI_"+getarg(0) )-1;

statusup2 bVit,getd( "VIT_"+getarg(0) )-1;

statusup2 bInt,getd( "INT_"+getarg(0) )-1;

statusup2 bDex,getd( "DEX_"+getarg(0) )-1;

statusup2 bLuk,getd( "LUK_"+getarg(0) )-1;

set StatusPoint,0;

return;

}

4. Cash Exchanger

// ===== eAthena Script =======================================

// = Kafra Points Exchanger NPC

// ===== By: ==================================================

// = Cruxiaer

// ===== Current Version: =====================================

// = 1.00

// ===== Compatible With: =====================================

// = eAthena 1.x

// ===== Description: =========================================

// = Exchange items for Kafra Points

// ===== How to use: ==========================================

// Edit the menu and item then set how much points can be

// exchanged for the selected item:

// @exitem = item code to be exchanged

// @point = point given for each item exchanged

// ===== Changelog: ===========================================

// 1.00 - First release

// =============================================================

prontera,164,160,3 script Kafra Points Exchanger::KafraPNPC 113,{

mes "[Kafra Point NPC]";

mes "Good day, how may I help you ?";

mes "Your current Kafra Points balance: ^336699" + #KAFRAPOINTS;

menu "Exchange items into Kafra Points",CS_Ex1,"See more information",Info,"Nothing",Exit1;

CS_Ex1:

next;

mes "[Kafra Point NPC]";

mes "Please tell which item do you wish to exchange for Kafra Points.";

menu "None:Research Chart:Handcuffs:Santa Poring Card:Poporing Card:Marin Card:Metaling Card:Mastering Card:Angeling Card:Arc Angeling Card:Ghostring Card:TCG Card",CS_Ex2;

CS_Ex2:

if (@menu==1) goto Exit1;

if (@menu==2) { set @exitem,7347;

set @sam,10;

set @point,1; }

if (@menu==3) { set @exitem,7345;

set @sam,10;

set @point,1; }

if (@menu==4) { set @exitem,4005;

set @sam,2;

set @point,50; }

if (@menu==5) { set @exitem,4033;

set @sam,2;

set @point,100; }

if (@menu==6) { set @exitem,4196;

set @sam,2;

set @point,100; }

if (@menu==7) { set @exitem,4341;

set @sam,2;

set @point,200; }

if (@menu==8) { set @exitem,4197;

set @sam,2;

set @point,500; }

if (@menu==9) { set @exitem,4054;

set @sam,2;

set @point,1000; }

if (@menu==10) { set @exitem,4241;

set @sam,2;

set @point,2000; }

if (@menu==11) { set @exitem,4047;

set @sam,2;

set @point,2000; }

if (@menu==12) { set @exitem,7227;

set @sam,30;

set @point,10; }

set @amount,(countitem(@exitem));

goto CS_Ex3;

CS_Ex3:

next;

mes "[Kafra Point NPC]";

mes "You have ^336699" + @amount + "^000000 of that item, how many do you wish to exchange?";

input @input;

if (@input<@sam) goto Exit2;

if ((countitem(@exitem) < @input)) goto Exit3;

set #KAFRAPOINTS,#KAFRAPOINTS+(@input*@point/@sam);

set @receive_points,@input*@point/@sam;

delitem @exitem,@input;

goto Exit1;

Info:

next;

mes "[Kafra Point NPC]";

mes "There is only a limited list of items which can be exchanged into Kafra Points. If you give me the items below, I will exchange them for Kafra Points.";

next;

mes "[Kafra Point NPC]";

mes "10 Research Chart = 1 point";

mes "10 Handcuffs = 1 point";

mes "1 Santa Poring Card = 50 points";

mes "1 Poporing Card = 100 points";

mes "1 Marin Card = 100 points";

mes "1 Metaling Card = 200 points";

mes "1 Mastering Card = 500 points";

mes "1 Angeling Card = 1,000 points";

mes "1 Arc Angeling Card = 2,000 points";

mes "1 Ghostring Card = 2,000 points";

mes "30 TCG Card = 10 points";

goto CS_Ex1;

Exit1:

next;

mes "[Kafra Point NPC]";

mes "Your current Kafra Points balance: ^336699" + #KAFRAPOINTS;

mes "^000000Please come again if you wish to exchange items for more Kafra Points, thank you!";

dispbottom "You received "+@receive_points+" Kafrapoints.";

dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints.";

close;

Exit2:

next;

mes "[Kafra Point NPC]";

mes "The item code you input was not valid, please try again.";

goto CS_Ex1;

Exit3:

next;

mes "[Kafra Point NPC]";

mes "I'm afraid you do not have that many.";

goto CS_Ex1;

}

5. Cluckers

//===== rAthena Script =======================================

//= Cluck! Cluck! Boom!

//===== By: ==================================================

//= Keale

//===== Current Version: =====================================

//= 1.2

//===== Compatible With: =====================================

//= rAthena SVN

//===== Description: =========================================

//= Click the chicken and try retrieve the item at a low

//= chance. If you fail he will nuke, freeze, stone,

//= stun, or make you fall asleep.

//= The prize is configurable and triggered by the NPC.

//===== Additional Comments: =================================

//= 1.0 First release.

//= 1.1 Using 'switch rand' instead.

//= 1.2 Cleaned and standardized. [Euphy]

//============================================================

prontera,156,219,4 script Cluckers 800,{

set .@GMAccess,80; // GM level required to access NPC

if (.startcluck) {

specialeffect2 2;

switch(rand(15)) {

case 0: npctalk "CLUUUUUUCK!!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;

case 1: npctalk "Cluuuuuck!~"; break;

case 2: atcommand "@nuke "+strcharinfo(0); break;

case 3: sc_start SC_Freeze,10000,0; break;

case 4: npctalk "CLUUUUUUUUUCK!!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;

case 5: sc_start SC_Sleep,10000,0; break;

case 6: sc_start SC_Stone,10000,0; emotion 29; break;

case 7: npctalk "CLUUUUUUCK!!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;

case 8: npctalk "Cluck! CLUUUCK!!"; atcommand "@nuke "+strcharinfo(0); emotion 23; break;

case 9: sc_start SC_Stun,10000,0; break;

case 10: sc_start SC_Sleep,10000,0; emotion 29; break;

case 11: npctalk "Cluck! Cluck!"; break;

case 12: sc_start SC_Stun,10000,0; break;

case 13: atcommand "@nuke "+strcharinfo(0); break;

default:

if (rand(50) < 4) {

npctalk "WOOF!...........";

specialeffect2 72;

announce "[Cluck! Cluck! Boom!] " + strcharinfo(0) + " squeezed out the prize! Well done!",0;

getitem $cluck_item_id,$cluck_item_amount;

set .startcluck,0;

} else {

npctalk "Cluck! CLUUUCK!!";

atcommand "@nuke "+strcharinfo(0);

}

break;

}

end;

}

mes "[Cluckers]";

if (getgmlevel() >= .@GMAccess) {

mes "Cluck cluck! Cluuuuuck? ^FF0000~Hi GM " + strcharinfo(0) + ", Wanna play today?~^000000";

mes "Cluck cluck... CLUCK! ^FF0000~Just tell me what to do!~^000000";

next;

while(1) switch(select("Start Event:Check Prize:Set Prize:Not today Cluckers")) {

case 1:

mes "[Cluckers]";

mes "CLUCK! ^FF0000~Sure thing!~^000000";

emotion 33;

close2;

announce "[Cluck! Cluck! Boom!] is about to start in Prontera!",bc_blue;

initnpctimer;

end;

case 2:

mes "[Cluckers]";

mes "Cluck, cluck cluck... Cluck! ^FF0000~The current prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +".^000000";

next;

break;

case 3:

mes "[Cluckers]";

mes "Cluck cluck? Cluck??? ^FF0000~What should the prize for winning be? Please input the ID.~^000000";

input $cluck_item_id;

next;

mes "[Cluckers]";

mes "Cluck? cluuuck? ^FF0000~How many if this item should I give away?~^000000";

input $cluck_item_amount;

next;

mes "[Cluckers]";

mes "Cluck cluck..? Cluck. ^FF0000~So, the prize is^000000 ^008000"+ $cluck_item_amount +" "+ getitemname($cluck_item_id) +"^000000? ^FF0000Great.~^000000";

emotion 33;

next;

break;

case 4:

mes "[Cluckers]";

mes "Cluck cluck cluck...";

close;

}

}

mes "Cluck cluck! Cluuuuuck?";

mes "Cluck....";

close;

OnTimer10000:

announce "Please hurry behind the fountain if you want to play with the crazy chicken!",bc_blue;

end;

OnTimer20000:

announce "Cluckers has eaten one of my items! I'm too scared to retrieve it!",bc_blue;

end;

OnTimer30000:

announce "Click the insane chicken and try squeeze out the item, if you're lucky you'll win! Are you ready?",bc_blue;

end;

OnTimer40000:

announce "GO! Click the chicken to get the prize!",bc_blue;

if (!$cluck_item_id) set $cluck_item_id,7227;

if (!$cluck_item_amount) set $cluck_item_amount,3;

set .startcluck,1;

end;

}

Edited by 19jake68
Link to comment
Share on other sites

3 answers to this question

Recommended Posts


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

you should post the errors......

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  9
  • Reputation:   0
  • Joined:  12/14/12
  • Last Seen:  

Cont.

6. Coin Manager

//===== eAthena Script =======================================

//= Coin Exchanger

//===== By ===================================================

//= lilcooldude69

//===== Version ==============================================

//= 1.0

//===== Compatible With ======================================

//= eAthena,3CeAm,ReAm

//===== Description ==========================================

//= An npc that exchanges coins for lots of zeny and zeny for a few coins

//===== Comments =============================================

//= My first Script submission

//============================================================

prontera,144,178,5 script Coin Manager 439,{

// Start Config: Prices for the Coins

set @bPrice,100000; //Bronze Coins, Default: 100,000

set @sPrice,1000000; //Silver Coins, Default: 1,000,000

set @gPrice,10000000; //Gold Coins, Default: 10,000,000

set @mPrice,100000000; //Mithril Coins, Default: 100,000,000

set @pPrice,500000000; //Platinum Coins, Default: 500,000,000

set @mZeny,2000000000; //Change this to the Max amount of zeny your server can hold

// I decided not to put a variable for the max amount of items you can hold because the default is 30k, unless u make your coins worth less than 100k

// I'll add it if people suggest it.

// End Config: Prices for the Coins

mes "[^FF0000Coin Exchanger^000000]";

mes "Hello, I can exchange your coins in for zeny, and your zeny in for coins.";

L_re:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "What would you like to do?";

next;

menu "Zeny to Coins",-,"Coins to Zeny",L_cz,"Exit",L_q;

if(Zeny < @bPrice) {

goto L_ne;

}

mes "[^FF0000Coin Exchanger^000000]";

mes "What types of coins do you want?";

mes "^8C7853Bronze^000000 - 100,000z";

mes "^C0C0C0Silver^000000 - 1,000,000z";

mes "^D4A017Gold^000000 - 10,000,000z";

mes "^1464F4Mithril^000000 - 100,000,000z";

mes "Platinum - 500,000,000z";

next;

menu "^8C7853Bronze^000000",-,"^C0C0C0Silver^000000",L_Si,"^D4A017Gold^000000",L_Gol,"^1464F4Mithril^000000",L_Mi,"Platinum",L_Pl;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(Zeny < @amount * @bPrice) {

goto L_ne;

}

getitem 673,@amount;

set Zeny,Zeny-@amount * @bPrice;

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go I have given you ^FF0000" + @amount + "^000000 Coin(s).";

goto L_re;

end;

L_Si:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(zeny < @amount * @sPrice) {

goto L_ne;

}

getitem 675,@amount;

set Zeny,Zeny-@amount * @sPrice;

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, I have given you ^FF0000" + @amount + "^000000 Coin(s).";

goto L_re;

end;

L_Gol:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(zeny < @amount * @gPrice) {

goto L_ne;

}

getitem 671,@amount;

set Zeny,Zeny-@amount * @gPrice;

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, I have given you ^FF0000" + @amount + "^000000 Coin(s).";

goto L_re;

end;

L_Mi:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(zeny < @amount * @mPrice) {

goto L_ne;

}

getitem 674,@amount;

set Zeny,Zeny-@amount * @mPrice;

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, I have given you ^FF0000" + @amount + "^000000 Coin(s).";

goto L_re;

end;

L_Pl:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(zeny < @amount * @pPrice) {

goto L_ne;

}

getitem 677,@amount;

set Zeny,Zeny-@amount * @pPrice;

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, I have given you ^FF0000" + @amount + "^000000 Coin(s).";

goto L_re;

end;

L_cz:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "What coins will you be trading in?";

menu "^8C7853Bronze^000000",-,"^C0C0C0Silver^000000",L_Si2,"^D4A017Gold^000000",L_Gol2,"^1464F4Mithril^000000",L_Mi2,"Platinum",L_Pl2;

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(countitem(673) < @amount) {

goto L_ne;

}

if(Zeny == @mZeny) {

goto L_tm;

end;

}

if((@amount * @bPrice) + Zeny >= @mZeny) {

next;

goto L_tm;

end;

}

delitem 673,@amount;

set Zeny,Zeny + (@amount * @bPrice);

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, You Recieved ^FF0000" + (@amount * @bPrice) +"^000000 Zeny.";

goto L_re;

end;

L_Si2:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want?";

input @amount;

if(countitem(675) < @amount) {

goto L_ne;

}

if(Zeny == @mZeny) {

goto L_tm;

}

if((@amount * @sPrice) + Zeny >= @mZeny) {

goto L_tm;

}

delitem 675,@amount;

set Zeny,Zeny + (@amount * @sPrice);

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, You Recieved ^FF0000" + (@amount * @sPrice) +"^000000 Zeny.";

goto L_re;

end;

L_Gol2:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want to trade in?";

input @amount;

if(countitem(671) < @amount) {

goto L_ne;

}

if(Zeny == @mZeny) {

goto L_tm;

}

if((@amount * @gPrice) + Zeny >= @mZeny) {

goto L_tm;

}

delitem 671,@amount;

set Zeny,Zeny + (@amount * @gPrice);

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, You Recieved ^FF0000" + (@amount * @gPrice) +"^000000 Zeny.";

goto L_re;

end;

L_Mi2:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want to trade in?";

input @amount;

if(countitem(674) < @amount) {

goto L_ne;

}

if(zeny == @mZeny) {

goto L_tm;

}

if((@amount * @mPrice) + Zeny >= @mZeny) {

goto L_tm;

}

delitem 674,@amount;

set Zeny,Zeny + (@amount * @mPrice);

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, You Recived ^FF0000" + (@amount * @mPrice) +"^000000 Zeny.";

goto L_re;

end;

L_Pl2:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "How many do you want to trade in?";

input @amount;

if(countitem(677) < @amount) {

goto L_ne;

}

if(zeny == @mZeny) {

goto L_tm;

}

if((@amount * @pPrice) + Zeny >= @mZeny) {

goto L_tm;

}

delitem 677,@amount;

set Zeny,Zeny + (@amount * @pPrice);

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "There you go, You Recived ^FF0000" + (@amount * @pPrice) +"^000000 Zeny.";

goto L_re;

end;

L_tm:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "You have too much Zeny on you, I cant make the trade.";

goto L_re;

end;

L_ne:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "You dont have enough zeny or coins, I cant make the trade.";

goto L_re;

end;

L_q:

next;

mes "[^FF0000Coin Exchanger^000000]";

mes "Okay See you around.";

close2;

end;

OnInit:

waitingroom "Coin Manager",0;

end;

}

7. Dice Event

//##########################################################################

//By: ____ _ __ __ ____ _____

// | \ ___ __ __ _ | | \ \ / /_ _ _ / ___\ / ____|

// | || | / _ \\ \ / /| || | \ \ / /| || \ | || | ___ | (___

// | || || __/ \ \/ / | || |__ \ \/\/ / | || \| || |___|\ \___ \

// __|____/__\___|__\__/__|_||____|_____\_/\_/__|_||_|\__|_\_____/_____) |

//|_____________________________________________________________________/

//

//##########################################################################

//

//== Dice Event

//

//##########################################################################

//== Edited by Keale

//== Removed 30 Min Timer and added trigger NPC

//== Able to set prize and amount via the NPC

//== Added Mapflags

//== Edited area warps

//##########################################################################

- script Dice#disable -1,{

end;

OnInit:

disablenpc "prtevent";

hideonnpc "Dice#evnt1";

end;

OnMinute00:

OnMinute30:

announce "Mr. Dice: The Dice event will be starting shortly.",0;

sleep2 10000;

announce "Mr. Dice: Those who want to play, please proceed to the center of Prontera and enter the Warp Portal.",0;

sleep2 10000;

announce "Mr. Dice: After 1 Minute the Portal will close.",0;

sleep2 10000;

announce "Mr. Dice: Please go to the middle of Prontera and enter the Warp Portal now if you want to join.",0;

enablenpc "prtevent";

initnpctimer;

end;

OnTimer30000:

announce "Mr. Dice: Last 30 seconds.",0;

sleep2 5000;

announce "Mr. Dice: If you want to join please enter the Warp Portal in Prontera.",0;

end;

OnTimer50000:

announce "Mr. Dice: Last 10 seconds.",0;

end;

OnTimer55000:

announce "Mr. Dice: 5.",0;

end;

OnTimer56000:

announce "Mr. Dice: 4.",0;

end;

OnTimer57000:

announce "Mr. Dice: 3.",0;

end;

OnTimer58000:

announce "Mr. Dice: 2.",0;

end;

OnTimer59000:

announce "Mr. Dice: 1.",0;

end;

OnTimer60000:

announce "Mr. Dice: Time's up.",0;

end;

OnTimer61000:

disablenpc "prtevent";

donpcevent "Dice#evnt1::OnEnable";

announce "Mr. Dice: The next Dice event will start after 30 minutes.",0;

stopnpctimer;

end;

}

prontera,140,162,5 script Mrs. Dice 959,{

if (getgmlevel() == 99) goto Dice_Admin;

mes "[Mrs. Dice]";

mes "Hello " + strcharinfo(0) + ", my husband Mr. Dice is currently out gambling.";

mes "That buffoon is always losing our money... *sigh*";

close;

Dice_Admin:

mes "[Mrs. Dice]";

mes "Hello GM " + strcharinfo(0) + ", what do you want to do?";

menu "Start Dice",startdice,"Check Prize",checkprize,"Set Prize",setprize,"No Thanks",enddice;

startdice:

next;

mes "[Mrs. Dice]";

mes "Ok, I'll call him this instant.";

close2;

goto startdiceevent;

checkprize:

next;

mes "[Mrs. Dice]";

mes "The current prize is ^008000"+ $get_item_amount +" "+ getitemname($get_item_id) +"^000000";

next;

goto Dice_Admin;

setprize:

next;

mes "[Mrs. Dice]";

mes "What should the prize for winning be? Please input the ID";

input $get_item_id;

next;

mes "[Mrs. Dice]";

mes "How many if this item should we give away?";

input $get_item_amount;

next;

mes "[Mrs. Dice]";

mes "So, the prize is ^008000"+ $get_item_amount +" "+ getitemname($get_item_id) +"^000000? Wonderful dear.";

next;

goto Dice_Admin;

enddice:

next;

mes "[Mrs. Dice]";

mes "Ok darling, nice seeing you.";

close;

}

//--------------------------------------------------

prontera,155,182,0 warp prtevent 2,2,quiz_01,204,90

//--------------------------------------------------

quiz_01,204,93,6 script Dice#evnt1 715,{

//--------------------------------------------------

mes "[Mr. Dice]";

mes "Please tell me your name.";

next;

input .@name$;

if(.@name$ != strcharinfo(0)) {

mes "[Mr. Dice]";

mes "Are you sure thats your character name?";

close;

}

mes "[Mr. Dice]";

mes "Congrats. You've won.";

close2;

announce "Mr. Dice: We have a winner! well done "+.@name$+".",0;

getitem $get_item_id,$get_item_amount;

warp "prontera",155,182;

hideonnpc "Dice#evnt1";

end;

OnEnable:

mapannounce "quiz_01","Mr. Dice: We are about to start the Dice event.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: But before we start the event here's how to play the game...",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: I'm only gonna say this once so read carefully.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: I'm going to roll a number, 1 to 4. Then I'll do a count down from 5 to 0.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: All you have to do is go stand on the box of the number you want.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: For example, If I roll a number 4, All the players standing on numbers 1 to 3 will be warped back to town.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: We will do it until we only have 1 player left on the map.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: Oh yeah! Before I forget you MUST GO INSIDE THE BOX, because if you're caught standing on the stairs you'll be automatically disqualified.",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: Simple huh?.. Let's play...",0;

sleep2 5000;

goto L_Start;

end;

L_Start:

if(getmapusers("quiz_01") == 1) goto L_Champ;

if(getmapusers("quiz_01") == 0) goto L_None;

if(getmapusers("quiz_01") > 1) {

mapannounce "quiz_01","Mr. Dice: . . . . .",0;

set $@number, rand(1,4);

sleep2 10000;

mapannounce "quiz_01","Mr. Dice: I have rolled. Please pick a number and go stand there.... GO!",0;

sleep2 10000;

mapannounce "quiz_01","Mr. Dice: 5",0;

sleep2 5000;

mapannounce "quiz_01","Mr. Dice: 4",0;

sleep2 4000;

mapannounce "quiz_01","Mr. Dice: 3",0;

sleep2 3000;

mapannounce "quiz_01","Mr. Dice: 2",0;

sleep2 2000;

mapannounce "quiz_01","Mr. Dice: 1",0;

sleep2 1000;

mapannounce "quiz_01","Mr. Dice: Time's up.",0;

donpcevent "evnt#1::OnEnable";

mapannounce "quiz_01","Mr. Dice: The winning number is "+$@number+".",0;

if(($@number != 1) && ($@number != 2) && ($@number != 3)) goto L_Lose1;

if(($@number != 1) && ($@number != 2) && ($@number != 4)) goto L_Lose2;

if(($@number != 1) && ($@number != 3) && ($@number != 4)) goto L_Lose3;

if(($@number != 2) && ($@number != 3) && ($@number != 4)) goto L_Lose4;

end;

}

L_Lose1:

areawarp "quiz_01",183,81,191,59,"prontera",155,182;

areawarp "quiz_01",195,81,203,59,"prontera",155,182;

areawarp "quiz_01",207,81,215,59,"prontera",155,182;

goto L_Start;

end;

L_Lose2:

areawarp "quiz_01",183,81,191,59,"prontera",155,182;

areawarp "quiz_01",195,81,203,59,"prontera",155,182;

areawarp "quiz_01",219,81,227,59,"prontera",155,182;;

goto L_Start;

end;

L_Lose3:

areawarp "quiz_01",183,81,191,59,"prontera",155,182;

areawarp "quiz_01",207,81,215,59,"prontera",155,182;

areawarp "quiz_01",219,81,227,59,"prontera",155,182;

goto L_Start;

end;

L_Lose4:

areawarp "quiz_01",195,81,203,59,"prontera",155,182;

areawarp "quiz_01",207,81,215,59,"prontera",155,182;

areawarp "quiz_01",219,81,227,59,"prontera",155,182;

goto L_Start;

end;

L_Champ:

mapannounce "quiz_01","Mr. Dice: Come to me and tell me your name.",0;

hideoffnpc "Dice#evnt1";

end;

L_None:

//disablenpc "Dice#evnt1";

hideonnpc "Dice#evnt1";

end;

}

- script evnt#1 -1,{

OnEnable:

areawarp "quiz_01",182,94,228,88,"prontera",155,182;

areawarp "quiz_01",185,87,188,82,"prontera",155,182;

areawarp "quiz_01",197,87,200,82,"prontera",155,182;

areawarp "quiz_01",209,87,212,82,"prontera",155,182;

areawarp "quiz_01",221,87,224,82,"prontera",155,182;

end;

}

// -- Mapflags

quiz_01 mapflag nowarp

quiz_01 mapflag nowarpto

quiz_01 mapflag noteleport

quiz_01 mapflag nosave

quiz_01 mapflag nomemo

quiz_01 mapflag nobranch

8. Disguise

//===== rAthena Script =======================================

//= Disguise Event

//===== By: ==================================================

//= GmOcean

//===== Current Version: =====================================

//= 5.1

//===== Compatible With: =====================================

//= rAthena SVN

//===== Additional Comments: =================================

//= Note: This script requires PCRE to run properly.

//= 5.0 Last update by GmOcean.

//= 5.1 Cleaned and standardized, mostly. [Euphy]

//============================================================

prontera,164,168,3 script Disguise Event 858,{

// Currently set to run every two hours.

// To change times, edit the OnClock labels below.

set .@GMLevel,60; // GM level required to access NPC.

set .@n$,"[^0000FFDisguise NPC^000000]";

if (getgmlevel()>=.@GMLevel) {

mes .@n$;

mes "Select an option.";

next;

switch(select("Turn ON/OFF Event:Event Settings")) {

case 1:

mes .@n$;

if (.EventON) {

mes "The Event is currently: [^0000FFON^000000]";

mes "Would you like to turn it OFF?";

} else {

mes "The Event is currently: [^FF0000OFF^000000]";

mes "Would you like to turn it ON?";

}

if(select("Yes:No")==2) close;

if (.EventON) {

set .EventON,0; set .Timer,0;

setnpctimer 0; stopnpctimer;

announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue;

deletepset 1;

setnpcdisplay "Disguise Event",795;

close;

}

set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer;

set .ResetCounter,.ResetCounter+1;

announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;

announce "The Event is being held in Prontera.",bc_all | bc_blue;

close;

case 2:

mes .@n$;

mes "Pick a setting to modify.";

next;

switch(select("Monster Display:Number of Rounds:Prize Settings")) {

case 1:

setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only.";

mes .@n$;

mes "Choose a disguise rule.";

next;

set .Rule, select(implode(.@r$,":"));

mes .@n$;

mes "The Disguise Rule has been set:";

mes " > ^0055FF"+.@r$[.Rule-1]+"^000000";

close;

case 2:

mes .@n$;

mes "Input the number of rounds you want the event to last.";

mes "Current number: [^0000FF"+.Rounds+"^000000]";

next;

input .@Rounds;

set .Rounds,.@Rounds;

mes .@n$;

mes "The number of rounds has been changed to "+.Rounds+".";

close;

case 3:

mes .@n$;

mes "Input the Item ID of the prize given each round.";

mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")";

next;

input .@Prize;

mes .@n$;

if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") {

mes "That item does not exist. Please try again.";

close;

}

set .Prize,.@Prize;

mes "Input the amount to be given.";

next;

input .@amount;

mes .@n$;

if (.@amount<=0 || .@amount>=10000) {

mes "That amount is invalid. Using default ammount of 1.";

set .@amount,1;

next;

mes .@n$;

}

set .PrizeAmt,.@amount;

mes "The Prize has been changed successfully.";

mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]";

close;

}

}

}

if (.EventON) end;

mes .@n$;

mes "Welcome.";

mes "How may I be of assistance?";

if(select("Information:Nothing, just passing through.")==2) close;

next;

mes .@n$;

mes "This event is quite simple.";

mes "At the start of the event, I will";

mes "disguise myself as a random";

mes "monster. You have to shout";

mes "that monter's name out loud.";

next;

mes "If you are correct, you will receive";

mes "a prize. If not, keep trying!";

mes "That's all that there is to this event.";

close;

OnInit:

set .EventON,0;

set .Wait,0;

set .Winner,0;

set .ResetCounter,0;

set .Rounds,10;

set .Prize,7227;

set .PrizeAmt,3;

set .Rule,1;

setarray .MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373,

1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688,

1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131,

2156,2165;

set .BlackList$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," +

"1171,1172,1173,1181,1187,1210,1217,1218,1222,1223,1224,1225,1226,1227,1228," +

"1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,2002,2003,2004," +

"2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035," +

"2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049," +

"2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063," +

"2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2083,2084,2085," +

"2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," +

"2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," +

"2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,1496,";

end;

OnClock0000:

OnClock0200:

OnClock0400:

OnClock0600:

OnClock0800:

OnClock1000:

OnClock1200:

OnClock1400:

OnClock1600:

OnClock1800:

OnClock2000:

OnClock2200:

set .ResetCounter,.ResetCounter+1;

set .EventON,1;

set .Timer,1;

set .Wait,1;

announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue;

announce "The Event is being held in Prontera.",bc_all | bc_blue;

setnpctimer 0;

initnpctimer;

end;

OnTimer10000:

if (.Timer || .Change) end;

set .Wait,0;

goto iDisguise;

end;

OnTimer30000:

if (.Timer) end;

set .Change,0;

setnpcdisplay "Disguise Event",795;

npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again.";

specialeffect 725;

set $MonsterName$,"";

deletepset 1;

stopnpctimer;

setnpctimer 0;

initnpctimer;

end;

OnTimer60000:

if (.Timer!=1) end;

announce "The Disguise Event will begin in 2 minutes.",bc_all | bc_blue;

announce "The Event is being held in Prontera.",bc_all | bc_blue;

end;

OnTimer120000:

if (.Timer!=1) end;

announce "The Disguise Event will begin 1 minute.",bc_all | bc_blue;

announce "The Event is being held in Prontera.",bc_all | bc_blue;

end;

OnTimer180000:

if (.Timer!=1) end;

announce "The Disguise Event has begun!",bc_all | bc_blue;

announce "The Event is being held in Prontera.",bc_all | bc_blue;

set .Timer,0; stopnpctimer;

setnpctimer 0; initnpctimer;

iDisguise:

if (.Rule==1) {

set .Winner,0;

set .Monster,1000+rand(1,995);

if (compare(","+.BlackList$+"," , ","+.Monster+",")) goto iDisguise;

if (.Monster==.LastMonster) goto iDisguise;

set .LastMonster,.Monster;

set $MonsterName$,getmonsterinfo(.Monster,0);

}

if (.Rule==2) {

set .Winner,0;

set .Monster,rand(49);

set $MonsterName$,getmonsterinfo(.MVP[.Monster],0);

}

deletepset 1;

defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect";

activatepset 1;

if (.Rule==1) setnpcdisplay "Disguise Event",.Monster;

if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.Monster];

set .Change,1;

setnpctimer 0;

end;

iCorrect:

if (.Winner) {

dispbottom "Someone has already won this round.";

end;

}

set .Winner,1;

set .RoundCount,.RoundCount+1;

deletepset 1;

activatepset 1;

getitem .Prize,.PrizeAmt;

announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue;

if (.RoundCount>=.Rounds) {

setnpcdisplay "Disguise Event",795;

set .RoundCount,0; set .Change,0; set .EventON,0;

setnpctimer 0; stopnpctimer;

npctalk "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.";

end;

}

setnpcdisplay "Disguise Event",795;

set .Change,0;

setnpctimer 0;

end;

}

Cont.

9. Donation Manager

//===== Athena Script ========================================

//= CashPoint And KafraPoint Manager

//===== By: ==================================================

//= rahuldev345

//===== Current Version: =====================================

//= 1.1

//===== Compatible With: =====================================

//= Any eAthena SVN.

//===== Description: =========================================

//= A Easy and advacned way to Edit Players CashPoint And

//= KafraPoint. It let's you Easy Add/Subtract Points in/from

//= any account. Generates all Players with CashPoints or

//= KafraPoints.

//===== Additional Comments: =================================

//= Version 1.1 if there are any Bugs please let me know.

//===== Changelogs: ==========================================

//

//============================================================

- script config_point -1,{

////////////////////////////////////

// Configuation Start

////////////////////////////////////

OnInit:

set $@name_point$,"[ ^ff0000Points Manager^000000 ]";

set $@GM_Access_Point, 99;

set $@Donate_Page, 10;

setarray $@Donate_Variable$, "'#CASHPOINTS'","'#KAFRAPOINTS'"; // Options #KAFRAPOINTS, #CASHPOINTS

end;

////////////////////////////////////

// Configuation End

////////////////////////////////////

}

prontera,164,162,3 script Points Manager 100,{

if ( getgmlevel() < $@GM_Access_Point )

{

mes $@name_point$;

mes "I am here to Help Game Masters.";

dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints";

close;

}

mes $@name_point$;

mes "Hello GM, ^0000ff" + strcharinfo(0) + "^000000";

mes "Please select the task from the Given menu.";

next;

set @s_point$,"";

Main_Menu:

set @lim, 0;

set $@Donate_Page1, $@Donate_Page - 1;

menu "Edit Point [ ^ff0000" + ( (@s_point$ == "")? "None":@s_point$ ) + "^000000 ]",E_Point,"Edit Players",D_Show,"Add Points",A_Point,"Search Char",S_Char,"Exit",L_Exit;

E_Point:

menu "Cash Points",L_Cash,"Kafra Point",L_Kafra;

L_Cash:

set @s_point$,$@Donate_Variable$[0];

goto Main_Menu;

L_Kafra:

set @s_point$,$@Donate_Variable$[1];

goto Main_Menu;

S_Char:

mes $@name_point$;

mes "Enter the Account ID of the Player to search.";

next;

S_Back:

input .@search;

if ( .@search <= 0 )

{

mes $@name_point$;

mes "Please Enter a positive No.";

if ( select("Back:Close")==2 ) close;

goto S_Back;

}

set .@schar, query_sql("SELECT `char_id`, `name` FROM `char` WHERE `account_id` = " + .@search, .@scid, .@sname$);

if ( .@schar <= 0 )

{

mes $@name_point$;

mes "We Didn't found any Account with";

mes "Account ID: ^000088" + .@search + "^000000";

if ( select("Search Again:Close")==2 ) close;

goto S_Back;

}

mes "Details of Account ID: ^000088" + .@search + "^000000";

mes "No. ^0000ffChar ID:^000000 ^ff0000Point(s)^000000";

while ( .@k < .@schar )

{

mes .@k+1 + ". ^0000ff" + .@scid[.@k] + " ^ff0000" + .@sname$[.@k] + "^000000";

set .@k, .@k + 1;

}

set .@spoint, query_sql("SELECT value FROM `global_reg_value` WHERE str = " + @s_point$ + " AND account_id = " + .@search + ";", .@sppoints);

mes " ";

mes "Current Points: ^000088" + .@sppoints + "^000000";

set @aid, .@search;

switch(select("Add Points:Subtract Points:Exit"))

{

case 1:

callsub ChoiceAS,0;

case 2:

callsub ChoiceAS,1;

case 3:

callsub L_Exit;

}

close;

A_Point:

goto S_Char;

close;

L_Exit:

close;

D_Show:

switch(select("List All Players's.:Exit"))

{

case 1:

INCREMENT:

set .@D_menu$, "";

set .@t_donate, query_sql("SELECT value, account_id FROM `global_reg_value` WHERE str = " + @s_point$ + " ORDER BY account_id LIMIT " + @lim + ", " + @lim + $@Donate_Page1 + ";", .@points, .@aid);

for ( set .@i,0; .@i < .@t_donate; set .@i, .@i + 1 )

{

if ( .@i != 0 && .@i%$@Donate_Page1 == 0 ) break;

set .@D_menu$, .@D_menu$ + " ^0000ff" + .@aid[.@i] + "^000000 [ " + .@points[.@i] + " ] :";

}

set .@D_menu$, .@D_menu$ + " Next ^ff0000->>^000000: Back ^ff0000<<-^000000:";

set .@ch, select(.@D_menu$) - 1;

if ( .@ch == .@t_donate && .@ch < $@Donate_Page1 )

{

mes $@name_point$;

mes " ";

mes "Reached the maximum.";

close;

}

if ( .@ch == .@t_donate+1 && .@ch < $@Donate_Page )

{

set @lim, @lim - $@Donate_Page;

if ( @lim < 0 )

{

mes "Reached Minimum.";

set @lim,0;

}

goto INCREMENT;

}

if ( .@ch == $@Donate_Page1 ) //Next

{

set @lim, @lim + $@Donate_Page1;

goto INCREMENT;

}

if ( .@ch == $@Donate_Page ) //Back

{

set @lim, @lim - $@Donate_Page1;

if ( @lim < 0 )

{

mes "Reached Minimum.";

set @lim,0;

}

goto INCREMENT;

}

next;

mes $@name_point$;

mes "You have Selected: ";

mes "Account ID: ^000088" + .@aid[.@ch];

mes "^000000Donation Points: ^000088" + .@points[.@ch] + "^000000";

set @aid, .@aid[.@ch];

next;

CharBack:

switch( select("List Chars In account:Add Points:Sub Points:Select Another Account!:Close" ))

{

case 1:

next;

mes $@name_point$;

set .@t_chars, query_sql("SELECT `char_id`, `account_id`, `name` FROM `char` WHERE `account_id` = " + @aid, .@cid, .@acid, .@name$);

mes "No. ^0000ffChar ID:^000000 ^ff0000Name^000000";

if ( .@t_chars < 1 )

{

mes "Do not have any chars in this account.";

if (select("Back:Exit")==2) close;

goto CharBack;

}

set .@j, 0;

while ( .@j < .@t_chars )

{

mes .@j+1 + ". ^0000ff" + .@cid[.@j] + " ^ff0000" + .@name$[.@j] + "^000000";

set .@j, .@j + 1;

}

if (select("Back:Exit")==2) close;

goto CharBack;

close;

case 2: // Add

callsub ChoiceAS,0;

case 3: // Sub

callsub ChoiceAS,1;

ChoiceAS:

next;

mes $@name_point$;

set .@p, query_sql("SELECT `value` FROM `global_reg_value` WHERE account_id = " + @aid + " AND str = " + @s_point$ + ";", .@point);

mes "Enter the Amount of Points you want to ^ff0000"+ ( (getarg(0)==0 )? "Add":"Subtract") +"^000000 "+ ( (getarg(0)==0 )? "in":"from") +" account ^000088" + @aid + "^000000.";

InputAgainA:

next;

input .@c_point;

if ( .@c_point <= 0 )

{

mes $@name_point$;

mes "Enter a Positive Value.";

if ( select("Re-Enter:Close")==2) close;

goto InputAgainA;

}

mes $@name_point$;

mes "Do you want to ^ff0000"+ ( (getarg(0)==0 )? "Add":"Subtract") +"^000000 " + .@c_point + " points "+ ( (getarg(0)==0 )? "in":"from") +" account ^000088" + @aid + "^000000?";

mes " ";

mes "Current Points: ^000088" + .@point + "^000000";

if ( getarg(0)==0 )

set .@update_p, .@point + .@c_point;

else

set .@update_p, .@point - .@c_point;

next;

if ( .@update_p < 0 )

{

mes $@name_point$;

mes "^ff0000Failed to Update! Value is Negative.^000000";

if ( select("Re-Enter:Close")==2) close;

goto InputAgainA;

}

if (select("Confirm:Exit")==2) close;

if ( .@p <= 0 )

query_sql("INSERT INTO `global_reg_value` VALUES(0," + @s_point$ + "," + .@c_point + ",2," + @aid + ")");

else

query_sql("UPDATE `global_reg_value` SET value = " + .@update_p + " WHERE account_id = " + @aid + " AND str = " + @s_point$ + ";");

next;

mes $@name_point$;

mes "Successfully "+ ( (getarg(0)==0 )? "Added":"Subtract") +" Points "+ ( (getarg(0)==0 )? "in":"from") +" account ^000088" + @aid + "^000000.";

mes " ";

mes "Updated point: ^000088" + .@update_p + "^000000.";

set .@menu, select("Main Menu:Select Another Account!:Back To char Menu:Close");

if ( .@menu == 4 ) close;

if ( .@menu == 3 ) goto CharBack;

if ( .@menu == 2 )

{

set @lim, 0;

goto INCREMENT;

}

if ( .@menu == 1 ) goto Main_Menu;

close;

case 4:

next;

set @lim, 0;

goto INCREMENT;

case 5:

close;

}

close;

case 2:

close;

}

}

10. Hourly Points

//===== Hourly Points Script =========================================

//===== By: ==========================================================

//= GorthexTiger modified by Nibi

//===== Current Version: =============================================

//= 1.0

//===== Compatible With: =============================================

//= Any eAthena Version

//===== Description: =================================================

//= Get Points every successful hours of gameplay, you cannot get

//= the points even if you miss a second or a minute. A player will

//= get a very big bonus if they played 12 hours consecutively

//= or without logging out of the game. If the player is vending

//= the script will then stop.

//===== Additional Comments: =========================================

//= You can modify the script to your liking.

//= The default points is Kafrapoints change it anyway if you like.

//= 1.1 = Check Chatting too

//= 1.2 = 5 Minute Idle Check & @at/@autotrade check.

//= 1.3 = Corrected the current balance line on 12 Hours Consecutive

//====================================================================

- script hourlypoints -1,{

//--Start of the Script

OnPCLoginEvent:

attachnpctimer ""+strcharinfo(0)+"";

initnpctimer;

end;

OnTimer30000:

//Check if Vending (normal or @at)

if(checkvending() >= 1 || checkchatting() == 1) {

dispbottom "The hourly points event stopped because you were vending / chatting. Please relog if you wish to start again.";

stopnpctimer;

end;

}

//Check if Idle

getmapxy( .@map$, .@x, .@y, 0 );

if(@map$ == .@map$ && @x == .@x && @y == .@y) {

set @afk, @afk + 1;

}

//If move timer resets

else {

set @afk, 0;

}

set @map$, .@map$; set @x, .@x; set @y, .@y;

//Idle Check for 5 Minutes

if(@afk == 10) {

dispbottom "The hourly points event stopped because you were idle for 10 minutes. Please relog if you wish to start again.";

stopnpctimer;

end;

}

end;

OnTimer60000:

set @minute, @minute + 1;

//Check for 1 Minute

if(@minute == 60){

set @minute,0;

set .@point_amt, 10; //Points to get every hour (default: 10)

set #KAFRAPOINTS, #KAFRAPOINTS + .@point_amt;

dispbottom "You received "+.@point_amt+" Kafrapoints by staying ingame for 1 hour";

dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints";

set @consecutive_hour, @consecutive_hour + 1;

}

//Check for 12 hours consecutive

if(@consecutive_hour == 12) {

set @consecutive_hour,0;

set .@cpoint_amt, 50; //Points to get for 12 Consecutive hours (default: 50)

set #KAFRAPOINTS, #KAFRAPOINTS + .@cpoint_amt;

dispbottom "You receive "+.@cpoint_amt+" Kafrapoints in playing for 12 consecutive hours";

dispbottom "Current Balance = "+#KAFRAPOINTS+" Kafrapoints";

}

stopnpctimer;

initnpctimer;

end;

}

//--End of the Script

11. Kafra Points Shop

turbo_room,100,120,4 cashshop Kafra Points Shop 811,2541:50,2383:50,2629:50,1530:50,2410:50

12. Last Man Standing

- script LMS#disable -1,{

OnInit:

disablenpc "Mr. Banker";

disablenpc "All Job Manager";

disablenpc "Baby Manager";

disablenpc "Novice Manager";

end;

}

- script LMS -1,{

OnClock1800:

goto startlmsevent;

startlmsevent:

announce "Mr. Manager: The Last Man Standing event will be starting shortly.",0;

sleep2 10000;

announce "Mr. Manager: Those who want to play, please proceed to Prontera and Register.",0;

sleep2 10000;

announce "Mr. Manager: After 1 Minute the Registration will close.",0;

sleep2 10000;

announce "Mr. Manager: Please go to Prontera and Register now if you want to join.",0;

enablenpc $Manager$;

initnpctimer;

end;

OnTimer30000:

announce "Mr. Manager: Last 30 seconds.",0;

sleep2 5000;

announce "Mr. Manager: If you want to join please Register in Prontera.",0;

end;

OnTimer50000:

announce "Mr. Manager: Last 10 seconds.",0;

end;

OnTimer55000:

announce "Mr. Manager: 5.",0;

end;

OnTimer56000:

announce "Mr. Manager: 4.",0;

end;

OnTimer57000:

announce "Mr. Manager: 3.",0;

end;

OnTimer58000:

announce "Mr. Manager: 2.",0;

end;

OnTimer59000:

announce "Mr. Manager: 1.",0;

end;

OnTimer60000:

announce "Mr. Manager: Time's up.",0;

end;

OnTimer61000:

disablenpc $Manager$;

donpcevent "Mr. Banker::OnEnable";

stopnpctimer;

end;

}

//---------All Job Registration---------------

prontera,147,172,5 script All Job Manager 106,{

mes "[Mr. Manager]";

mes "Hello What can I do for you?";

next;

menu "Register",-,"What is LMS?",what,"Leave",leave;

next;

mes "[Mr. Manager]";

mes "Thankyou for registering Mr. " + strcharinfo(0) + ", Have fun!";

warp "quiz_02",305,249;

end;

what:

mes "[Mr. Manager]";

mes "LMS is also known as Last Man Standing Event";

next;

mes "[Mr. Manager]";

mes "LMS is also like a PvP.";

mes "The only difference is at LMS you will get 20 CDSC Event Cards if you are the Last Man Standing at the arena.";

next;

mes "[Mr. Manager]";

mes "That's all";

close;

leave:

mes "[Mr. Manager]";

mes "I hope you will register next time";

close;

}

//---- Baby Registration -------

prontera,144,172,5 script Baby Manager 812,{

mes "[Mr. Manager]";

mes "Hello this is Baby LMS Registration";

mes "What can I do for you?";

next;

menu "Register",-,"What is Baby LMS?",what,"Leave",leave;

next;

if (class < 4023 || class > 4045) goto L_NotBaby;

mes "[Mr. Manager]";

mes "Thankyou for registering Mr. " + strcharinfo(0) + ", Have fun!";

warp "quiz_02",305,249;

end;

L_NotBaby:

mes "[Mr. Manager]";

mes "Hmmm.. Sorry but only baby classes can enter";

close;

what:

mes "[Mr. Manager]";

mes "LMS is also known as Last Man Standing Event";

next;

mes "[Mr. Manager]";

mes "This LMS is for Baby Classes only.";

mes "The only difference is at LMS you will get 20 CDSC Event Cards if you are the Last Man Standing at the arena.";

next;

mes "[Mr. Manager]";

mes "That's all";

close;

leave:

mes "[Mr. Manager]";

mes "I hope you will register next time";

close;

}

//--------Novice LMS Registration---------

prontera,141,172,5 script Novice Manager 729,{

mes "[Mr. Manager]";

mes "Hello What can I do for you?";

next;

menu "Register",-,"What is LMS?",what,"Leave",leave;

next;

if (class == 0 && baselevel == 1) {

mes "[Mr. Manager]";

mes "Thankyou for registering Mr. " + strcharinfo(0) + ", Have fun!";

warp "quiz_02",305,249;

end;

}

mes "Sorry for level 1 novices only";

close;

what:

mes "[Mr. Manager]";

mes "LMS is also known as Last Man Standing Event";

next;

mes "[Mr. Manager]";

mes "LMS is also like a PvP.";

mes "The only difference is at LMS you will get 20 CDSC Event Cards if you are the Last Man Standing at the arena.";

next;

mes "[Mr. Manager]";

mes "That's all";

close;

leave:

mes "[Mr. Manager]";

mes "I hope you will register next time";

close;

}

//------------------------

quiz_02,297,265,6 script Checker 780,{

mes "[Checker]";

mes "Hi " + strcharinfo(0) + ", Want to check how many are you here?";

next;

mes "There are currently ["+getmapusers("quiz_02")+"]players on map";

close;

OnInit:

waitingroom "Map Checker",0;

end;

}

//--------------------------

//--------------------------

quiz_02,311,265,6 script Mr. Banker 56,{

mes "[banker]";

mes "Please tell me your name.";

next;

input .@name$;

if(.@name$ != strcharinfo(0)) {

mes "[banker]";

mes "Are you sure thats your character name?";

close;

}

mes "[banker]";

mes "Congrats. You've won.";

close2;

announce "Mr. Manager: We have a winner! well done "+.@name$+".",0;

getitem 18110, 20; // Change This item id to what ever you want . item id,amount

warp "prontera",155,182;

disablenpc "Mr. Banker";

end;

OnEnable:

mapannounce "quiz_02","Mr. Manager:The Last Man Standing Event will start shortly",0;

sleep2 10000;

mapannounce "quiz_02","Mr. Manager:But before we start this is just a few reminders..",0;

sleep2 10000;

mapannounce "quiz_02","Mr. Manager:Using Cloaking , Hiding is strictly not allowed..",0;

sleep2 10000;

mapannounce "quiz_02","Mr. Manager: Only the Last Man Standing will win this event!!",0;

sleep2 10000;

mapannounce "quiz_02","Mr. Manager: What are we waiting for?..Let's Get Ready to Rumble!!...",0;

sleep2 10000;

goto L_Start;

end;

L_Start:

if(getmapusers("quiz_02") == 1) goto L_Champ;

if(getmapusers("quiz_02") == 0) goto L_None;

if(getmapusers("quiz_02") > 1) {

mapannounce "quiz_02","Mr. Manager: Get ready at the count of 5 we will start!....",0;

sleep2 10000;

mapannounce "quiz_02","Mr. Manager: 5",0;

sleep2 5000;

mapannounce "quiz_02","Mr. Manager: 4",0;

sleep2 4000;

mapannounce "quiz_02","Mr. Manager: 3",0;

sleep2 3000;

mapannounce "quiz_02","Mr. Manager: 2",0;

sleep2 2000;

mapannounce "quiz_02","Mr. Manager: 1",0;

sleep2 1000;

pvpon "quiz_02";

goto timer;

end;

}

timer:

initnpctimer;

end;

OnTimer1000:

end;

OnTimer1100:

if(getmapusers("quiz_02") == 1) goto L_Champ;

if(getmapusers("quiz_02") > 2) goto timer;

if(getmapusers("quiz_02") == 2) goto champ;

stopnpctimer;

end;

champ:

announce "Mr. Manager: Last 2 Brave warriors are still alive!",0;

sleep2 10000;

if(getmapusers("quiz_02") == 1) goto L_Champ;

if(getmapusers("quiz_02") > 1) goto timer;

end;

L_Champ:

mapannounce "quiz_02","Mr. Banker: Please talk to me to get your prize..",0;

pvpoff "quiz_02";

enablenpc "Mr. Banker";

end;

L_None:

disablenpc "Banker";

pvpoff "quiz_02";

end;

}

//----- Die = warp prt -----

- script Killa_warp -1,{

OnPCDieEvent:

getmapxy(.@map$,.@x,.@y,0);

if(.@map$=="quiz_02")

{

dispbottom "You are killed.";

warp "prontera",0,0;

end;

}

}

// ----Manager Setting------------

- script Setting -1,{

if ($Manager$=="") donpcevent "Setting::OnClock0000";

OnInit:

OnClock0000:

switch(gettime(4)) {

Case 0:// Sunday

Case 1:// Monday

Case 2:// Tuesday

set $Manager$, "All Job Manager";

break;

Case 3:// Wed

Case 4:// Thursday

set $Manager$, "Baby Manager";

break;

Case 5://Friday

Case 6://Saturday

set $Manager$, "Novice Manager";

break;

}

end;

}

// == Mapflags

quiz_02 mapflag nowarp

quiz_02 mapflag nowarpto

quiz_02 mapflag noteleport

quiz_02 mapflag nosave

quiz_02 mapflag nomemo

quiz_02 mapflag nobranch

13. Mall Warper

//#####################################################################

//# #

//# ##### # ######## # # ##### ## # # #

//# # ### ## # # # # # # ### #

//# #### # # ## ###### #### # # # # # #

//# # ####### ## # # # # # # ####### #

//# ##### # # ## # # ##### # ## # # #

//# #

//#####################################################################

//

//

//===== Athena Script ========================================

//= Shopping Mall Script

//===== Credits to ==================================================

//= Created by : Ayumi

//= Edit and Bug Fixed By : jm1211

//===== Current Version: =====================================

//= 1.0

//===== Compatible With: =====================================

//= Any Athena Version

//===== Description: =========================================

//= Shopping Mall cointaining most item except cards

//===== Additional Comments: =================================

//= please include my name if u edited this script

//============================================================

//The Shops

turbo_room,74,135,4 shop Upper Headgear 1 731,5105:1000000,5106:1000000,5201:1000000,5097:1000000,5226:1000000,5011:1000000,5137:1000000,5207:1000000,5246:1000000,2254:1000000,5132:1000000,5153:1000000,5333:1000000,2284:1000000,2285:100000,2261:1000000,5264:1000000,5189:1000000,5270:1000000,5174:1000000,5116:1000000,2211:10000,5042:1000000,5147:1000000,5076:1000000,5172:1000000,2244:50000,5129:1000000,2216:100000,5057:1000000,5065:1000000,5052:1000000,2279:50000,5017:1000000,5016:1000000,5150:1000000,5114:50000,5034:1000000,2214:1000000,5024:1000000,5178:1000000,2226:50000,5145:1000000,5026:1000000,2232:50000,2249:1000000,5019:1000000,5075:1000000,5048:1000000,5036:1000000,5080:1000000,5081:1000000,2235:1000000,2250:50000,5082:1000000,5038:1000000,2273:1000000,5058:500000,2283:1000000,5015:10000,5146:1000000,2255:1000000,2207:100000,5047:1000000,5170:1000000,5018:1000000,2215:1000000,5061:1000000,5124:500000,5056:100000,2290:100000,5111:1000000,5144:1000000,2230:500000,2274:1000000,5063:1000000,5128:500000,2246:1000000,5007:1000000,2298:1000000,5021:1000000,2210:10000,2282:1000000,2220:10000,5001:1000000,5041:1000000,5025:1000000,2228:100000,5070:1000000

turbo_room,72,135,4 shop Upper Headgear 2 762,5072:1000000,5190:1000000,5010:1000000,5071:1000000,5209:1000000,2271:1000000,5002:1000000,5003:1000000,5020:1000000,5140:1000000,5069:1000000,2213:1000000,5084:1000000,5139:1000000,5027:1000000,5138:1000000,5045:1000000,5122:1000000,2256:1000000,5141:1000000,5031:1000000,2259:1000000,5073:1000000,2251:100000,5126:1000000,5127:1000000,5117:1000000,5148:1000000,5099:1000000,2277:100000,5037:100000,2299:100000,5030:100000,5023:1000000,5060:1000000,5012:100000,2287:100000,2289:1000000,5035:1000000,2293:1000000,5134:1000000,5182:1000000,5118:1000000,5008:100000,5033:1000000,5039:1000000,2275:1000000,5109:1000000,5083:1000000,5108:1000000,2208:10000,2247:500000,5009:1000000,2280:1000000,5100:1000000,5078:1000000,5133:1000000,5149:1000000,5064:1000000,5212:1000000,5067:1000000,2258:1000000,5029:1000000,2294:1000000,2272:1000000,5062:1000000,5049:1000000,5066:1000000,5287:1000000,5032:1000000,5103:1000000,2253:1000000,2245:500000,5059:1000000,2234:1000000,5077:1000000,2222:100000,5123:500000,2257:500000,2206:100000,2248:500000,5044:1000000,5115:1000000,2252:1000000,5050:1000000,5079:1000000

turbo_room,70,134,6 shop Middle Headgear 899,5074:1000000,2276:1000000,2296:1000000,5102:1000000,2295:500000,5800:1000000,5040:1000000,5135:1000000,5104:1000000,2205:100000,2286:1000000,5068:1000000,2212:100000,5154:1000000,5014:1000000,2243:100000,2203:100000,5006:100000,2291:1000000,2260:100000,2239:100000,5043:1000000,2242:100000,5325:1000000,5248:1000000,5250:1000000,5085:1000000,2201:100000,5101:1000000,2263:1000000

turbo_room,70,132,6 shop Lower Headgear shop 853,5113:1000000,5096:1000000,5110:1000000,2237:500000,2240:500000,2267:1000000,2262:1000000,5107:1000000,5156:1000000,5155:1000000,2218:500000,2265:1000000,2241:500000,2266:1000000,5004:1000000,2268:1000000,5051:1000000,2269:1000000,2270:1000000,5206:1000000

turbo_room,70,130,6 shop Upper/Middle/Lower Head 873,5086:1000000,5089:1000000,5005:1000000,5090:1000000,2297:1000000,5314:1000000,5332:1000000,2288:1000000,2278:10000,2281:50000,5087:1000000,5203:1000000,5272:1000000,5088:1000000,2292:1000000,5093:500000,5142:1000000,5091:1000000,5258:1000000,5276:1000000,5273:1000000,5274:1000000,2224:100000,5181:3000000,5094:1000000,5130:1000000,5151:1000000,5152:1000000,5098:1000000,5121:1000000,5046:1000000,5131:1000000,5143:1000000,2264:1000000,5053:1000000

turbo_room,70,128,6 shop Armor Shop 752,2302:5000,2304:10000,2306:7500,2339:20000,2330:80000,2309:30000,2311:150000,2329:25000,2313:50000,2314:65000,2341:94000,2337:150000,2333:250000,2324:250000,2336:1000000,2318:1000000,2320:1500000,2353:2000000,2354:3000000

turbo_room,70,126,0 shop Shield Shop 707,2101:5000,2103:15000,2105:60000,2107:60000,2118:150000,2111:150000,2131:200000,2110:250000,2120:1000000,2121:1000000,2108:1000000,2114:1000000,2124:1000000,2130:1500000,2129:2000000,2125:2000000

turbo_room,72,126,0 shop Garment Shop 806,2507:82000,2502:10000,2503:5000,2505:50000,2522:50000,2514:1000000,2516:1000000,2513:1000000,2508:1000000,2518:1000000,2511:1000000,2517:1000000,2520:3000000,2509:3000000

turbo_room,74,126,0 shop Footgear Shop 913,2402:10000,2403:10000,2405:25000,2407:50000,2413:50000,2408:50000,2411:60000,2415:80000,2432:100000,2422:700000,2417:2000000,2418:2000000,2419:3000000

turbo_room,76,126,0 shop Accessory Shop 856,2607:100000,2601:50000,2602:50000,2604:50000,2605:50000,2619:50000,2656:350000,2664:10000,2627:20000,2617:10000,2616:1000000,2613:1000000,2665:1000000,2614:1000000,2641:1000000,2612:2000,2663:1000000,2652:1000000,2636:50000,2610:50000,2640:500000,2657:1000000,2666:250000,2618:10000,2645:500000,2603:50000,2658:1000000,2639:1000000,2638:1000000,2667:2000000,2670:1000000,2669:1000000,2620:1000000,2608:20000,2615:1000000,2643:1000000,2654:1000000,2637:40000,2611:40000,2715:1000000

turbo_room,93,128,2 shop One-handed Sword Shop 733,1102:500,1105:2500,1108:5000,1111:10000,1113:17000,1125:24000,1146:42000,1127:49000,1123:50000,1129:60000,1119:51000,1143:150000,1130:250000,1136:450000,1141:500000,1131:500000,1133:500000,1142:1000000

turbo_room,93,130,2 shop Two-handed Sword Shop 734,1117:5000,1152:20000,1155:30000,1162:70000,1158:80000,1163:74000,1166:250000,1168:350000,1167:500000,1175:3000000

turbo_room,93,132,2 shop One-handed Spear Shop 767,1402:1000,1405:5000,1408:10000,1416:100000,1413:150000

turbo_room,93,134,2 shop Two-handed Spear Shop 780,1455:20000,1452:13000,1458:27000,1461:51000,1464:54000,1410:60000,1468:350000,1474:350000

turbo_room,93,136,2 shop One-handed Axe Shop 826,1302:5000,1307:80000,1304:100000,1305:350000

turbo_room,93,138,2 shop Two-handed Axe Shop 813,1352:10000,1355:15500,1358:34000,1361:55000,1364:500000,1385:500000,1366:1500000,1363:2000000

turbo_room,91,139,4 shop Katar Shop 885,1251:19500,1255:37200,1253:41000,1268:20000,1270:20000,1260:250000,1262:250000,1263:250000,1257:250000,1258:250000,1256:250000,1259:300000,1261:350000,1264:400000

turbo_room,93,126,2 shop Dagger Shop 884,1202:50,1208:2400,1217:19500,1232:50000,13010:3000,1231:100000,1246:40000,13004:52000,1241:80000,1205:1250,1242:120000,1226:49000,1211:8500,13001:100000,1223:100000,13002:100000,1220:43000,1237:100000,1244:100000,13006:240000,1239:100000,1240:100000,13027:100000,1236:100000,1238:100000,1235:100000

turbo_room,89,139,4 shop Rod & Staff Shop 735,1602:2500,1605:5000,1608:15000,1611:45000,1622:100000,1625:150000,1613:150000,1638:250000,1615:300000,1614:300000,1624:350000,1472:350000,1619:100000,1617:100000,1473:750000,1626:1000000

turbo_room,87,139,4 shop Bow Shop 832,1703:1000,1705:15000,1711:30000,1714:45000,1713:50000,1718:70000,1724:150000,1722:150000,1719:150000,1721:170000,1723:200000,1746:200000,1734:200000,1731:350000,1732:350000,1733:370000,1730:400000

turbo_room,85,139,4 shop Mace Shop 821,1521:25000,1503:1000,1512:20000,1524:1000000,1529:1000000,1525:1000000,1506:3000,1515:45000,1527:1000000,1526:1000000,1509:10000,1523:1000000,1532:60000,1518:50000,1531:1000000,1528:3000000

turbo_room,83,139,4 shop Knuckle Shop 808,1816:1000000,1810:70000,1812:60000,1808:55000,1815:1000000,1813:1000000,1804:25000,1806:35000,1802:10000

turbo_room,81,139,4 shop Whip Shop 862,1969:1000000,1964:1000000,1971:1000000,1967:1000000,1966:1000000,1962:1000000,1970:1000000,1957:35000,1963:1000000,1965:1000000,1951:3000,1968:1000000,1959:45000,1953:12000,1961:40000,1955:20000

turbo_room,79,139,4 shop Musical Instrument Shop 741,1914:1000000,1913:1000000,1917:1000000,1916:1000000,1908:50000,1912:55000,1910:65000,1915:1000000,1906:25000,1904:20000,1918:1000000,1902:5000

turbo_room,77,139,4 shop Book Shop 893,1551:80000,1550:50000,1552:55000,1553:50000,1556:80000,1554:80000,1555:80000,1557:150000,1558:5000,1561:1000000,1559:1000000,1560:1000000,1562:1000000

turbo_room,75,137,4 shop Gun Shop 852,13103:60000,13105:100000,13106:200000,13101:10000,13150:6000,13152:30000,13153:50000,13155:30000,13156:50000,13154:30000,13159:250000,13157:150000,13161:700000,13162:1000000

turbo_room,106,128,6 shop Fuuma Shuriken 880,13302:100000,13303:150000,13300:200000,13304:1000000,7522:500,7521:500,7523:500

turbo_room,106,126,6 shop Ammunition 904,1766:150,1755:20,1750:10,1754:20,1761:20,1752:20,1760:20,1759:20,1772:100,1757:100,1770:20,1769:30,1765:40,1763:30,1762:30,1767:30,1764:30,1751:20,1768:30,1753:30,1756:30,1758:30,1771:500,13200:50,13202:100,13201:50,13206:500,13203:500,13207:500,13204:500,13205:500,13252:50,13254:500,13251:100,13253:300,13250:50,13256:50,13259:50,13258:50,13255:50,13257:50

turbo_room,106,130,6 shop Novice Shop 882,569:10,5055:1000,5125:10000,5112:50000,2340:100000,2352:40000,1243:50000,1621:80000,2112:10000,2113:50000,2512:100000,2510:50000,2414:1000,2416:50000,2628:50000,7271:10000

turbo_room,108,139,4 shop Blacksmith Shop 869,717:600,716:600,715:600,1010:-1,1011:-1,613:1000,614:3000,615:5000,1005:-1,986:-1,987:-1,988:-1,612:150,990:1500,991:1500,992:1500,993:1500,1003:-1,1002:-1,998:-1,1000:4500,1001:-1,733:-1,730:-1,731:-1,732:-1,719:-1,718:-1,724:-1,723:-1,725:-1,726:-1,727:-1,728:-1,729:-1,721:-1,720:-1,722:-1,999:1000,984:1100,985:1100

turbo_room,106,134,6 shop Alchemist Shop 749,1092:50,7134:50,1093:100,7143:5000,7141:20000,7140:60000,12040:500000,7419:100000,7127:100000,7129:100000,7128:100000,7131:100000,7130:100000,7132:150000,7144:150000,7133:300000,7434:400000,7433:4000

turbo_room,106,138,6 shop Healing Item 72,575:20,521:360,512:20,513:20,515:20,514:300,531:20,532:20,534:20,533:500,505:5000,506:50,501:100,502:300,503:600,504:1200,577:200,553:300,580:150,590:300,591:300,548:2800,12101:20,594:5000,596:5000,669:500,562:100,563:2000,581:40,574:20,540:2000,579:250,12022:500,12102:20,520:150,593:5000,518:500,536:150,552:200,583:7000,568:200,597:5000,680:10000,522:9000,12133:1000,517:50,519:25,554:1000,528:60,595:5000,557:10,582:300,541:3000,589:1200,12021:1000,516:15,576:1500,535:15,544:20,587:2000,564:500,556:10,550:10,526:10000,567:500,584:100,588:100,592:5000,578:200,551:100,566:10000,555:100,565:580,549:180,663:2500

turbo_room,123,126,0 shop Santa Claus Shop 718,529:100,570:100,530:200,571:200,538:2000,572:2000,558:1000,561:100000,573:10000,596:5000,559:100000,560:100000,2236:250000

turbo_room,106,132,6 shop Usable Item 891,610:4000,609:100,606:5000,605:5000,662:5000,645:-1,14509:1300,656:-1,14510:2000,657:-1,14511:3500,12342:15000,12348:15000,12016:15000,12042:10000,12057:10000,12052:10000,12047:10000,12062:10000,12067:10000

turbo_room,125,126,0 shop Pet Store Shop 890,643:3000,619:2000,620:2000,621:2000,622:3000,623:4000,632:5000,627:7000,624:3000,625:3000,630:3000,631:3000,633:3000,629:3000,636:3000,637:3000,659:3000,626:3000,642:3000,640:3000,628:10000,641:3000,638:15000,635:3000,661:20000,639:20000,634:20000,10013:5000,10017:5000,10010:5000,10020:5000,10015:5000,10018:5000,10002:5000,10004:5000,10008:5000,10019:5000,10014:5000,10007:5000,10001:5000,10011:5000,10012:5000,10003:5000,10005:5000,10009:5000

turbo_room,127,126,0 shop Wedding Shop 71,745:12000,2338:43000,2206:23000,2613:45000,7170:43000

turbo_room,112,139,4 shop Scroll Item 714,12016:15000,12017:15000,14515:15000,14514:15000,12216:15000,12215:15000,12219:15000,12220:15000,12217:15000,12218:15000,14512:15000,14516:15000,14521:15000,12114:15000,12115:15000,12117:15000,12116:15000

//The Warper to Mall

prontera.gat,164,174,3 script Mall Warper 858,{

shop: warp "turbo_room.gat" ,100,110;

end;

OnInit:

waitingroom "Mall Warper",0;

end;

}

//The Exit to Prontera

turbo_room.gat,100,100,5 script Exit 858,{

warp "prontera.gat" ,156,191;

end;

OnInit:

waitingroom "Exit Market",0;

end;

}

turbo_room,106,136,6 shop Alche Ingredients Shop 749,507:18,508:40,509:120,510:60,717:600,716:600,715:600,1032:196,929:374,1059:306,713:6,950:264,1044:264,970:400,1051:450,1050:220,911:160,1057:138,7126:840,1012:250,952:82,1017:106,1061:484,708:500,704:500,7033:114,905:46

turbo_room,110,139,4 shop Poison Bottle Shop 885,657:-1,713:6,937:148,939:32,952:82,972:400,7033:114

14. Mushroom Event

//===== rAthena Script =======================================

//= Find the Mushroom

//===== By: ==================================================

//= Mysterious

//===== Current Version: =====================================

//= 3.6a

//===== Compatible With: =====================================

//= rAthena SVN

//===== Description: =========================================

//= Find the Mushroom - random amount of Mushrooms spawns in random maps.

//= Players need to find these mushrooms and kill them to gain prizes!

//===== Additional Comments: =================================

//= 3.0 Fully Functional with Rewritten script. [Mysterious]

//= 3.6a Slightly edited. [Euphy]

//============================================================

prontera,164,172,3 script Find the Mushroom 858,{

mes "[ Find The Mushroom ]";

if (!.Status)

mes "There is no event at the moment!";

else {

mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!";

mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!";

}

if (.Status || getgmlevel() < .GM) close;

mes "Start the event?";

next;

if(select("- No:- Yes") == 1) close;

donpcevent strnpcinfo(0)+"::OnMinute10";

mes "[ Find The Mushroom ]";

mes "Event started!";

close;

OnInit:

waitingroom "Find The Mushroom",0;

set .Prize,7227; // Reward item ID

set .Amount,3; // Reward item amount

set .GM,60; // GM level required to access NPC

setarray .Maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps

end;

OnMinute10: // Start time (every hour)

if (.Status) end;

set .Status,1;

set .Spawn,rand(1,10); // How many Mushrooms should spawn?

set .Map$,.Maps$[rand(getarraysize(.Maps$))];

killmonster .Map$,"All";

monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(0)+"::OnMobKilled";

announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0;

sleep 2500;

announce "Find the Mushroom : Every Mushroom you kill will give you "+getitemname(.Prize)+"!",0;

end;

OnMobKilled:

set .Spawn, .Spawn - 1;

getitem .Prize, .Amount;

if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map;

else {

announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0;

set .Status,0;

}

end;

}

15. No Chat/Vend

//Script whipped up by [GM]Xeon ;D

//No street chatrooms + vends - Prontera edition

prontera,1,1,1 script NoChatVendPront -1,{

OnWhisperGlobal:

if (!getgmlevel()) end;

OnInit:

setcell "prontera.gat",1,1,312,392,cell_nochat,0;

setcell "prontera.gat",1,1,312,392,cell_novending,0;

setcell "prontera.gat",134,190,177,217,cell_nochat,1;

setcell "prontera.gat",82,200,124,207,cell_nochat,1;

setcell "prontera.gat",125,199,125,208,cell_nochat,1;

setcell "prontera.gat",126,198,126,209,cell_nochat,1;

setcell "prontera.gat",127,197,127,210,cell_nochat,1;

setcell "prontera.gat",128,196,128,211,cell_nochat,1;

setcell "prontera.gat",129,195,129,212,cell_nochat,1;

setcell "prontera.gat",130,194,130,213,cell_nochat,1;

setcell "prontera.gat",131,193,131,214,cell_nochat,1;

setcell "prontera.gat",132,192,132,215,cell_nochat,1;

setcell "prontera.gat",133,191,133,216,cell_nochat,1;

setcell "prontera.gat",148,231,163,268,cell_nochat,1;

setcell "prontera.gat",147,230,164,230,cell_nochat,1;

setcell "prontera.gat",146,229,165,229,cell_nochat,1;

setcell "prontera.gat",145,228,166,228,cell_nochat,1;

setcell "prontera.gat",144,227,167,227,cell_nochat,1;

setcell "prontera.gat",143,226,168,226,cell_nochat,1;

setcell "prontera.gat",142,225,169,225,cell_nochat,1;

setcell "prontera.gat",141,224,170,224,cell_nochat,1;

setcell "prontera.gat",140,223,171,223,cell_nochat,1;

setcell "prontera.gat",139,222,172,222,cell_nochat,1;

setcell "prontera.gat",138,221,173,221,cell_nochat,1;

setcell "prontera.gat",137,220,174,220,cell_nochat,1;

setcell "prontera.gat",136,219,175,219,cell_nochat,1;

setcell "prontera.gat",135,218,176,218,cell_nochat,1;

setcell "prontera.gat",187,200,229,207,cell_nochat,1;

setcell "prontera.gat",186,199,186,208,cell_nochat,1;

setcell "prontera.gat",185,198,185,209,cell_nochat,1;

setcell "prontera.gat",184,197,184,210,cell_nochat,1;

setcell "prontera.gat",183,196,183,211,cell_nochat,1;

setcell "prontera.gat",182,195,182,212,cell_nochat,1;

setcell "prontera.gat",181,194,181,213,cell_nochat,1;

setcell "prontera.gat",180,193,180,214,cell_nochat,1;

setcell "prontera.gat",179,192,179,215,cell_nochat,1;

setcell "prontera.gat",178,191,178,216,cell_nochat,1;

setcell "prontera.gat",148,130,163,176,cell_nochat,1;

setcell "prontera.gat",147,177,164,177,cell_nochat,1;

setcell "prontera.gat",146,178,165,178,cell_nochat,1;

setcell "prontera.gat",145,179,166,179,cell_nochat,1;

setcell "prontera.gat",144,180,167,180,cell_nochat,1;

setcell "prontera.gat",143,181,168,181,cell_nochat,1;

setcell "prontera.gat",142,182,169,182,cell_nochat,1;

setcell "prontera.gat",141,183,170,183,cell_nochat,1;

setcell "prontera.gat",140,184,171,184,cell_nochat,1;

setcell "prontera.gat",139,185,172,185,cell_nochat,1;

setcell "prontera.gat",138,186,173,186,cell_nochat,1;

setcell "prontera.gat",137,187,174,187,cell_nochat,1;

setcell "prontera.gat",136,188,175,188,cell_nochat,1;

setcell "prontera.gat",135,189,176,189,cell_nochat,1;

setcell "prontera.gat",134,190,177,217,cell_novending,1;

setcell "prontera.gat",82,200,124,207,cell_novending,1;

setcell "prontera.gat",125,199,125,208,cell_novending,1;

setcell "prontera.gat",126,198,126,209,cell_novending,1;

setcell "prontera.gat",127,197,127,210,cell_novending,1;

setcell "prontera.gat",128,196,128,211,cell_novending,1;

setcell "prontera.gat",129,195,129,212,cell_novending,1;

setcell "prontera.gat",130,194,130,213,cell_novending,1;

setcell "prontera.gat",131,193,131,214,cell_novending,1;

setcell "prontera.gat",132,192,132,215,cell_novending,1;

setcell "prontera.gat",133,191,133,216,cell_novending,1;

setcell "prontera.gat",148,231,163,268,cell_novending,1;

setcell "prontera.gat",147,230,164,230,cell_novending,1;

setcell "prontera.gat",146,229,165,229,cell_novending,1;

setcell "prontera.gat",145,228,166,228,cell_novending,1;

setcell "prontera.gat",144,227,167,227,cell_novending,1;

setcell "prontera.gat",143,226,168,226,cell_novending,1;

setcell "prontera.gat",142,225,169,225,cell_novending,1;

setcell "prontera.gat",141,224,170,224,cell_novending,1;

setcell "prontera.gat",140,223,171,223,cell_novending,1;

setcell "prontera.gat",139,222,172,222,cell_novending,1;

setcell "prontera.gat",138,221,173,221,cell_novending,1;

setcell "prontera.gat",137,220,174,220,cell_novending,1;

setcell "prontera.gat",136,219,175,219,cell_novending,1;

setcell "prontera.gat",135,218,176,218,cell_novending,1;

setcell "prontera.gat",187,200,229,207,cell_novending,1;

setcell "prontera.gat",186,199,186,208,cell_novending,1;

setcell "prontera.gat",185,198,185,209,cell_novending,1;

setcell "prontera.gat",184,197,184,210,cell_novending,1;

setcell "prontera.gat",183,196,183,211,cell_novending,1;

setcell "prontera.gat",182,195,182,212,cell_novending,1;

setcell "prontera.gat",181,194,181,213,cell_novending,1;

setcell "prontera.gat",180,193,180,214,cell_novending,1;

setcell "prontera.gat",179,192,179,215,cell_novending,1;

setcell "prontera.gat",178,191,178,216,cell_novending,1;

setcell "prontera.gat",148,130,163,176,cell_novending,1;

setcell "prontera.gat",147,177,164,177,cell_novending,1;

setcell "prontera.gat",146,178,165,178,cell_novending,1;

setcell "prontera.gat",145,179,166,179,cell_novending,1;

setcell "prontera.gat",144,180,167,180,cell_novending,1;

setcell "prontera.gat",143,181,168,181,cell_novending,1;

setcell "prontera.gat",142,182,169,182,cell_novending,1;

setcell "prontera.gat",141,183,170,183,cell_novending,1;

setcell "prontera.gat",140,184,171,184,cell_novending,1;

setcell "prontera.gat",139,185,172,185,cell_novending,1;

setcell "prontera.gat",138,186,173,186,cell_novending,1;

setcell "prontera.gat",137,187,174,187,cell_novending,1;

setcell "prontera.gat",136,188,175,188,cell_novending,1;

setcell "prontera.gat",135,189,176,189,cell_novending,1;

end;

}

16. Online GM

prontera,136,171,5 script GM Online Lists 436,{

mes "Staffs Online Lists : ^FF0000"+getarraysize( .GM_Name$ )+"^000000 Staffs";

mes "^0000FF_____________________________^000000";

for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){

getmapxy( .Map$,.x,.y,0,.GM_Name$[.@i] );

mes "[ Lv ^63D1F4"+.GM_Level[.@i]+"^000000 ] ^FF0000@ ^0000FF"+.GM_Name$[.@i]+"^000000";

mes "Location : ^0000FF"+.Map$+"^000000";

mes "^0000FF_____________________________^000000";

}

close;

OnInit:

set .MinGMLevel,60; // Min. GM Level to Show in Online Lists

waitingroom "GM Online Lists",0;

end;

OnPCLoginEvent:

if( getgmlevel() < .MinGMLevel ) end;

set .GM_Name$[ getarraysize( .GM_Name$ ) ],strcharinfo(0);

set .GM_Level[ getarraysize( .GM_Level ) ],getgmlevel();

end;

OnPCLogoutEvent:

if( getgmlevel() < .MinGMLevel ) end;

for( set .@i,0; .@i < getarraysize( .GM_Name$ ) ; set .@i,.@i + 1 ){

if( strcharinfo(0) != .GM_Name$[.@i] ) continue;

deletearray .GM_Name$[.@i],1;

deletearray .GM_Level[.@i],1;

end;

}

end;

}

17. PVP Ladder

//===== eAthena Script =======================================

//= eAthena PVP-Ladder

//===== By: ==================================================

//= Terces

//===== Current Version: =====================================

//= 1.7.2

//===== Compatible With: =====================================

//= Any Athena Version that has "for" implemented

//===== Credits: =============================================

//= The whole eAthena Board and the eAthena Chat

//===== Notes: ===============================================

//= Note 1:

//= Experience gain works like this formula:

//= ($@LadderLength-(<new position>-1))*$@LadderExp

//= so if someone gets the first place he'll get

//= $@LadderLength*$@LadderExp experience points.

//============================================================

//= Fixxed by Dante

//= V1.7.2

//= Hosted by Dant3 aka Dante

// HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV

//

//

// LAST UPDATE: 12th,February.2008

//

// Main Script - Terces (Main Thanks to Terces )

// V1.7.0 - Dant3

// v1.7.1 - AnnieRuRu

// v1.7.2 - Dant3

// THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY!

- script PVPLADDEROPTIONS -1,{

end;

OnInit:

// 0 = Disabled (NO)

// 1 = Enable (YES)

set $@languageselect, 0; //Enable/Disable language selection [English/German] (Default: 1)

set $@LadderAnnounce, 1; //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1)

set $@LadderLength, 10; //Set the length of the Ladder [!Not higher than 128!] (Default: 30)

set $@LadderSteps, 10; //Set the views per page (Default: 10)

set $@LadderExpGain, 0; //Enable/Disable experience gain when reaching a new position in the ladder (*Note1)

set $@LadderExp, 50; //Set Experience gain value (*Note1)

// Update v1.7.0

set $@LadderZenyGain, 0; //Enable/Disable zeny gain when reaching a new position in the ladder

set $@LadderZeny, 50; //Set Zeny gain value

set $@LadderChatRoom, 1; //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room)

// Update v1.7.1 (Thanks to AnnieRuRu)

// Added GM PvP Ladder Reset Function

// Update v1.7.2

// Thanks to for the Feedback

set $@LadderAskLogin, 1; //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0

}

- script PVPLADDER -1,{

OnPCKillEvent:

if (terces_PVP_resets != $terces_PVP_resets) {

dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder.";

dispbottom "Because a GM just reset the ladder.";

end;

}

if ( killedrid == getcharid(3) ) {

set PVPDeaths, PVPDeaths +1;

set #PVPDeathsAccount, #PVPDeathsAccount +1;

set @PVPDeathstoday, @PVPDeathstoday +1;

end;

}

set $@PVPcounter,$@PVPcounter+1;

set getd("$@PVPKill"+$@PVPcounter),getcharid(3); //getd to avoid errors when more than 1 people kill someone

attachrid(killedrid);

set PVPDeaths,PVPDeaths+1;

set @PVPDeathstoday,@PVPDeathstoday+1;

set #PVPDeathsAccount,#PVPDeathsAccount+1;

set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0); //again, getd to avoid possible glitches

detachrid;

attachrid(getd("$@PVPKill"+$@PVPcounter));

CountKills:

set PVPKills,PVPKills+1;

set @PVPKillstoday,@PVPKillstoday+1;

set #PVPKillsAccount,#PVPKillsAccount+1;

setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount;

l_ladder:

set @considerdeath,0;

for (set @PosinLadder, 0; @PosinLadder < $@LadderLength; set @PosinLadder, @PosinLadder + 1){

if (PVPKills >= $terces_PVP_kills[@PosinLadder]){ //Player deserves to be in the ladder

//Check if Death plays a role on the position

if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths

//Check if the player only topped his own scores

if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){

set $terces_PVP_kills[@PosinLadder],PVPKills;

set $terces_PVP_deaths[@PosinLadder],PVPDeaths;

end;

}

//Moves all characters in the Ladder

for (set @beginmoving, $@LadderLength; @beginmoving >= (@PosinLadder+@considerdeath); set @beginmoving, @beginmoving - 1){

if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){

//If the player already is in the Ladder it only has to move players between characters new position and characters old position

callsub L_LadderMove,0;

end;

}

else if (@beginmoving == (@PosinLadder+@considerdeath)){

//Player is not in the Ladder and therefor it has to move all players from characters new position downwards

callsub L_LadderMove,1;

end;

}

}

end;

}

}

L_LadderMove:

if (getarg(0) == 0) set @length,@beginmoving;

if (getarg(0) == 1) set @length,$@LadderLength;

for (set @movecycle, @length; @movecycle > (@PosinLadder+@considerdeath);

set @movecycle, @movecycle - 1){

set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)];

set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)];

set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)];

set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)];

}

//sets the character's stats in the new position

set $terces_PVP_names$[(@PosinLadder+@considerdeath)],strcharinfo(0);

set $terces_PVP_kills[(@PosinLadder+@considerdeath)],PVPKills;

set $terces_PVP_deaths[(@PosinLadder+@considerdeath)],PVPDeaths;

set $terces_PVP_times[(@PosinLadder+@considerdeath)],gettimetick(2);

//Experience Gain

if ($@LadderExpGain == 1){

set BaseExp,BaseExp+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp);

dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp)+" base experience points";

}

//Zeny Gain

if ($@LadderZenyGain == 1){

set Zeny,Zeny+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny);

dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny)+" Zeny";

}

//Announcement (Setting for Char)

if (pvpbroadcast == 2){

announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;

}

//Announcement (Setting for Account)

if (#pvpbroadcast == 2){

announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;

}

end;

OnPCLoginEvent:

if (terces_PVP_resets != $terces_PVP_resets){

set PVPDeaths,0;

set @PVPDeathstoday,0;

set #PVPDeathsAccount,0;

set PVPKills,0;

set @PVPKillstoday,0;

set #PVPKillsAccount,0;

set terces_PVP_resets,$terces_PVP_resets;

}

if ($@LadderAskLogin == 0){

if (#pvpbroadcast == 2) goto L_ignore;

if (pvpbroadcast == 2) goto L_ignore;

if (#pvpbroadcast == 1) goto L_ignore;

if (pvpbroadcast == 1) goto L_ignore;

if (pvpbroadcast == 0)

mes "Hi, "+strcharinfo(0)+"";

mes "Me is the PvP Top Management!";

mes "Let me ask you one Question and i will let you play!";

menu "Later please",L_close,"Okay, fine",L_fine;

L_fine:

next;

mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";

menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;

L_accept:

next;

mes "Yay, thank you! ";

mes "Will this Setting work on all your Chars on this account or only this char?";

menu "Account",L_account,"Only this char",L_char;

L_account:

set #pvpbroadcast,2;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

close;

L_char:

set pvpbroadcast,2;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

goto access_eng;

close;

L_accept_2:

next;

mes "Yay, thank you! ";

mes "Will this Setting work on all your Chars on this account or only this char?";

menu "Account",L_account_2,"Only this char",L_char_2;

L_close:

close;

L_account_2:

set #pvpbroadcast,1;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

close;

L_char_2:

set pvpbroadcast,1;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

goto access_eng;

close;

L_broadcast:

mes "Broadcasts are this yellow messages from the GMs";

goto L_fine;

}

}

prontera.gat,164,164,3 script PvP Ladder 57,{

if ($@LadderChatRoom == 1) {

waitingroom "PvP Top "+$@LadderLength+"",0; // Look on the configuration!

}

set @name$,"[PvP-Ladder]";

//Colour of: Position Name Kills Deaths Time

setarray @colour$[0], "^996600", "^006699", "^00AA00", "^FF0000", "^EE8800";

if ($@LadderAskLogin == 1){

if (#pvpbroadcast == 2) goto access_eng;

if (pvpbroadcast == 2) goto access_eng;

if (#pvpbroadcast == 1) goto access_eng;

if (pvpbroadcast == 1) goto access_eng;

if (pvpbroadcast == 0)

mes "Hi, "+strcharinfo(0)+"";

mes "Me is the PvP Top Management!";

mes "Let me ask you one Question and i will let you play!";

menu "Later please",L_close,"Okay, fine",L_fine;

L_fine:

next;

mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";

menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;

L_accept:

next;

mes "Yay, thank you! ";

mes "Will this Setting work on all your Chars on this account or only this char?";

menu "Account",L_account,"Only this char",L_char;

L_account:

set #pvpbroadcast,2;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

close;

L_char:

set pvpbroadcast,2;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

goto access_eng;

close;

L_accept_2:

next;

mes "Yay, thank you! ";

mes "Will this Setting work on all your Chars on this account or only this char?";

menu "Account",L_account_2,"Only this char",L_char_2;

L_close:

close;

L_account_2:

set #pvpbroadcast,1;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

close;

L_char_2:

set pvpbroadcast,1;

next;

mes "Okay, "+strcharinfo(0)+"";

mes "Thank you for your time and have fun!";

goto access_eng;

close;

L_broadcast:

mes "Broadcasts are this yellow messages from the GMs";

goto L_fine;

}

access_eng:

mes @name$;

mes "Hello "+strcharinfo(0)+"...";

mes "If you want to I can show you your PVP stats.";

next;

M_selection_eng:

if ( getgmlevel () < 99 )

menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng;

else

menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng;

M_Ladder_eng:

mes "Alright...I'll show you the Top "+ $@LadderLength +" with "+$@LadderSteps+" entries per page.";

mes "It'll be viewed like this:";

mes @colour$[0]+"Place^000000: "+@colour$[1]+"<name>^000000 :"+@colour$[2]+"<kills>^000000:"+@colour$[3]+"<deaths>^000000 "+@colour$[4]+"<time>";

next;

callsub L_Ladder;

goto M_selection_eng;

M_seitLogin_eng:

mes @name$;

mes "Your stats since your login:";

mes @PVPKillstoday+"/"+@PVPDeathstoday+"(Kills/Deaths)";

next;

goto M_selection_eng;

M_dieserChar_eng:

mes @name$;

mes "Your stats of this Char:";

mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)";

next;

goto M_selection_eng;

M_vomAccount_eng:

mes @name$;

mes "Your stats of the whole account:";

mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)";

next;

goto M_selection_eng;

M_abbrechen_eng:

mes @name$;

mes "OK. You can come back to me and see your stats whenever you want.";

close;

L_reset:

if (getgmlevel() < 99) end;

mes "Do you want to reset the ladder?";

if (select ("Yes","No") == 2) goto L_end;

mes "Are you really really sure you want to reset it?";

menu "Yes, ffs!!",-,"No",L_end;

deletearray $terces_PVP_kills,128;

deletearray $terces_PVP_deaths,128;

deletearray $terces_PVP_names$,128;

deletearray $terces_PVP_times,128;

set $terces_PVP_resets,$terces_PVP_resets +1;

L_end:

mes "Okay...cya";

close;

L_Ladder:

for (set @y,0; @y < $@LadderLength; set @y,@y+$@LadderSteps){

for (set @x,@y; (@x < (@y+$@LadderSteps)) && (@x < ($@LadderLength)); set @x,@x+1){

if ($terces_PVP_names$[@x] != ""){

mes @colour$[0]+(@x+1)+"^000000: "+@colour$[1]+$terces_PVP_names$[@x]+"^000000 "+@colour$[2]+$terces_PVP_kills[@x]+"^000000:"+@colour$[3]+$terces_PVP_deaths[@x]+"^000000 ~ "+@colour$[4]+callfunc ("Gettime",$terces_PVP_times[@x])+"^000000";

} else {

mes "^DD0000"+(@x+1)+": ^006699None^000000 ";

}

}

next;

}

return;

}

function script Gettime {

if (getarg(0)==0) return;

set @difftimedays,(gettimetick(2) - getarg(0));

set @difftimehours,@difftimedays%86400;

set @difftimeminutes,@difftimehours%3600;

set @difftimeseconds,@difftimeminutes%60;

set @days,@difftimedays/86400;

set @hours,@difftimehours/3600;

set @minutes,@difftimeminutes/60;

set @seconds,@difftimeseconds;

set @result$,"";

if(@days != 0) set @result$,@result$+@days+"d ";

if(@hours != 0) set @result$,@result$+@hours+"h ";

if(@minutes != 0) set @result$,@result$+@minutes+"m ";

if(@seconds != 0) set @result$,@result$+@seconds+"s";

return (@result$);

}

18. Quest Shop

//===== rAthena Script =======================================

//= Euphy's Quest Shop

//===== By: ==================================================

//= Euphy

//===== Current Version: =====================================

//= 1.4c

//===== Compatible With: =====================================

//= rAthena SVN r16862+

//===== Description: =========================================

//= A dynamic quest shop based on Lunar's, with easier config.

//= Includes support for multiple shops & cashpoints.

//= Item Preview script by ToastOfDoom.

//============================================================

prontera,164,203,6 script Quest Shop 998,{

function Add; function Chk; function Slot; function A_An;

if (.Shops$ == "") set .@i, select(.menu$);

else set .@i,1;

dispbottom "Select one item at a time.";

callshop "qshop"+.@i,1;

npcshopattach "qshop"+.@i;

end;

function Add {

if (getitemname(getarg(1)) == "null") {

debugmes "Quest reward #"+getarg(1)+" invalid (skipped).";

return;

}

for(set .@n,5; .@n<127; set .@n,.@n+2) {

if (!getarg(.@n,0)) break;

if (getitemname(getarg(.@n)) == "null") {

debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped).";

return;

}

}

for(set .@i,2; .@i<.@n; set .@i,.@i+1)

set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i);

npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);

return;

}

function Chk {

if (getarg(0) < getarg(1)) {

set @qe0,1;

return "^FF0000";

}

else return "^00FF00";

}

function Slot {

set .@s$,getitemname(getarg(0));

switch(.ShowSlot) {

case 1: if (!getitemslots(getarg(0))) return .@s$;

case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";

default: return .@s$;

}

}

function A_An {

setarray .@A$[0],"a","e","i","o","u";

set .@B$, "_"+getarg(0);

for(set .@i,0; .@i<5; set .@i,.@i+1)

if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);

return "a "+getarg(0);

}

OnBuyItem:

set .@q[0],@bought_nameid;

copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]"));

if (!.@q[1]) {

message strcharinfo(0),"An error has occurred.";

end;

}

mes "[Quest Shop]";

mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000";

mes "Requirements:";

if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000";

if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000";

if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)

mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000";

next;

set @qe1, getiteminfo(.@q[0],5);

set @qe2, getiteminfo(.@q[0],11);

addtimer 1000, strnpcinfo(1)+"::OnEnd";

while(1) {

switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2 > 0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {

case 1:

if (@qe0) {

mes "[Quest Shop]";

mes "You're missing one or more quest requirements.";

close;

}

if (!checkweight(.@q[0],.@q[1])) {

mes "[Quest Shop]";

mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";

close;

}

if (.@q[2]) set Zeny, Zeny-.@q[2];

if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3];

if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2)

delitem .@q[.@i],.@q[.@i+1];

getitem .@q[0],.@q[1];

if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0;

specialeffect2 699;

close;

case 2:

set @qe3, getlook(LOOK_HEAD_BOTTOM);

set @qe4, getlook(LOOK_HEAD_TOP);

set @qe5, getlook(LOOK_HEAD_MID);

set @qe6,1;

if (@qe1&1) changelook LOOK_HEAD_BOTTOM, @qe2;

if (@qe1&256) changelook LOOK_HEAD_TOP, @qe2;

if (@qe1&512) changelook LOOK_HEAD_MID, @qe2;

break;

case 3:

close;

}

}

OnEnd:

if (@qe6) {

changelook LOOK_HEAD_BOTTOM, @qe3;

changelook LOOK_HEAD_TOP, @qe4;

changelook LOOK_HEAD_MID, @qe5;

}

for(set .@i,0; .@i<7; set .@i,.@i+1)

setd "@qe"+.@i,0;

end;

OnInit:

freeloop(1);

// --------------------- Config ---------------------

// Custom points, if needed: "<variable>","<name to display>"

setarray .Points$[0],"#CASHPOINTS","Cash Points";

set .Announce,1; // Announce quest completion? (1: yes / 0: no)

set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)

set .DisplayID,0; // Show item IDs? (1: yes / 0: no)

set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no)

// Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...};

// Duplicate dummy data for any additional shops (bottom of script).

// If no categories, use the second line instead (remove //).

setarray .Shops$[1],"Headgears","Weapons","Other";

// set .Shops$,"n/a";

// Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>,

// <required item ID>,<required item amount>{,...});

// Shop number corresponds with order above (default is 1).

// Note: Do NOT use a reward item more than once!

Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2);

Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600);

Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1);

Add(1,5045,1,0,0,2252,1,1054,450,943,1200);

Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10);

Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10);

Add(3,531,1,3,0,512,1,713,1);

Add(3,532,1,3,0,513,1,713,1);

Add(3,533,1,3,0,514,1,713,1);

Add(3,534,1,3,0,515,1,713,1);

// --------------------------------------------------

freeloop(0);

set .menu$,"";

for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) {

set .menu$, .menu$+.Shops$[.@i]+":";

npcshopdelitem "qshop"+.@i,909;

}

end;

}

// -------- Dummy data (duplicate as needed) --------

- shop qshop1 -1,909:-1

- shop qshop2 -1,909:-1

- shop qshop3 -1,909:-1

19. Run For Your Life

// Edited version by painisinsane/Eclipse.

// Creator of EclipseRO

// Please dont remove Credits!

// Credits: http://www.paste-it....public/a5d2cd4/

quiz_01 mapflag nowarpto

quiz_01 mapflag nowarp

quiz_01 mapflag noteleport

quiz_01 mapflag nomemo

quiz_01 mapflag nosave SavePoint

quiz_01 mapflag nobranch

quiz_01 mapflag noicewall

quiz_01 mapflag nopenalty

quiz_01 mapflag nobranch

quiz_01 mapflag noexp

quiz_01 mapflag noreturn

quiz_01 mapflag pvp_noparty

quiz_01 mapflag restricted 1

- script RFYL#disable -1,{

OnInit:

disablenpc "Zombie Master";

disablenpc "Present For You";

}

prontera,166,162,3 script Zombie Minion 1015,{

if (getgmlevel() >= 40) goto LMS_Admin;

mes "[Minion]";

mes "Hello " + strcharinfo(0) + ", my master is busy.";

mes "*sigh*";

close;

LMS_Admin:

mes "[Minion]";

mes "Hello " + strcharinfo(0) + ", would you like me to call my Boss?";

mes "He is the only one who can start it!";

menu "Start Event",RFYL,"Spectate",M_warp,"End Event",M_EndEvent,"No Thanks",leave;

RFYL:

next;

mes "[Minion]";

mes "Ok, I'll call him this instant.";

close2;

set $@offvar,1;

goto StartEvent;

M_warp:

mes "[Minion]";

mes "Very well, I will warp you to the map!";

warp "quiz_01",42,369;

close;

leave:

next;

mes "[Minion]";

mes "Ok " + strcharinfo(0) +", nice seeing you.";

close;

M_EndEvent:

mes "[Minion]";

mes "Ok master, I will stop the event for you right away!";

next;

set $@offvar,1;

disablenpc "Zombie Master";

disablenpc "Present For You";

killmonsterall "quiz_01";

areawarp "quiz_01",10,10,450,450,"prontera",156,191;

stopnpctimer;

disablenpc "Zombie Minion";

warp "prontera",156,191;

sleep 180000;

enablenpc "Zombie Minion";

StartEvent:

announce "Zombie Vs. Novice event Will begin in 3 minutes. Head beside PVP Ladder NPC",0;

killmonsterall "quiz_01";

sleep 55000;

announce "Zombie Vs. Novice event will begin in 2 minutes! Head beside PVP Ladder NPC",0;

sleep 5000;

announce "Zombie Master: I have now appeared in Prontera!",0;

enablenpc "Zombie Master";

sleep 60000;

announce "Zombie Vs. Novice event will begin in 1 minute!",0;

sleep 30000;

mapannounce "quiz_01","In 30 seconds the zombies will spawn!",0;

sleep 25000;

announce "Zombie Vs. Novice event will begin in ~5~",0;

sleep 1000;

announce "Zombie Vs. Novice event will begin in ~4~",0;

sleep 1000;

announce "Zombie Vs. Novice event will begin in ~3~",0;

sleep 1000;

announce "Zombie Vs. Novice event will begin in ~2~",0;

sleep 1000;

announce "Zombie Vs. Novice event will begin in ~1~",0;

sleep 1000;

announce "Zombie Vs. Novice event has now begun!!",0,0x00FF00;

disablenpc "Zombie Master";

disablenpc "Present For You";

sleep 10000;

monster "quiz_01",42,369,"Zombie",1015,1;

sleep 10000;

monster "quiz_01",42,369,"Zombie-2",1015,1;

sleep 10000;

monster "quiz_01",42,369,"Zombie-3",1015,1;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 55000;

mapannounce "quiz_01","Round 2!",0;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 55000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

mapannounce "quiz_01","Round 3!",0;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 55000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

mapannounce "quiz_01","Round 4!",0;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 55000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

mapannounce "quiz_01","Round 5!",0;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 55000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

mapannounce "quiz_01","Round 6!",0;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 55000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

mapannounce "quiz_01","Round 7! Final Round!",0;

sleep 10000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 20000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 30000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

sleep 40000;

monster "quiz_01",42,369,"Zombie-4",1036,1;

sleep 50000;

monster "quiz_01",42,369,"Zombie-4",1036,1;

sleep 60000;

monster "quiz_01",42,369,"Zombie-4",1015,1;

initnpctimer;

end;

OnTimer0500:

if ( getmapusers("quiz_01") == 0 )

{

killmonsterall "quiz_01";

announce "'Zombie Vs. Novice' event has ended. No one joined.",0;

stopnpctimer;

end;

}

else if ( getmapusers("quiz_01") > 1 )

{

mapannounce "quiz_01",getmapusers("quiz_01") +"has survived the event.",0,0x00FF00;;

initnpctimer;

end;

}

initnpctimer;

end;

OnPCDieEvent:

getmapxy .@mapnvz$,.@xnvz,.@ynvz,0;

if ( .@mapnvz$ == "quiz_01") {

sleep2 1;

warp "prontera",156,191;

atcommand "@alive "+ strcharinfo(0);

dispbottom "you have lost...";

}

sleep2 0500;

if ( .@mapnvz$ == "quiz_01" && getmapusers("quiz_01") == 1 ) {

killmonsterall "quiz_01";

mapannounce "quiz_01","You have won, approach the Present For You Npc please.",0;

enablenpc "Present For You";

stopnpctimer;

end;

}

end;

}

quiz_01,42,378,3 script Present For You 72,{

mes "[Present For You]";

mes "Please tell me your name.";

next;

input .@name$;

if(.@name$ != strcharinfo(0)) {

mes "[Present For You]";

mes "Are you sure that is your name?";

close;

}

mes "[Present For You]";

mes "Congrats. You've won.";

close2;

announce "Present For You: We have a winner! "+.@name$+" has won the Novice vs Zombie event!",0;

getitem 7227, 3; // Change This item id to what ever you want

warp "prontera",156,191;

disablenpc "Present For You";

end;

}

prontera,168,162,3 script Zombie Master 1298,{

if (BaseLevel > 1) goto NO;

if (class == 0) goto event;

if (class > 0) goto NO;

event:

mes "[^0000FFZombie Master^000000]";

mes "You wish to participate the Zombie Vs. Novice event?";

next;

switch(select("Yes","No")) {

case 1:

sc_end SC_ALL;

sc_start SC_DECREASEAGI,1200000,10;

percentheal 100,100;

sc_start SC_STRIPSHIELD,1200000,5;

sc_start SC_STRIPWEAPON,1200000,5;

sc_start SC_STRIPARMOR,1200000,5;

sc_start SC_STRIPHELM,1200000,5;

statusup2 bStr,-999;

statusup2 bAgi,-999;

statusup2 bVit,-999;

statusup2 bInt,-999;

statusup2 bDex,-999;

statusup2 bLuk,-999;

warp "quiz_01",42,369;

end;

break;

case 2:

mes "[^0000FFZombie Master^000000]";

mes "Come back when your ready.";

close;

break;

NO:

mes "[^0000FFZombie Master^000000]";

mes "You are not a Novice, level 1.";

close;

}

OnInit:

disablenpc "Zombie Master";

disablenpc "Prize";

end;

}

20. Ultimate PVP

// Made by iTouch

// ----------------------------------------------------------------------------

// Ultimate PvP Warper ver. 1

// Features:

// Baby PvP Room

// PvP Square(Every 2 days Random PvP Room)

// PvP Nightmare

// PvP Lowlvl( Supports 1 - 150 Lvl)

// PvP No Potion (Berrys , Ygg seed , Any potions , etc. are restricted)

// PvP Non Donator (Got Items are restricted here)

// -----------------------------------------------------------------------------

// ver. 2 update idea:

// Adding a PvP Room that removes the buffs of the player when entering the room

// Adding a PvP Room for GM's Only so GM's will have fun

// -----------------------------------------------------------------------------

// Special thanks to:

// icescope of eAthena for helping me configuring the error at PvP Square

// -----------------------------------------------------------------------------

prontera.gat,145,174,6 script Ultimate PvP Warper 871,{

if (.pvp_square$=="") donpcevent "Ultimate PVP warper::OnClock0000";

mes "[PvP Warper]";

mes "Which arena do you want to go to?";

switch(select("PVP Square ["+getmapusers(.pvp_square$)+"/100]:PVP Nightmare ["+getmapusers("guild_vs3")+"/100]:PVP LowLevel ["+getmapusers("guild_vs1")+"/100]:PVP NoPotion ["+getmapusers("pvp_y_8-2")+"/100]:Non Donator PVP ["+getmapusers("1@orcs")+"/100]:Baby PvP Room ["+getmapusers("pvp_y_1-2")+"/100]")) {

case 1: // PVP Square

if (getmapusers(.pvp_square$) > 99) callsub S_full;

callsub S_payment;

warp .pvp_square$,0,0;

end;

case 2: // PVP Nightmare

if (getmapusers("guild_vs3") > 99) callsub S_full;

callsub S_payment;

warp "guild_vs3",0,0;

end;

case 3: // PVP LowLevel

if (getmapusers("guild_vs1") > 99) callsub S_full;

if (BaseLevel > 150) { // Edit 150 to any maximum Lvl of a player can enter this room

mes "only Base Level 1 - 150 may enter.";

close;

}

callsub S_payment;

warp "guild_vs1",0,0;

end;

case 4: // PVP NoPotion

if (getmapusers("pvp_y_8-2") > 99) callsub S_full;

for( set .@i,0; .@i<getarraysize(.NoPotion_ids); set .@i,.@i+1 ) {

if (countitem(.NoPotion_ids[.@i])) {

mes "You can not bring potions in this pvp.";

close;

}

}

callsub S_payment;

warp "pvp_y_8-2",0,0;

end;

case 5: // Non Donator PVP

if (getmapusers("1@orcs") > 99) callsub S_full;

for( set .@i,0; .@i<getarraysize(.NoDonator_ids); set .@i,.@i+1 ) {

if (countitem(.NoDonator_ids[.@i])) {

mes "You can not bring God items in this pvp.";

close;

}

}

callsub S_payment;

warp "1@orcs",0,0;

end;

Case 6: // Baby PvP Room

if (getmapusers("pvp_y_1-2") > 99) callsub S_full;

if (class < 4023 || class > 4045) goto L_NotBaby;

callsub S_payment;

warp "pvp_y_1-2",0,0;

end;

L_NotBaby:

mes "Only baby can enter this room";

close;

}

S_full:

mes " ";

mes "I'm sorry, this arena is full. Please try again later...";

close;

S_payment:

if (Zeny < (200*BaseLevel + 800)) {

mes "You don't have enough zeny.";

mes "It costs "+(200*BaseLevel + 800)+" zeny for you to enter.";

close;

}

set Zeny, Zeny - (200*BaseLevel + 800);

return;

OnInit:

waitingroom "PvP Warper",0;

end;

OnClock0000:

// set the "PVP Square" map, based on day of the weeek

switch(gettime(4)) {

case 0: // Sunday

case 1: // Monday

set .pvp_square$, "guild_vs2";

break;

case 2: // Tuesday

case 3: // Wednesday

set .pvp_square$, "guild_vs5";

break;

case 4: // Thursday

case 5: // Friday

set .pvp_square$, "guild_vs4";

break;

case 6: // Saturday

set .pvp_square$, "guild_vs1-2";

break;

}

// items not allowed in PVP NoPotion

setarray .NoPotion_ids[0], 607, 608;

// items not allowed in Non Donator PVP

setarray .NoDonator_ids[0], 2410, 1530;

end;

}

moscovia.gat,226,198,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#1 871

askydun.gat,96,113,3 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#2 871 // Kliwa

alberta.gat,110,140,3 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#3 871 // Kliwa

aldebaran.gat,147,115,1 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#4 871 // Kliwa

amatsu.gat,207,86,3 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#5 871 // Kliwa

ayothaya.gat,155,117,2 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#6 871 // Kliwa

comodo.gat,206,80,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#7 871 // Kliwa

einbech.gat,198,83,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#8 871 // Taas Kaliwa

einbroch.gat,174,172,5 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#9 871 // Taas Kaliwa

geffen.gat,125,71,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#10 871

gonryun.gat,162,120,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#11 871

hugel.gat,89,151,5 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#12 871

izlude.gat,134,90,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#13 871

lighthalzen.gat,166,101,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#14 871

louyang.gat,214,120,5 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#15 871

xmas.gat,154,136,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#16 871

morocc.gat,160,97,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#17 871

payon.gat,148,226,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#18 871

rachel.gat,135,115,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#19 871

veins.gat,219,127,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#20 871

yuno.gat,163,170,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#21 871

umbala.gat,106,159,3 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#22 871

poring_c02,139,81,4 duplicate(Ultimate PvP Warper) Ultimate PvP Warper#23 871

// Mapflags

guild_vs2 mapflag pvp

guild_vs5 mapflag pvp

guild_vs4 mapflag pvp

guild_vs1-2 mapflag pvp

guild_vs3 mapflag pvp

guild_vs1 mapflag pvp

pvp_y_8-2 mapflag pvp

1@orcs mapflag pvp

guild_vs3 mapflag pvp_nightmaredrop random,equip,300

There. If you'll notice, most of the scripts, initialized a chatroom for the npc to display their names. I hope someone can help me go through with this error, and sorry for the english.

you should post the errors......

Thanks for a respond. :) Here's the error I got.

23h0w8z.jpg

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

My client crashes every hour and 30 mins, like 1:30, then 2:30, 3:30, etc. everytime.

If your client crash at fixed hour, I guess it's because you have an empty announce automatic, something like (it's just an example !) :

OnMinute30:
announce $myannounce$;// $myannounce$ is empty --> crash

It's a bit too long for me to search in your whole script sorry

Edited by Capuche
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...