myieee
Members-
Posts
83 -
Joined
-
Last visited
Profile Information
-
Gender
Not Telling
Recent Profile Visitors
2,109 profile views
myieee's Achievements
Poring (1/15)
0
Reputation
-
ive searched everything and tried the method on job_db1 but still failed. So what is the correct way to increase hp of some job . I did the hp factor and multiplicator and no luck on that.
-
I recompiled my server and this is what happens in my ssh. any idea? https://imgur.com/hvT68zF
-
Sryx Service // Full Setup // New Proxy Setup (Hide your VPS IP)
myieee reviewed Sryx's Service in Third-Party Services
I really recommend this guy. he never disappoint me ! I'm new in RO and he answered all of my questions and free consultation . his service is excellent and he was able to teach and guide you every single step . he did a full set up with no problems and your money will be worth it. will definitely hire him again. Thanks Sryx -
thanks for the offer. but ill stick with my request. thank you
-
Hi . I want to put some Cap Damage in some certain skills like cart termination , double strafe . 36k per hit for cart termination and 36k per hit in double strafe can someone guide me . im using eathena thanks
-
I tried to whisper the npc:event_warp and it didnt show up the warp @edit. nvm. i fixed it already. btw thanks emistry ..
-
Hi . I would like to request an event warper here are the info 1st. GM Activation 2nd. it should be hide/enable when it activates or whisper by the GM 3rd. There will be 2 warps in the same map with different coordinates (ex : prontera 123 123 and prontera 124 124) 4th. When the players are entering the Event Warper. there will be a chance to go to the destination (50% chance at prontera 123 123) and (50% chance at prontera 124 124) 5th. Im using eAthena thanks rathena and scripter
-
if it is then how to add a special case in the src ? or can you give me an example btw im using eathena emulator
-
I was looking for Capture the Flag Event script that works in eathena. and it seems like it doesnt exist anymore. so if there's a CTF Script that works in eathena .i like the script of Memory Killer CTC with auto reward thank you
-
Is it possible to have 4 different coordinates in @go ? for example when i use @go 0 . my spawn coordinate is 145 , 155 so I want to add a different coordinate so it wont be stuck or stay in the same spawn point.
-
Hi im requesting a Gamble NPC. Instructions 10 tcg to play there are 5 items to win but it has 10% chance to get the item im using eathena .TIA
-
prontera,165,174,4 script WoE Information 835,{ //If you wish to change the name, search for all 'WoE Information' and replace them with the desired name. //To do: //GM: //Player: Warp to treasury when WoE isn't active? if (getgmlevel()>=$woe_mingmlv) goto L_Main; L_View: mes "[WoE Information]"; mes "Welcome to the WoE Information NPC, the current WoE times are as follows:"; callsub S_Listing2; set @temp$, ""; for (set @i, 0; @i < getarraysize([email protected]_pl_player$); set @i, @i+1) { set @temp$, @temp$+":"[email protected]_pl_playermenu$[@i]; } menu @temp$,-,"Exit",L_Exit; next; if (getmapxy(@ignore$,@ignore,@ignore,1,"WoES3Pl_R"[email protected]_pl_player$[@menu-2]) != -1) { callfunc("WoES3Pl_"[email protected]_pl_player$[@menu-2]); } else { mes "Critical error. Please report this to a GM!"; } next; goto L_View; L_Exit: close; S_Listing: deletearray @ar_id[0], 128; deletearray @ar_town[0], 128; deletearray @ar_castle[0], 128; deletearray @ar_sday[0], 128; deletearray @ar_shour[0], 128; deletearray @ar_smin[0], 128; deletearray @ar_stick[0], 128; deletearray @ar_svar[0], 128; deletearray @ar_eday[0], 128; deletearray @ar_ehour[0], 128; deletearray @ar_emin[0], 128; deletearray @ar_etick[0], 128; deletearray @ar_evar[0], 128; set @results, query_sql("select * from `woe_times` order by `st` ASC",@ar_id,@ar_town,@ar_castle,@ar_sday,@ar_shour,@ar_smin,@ar_stick,@ar_svar,@ar_eday,@ar_ehour,@ar_emin,@ar_etick,@ar_evar,@ignore); for (set @temp,0; @temp<@results; set @temp, @temp+1) { set @temp$, ""; if (gettimetick(2) >= @ar_stick[@temp] && gettimetick(2) < @ar_etick[@temp]) { set @temp$, @temp$+"^339900+"; } else { set @temp$, @temp$+"^FF0000-"; } if (@ar_town[@temp]==127) { set @temp$, @temp$+"^000000All"; } else { set @temp_, @ar_town[@temp]; if (@temp_>=64) { set @temp$, @temp$+"^FFFF00Ar"; set @temp_, @temp_-64; } if (@temp_>=32) { set @temp$, @temp$+"^FF0000Sc"; set @temp_, @temp_-32; } if (@temp_>=16) { set @temp$, @temp$+"^9900CCNo"; set @temp_, @temp_-16; } if (@temp_>=8) { set @temp$, @temp$+"^808080Pr"; set @temp_, @temp_-8; } if (@temp_>=4) { set @temp$, @temp$+"^339900Pa"; set @temp_, @temp_-4; } if (@temp_>=2) { set @temp$, @temp$+"^0066FFGe"; set @temp_, @temp_-2; } if (@temp_==1) set @temp$, @temp$+"^FF9900Al"; set @temp$, @temp$+"^000000"; } set @temp$, @temp$+" "; if (@ar_castle[@temp]==31) { set @temp$, @temp$+"All"; } else { set @temp_, @ar_castle[@temp]; set @tmp, 16; for (set [email protected], 5; [email protected]>0; set [email protected],[email protected]) { if (@temp_>[email protected]) { set @temp$, @[email protected]; set @temp_,@[email protected]; } set @tmp, @tmp/2; } } set @temp$, @temp$+" "; for (set [email protected], 1; [email protected]<3; set [email protected], [email protected]+1) { set @temp$, @temp$+callfunc("daytostr",0,getd("@ar_"+(([email protected]==1)?"s":"e")+"day["[email protected]+"]")); if ([email protected]==1) { set @temp$, @temp$+((@ar_shour[@temp]<10)?"0":"")[email protected]_shour[@temp]+";"+((@ar_smin[@temp]<10)?"0":"")[email protected]_smin[@temp]+"-"; } else { set @temp$, @temp$+((@ar_ehour[@temp]<10)?"0":"")[email protected]_ehour[@temp]+";"+((@ar_emin[@temp]<10)?"0":"")[email protected]_emin[@temp]; } } set @results$,@[email protected]$+":"; } return; S_Listing2: deletearray @ar_id[0], 128; deletearray @ar_town[0], 128; deletearray @ar_castle[0], 128; deletearray @ar_sday[0], 128; deletearray @ar_shour[0], 128; deletearray @ar_smin[0], 128; deletearray @ar_stick[0], 128; deletearray @ar_svar[0], 128; deletearray @ar_eday[0], 128; deletearray @ar_ehour[0], 128; deletearray @ar_emin[0], 128; deletearray @ar_etick[0], 128; deletearray @ar_evar[0], 128; set @results, query_sql("select * from `woe_times` order by `st` ASC",@ar_id,@ar_town,@ar_castle,@ar_sday,@ar_shour,@ar_smin,@ar_stick,@ar_svar,@ar_eday,@ar_ehour,@ar_emin,@ar_etick,@ar_evar,@ignore); if ([email protected]) { mes "There are no current WoE times!"; return; } for (set @temp,0; @temp<@results; set @temp, @temp+1) { mes "--"; set @temp$, ""; if (gettimetick(2) >= @ar_stick[@temp] && gettimetick(2) < @ar_etick[@temp]) { set @temp$, @temp$+"^339900Active: ^000000Towns-"; } else { set @temp$, @temp$+"^FF0000Unactive: ^000000Towns-"; } if (@ar_town[@temp]==127) { set @temp$, @temp$+"^000000All "; } else { set @temp_, @ar_town[@temp]; if (@temp_>=64) { set @temp$, @temp$+"^FFFF00Arunafeltz "; set @temp_, @temp_-64; } if (@temp_>=32) { set @temp$, @temp$+"^FF0000Schwartzvelt "; set @temp_, @temp_-32; } if (@temp_>=16) { set @temp$, @temp$+"^9900CCNovice "; set @temp_, @temp_-16; } if (@temp_>=8) { set @temp$, @temp$+"^808080Prontera "; set @temp_, @temp_-8; } if (@temp_>=4) { set @temp$, @temp$+"^339900Payon "; set @temp_, @temp_-4; } if (@temp_>=2) { set @temp$, @temp$+"^0066FFGeffen "; set @temp_, @temp_-2; } if (@temp_==1) set @temp$, @temp$+"^FF9900Aldebaran "; set @temp$, @temp$+"^000000"; } mes @temp$; set @temp$, ""; if (@ar_castle[@temp]==31) { set @temp$, @temp$+"All Castles "; } else { set @temp_, @ar_castle[@temp]; set @tmp, 16; mes "Castles-"; for (set [email protected], 5; [email protected]>0; set [email protected],[email protected]) { if (@temp_>[email protected]) { set @temp$, @[email protected]; set @temp_,@[email protected]; } set @tmp, @tmp/2; } } mes @temp$; set @temp$, ""; for (set [email protected], 1; [email protected]<3; set [email protected], [email protected]+1) { set @temp$, @temp$+callfunc("daytostr",1,getd("@ar_"+(([email protected]==1)?"s":"e")+"day["[email protected]+"]")); if ([email protected]==1) { set @temp$, @temp$+" "+((@ar_shour[@temp]<10)?"0":"")[email protected]_shour[@temp]+":"+((@ar_smin[@temp]<10)?"0":"")[email protected]_smin[@temp]+"-"; } else { set @temp$, @temp$+" "+((@ar_ehour[@temp]<10)?"0":"")[email protected]_ehour[@temp]+":"+((@ar_emin[@temp]<10)?"0":"")[email protected]_emin[@temp]; } } mes @temp$; } return; L_Main: mes "[WoE Time Setter]"; mes "Hello there, how can I help you GM?"; next; menu "Manage WoE Times",L_ModifyListing,"Start/Stop WoE",L_ManualWoE,"Plug-ins",L_Plugins,"Settings",L_Settings,"Test Player View",L_View,"Exit",-; close; L_Plugins: set @temp$, ""; for (set @i, 0; @i < getarraysize([email protected]_pl_gm$); set @i, @i+1) { set @temp$, @temp$+":"[email protected]_pl_gmmenu$[@i]; } menu @temp$,-,"Reinitialize Plugins",L_Reinit,"Back",L_Main; if (getmapxy(@ignore$,@ignore,@ignore,1,"WoES3Pl_R"[email protected]_pl_gm$[@menu-2]) != -1) { callfunc("WoES3Pl_"[email protected]_pl_gm$[@menu-2]); } else { mes "Error loading function. Please make sure the plugin is named properly!"; } next; goto L_Plugins; L_Reinit: deletearray [email protected]_pl_playermenu$[0], 128; deletearray [email protected]_pl_player$[0], 128; deletearray [email protected]_pl_gmmenu$[0], 128; deletearray [email protected]_pl_gm$[0], 128; donpcevent "::OnLoadPlugins"; dispbottom "Plugins initialized"; sleep2 500; goto L_Plugins; L_ModifyListing: set @results$, ""; callsub S_Listing; menu @results$,-,"Add new time",L_ModifyAdd,"Back",L_Main; set @sel_modify, @menu-1; set @adding, 0; menu "Modify time",L_ModifyTown_Main,"Delete time",-,"Back",L_ModifyListing; if (gettimetick(2)>[email protected]_stick[@sel_modify]&&gettimetick(2)<@ar_etick[@sel_modify]) { dispbottom "The selected WoE is currently active, if you delete it it will automatically stop! Proceed?"; menu "Yes",-,"No",L_ModifyAdd; callfunc("WoE_Status",0,@ar_town[@sel_modify],@ar_castle[@sel_modify]); } query_sql("delete from `woe_times` where `id` = '"[email protected]_id[@sel_modify]+"'"); dispbottom "WoE time deleted!"; set $woe_chatinfo, 0; goto L_ModifyListing; L_ModifyAdd: set @adding, 1; L_ModifyTown_Main: //@sel_modify is passed from the selection of what exisitng time to modify... if (@adding) { set @sel, 0; setarray @sel_town[1], 0, 0, 0, 0, 0, 0, 0; set @set_castle, 0; set @set_time, 0; } else { set @set_castle, 1; set @set_time, 1; set @temp__, 7; set @temp_, @ar_town[@sel_modify]; set @temp, 64; set @sel, 0; for (set [email protected], 7; [email protected]>0; set [email protected], [email protected]) { if (@temp_>[email protected]) { set @sel_town[[email protected]], 1; set @temp_, @[email protected]; set @sel, @sel+1; } else { set @sel_town[[email protected]], 0; } set @temp, @temp/2; } set @temp_, @ar_castle[@sel_modify]; set @temp, 16; set @sel2, 0; for (set [email protected], 5; [email protected]>0; set [email protected], [email protected]) { if (@temp_>[email protected]) { set @sel_castle[[email protected]], 1; set @temp_, @[email protected]; set @sel2, @sel2+1; } else { set @sel_castle[[email protected]], 0; } set @temp, @temp/2; } set @sday, @ar_sday[@sel_modify]; set @shour, @ar_shour[@sel_modify]; set @smin, @ar_smin[@sel_modify]; set @svar, @ar_svar[@sel_modify]; set @eday, @ar_eday[@sel_modify]; set @ehour, @ar_ehour[@sel_modify]; set @emin, @ar_emin[@sel_modify]; set @evar, @ar_evar[@sel_modify]; } dispbottom "Select the town(s) you wish this WoE time to apply to. If the name is green it means it's enabled, red means disabled."; L_ModifyTown_Sub: menu ((@sel_town[1])?"^339900":"^FF0000")+$woe_towns$[1]+":"+((@sel_town[2])?"^339900":"^FF0000")+$woe_towns$[2]+":"+((@sel_town[3])?"^339900":"^FF0000")+$woe_towns$[3]+":"+((@sel_town[4])?"^339900":"^FF0000")+$woe_towns$[4]+":"+((@sel_town[5])?"^339900":"^FF0000")+$woe_towns$[5]+":"+((@sel_town[6])?"^339900":"^FF0000")+$woe_towns$[6]+":"+((@sel_town[7])?"^339900":"^FF0000")+$woe_towns$[7]+":"+((@sel==7)?"^339900":"^FF0000")+$woe_towns$[8],-,"^000000Proceed",L_ModifyCastle_Main,"Back",L_ModifyListing; if (@menu==8) if (@sel<7) { setarray @sel_town[1], 1, 1, 1, 1, 1, 1, 1; set @sel, 7; goto L_ModifyTown_Sub; } else { setarray @sel_town[1], 0, 0, 0, 0, 0, 0, 0; set @sel, 0; goto L_ModifyTown_Sub; } if ([email protected]_town[@menu]) { set @sel_town[@menu], 1; set @sel, @sel+1; goto L_ModifyTown_Sub; } else { set @sel_town[@menu], 0; set @sel, @sel-1; goto L_ModifyTown_Sub; } L_ModifyCastle_Main: if ([email protected]) { dispbottom "You must first select at least one town!"; goto L_ModifyTown_Sub; } set @town_code, 0; set @set_town, 0; if (@sel_town[1]) { set @town_code, @town_code+1; if (@sel==1) set @set_town, 1; } set @temp, 2; for (set [email protected], 2; [email protected]<8; set [email protected], [email protected]+1) { if (@sel_town[[email protected]]) { set @town_code, @[email protected]; if (@sel==1) set @set_town, [email protected]; } set @temp, @temp*2; } if ([email protected]_castle) { set @sel2, 5; setarray @sel_castle[1], 1, 1, 1, 1, 1; if (@sel==1 && @sel_town[5]) { set @sel2, 4; set @sel_castle[5], 0; } } set @set_castle, 1; L_ModifyCastle_Sub: if (@sel>1) { menu ((@sel_castle[1])?"^339900":"^FF0000")+"Castle 1:"+((@sel_castle[2])?"^339900":"^FF0000")+"Castle 2:"+((@sel_castle[3])?"^339900":"^FF0000")+"Castle 3:"+((@sel_castle[4])?"^339900":"^FF0000")+"Castle 4:"+((@sel_castle[5])?"^339900":"^FF0000")+"Castle 5",-,"^000000Proceed",L_ModifyTime_Main,"Back",L_ModifyTown_Sub; if ([email protected]_castle[@menu]) { set @sel_castle[@menu], 1; set @sel2, @sel2+1; } else { set @sel_castle[@menu], 0; set @sel2, @sel2-1; } goto L_ModifyCastle_Sub; } else { menu ((@sel_castle[1])?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_town+"_1$[1]")+":"+((@sel_castle[2])?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_town+"_1$[2]")+":"+((@sel_castle[3])?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_town+"_1$[3]")+":"+((@sel_castle[4])?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_town+"_1$[4]")+((@set_town!=5)?":"+((@sel_castle[5])?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_town+"_1$[5]"):""),-,"^000000Proceed",L_ModifyTime_Main,"Back",L_ModifyTown_Sub; if ([email protected]_castle[@menu]) { set @sel_castle[@menu], 1; set @sel2, @sel2+1; } else { set @sel_castle[@menu], 0; set @sel2, @sel2-1; } goto L_ModifyCastle_Sub; } dispbottom "Select the castle(s) within the previously selected town(s) you wish this WoE time to apply to. If the name is green it means it's enabled, red means disabled."; L_ModifyTime_Main: if ([email protected]) { dispbottom "You must first select at least one castle!"; goto L_ModifyCastle_Sub; } set @cas_code, 0; if (@sel_castle[1]) set @cas_code, @cas_code+1; set @temp, 2; for (set [email protected], 2; [email protected]<6; set [email protected], [email protected]+1) { if (@sel_castle[[email protected]]) set @cas_code, @[email protected]; set @temp, @temp*2; } if ([email protected]_time) { set @sday, 0; set @shour, 0; set @smin, 0; set @svar, 0; set @eday, 0; set @ehour, 0; set @emin, 0; set @evar, 0; } dispbottom "Select the starting and ending time for the WoE, note the hour is in military time, i.e. 0=12AM, 10=10AM, 22=10PM. Variance is the total amount in seconds to make the time be randomized, ex: setting start to 60 would make the start time either start up to 30 seconds earlier, or start up to 30 seconds later."; L_ModifyTime_Sub: for (set [email protected], 1; [email protected]<3; set [email protected], [email protected]+1) setd("@temp"[email protected]+"$", callfunc("daytostr",1,getd((([email protected]==1)?"@sday":"@eday")))); menu "Start Day [^0066FF"[email protected]$+"^000000]:Start Hour [^0066FF"[email protected]+"^000000]:Start Minute [^0066FF"[email protected]+"^000000]:End Day [^0066FF"[email protected]$+"^000000]:End Hour [^0066FF"[email protected]+"^000000]:End Minute [^0066FF"[email protected]+"^000000]:Start Variance [^0066FF"[email protected]+"^000000]:End Variance [^0066FF"[email protected]+"^000000]",-,"Proceed",L_ModifyFinish,"Back",L_ModifyCastle_Sub; switch(@menu) { case 1: menu "Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday",-,"Cancel",L_ModifyTime_Sub; set @sday, @menu-1; break; case 2: input @shour; if (@shour>23) set @shour, 0; break; case 3: input @smin; if (@smin>59) set @smin, 0; break; case 4: menu "Sunday:Monday:Tuesday:Wednesday:Thursday:Friday:Saturday",-,"Cancel",L_ModifyTime_Sub; set @eday, @menu-1; break; case 5: input @ehour; if (@ehour>23) set @ehour, 0; break; case 6: input @emin; if (@emin>59) set @emin, 0; break; case 7: input @svar; break; case 8: input @evar; break; } goto L_ModifyTime_Sub; L_ModifyFinish: if (@[email protected]) if (@[email protected]) if (@[email protected]) { dispbottom "Your start time cannot be your end time!"; goto L_ModifyTime_Sub; } set $woe_chatinfo, 0; set @temp1, callfunc("WoE_TickCounter",@sday,@shour,@smin,@svar); set @temp2, callfunc("WoE_TickCounter",@eday,@ehour,@emin,@evar); if (@temp1>@temp2) set @temp2,@temp2+604800; if (@adding) { query_sql("insert into `woe_times` (town,castle,sd,sh,sm,st,sv,ed,eh,em,et,ev,active) values ('"[email protected]_code+"', '"[email protected]_code+"', '"[email protected]+"', '"[email protected]+"', '"[email protected]+"', '"[email protected]+"','"[email protected]+"','"[email protected]+"', '"[email protected]+"', '"[email protected]+"', '"[email protected]+"','"[email protected]+"','0')"); } else { query_sql("update `woe_times` set town='"[email protected]_code+"', castle='"[email protected]_code+"', sd='"[email protected]+"', sh='"[email protected]+"', sm='"[email protected]+"',st='"[email protected]+"',sv='"[email protected]+"',ed='"[email protected]+"',eh='"[email protected]+"',em='"[email protected]+"',et='"[email protected]+"',ev='"[email protected]+"', active='0' where `id` = '"[email protected]_id[@sel_modify]+"'"); } dispbottom "WoE time "+((@adding)?"added!":"modified!"); goto L_ModifyListing; L_ManualWoE: dispbottom "Select the castle(s) to start or stop WoE for."; menu (($woe_cas1_2[1]||$woe_cas1_2[2]||$woe_cas1_2[3]||$woe_cas1_2[4]||$woe_cas1_2[5])?"^339900":"^FF0000")+$woe_towns$[1]+":"+(($woe_cas2_2[1]||$woe_cas2_2[2]||$woe_cas2_2[3]||$woe_cas2_2[4]||$woe_cas2_2[5])?"^339900":"^FF0000")+$woe_towns$[2]+":"+(($woe_cas3_2[1]||$woe_cas3_2[2]||$woe_cas3_2[3]||$woe_cas3_2[4]||$woe_cas3_2[5])?"^339900":"^FF0000")+$woe_towns$[3]+":"+(($woe_cas4_2[1]||$woe_cas4_2[2]||$woe_cas4_2[3]||$woe_cas4_2[4]||$woe_cas4_2[5])?"^339900":"^FF0000")+$woe_towns$[4]+":"+(($woe_cas5_2[1]||$woe_cas5_2[2]||$woe_cas5_2[3]||$woe_cas5_2[4]||$woe_cas5_2[5])?"^339900":"^FF0000")+$woe_towns$[5]+":"+(($woe_cas6_2[1]||$woe_cas6_2[2]||$woe_cas6_2[3]||$woe_cas6_2[4]||$woe_cas6_2[5])?"^339900":"^FF0000")+$woe_towns$[6]+":"+(($woe_cas7_2[1]||$woe_cas7_2[2]||$woe_cas7_2[3]||$woe_cas7_2[4])?"^339900":"^FF0000")+$woe_towns$[7],-,"^339900Enable all",-,"^FF0000Disable all",-,"^000000Back",L_Main; if (@menu==8) { set $woe_manual, 0; callfunc("WoE_Status",1,127,31); set $woe_manual, 1; goto L_ManualWoE; } if (@menu==9) { set $woe_manual, 0; callfunc("WoE_Status",0,127,31); set $woe_manual, 1; goto L_ManualWoE; } set @temp, 64; for (set [email protected], 7; [email protected]>0; set [email protected],[email protected]) { if ([email protected][email protected]) { set @town, @temp; set @town_, [email protected]; } set @temp, @temp/2; } L_ManualCastles: menu ((getd("$woe_cas"[email protected]_+"_2[1]"))?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_+"_1$[1]")+":"+((getd("$woe_cas"[email protected]_+"_2[2]"))?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_+"_1$[2]")+":"+((getd("$woe_cas"[email protected]_+"_2[3]"))?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_+"_1$[3]")+":"+((getd("$woe_cas"[email protected]_+"_2[4]"))?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_+"_1$[4]")+((@set_town!=5)?":"+((getd("$woe_cas"[email protected]_+"_2[5]"))?"^339900":"^FF0000")+getd("$woe_cas"[email protected]_+"_1$[5]"):""),-,"^339900Enable all",-,"^FF0000Disable all",-,"^000000Back",L_ManualWoE; if (@menu==6) { set $woe_manual, 0; callfunc("WoE_Status",1,@town,31); set $woe_manual, 1; goto L_ManualCastles; } if (@menu==7) { set $woe_manual, 0; callfunc("WoE_Status",0,@town,31); set $woe_manual, 1; goto L_ManualCastles; } set @temp, 16; for (set [email protected], 5; [email protected]>0; set [email protected],[email protected]) { if ([email protected][email protected]) { set @cas, @temp; set @cas_,[email protected]; } set @temp, @temp/2; } set $woe_manual, 0; callfunc("WoE_Status",((getd("$woe_cas"[email protected]_+"_2["[email protected]_+"]"))?0:1),@town,@cas); set $woe_manual, 1; goto L_ManualCastles; L_Settings: menu (($woe_mobspawn)?"^339900":"^FF0000")+"Monster Spawns",-,(($woe_timerdisp)?"^339900":"^FF0000")+"Chatroom Timer Display",-,(($woe_tannounce)?"^339900":"^FF0000")+"Announce Treasure Spawns [Plug-in]",-,(($woe_announcebreaker)?"^339900":"^FF0000")+"Announce Emperium Breaker",-,"^000000Back",L_Main; switch(@menu) { case 1: if ($woe_mobspawn) { set $woe_mobspawn, 0; } else { set $woe_mobspawn, 1; } break; case 2: if ($woe_timerdisp) { set $woe_timerdisp, 0; } else { set $woe_timerdisp, 1; set $woe_chatinfo, 0; donpcevent "WoE Information::OnChatInfo"; } break; case 3: if ($woe_tannounce) { set $woe_tannounce, 0; } else { set $woe_tannounce, 1; } break; case 4: if ($woe_announcebreaker) { set $woe_announcebreaker, 0; } else { set $woe_announcebreaker, 1; } break; } goto L_Settings; OnInit: query_sql("CREATE TABLE IF NOT EXISTS `woe_times` ( `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `town` TINYINT UNSIGNED NOT NULL, `castle` TINYINT UNSIGNED NOT NULL, `sd` TINYINT UNSIGNED NOT NULL, `sh` TINYINT UNSIGNED NOT NULL, `sm` TINYINT UNSIGNED NOT NULL, `st` BIGINT UNSIGNED NOT NULL, `sv` INTEGER UNSIGNED NOT NULL, `ed` TINYINT UNSIGNED NOT NULL, `eh` TINYINT UNSIGNED NOT NULL, `em` TINYINT UNSIGNED NOT NULL, `et` BIGINT UNSIGNED NOT NULL, `ev` INTEGER UNSIGNED NOT NULL, `active` TINYINT UNSIGNED NOT NULL, PRIMARY KEY (`id`) ) ENGINE = MyISAM;"); set $woe_manual, 1; //Variable to know whether WoE was started by atcommand/manually through NPC, or through automatic timer. set $woe_mingmlv, 80; //The minimum GM level able to use the NPC setarray $woe_towns$[1], "Aldebaran", "Geffen", "Payon", "Prontera", "Novice Castles", "Schwartzvalt", "Arunafeltz", "All Castles"; //These are the town names, mostly for announcements setarray $woe_cas1_1$[1], getcastlename("aldeg_cas01"), getcastlename("aldeg_cas02"), getcastlename("aldeg_cas03"), getcastlename("aldeg_cas04"), getcastlename("aldeg_cas05"); //These are the castle names setarray $woe_cas1_2[1], 0, 0, 0, 0, 0; //Aldebaran's agit status setarray $woe_cas1_3$[1], "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05"; setarray $woe_cas2_1$[1], getcastlename("gefg_cas01"), getcastlename("gefg_cas02"), getcastlename("gefg_cas03"), getcastlename("gefg_cas04"), getcastlename("gefg_cas05"); //These are the castle names setarray $woe_cas2_2[1], 0, 0, 0, 0, 0; //Geffen's agit status setarray $woe_cas2_3$[1], "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05"; setarray $woe_cas3_1$[1], getcastlename("payg_cas01"), getcastlename("payg_cas02"), getcastlename("payg_cas03"), getcastlename("payg_cas04"), getcastlename("payg_cas05"); //These are the castle names setarray $woe_cas3_2[1], 0, 0, 0, 0, 0; //Payon's agit status setarray $woe_cas3_3$[1], "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05"; setarray $woe_cas4_1$[1], getcastlename("prtg_cas01"), getcastlename("prtg_cas02"), getcastlename("prtg_cas03"), getcastlename("prtg_cas04"), getcastlename("prtg_cas05"); //These are the castle names setarray $woe_cas4_2[1], 0, 0, 0, 0, 0; //Prontera's agit status setarray $woe_cas4_3$[1], "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05"; setarray $woe_cas5_1$[1], "Aldebaran Castle", "Geffen Castle", "Payon Castle", "Prontera Castle", "-"; //These are the castle names setarray $woe_cas5_2[1], 0, 0, 0, 0, 0; //Novice's agit status setarray $woe_cas6_1$[1], getcastlename("schg_cas01"), getcastlename("schg_cas02"), getcastlename("schg_cas03"), getcastlename("schg_cas04"), getcastlename("schg_cas05"); //These are the castle names setarray $woe_cas6_2[1], 0, 0, 0, 0, 0; //Schwartzvalt's agit status setarray $woe_cas6_3$[1], "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05"; setarray $woe_cas7_1$[1], getcastlename("arug_cas01"), getcastlename("arug_cas02"), getcastlename("arug_cas03"), getcastlename("arug_cas04"), getcastlename("arug_cas05"); //These are the castle names setarray $woe_cas7_2[1], 0, 0, 0, 0, 0; //Arunafeltz's agit status setarray $woe_cas7_3$[1], "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"; agitend; query_sql "update `woe_times` set `active` = '0' where `active` = '1'"; callfunc("WoE_Update"); donpcevent "WoE Information::OnChatInfo"; deletearray [email protected]_pl_playermenu$[0], 128; deletearray [email protected]es3_pl_player$[0], 128; deletearray [email protected]_pl_gmmenu$[0], 128; deletearray [email protected]_pl_gm$[0], 128; donpcevent "::OnLoadPlugins"; while(1) callfunc("WoE_Init"); end; OnChatInfo: while (1) { delwaitingroom; //Memory vortex restraining bolt, please don't remove it for the sake of humanity. if (!$woe_timerdisp) end; if ([email protected]_e-gettimetick(2) <= 0 || !$woe_chatinfo) { set [email protected], query_sql("select st,et from `woe_times` order by `st` ASC",[email protected]_s,[email protected]_e); set $woe_chatinfo, 1; } if ([email protected]) { if (gettimetick(2)>[email protected]_s) { set [email protected], [email protected]_e-gettimetick(2); set [email protected], [email protected] / 86400; set [email protected], [email protected] % 86400 / 3600; set [email protected], [email protected] % 3600 / 60; set [email protected], [email protected] % 60; waitingroom "Ends: "[email protected]+"d "+(([email protected]<10)?"0":"")[email protected]+":"+(([email protected]<10)?"0":"")[email protected]+(([email protected]&&[email protected]&&[email protected]<60)?":"+(([email protected]<10)?"0":"")[email protected]:""),0; } else { set [email protected], [email protected]_s-gettimetick(2); set [email protected], [email protected] / 86400; set [email protected], [email protected] % 86400 / 3600; set [email protected], [email protected] % 3600 / 60; set [email protected], [email protected] % 60; waitingroom "Next: "[email protected]+"d "+(([email protected]<10)?"0":"")[email protected]+":"+(([email protected]<10)?"0":"")[email protected]+(([email protected]&&[email protected]&&[email protected]<60)?":"+(([email protected]<10)?"0":"")[email protected]:""),0; } if ([email protected]||[email protected]>1) { sleep 60000-(gettime(1)*1000); } else { sleep 1000; } } else { waitingroom "Next: N/A, none set!",0; sleep 60000-(gettime(1)*1000); } } end; OnAgitStart: if ($woe_manual) { callfunc("WoE_Status",1,31,31); } end; OnAgitStart2: if ($woe_manual) { callfunc("WoE_Status",1,96,31); } end; OnAgitEnd: if ($woe_manual) { callfunc("WoE_Status",0,31,31); } end; OnAgitEnd2: if ($woe_manual) { callfunc("WoE_Status",0,96,31); } end; OnWhisperGlobal: if (getgmlevel() < $woe_mingmlv) end; if (@whispervar0$ == "start") { if (@whispervar1$ == "" && @whispervar2$ == "") dispbottom "Invalid syntax, type 'start#help' for assistance."; else if (@whispervar1$ == "help") dispbottom "start#town_code#castle_code - Starts WoE for the specified town(s) and castle(s)."; else callfunc("WoE_Status",1,@whispervar1$,@whispervar2$); } else if (@whispervar0$ == "stop") { if (@whispervar1$ == "" && @whispervar2$ == "") dispbottom "Invalid syntax, type 'stop#help' for assistance."; else if (@whispervar1$ == "help") dispbottom "stop#town_code#castle_code - Stops WoE for the specified town(s) and castle(s)."; else callfunc("WoE_Status",0,@whispervar1$,@whispervar2$); } else if (@whispervar0$ == "talk") goto L_Main; else if (@whispervar0$ == "help") { dispbottom "Welcome to the War of Emperium Setter 3 whisper help system."; dispbottom "The following are commands that you can whisper to the NPC..."; dispbottom " start#town_code#castle_code - Starts WoE for the specified town(s) and castle(s)."; dispbottom " stop#town_code#castle_code - Stops WoE for the specified town(s) and castle(s)."; dispbottom " talk - Opens dialog with the WoE Setter 3 NPC."; dispbottom " help - Displays this help information."; dispbottom "Town code: A bitmask (Add them together to use multiple towns) code to specify what towns the command affects."; dispbottom "Aldebaran=1, Geffen=2, Payon=4, Prontera=8, Novice=16, Schwartvalt=32, Arunafeltz=64, All=127."; dispbottom "Castle code: A bitmask code to specify what castles the command affects."; dispbottom "Castle 1=1, Castle 2=2, Castle 3=4, Castle 4=8, Castle 5=16, All=31."; } else dispbottom "Invalid syntax, type 'help' for assistance."; end; } //Returns the day name from a day # //arg0=Mode, 0=short, 1=full //arg1=Day # function script daytostr { switch(getarg(1)) { case 0: return ((getarg(0))?"Sunday":"Sun"); case 1: return ((getarg(0))?"Monday":"Mon"); case 2: return ((getarg(0))?"Tuesday":"Tue"); case 3: return ((getarg(0))?"Wednesday":"Wed"); case 4: return ((getarg(0))?"Thursday":"Thu"); case 5: return ((getarg(0))?"Friday":"Fri"); case 6: return ((getarg(0))?"Saturday":"Sat"); } return; } //Function to acquire the time difference between now and the arguments in seconds //arg0=Start/end day //arg1=Start/end hour //arg2=Start/end minute //arg3=Random time variance function script WoE_TickCounter { if ((getarg(0)>gettime(4))||(getarg(0)==gettime(4)&&getarg(1)>gettime(3))||(getarg(0)==gettime(4)&&getarg(1)==gettime(3)&&getarg(2)>gettime(2))) { set [email protected], getarg(0)-gettime(4); } else { set [email protected], 7-(gettime(4)-getarg(0)); } set [email protected], getarg(1)-gettime(3); set [email protected], getarg(2)-gettime(2); return gettimetick(2)+([email protected]*86400)+([email protected]*3600)+([email protected]*60)+rand(-getarg(3)/2,getarg(3)/2)-gettime(1); } //Function to update the tick columns of past WoE times so that they may occur again! function script WoE_Update { deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; set [email protected], query_sql("select id,sd,sh,sm,st,sv,ed,eh,em,et,ev from `woe_times` where `et` <= '"+gettimetick(2)+"'",[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected]); set [email protected], 0; for (set [email protected],0; [email protected]<[email protected]; set [email protected],[email protected]+1) { query_sql("update `woe_times` set `st` = '"+callfunc("WoE_TickCounter",[email protected][[email protected]],[email protected][[email protected]],[email protected][[email protected]],[email protected][[email protected]])+"', `et` = '"+callfunc("WoE_TickCounter",[email protected][[email protected]],[email protected][[email protected]],[email protected][[email protected]],[email protected][[email protected]])+"', `active` = '0' where `id` = '"[email protected][[email protected]]+"'"); } return; } //Function to either start WoE or end it, depending on if the current time tick fits a valid time frame found in the SQL table function script WoE_Init { deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; deletearray [email protected][0], 128; set [email protected], query_sql("select town,castle from `woe_times` where `et` <= '"+gettimetick(2)+"' and `active` = '1'",[email protected],[email protected]); if ([email protected]) { set $woe_chatinfo, 0; query_sql("update `woe_times` set `active` = '0' where `et` <= '"+gettimetick(2)+"'"); callfunc("WoE_Update"); } set [email protected], query_sql("select town,castle from `woe_times` where `st` <= '"+gettimetick(2)+"' and `et` > '"+gettimetick(2)+"' and `active` = '0'",[email protected],[email protected]); if ([email protected]) query_sql("update `woe_times` set `active` = '1' where `st` <= '"+gettimetick(2)+"' and `et` > '"+gettimetick(2)+"'"); set $woe_manual, 0; for (set [email protected], 0; [email protected]<[email protected]; set [email protected],[email protected]+1 ) { //WOE END STUFF callfunc("WoE_Status",0,[email protected][[email protected]],[email protected][[email protected]]); } for (set [email protected], 0; [email protected]<[email protected]; set [email protected],[email protected]+1 ) { //WOE START STUFF callfunc("WoE_Status",1,[email protected][[email protected]],[email protected][[email protected]]); } set $woe_manual, 1; sleep 60000-(1000*gettime(1)); return; } //The actual function that starts/stops WoE, called by other NPCs/Functions //arg0=Stop(0) or start(1)? //arg1=Town(s) bitmask, 127=All //arg2=Castle(s) bitmask, 31=All function script WoE_Status { set [email protected], getarg(1); set [email protected], 64; for (set [email protected]_, 7; [email protected]_>0; set [email protected]_,[email protected]_-1) { if ([email protected]>[email protected]) { if ([email protected]_>5) { if (!agitcheck2()&&getarg(0)) { agitstart2; } } else { if (!agitcheck()&&getarg(0)) { agitstart; } } set [email protected]$, ""; set [email protected], getarg(2); set [email protected], 16; for (set [email protected], 5; [email protected]>0; set [email protected],[email protected]) { if ([email protected]>[email protected]) { if (getarg(0)) { if ([email protected]_!=6&&[email protected]_!=7) { if([email protected]!=16) donpcevent "Agit#"+getd("$woe_cas"[email protected]_+"_3$["[email protected]+"]")+"::OnAgitStart_"; } else if ([email protected]_==7) { donpcevent "Manager#aru0"[email protected]+"_02::OnAgitStart2_"; } else { donpcevent "Manager#sch0"[email protected]+"_02::OnAgitStart2_"; } } else { if ([email protected]_!=6&&[email protected]_!=7) { if ([email protected]!=16) donpcevent "Agit#"+getd("$woe_cas"[email protected]_+"_3$["[email protected]+"]")+"::OnAgitEnd_"; } else if ([email protected]_==7) {donpcevent "Manager#aru0"[email protected]+"_02::OnAgitEnd2_"; } else { donpcevent "Manager#sch0"[email protected]+"_02::OnAgitEnd2_"; } } setd "$woe_cas"[email protected]_+"_2["[email protected]+"]", getarg(0); set [email protected]$, [email protected]$+getd("$woe_cas"[email protected]_+"_1$["[email protected]+"]")+(([email protected]>[email protected])?", ":" "); set [email protected], [email protected]@ccurrent; } set [email protected], [email protected]/2; } if (getarg(1)!=127&&[email protected]!=16) announce "WoE has "+((getarg(0))?"begun":"ended")+" for "+$woe_towns$[[email protected]_]+" ( Castle(s): "+((getarg(2)==31)?"All":[email protected]$)+" )!",bc_all|bc_yellow; set [email protected], [email protected]@tcurrent; } set [email protected],[email protected]/2; } if (getarg(1)==127) { set [email protected]$, ""; set [email protected], getarg(2); set [email protected], 16; for (set [email protected], 5; [email protected]>0; set [email protected],[email protected]) { if ([email protected]>[email protected]) set [email protected]$, [email protected][email protected]+(([email protected]>[email protected])?", ":" "); set [email protected], [email protected]@ccurrent; set [email protected], [email protected]/2; } announce "WoE has "+((getarg(0))?"begun":"ended")+" for All Towns ( Castle(s): "+((getarg(2)==31)?"All":[email protected]$)+" )!",bc_all|bc_yellow; } if (!getarg(0)) { set [email protected], 0; set [email protected], 0; for (set [email protected]_, 7; [email protected]_>0; set [email protected]_,[email protected]_-1) { for (set [email protected], 5; [email protected]>0; set [email protected], [email protected]) { if (getd("$woe_cas"[email protected]_+"_2["[email protected]+"]")==1) setd("[email protected]"+(([email protected]_>5)?"2":"1"),1); } } if ([email protected]&&agitcheck()) agitend; if ([email protected]&&agitcheck2()) agitend2; } return; } this script has a lot of errors. can someone fix me for this i tried to fix it by myself but its not good enough. thanks