The forums will be going offline for an extended maintenance period at 1400hrs GMT on 19th June 2025. The number of hours for this downtime is intentionally not advertised due to the nature of these upgrades.
×
-
Posts
931 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by darking123
-
pwede mo ako pm
-
need help about setting ammount of item
darking123 replied to darking123's question in Scripting Support
thank you emistry -
need help about setting ammount of item
darking123 replied to darking123's question in Scripting Support
sir emistry...i found a bug from your script.i have 100 mithril coin...then i entered 10 in the input number..then it gave me 10 ancient coins and my 100 mithril coin is still to my inventory -
about this part of my script mes "[ ^336699Coin Master^000000 ]"; mes "Very well. Here is the list on how much each coin is worth:"; mes "50x ^99CCCCMithril Coin^000000: 1 Ancient Coin"; mes "Do you Want To Trade??"; if (select("Yes I want.:Not now.")-1) close; if(countitem(674)<50) delitem 674,50; getitem 7959,1; goto L_Thanks; i want to add that they will enter the ammount of mithril coin they will convert it to ancient coin because 50 mithril coin=1 ancient coin here is my full script // Made by MoonlightRO \\ // Source: http://www.eathena.ws/board/index.php?showtopic=251759 \\ // Don't take my creation as your own >.> \\ merullian,99,98,5 script Coin Trader 860,{ cutin "kafra_08",2; mes "[ ^336699Coin Master^000000 ]"; mes "What do you want to do today?"; menu "Coins -> Zeny",L_Coins,"Zeny -> Coins",L_Zeny,"Coins -> Ancient Coins",L_ancientcoins,"Nevermind",L_No; L_Coins: next; mes "[ ^336699Coin Master^000000 ]"; mes "Very well. Here is the list on how much each coin is worth:"; mes "^996633Bronze Coin^000000: 50,000,000m Zeny"; mes "^666666Silver Coin^000000: 100,000,000m Zeny"; mes "^FFFF66Gold Coin^000000: 150,000,000m Zeny"; mes "^99CCCCMithril Coin^000000: 200,000,000m Zeny"; mes "Tell me, what coin would you like to exchange?"; next; menu "^996633Bronze Coin^000000",M_Bronze,"^666666Silver Coin^000000",M_Silver,"^FFFF66Gold Coin^000000",M_Gold,"^99CCCCMithril Coin^000000",M_Mithril; M_Bronze: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (countitem(673) < @mamount) goto L_No; set Zeny,(zeny + (50000000* @mamount)); delitem 673,@mamount; goto L_Thanks; M_Silver: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (countitem(675) < @mamount) goto L_No; set Zeny,(zeny + (100000000* @mamount)); delitem 675,@mamount; goto L_Thanks; M_Gold: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (countitem(671) < @mamount) goto L_No; set Zeny,(zeny + (150000000* @mamount)); delitem 671,@mamount; goto L_Thanks; M_Mithril: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like to give up?"; set @mamount,0; input @mamount; if (@mamount < 0) goto L_No; if (countitem(674) < @mamount) goto L_No; set Zeny,(zeny + (200000000* @mamount)); delitem 674,@mamount; goto L_Thanks; L_Zeny: next; mes "[ ^336699Coin Master^000000 ]"; mes "Very well. Here is the list on how much each coin is worth:"; mes "^996633Bronze Coin^000000: 50,000,000m Zeny"; mes "^666666Silver Coin^000000: 100,000,000m Zeny"; mes "^FFFF66Gold Coin^000000: 150,000,000m Zeny"; mes "^99CCCCMithril Coin^000000: 200,000,000m Zeny"; mes "Tell me, what coin would you like to get?"; next; menu "^996633Bronze Coin^000000",M_Bronze1,"^666666Silver Coin^000000",M_Silver1,"^FFFF66Gold Coin^000000",M_Gold1,"^99CCCCMithril Coin^000000",M_Mithril1; M_Bronze1: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like?"; set @mamount,0; input @mamount; if (zeny < 0) goto L_No; if (zeny < (10* @mamount)) goto L_No; set Zeny,(zeny - (50000000* @mamount)); getitem 673,@mamount; goto L_Thanks; M_Silver1: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like?"; set @mamount,0; input @mamount; if (zeny < 0) goto L_No; if (zeny < (100000000* @mamount)) goto L_No; set Zeny,(zeny - (100000000* @mamount)); getitem 675,@mamount; goto L_Thanks; M_Gold1: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like?"; set @mamount,0; input @mamount; if (zeny < 0) goto L_No; if (zeny < (150000000* @mamount)) goto L_No; set Zeny,(zeny - (150000000* @mamount)); getitem 671,@mamount; goto L_Thanks; M_Mithril1: next; mes "[ ^336699Coin Master^000000 ]"; mes "How many coins would you like?"; set @mamount,0; input @mamount; if (zeny < 0) goto L_No; if (zeny < (200000000* @mamount)) goto L_No; set Zeny,(zeny - (200000000* @mamount)); getitem 674,@mamount; goto L_Thanks; L_ancientcoins: next; mes "[ ^336699Coin Master^000000 ]"; mes "Very well. Here is the list on how much each coin is worth:"; mes "50x ^99CCCCMithril Coin^000000: 1 Ancient Coin"; mes "Do you Want To Trade??"; if (select("Yes I want.:Not now.")-1) close; if(countitem(674)<50) delitem 674,50; getitem 7959,1; goto L_Thanks; L_Thanks: mes "[ ^336699Coin Master^000000 ]"; mes "Pleasure doing business with you."; close2; cutin "", 255; close; L_No: mes "[ ^336699Coin Master^000000 ]"; mes "Okay~ Bye!"; close2; cutin "", 255; close; }
-
is my autoevent time correct sir?
-
my account is gm level 99 but when i click the find the mushroom..it says there is no mushroom event
-
i want the price to be 2 mithril coin the winner will get i am confused what to edit here splendide,185,200,4 script Find the Mushroom 1084,{ mes "[ Find The Mushroom ]"; if(getgmlevel() > 90) { if(.Event==0) mes "There is no Find the Mushroom event."; else { mes "There is a Find the Mushroom event on now!"; mes "Location: "+ .Map$; mes "Prize: " + getitemname(.ItemID); mes "Number of Mushrooms: " + .Mushrooms; } close; } mes "Hello "+strcharinfo(0)+"! Please customize this event:"; Main: next; mes "[ Find The Mushroom ]"; switch(select("Item [" + getitemname(.ItemID) + "]:Start Event:End Event")) { case 1: mes "Which item would you like the Mushroom to drop?"; mes "Please input the item ID:"; input .ItemID; goto Main; case 2: mes "Starting the event now..."; set .Event,1; close2; goto OnStart; case 3: mes "Ending the event now..."; if(.Event) announce ""+strcharinfo(0)+" ended Find the Mushroom Event!",bc_all; killmonster .Map$,"All"; set .Event,0; close; } OnClock0500: OnClock0900: OnClock1700: OnClock2100: OnStart: announce "Find the Mushroom : It's time to play Find the Mushroom!",0; sleep2 1000; set $@ran, rand(1,15); if ($@ran == 15) set .Map$,"alberta"; if ($@ran == 14) set .Map$,"umbala"; if ($@ran == 13) set .Map$,"niflheim"; if ($@ran == 12) set .Map$,"ayothaya"; if ($@ran == 11) set .Map$,"splendide"; if ($@ran == 10) set .Map$,"hugel"; if ($@ran == 9) set .Map$,"yuno"; if ($@ran == 8) set .Map$,"comodo"; if ($@ran == 7) set .Map$,"xmas"; if ($@ran == 6) set .Map$,"aldebaran"; if ($@ran == 5) set .Map$,"izlude"; if ($@ran == 4) set .Map$,"payon"; if ($@ran == 3) set .Map$,"geffen"; if ($@ran == 2) set .Map$,"morocc"; if ($@ran == 1) set .Map$,"prontera"; sleep2 1000; set $@ran2, rand(1,5); if ($@ran2 == 5) set .Mushrooms,"5"; if ($@ran2 == 4) set .Mushrooms,"4"; if ($@ran2 == 3) set .Mushrooms,"3"; if ($@ran2 == 2) set .Mushrooms,"2"; if ($@ran2 == 1) set .Mushrooms,"1"; announce "Find the Mushroom : The Mushroom has spawned in "+ .Map$ +"!",0; sleep2 10000; announce "Find the Mushroom : " + .Mushrooms + " Mushrooms have spawned in "+ .Map$ +"!",0; sleep2 10000; monster .Map$,0,0,"Don't kill me please!",1084,.Mushrooms,"Find the Mushroom::OnMobKilled"; end; OnMobKilled: mapannounce .Map$,"We've got a winner: " + strcharinfo(0) + " Congrats!",0; set zeny,zeny+10000000; getitem .ItemID,2; set .Event,0; end; }
-
need help about setting time to 12 hours
darking123 replied to darking123's question in General Support
my problem is about the server time -
need help about setting time to 12 hours
darking123 replied to darking123's question in General Support
i am using eathena svn..please help me -
because i am using windows 2003 VPS...my time is 8:30pm but when i @time ingame it tells 24 hours time not 12 hours,,,but my time is set to 12 hours anyone??
-
thank you
-
i want that Fadhgridh will be only in the menu /* 15,prtg_cas01,Kriemhild,Agit#prtg_cas01,1 // kRO : Creamhilt 16,prtg_cas02,Swanhild,Agit#prtg_cas02,1 // kRO : Sbanhealt 17,prtg_cas03,Fadhgridh,Agit#prtg_cas03,1 // kRO : Lazrigees 18,prtg_cas04,Skoegul,Agit#prtg_cas04,1 // kRO : Squagul 19,prtg_cas05,Gondul,Agit#prtg_cas05,1 // kRO : Guindull prontera castles ... so only need to use agitcheck(), not agitcheck2() */ prontera,157,197,5 script WoE Prize 734,{ // setcastledata "prtg_cas05", 1, getcharid(2); // just testing .. if ( agitcheck() ) { mes "a war is currently in progress"; mes "if your guild owned a castle ask your guild master to see me to claim the reward"; close; } set .@menu, select(.menu$) -1; if ( getcastledata("prtg_cas0"+( .@menu +1 ), 1) == getcharid(2) ) { if ( $castle_claimed & pow(2, .@menu) ) { mes "your guild already received the reward for "+ .castlename$[.@menu]; close; } else if ( getguildmasterid( getcharid(2) ) == getcharid(0) ) { mes "receiving the reward for "+ .castlename$[.@menu]; getitem 674, 10 * (5 - .@menu); // some mathematics ... getitem 12334,1; set $castle_claimed, $castle_claimed | pow(2, .@menu); close; } else { mes "ask your guild master to see me"; close; } } mes "your guild failed to take "+ .castlename$[.@menu]; mes "if your guild owned a castle ask your guild master to claim reward from me"; close; OnAgitEnd: set $castle_claimed, 0; // everytime woe ends the variable resets end; OnInit: setarray .castlename$, "Kriemhild", "Swanhild", "Fadhgridh", "Skoegul", "Gondul"; for ( set .@i, 0; .@i < 5; set .@i, .@i +1 ) set .menu$, .menu$ + .castlename$[.@i] +":"; }
-
how to stop the server to the right way to avoid roll back?
darking123 posted a question in General Support
how to stop the server to the right way to avoid roll back? -
what link in eathena is it?
-
because after we @duel...we will wait again for 60 min..how to disable it to make it every 1 min you can duel again?
-
about setting non dropable for GM level
darking123 replied to darking123's question in General Support
works thank you -
about setting non dropable for GM level
darking123 replied to darking123's question in General Support
gepard not working -
about this http://rathena.org/board/topic/53697-free-10-refiner-repairman/ please edit it for me...make it my chance to refine it..not in +10 immediately without breaking the item
-
about this script how will edit it so from gm level 1 until gm level 80,,,they cannot drop and items while gm level 81 and above and also GM level (normal players)0 can drop items // The minimum level for a GM to be unable to distribute items. // You should set this to the same level @item is set to in the atcommand.conf // NEVER SET THIS VALUE TO 0, or you will block drop/trade for normal players gm_cant_drop_min_lv: 1 //The trust level for your GMs. Any GMs ABOVE this level will be able to distribute items //ie: Use Storage/Guild Storage, Drop Items, Use Vend, Trade items. gm_cant_drop_max_lv: 0
-
need help about toasty woe controller
darking123 replied to darking123's question in Scripting Support
there are 2 box beside start time. . What wil i put in first box and second box if i want to start at hour 20 and stop at hour 21 -
nice idea. . Does ths work in eathena
-
need help about toasty woe controller
darking123 replied to darking123's question in Scripting Support
where will i put the script after generating? there are 2 box beside start time. . What wil i put in first box and second box if i want to start at hour 20 and stop at hour 21 -
i want to set it to 8pm-9pm everyday GMT+8 and woe will only be held in fadhgridh please edit it and help me thank you //====================================================================================================== //= Toasty's WoE Controller (formerly WoE Info Banner) //===== By: ============================================================================================ //= ToastOfDoom (aka: iHeart) //===== Current Version: =============================================================================== //= 1.22 //===== Description: =================================================================================== //= A WoE Controller function which controls castle based WoE by utilising npc events. //= Includes a NPC that provides information on the next WoE session //= //= This script is kinda @reloadscript/@loadnpc safe, provided that someone clicks the NPCs afterwards //= to start the OnInit function. That said..it is recommended that you don't use @reloadscript/@loadnpc //= but reset your server. //===== Changelog: ===================================================================================== //= 1.22 //= - Fixed an issue regarding the controller getting confused when using @reloadscript/loadnpc while //= WoE was still active. (thanks to annie for pointing out) //= 1.21 //= - Fixed a misspelt variable name (thanks to rahuldev345 for pointing out) //= 1.20 //= - Project renamed to 'Toasty's WoE Controller'. The script originally was only used to display WoE //= times then I 1st wrote it 3yrs ago and I feel it's purpose is more to control WoE these days. So //= name change to better reflect purpose. //= - Added support for novice WoE. Region teleport goes to the Novice Warper NPC (default in prontera) //= Change position in .region_maps, .region_x, .region_y if needed. //= - Region warp now only displays regions that have castles used at least once. (eg. If you don't //= configure any castles for Payon region, payon will not show up) //= - Optimised WoE Active/Inactive map notifier. Old method used too many loops for something that //= can happen alot. //= - Adjusted menus to be abit more friendly. 'next's will always display before 'menu's //= - Fixed bug with WoE autostarting when only configured for 2 sessions in one day //= - Added some nifty code that prevents catastrophic failure of the script if you try to run a trunk //= version on a stable server (ie. if you do, it will show an error message, but script will still //= run perfectly fine - check out WoEToggler function for those that want to peek at it =P) //= 1.11 //= - Fixed timer glitch when players only configured sessions for one day of the week //= - Adjusted timer to show remaining time more accurately //= - Modified .num_woes calculation due to bug regarding 0's being counted as unset values in arrays //= 1.10 //= - Expanded script to allow castle based configuration //= - Moved away from portal based woe control. Now using donpcevents to OnAgitEnd/2 events. Provided //= castles are linked to the main agit commands in this manner, they will be controllable using this //= script. //= - Added an onLoadMap WoE available notifier. Can be disabled by setting .notify_woe to 0 in the //= CONFIG section. //= - Did some funky color coding. //= - Added Coordinate based warping per region (see .region_x & .region_y in the CONSTANTS section) //= 1.02 //= - Added delwaitingroom to banner npc to prevent memory leaks from bug #2325 //= - To reduce spamming of waitingroom packets to players banner NPC only now updates when the banner //= text changes. Thus min time between updates is now 1sec regardless of setting. //= - Added setting for rate which banner time is updated (.banner_refresh_rate) in the CONFIG section. //= - Added agitstart2/end2 to provide WoE2 support (Hope it works //= 1.01 //= - Hardcoded in refresh value for banner npc instead of getting it from config from WoEInfoBase. Had //= issues starting the script after @reloadscript/@loadnpc //====================================================================================================== - script WoEInfoBase -1,{ OnStartMenu: if(.init == 0) donpcevent strnpcinfo(3)+"::OnInit"; OnStartMenu2: mes "The " + ((.state)?"^00DD00current":"^DD0000next") + "^000000 WoE session is: "; mes " "; mes "Day: ^0000DD" + .daysOfWeek$[.woe_day[.woe_index]]; mes "^000000Start time: ^00DD00" + .woe_0_str$[.woe_index]; mes "^000000End time: ^DD0000" + .woe_1_str$[.woe_index]; mes "^000000Region:"; set .@state_strs$, ".woe_state_str_" + .woe_state[.woe_index] + "$"; for(set .@i, 0; .@i < .num_regions; set .@i, .@i + 1) { set .@output$, getd(.@state_strs$ + "[" + .@i + "]"); if(.@output$ != "") mes "^000000- ^0000DD" + .@output$; } next; if(getgmlevel() >= .gm_access) select( "Warp to Castle Grounds", "View Castle Owners", "View all WoE times", ((!.state)?"Start next WoE":"End current WoE"), ((.state)?"":"Skip next WoE session") ); else select( "Warp to Castle Grounds", "View Castle Owners", "View all WoE times"); switch(@menu) { case 1: //warp mes "Which region would you like to warp to?"; next; select(.region_warp$[.woe_state[.woe_index]]); if(@menu < 1 || @menu > .num_regions) close; close2; warp .region_maps$[@menu - 1], .region_x[@menu - 1], .region_y[@menu - 1]; end; case 2: //view set .@woe_state_array$, ".woe_state_" + .woe_state[.woe_index]; for(set .@i, 0; .@i < .num_regions; set .@i, .@i + 1) { set .@k, 0; set .@castles$, ".castles_" + .regions$[.@i] + "$"; set .@castle_check, getd(.@woe_state_array$ + "[" + .@i + "]"); while(.@castle_check && .@k < .num_castles[.@i]) { if(.@castle_check & (1 << .@k)) { set .@map$, getd(.@castles$+"["+.@k+"]"); if (GetCastleData(.@map$,1)) { dispbottom "The [" + GetCastleName(.@map$) + "] castle of the [" + .region_names$[.@i] + "] region is currently held by the [" + GetGuildName(GetCastleData(.@map$,1)) + "] guild."; } else { dispbottom "The [" + GetCastleName(.@map$) + "] castle of the [" + .region_names$[.@i] + "] region is currently unoccupied."; } set .@castle_check, .@castle_check - (1 << .@k); } set .@k, .@k + 1; } } break; case 3: //woe times for(set .@i, 0; .@i < .num_woes; set .@i, .@i + 1) { dispbottom "- " + .daysOfWeek$[.woe_day[.@i]] + " " + .woe_0_str$[.@i] + "-" + .woe_1_str$[.@i]; set .@woe_state_str_array$, ".woe_state_str_" + .woe_state[.@i] + "$"; for(set .@k, 0; .@k < .num_regions; set .@k, .@k + 1) { set .@output$, getd(.@woe_state_str_array$ + "[" + .@k + "]"); if(.@output$ != "") dispbottom " " + .@output$; } } break; case 4: //start next; if(getgmlevel() <.gm_access) close; mes "^FF0000Are you sure you want to " + ((!.state)?"start the next WoE session?":"end the current WoE session?"); next; if(select("Yes:No") == 2) break; set .remainTime, 0; //might not work sometimes...you have like a 500ms window out of 505ms i guess.. sleep2 .timer_refresh_rate; //wait abit so the menu doesn't screw up (how long it takes for the timer to update) break; case 5: //skip next; if(getgmlevel() <.gm_access || .state) close; mes "^FF0000Are you sure you want to skip the next WoE session^000000"; next; if(select("Yes:No") == 2) break; if(.state) { //you really can't do this with woe active next; mes "Sorry, in the time you took making your decision, WoE started"; mes "Please either manually end it first or wait"; break; } set .woe_index, (.woe_index + 1) % .num_woes; donpcevent strnpcinfo(3)+"::OnUpdateCountTick"; sleep2 .timer_refresh_rate; break; default: close; } goto OnStartMenu2; OnInit: //-----------------------------------------------------------------------------------------// //CONFIG START // //-----------------------------------------------------------------------------------------// set .gm_access, 60; //WoE timings needs to be ordered ascendingly unless you want to do weird //stuff like skip a region every other week or so... //Also times can't overlap. Uses second of day(gettimetick(1)) for timing // eg 1am -> 3600, 2:30pm -> 52200, midnight -> 86400 (anything past that doesn't work) //Note: woe_0 is start times, woe_1 is end times. Ignore how it's called but // don't change it either since it's dynamically used // Also..woe has to end on the same day it starts (it's easier that way..) setarray .woe_day[0], 0, 1, 2, 3, 4, 5, 6; setarray .woe_0[0], 46800,46800,46800,46800,46800,46800,46800; setarray .woe_1[0], 50400,50400,50400,50400,50400,50400,50400; setarray .woe_state[0], 0, 1, 2, 3, 4, 5, 6; //WoE state settings. Every WoE session can be defined as a particular state of castle configuration. //.woe_state_#[%] = $ // # - state number // % - region number // $ - binary representation of castles that are active for that region in that state ( // (ie. 0 is no castles, 5 is castle 0 and 2 (2^0 + 2^2 = 5)) setarray .woe_state_0[0],0,2,0,0,0,0,0; setarray .woe_state_1[0],1,0,0,0,0,0,0; setarray .woe_state_2[0],2,0,0,0,0,0,0; setarray .woe_state_3[0],4,0,0,0,0,0,0; setarray .woe_state_4[0],8,0,0,0,0,0,0; setarray .woe_state_5[0],16,0,0,0,0,0,0; setarray .woe_state_6[0],0,1,0,0,0,0,0; //Setting for if script handles WoE controller function. Disable agit_controller.txt if you are using this. //For if you want to use something else to handle your woe stuff but only this script //to show info (1 - on, 0 - off...duh) set .active_woe, 1; //WoE inactive on map notifier. Basically notifies player if the castle they are entering is //WoE active or not set .notify_woe, 1; //-----------------------------------------------------------------------------------------// //CONFIG END // //-----------------------------------------------------------------------------------------// //-----------------------------------------------------------------------------------------// //CONSTANTS START - Don't touch this unless you know what you are doing // //-----------------------------------------------------------------------------------------// //castle maps by region setarray .castles_prtg$[0],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05"; setarray .castles_payg$[0],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05"; setarray .castles_gefg$[0],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05"; setarray .castles_aldeg$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05"; setarray .castles_arug$[0],"arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05"; setarray .castles_schg$[0],"schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; setarray .castles_novi$[0],"nguild_alde","nguild_gef","nguild_pay","nguild_prt"; //woe kill functions for each castle setarray .woe_kill_prtg$[0],"Agit#prtg_cas01::OnAgitEnd","Agit#prtg_cas02::OnAgitEnd","Agit#prtg_cas03::OnAgitEnd","Agit#prtg_cas04::OnAgitEnd","Agit#prtg_cas05::OnAgitEnd"; setarray .woe_kill_payg$[0],"Agit#payg_cas01::OnAgitEnd","Agit#payg_cas02::OnAgitEnd","Agit#payg_cas03::OnAgitEnd","Agit#payg_cas04::OnAgitEnd","Agit#payg_cas05::OnAgitEnd"; setarray .woe_kill_gefg$[0],"Agit#gefg_cas01::OnAgitEnd","Agit#gefg_cas02::OnAgitEnd","Agit#gefg_cas03::OnAgitEnd","Agit#gefg_cas04::OnAgitEnd","Agit#gefg_cas05::OnAgitEnd"; setarray .woe_kill_aldeg$[0],"Agit#aldeg_cas01::OnAgitEnd","Agit#aldeg_cas02::OnAgitEnd","Agit#aldeg_cas03::OnAgitEnd","Agit#aldeg_cas04::OnAgitEnd","Agit#aldeg_cas05::OnAgitEnd"; setarray .woe_kill_arug$[0],"Manager#aru01_02::OnAgitEnd","Manager#aru02_02::OnAgitEnd","Manager#aru03_02::OnAgitEnd","Manager#aru04_02::OnAgitEnd","Manager#aru05_02::OnAgitEnd"; setarray .woe_kill_schg$[0],"Manager#sch01_02::OnAgitEnd","Manager#sch02_02::OnAgitEnd","Manager#sch03_02::OnAgitEnd","Manager#sch04_02::OnAgitEnd","Manager#sch05_02::OnAgitEnd"; setarray .woe_kill_novi$[0],"Agit_N01::OnAgitEnd","Agit_N02::OnAgitEnd","Agit_N03::OnAgitEnd","Agit_N04::OnAgitEnd"; //region prefixs setarray .regions$[0],"prtg","payg","gefg","aldeg","arug","schg","novi"; //region info setarray .region_names$[0],"Prontera", "Payon", "Geffen", "Aldebaran", "Arunafeltz", "Schwarzwald", "Novice Castles"; setarray .region_maps$[0],"prt_gld", "pay_gld", "gef_fild13", "alde_gld", "aru_gld", "sch_gld", "prontera"; //coords to warp player to region (0 is random) setarray .region_x[0],0, 0, 0, 0, 0, 0, 148; setarray .region_y[0],0, 0, 0, 0, 0, 0, 163; setarray .waitMsg$[0], "WoE Starts: ", "WoE Ends: "; setarray .startMsg$[0], "WoE is Starting", "WoE is Ending"; set .ticks_in_day, 86400; //mmm...magic numbers setarray .daysOfWeek$[0], "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"; set .timer_refresh_rate, 500; //how many ms per timer refresh...keep less than 1000 (in milliseconds) set .change_state_sleep, 3000; //how long to show "WoE is Start|End-ing" msg for in ms. (in milliseconds) //Make sure WoE sessions are longer than this xD set .banner_refresh_rate, 10; //how many seconds per banner refresh...keep 1 or above (in seconds) //-----------------------------------------------------------------------------------------// //CONSTANTS END // //-----------------------------------------------------------------------------------------// set .num_regions, getarraysize(.regions$); set .num_woes, getarraysize(.woe_1); //force WoE to end if active callfunc "WoEToggler", 0; for(set .@i, 0; .@i < .num_regions; set .@i, .@i + 1) { //count num castles per region set .num_castles[.@i], getarraysize(getd(".castles_" + .regions$[.@i] + "$")); } //convert timestamps to readable format for(set .@i, 0; .@i < .num_woes; set .@i, .@i + 1) { set .@hrs, .woe_0[.@i] / 3600; set .@mins, .woe_0[.@i] % 3600 / 60; set .@output$, ((.@hrs % 12)?.@hrs%12:12) + ":" + ((.@mins < 10)?"0"+.@mins:.@mins) + " " + ((.@hrs > 12)?"PM":"AM"); set .woe_0_str$[.@i], .@output$; set .@hrs, .woe_1[.@i] / 3600; set .@mins, .woe_1[.@i] % 3600 / 60; set .@output$, ((.@hrs % 12)?.@hrs%12:12) + ":" + ((.@mins < 10)?"0"+.@mins:.@mins) + " " + ((.@hrs > 12)?"PM":"AM"); set .woe_1_str$[.@i], .@output$; } //calc number of woe states and consolidate states to create list of castles used set .num_states, 0; while(getarraysize(getd(".woe_state_" + (.num_states)))) { set .@state$, ".woe_state_" + .num_states; set .@i, 0; while(.@i < getarraysize(getd(.@state$))) { set .castleUsage[.@i], .castleUsage[.@i] | getd(.@state$ + "[" + .@i + "]"); set .@i, .@i + 1; } set .num_states, .num_states + 1; } for(set .@i, 0; .@i < .num_states; set .@i, .@i + 1) { set .@woe_state_array$, ".woe_state_" + .@i; for(set .@k, 0; .@k < .num_regions; set .@k, .@k + 1) { if(.castleUsage[.@k] > 0) { set .@castles$, ".castles_" + .regions$[.@k] + "$"; set .@castle_check, getd(.@woe_state_array$ + "[" + .@k + "]"); if(.@castle_check == 0) { //region not in this state //region warp menu string set .region_warp$[.@i], .region_warp$[.@i] + "^DD0000" + .region_names$[.@k] + "^000000:"; continue; } else { if(.@castle_check >= ((1 << .num_castles[.@k]) - 1)) { //includes all castles...just list as region. setd(".woe_state_str_" + .@i + "$[" + .@k + "]", .region_names$[.@k]); //region warp menu string set .region_warp$[.@i], .region_warp$[.@i] + "^00DD00" + .region_names$[.@k] + "^000000:"; } else { set .@j, 0; set .@output$, ""; while(.@j < .num_castles[.@k]) { if(.@castle_check & (1 << .@j)) { set .@output$, .@output$ + GetCastleName(getd(.@castles$+"["+.@j+"]")); set .@castle_check, .@castle_check - (1 << .@j); if(.@castle_check) { if(.@output$ != "") set .@output$, .@output$ + ", "; } else break; } set .@j, .@j + 1; } setd(".woe_state_str_" + .@i + "$[" + .@k + "]", .region_names$[.@k] + " ("+ .@output$ + ")"); //region warp menu string set .region_warp$[.@i], .region_warp$[.@i] + "^00DD00" + .region_names$[.@k] + " ("+ .@output$ + ")^000000:"; } } } else { set .region_warp$[.@i], .region_warp$[.@i] + ":"; } } } donpcevent strnpcinfo(3)+"::OnFindCurIndex"; donpcevent strnpcinfo(3)+"::OnUpdateCountTick"; if(.active_woe) { if(.notify_woe) { //set mapflag for all castle maps for(set .@i, 0; .@i < .num_regions; set .@i, .@i + 1) { set .@region_array$, ".castles_" + .regions$[.@i] + "$"; for(set .@k, 0; .@k < .num_castles[.@i]; set .@k, .@k + 1) { setmapflag getd(.@region_array$ + "[" + .@k + "]"), mf_loadevent; setd(".loadmap_region_" + getd(.@region_array$ + "[" + .@k + "]"), .@i + 1); setd(".loadmap_castleIndex_" + getd(.@region_array$ + "[" + .@k + "]"), .@k); } } } //activates WoE if needed donpcevent strnpcinfo(3)+"::OnDoWoE"; } //flag that init occured set .init, 1; OnWoETimer: //timer stuff while (1) { set .remainTime, .count_tick - gettimetick(2); set .bannerTimer, .remainTime - (.remainTime % .banner_refresh_rate) + .banner_refresh_rate; set .min, .bannerTimer / 60; set .sec, .bannerTimer - .min * 60; set .hr, .min / 60; set .min, .min - .hr * 60; set .roomMsg$, .waitMsg$[.state] + .hr + ":" + ((.min < 10 )?"0":"") + .min + ":" + ((.sec < 10 )?"0":"") + .sec; sleep .timer_refresh_rate; if(.remainTime <= 0) { if(.active_woe) { donpcevent strnpcinfo(3)+"::OnDoWoE"; } set .roomMsg$, .startMsg$[.state]; set .woe_index, (.woe_index + .state) % .num_woes; //go to next index if needed set .state, (.state + 1) % 2; //flip state donpcevent strnpcinfo(3)+"::OnUpdateCountTick"; sleep .change_state_sleep; } } end; //obligatory end =D OnUpdateCountTick: set .count_tick, getd(".woe_" + .state + "[" + .woe_index + "]"); set .count_tick, gettimetick(2) + .count_tick - gettimetick(1) + (.woe_day[.woe_index] - gettime(4) + 7) % 7 * .ticks_in_day; if(gettimetick(2) > .count_tick) set .count_tick, .count_tick + 7 * .ticks_in_day; end; OnFindCurIndex: set .@cur_day, gettime(4); set .@cur_tick, gettimetick(1); set .woe_index, 0; set .state, 0; for(set .@i, 0; .@i < .num_woes; set .@i, .@i + 1) { if(.woe_day[.@i] < .@cur_day) continue; if(.woe_day[.@i] == .@cur_day) { if(.woe_0[.@i] >= .@cur_tick) { set .woe_index, .@i; set .state, 0; break; } if(.woe_1[.@i] >= .@cur_tick) { set .woe_index, .@i; set .state, 1; break; } } if(.woe_day[.@i] > .@cur_day) { set .woe_index, .@i; set .state, 0; break; } } end; //On map notifier //Comment out OnPCLoadMapEvent label if .notify_woe is disabled to prevent unnecessary triggering OnPCLoadMapEvent: if(.state && .notify_woe) { getmapxy(.@map$, .@x, .@y, 0); set .@region, getd(".loadmap_region_" + .@map$) - 1; if(.@region >= 0) { set .@castleIndex, getd(".loadmap_castleIndex_" + .@map$); if(getd(".woe_state_" + .woe_state[.woe_index] + "[" + .@region + "]") & 1 << .@castleIndex) dispbottom "The [" + GetCastleName(.@map$) + "] castle is available for conquering during this WoE session"; else dispbottom "The [" + GetCastleName(.@map$) + "] castle is NOT available for conquering during this WoE session"; } } end; //------------------------------------------------------------------------------ // WoE Controller Stuff Here //------------------------------------------------------------------------------ OnDoWoE: if((.state == 0 && .init) || (.state == 1 && !agitcheck())) { //starting callfunc "WoEToggler", 1; //kills WoE in all castles that shouldn't have WoE set .@woe_state_array$, ".woe_state_" + .woe_state[.woe_index]; for(set .@i, 0; .@i < .num_regions; set .@i, .@i + 1) { set .@castles$, ".castles_" + .regions$[.@i] + "$"; set .@castle_check, getd(.@woe_state_array$ + "[" + .@i + "]"); for(set .@k, 0; .@k < .num_castles[.@i]; set .@k, .@k + 1) { set .@map$, getd(.@castles$+"["+.@k+"]"); if((.@castle_check & (1 << .@k)) == 0) { donpcevent getd(".woe_kill_" + .regions$[.@i] + "$[" + .@k + "]"); } } } announce "The War Of Emperium has begun!",bc_all; donpcevent strnpcinfo(3)+"::OnDisplayOwners"; } else { //ending if(agitcheck()) { callfunc "WoEToggler", 0; announce "The War Of Emperium is over!",bc_all; donpcevent strnpcinfo(3)+"::OnDisplayOwners"; } } end; OnDisplayOwners: //displays based on current region set .@woe_state_array$, ".woe_state_" + .woe_state[.woe_index]; for(set .@i, 0; .@i < .num_regions; set .@i, .@i + 1) { set .@k, 0; set .@castle_check, getd(.@woe_state_array$ + "[" + .@i + "]"); set .@castles$, ".castles_" + .regions$[.@i] + "$"; while(.@castle_check && .@k < .num_castles[.@i]) { if(.@castle_check & (1 << .@k)) { set .@map$, getd(.@castles$+"["+.@k+"]"); if (GetCastleData(.@map$,1)) { announce "The [" + GetCastleName(.@map$) + "] castle of the [" + .region_names$[.@i] + "] region is currently held by the [" + GetGuildName(GetCastleData(.@map$,1)) + "] guild.",bc_all; } else { announce "The [" + GetCastleName(.@map$) + "] castle of the [" + .region_names$[.@i] + "] region is currently unoccupied.",bc_all; } set .@castle_check, .@castle_check - (1 << .@k); } set .@k, .@k + 1; } } end; } prontera,163,194,4 script WoE Info 837,{ if(getwaitingroomstate(3, strnpcinfo(3)) == -1) donpcevent strnpcinfo(3)+"::OnInit"; doevent "WoEInfoBase::OnStartMenu"; end; OnInit: while (1) { //only updates if msg is different set .banner$, getwaitingroomstate(4, strnpcinfo(3)); if(getvariableofnpc(.roomMsg$, "WoEInfoBase") != .banner$) { delwaitingroom; waitingroom getvariableofnpc(.roomMsg$, "WoEInfoBase"), 0; } sleep 500; } end; } //zomg! it duplicates!! morocc,153,97,5 duplicate(WoE Info) WoE Info#2winfo 837 geffen,112,63,5 duplicate(WoE Info) WoE Info#2winfo 837 payon,168,227,5 duplicate(WoE Info) WoE Info#2winfo 837 izlude,123,115,5 duplicate(WoE Info) WoE Info#2winfo 837 aldebaran,144,123,5 duplicate(WoE Info) WoE Info#2winfo 837 xmas,154,135,5 duplicate(WoE Info) WoE Info#2winfo 837 comodo,202,150,5 duplicate(WoE Info) WoE Info#2winfo 837 yuno,164,48,5 duplicate(WoE Info) WoE Info#2winfo 837 amatsu,191,101,5 duplicate(WoE Info) WoE Info#2winfo 837 gonryun,157,122,5 duplicate(WoE Info) WoE Info#2winfo 837 umbala,90,157,5 duplicate(WoE Info) WoE Info#2winfo 837 ayothaya,145,116,5 duplicate(WoE Info) WoE Info#2winfo 837 einbroch,54,203,5 duplicate(WoE Info) WoE Info#2winfo 837 lighthalzen,152,100,5 duplicate(WoE Info) WoE Info#2winfo 837 hugel,93,152,5 duplicate(WoE Info) WoE Info#2winfo 837 rachel,120,146,5 duplicate(WoE Info) WoE Info#2winfo 837 //--------------------------------------------------------------------------------------------------------------------- function script WoEToggler { //<state> = 0|1 if(getarg(0)) { AgitStart; } else { AgitEnd; } return; } help please
-
// ______ __ __ // /\ _ \/\ \__/\ \ // __\ \ \L\ \ \ ,_\ \ \___ __ ___ __ // /'__`\ \ __ \ \ \/\ \ _ `\ /'__`\/' _ `\ /'__`\ ///\ __/\ \ \/\ \ \ \_\ \ \ \ \/\ __//\ \/\ \/\ \L\.\_ //\ \____\\ \_\ \_\ \__\\ \_\ \_\ \____\ \_\ \_\ \__/.\_\ // \/____/ \/_/\/_/\/__/ \/_/\/_/\/____/\/_/\/_/\/__/\/_/ // _ _ _ _ _ _ _ _ _ _ _ _ _ // / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ //( e | n | g | l | i | s | h ) ( A | t | h | e | n | a ) // \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ \_/ // //-------------------------------------------------------------- // eAthena Log Configuration File //-------------------------------------------------------------- // Note 1: Value is a config switch (on/off, yes/no or 1/0) // Note 2: Value is in percents (100 means 100%) // Note 3: Value is a bit field. If no description is given, // assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun) //-------------------------------------------------------------- // Enable Logs? (Note 3) // 0x0000 - Don't log at all // 0x0001 - (T) Log trades // 0x0002 - (V) Log vending transactions // 0x0004 - (P) Log items drop/picked by players // 0x0008 - (L) Log items drop/looted by monsters // 0x0010 - (S) Log NPC transactions (buy/sell) // 0x0020 - (N) Log Script transactions (items deleted/acquired through quests) // 0x0040 - (D) Log items stolen from mobs (Steal/Gank) // 0x0080 - (C) Log player-used items // 0x0100 - (O) Log produced/ingredient items // 0x0200 - (U) Log MVP prize items // 0x0400 - (A) Log player created/deleted items (through @/# commands) // 0x0800 - (R) Log items placed/retrieved from storage. // 0x1000 - (G) Log items placed/retrieved from guild storage. // 0x2000 - (E) Log mail system transactions. // 0x4000 - (I) Log auction system transactions. // 0x8000 - ( Log buying store transactions // Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059 enable_logs: 0x0400 // Use MySQL Logs? [sql Version Only] (Note 1) sql_logs: yes // LOGGING FILTERS // ============================================================= // if any condition is true then the item will be logged // 0 = Don't log at all // 1 = Log any item // Advanced Filter Bits by item type: || // 0002 - Healing items (0) // 0004 - Etc Items(3) + Arrows (10) // 0008 - Usable Items(2) + Lures,Scrolls(11) + Usable Cash Items(18) // 0016 - Weapon(4) // 0032 - Shields,Armor,Headgears,Accessories,etc(5) // 0064 - Cards(6) // 0128 - Pet Accessories(8) + Eggs(7) (well, monsters don't drop 'em but we'll use the same system for ALL logs) // 0256 - Log expensive items ( >= price_items_log) // 0512 - Log big amount of items ( >= amount_items_log) // 1024 - Log refined items (if their refine >= refine_items_log ) // 2048 - Log rare items (if their drop chance <= rare_items_log ) // Examples: (log filters) // log_filter: 1 = logs ANY items // log_filter: 2 = logs only HEALING items // log_filter: 4 = logs only Etc Items and Arrows // log_filter: 64 = logs only Cards // log_filter: 322 = logs only Healing items, Cards and those items which price is >= price_items_log // log_filter: 4080 = logs all items (including all rare, big amount) exept healing, etc, arrows and useble ones log_filter: 1 // Log Items which Refine >= refine_items_log refine_items_log: 5 // Log Items whith min drop rate <= rare_items_log // 1 = 0.01%, 100 = 1% drop chance, etc rare_items_log: 100 // don't log it if the current item buy price < price_items_log price_items_log: 1000 // don't log it if the current item amount < amount_items_log amount_items_log: 100 //============================================================= // Log Dead Branch Usage (Note 1) log_branch: no // Track Zeny Changes // Filter settings // 0 - don't log; 1 - log any zeny changes; 2.....1000000 - minimal absolut logging zeny value log_zeny: 1 // Log MVP Monster Drops (Note 1) // Outdated. Use Pick_Log instead. But this log could be useful to keep track slayed MVPs log_mvpdrop: no // Log GM Commands (set to minimum level of Logged Commands) log_gm: 99 // Log NPC 'logmes' commands (Note 1) log_npc: no // Log CHAT (Global, Whisper, Party, Guild, Main chat) (Note 3) // LOGGING FILTERS // ============================================================= // 0 = Don't log at all // 1 - Log Global messages // 2 - Log Whisper messages // 4 - Log Party messages // 8 - Log Guild messages // 16 - Log Main chat messages // Example: // log_chat: 5 = logs both Whisper & Party messages // log_chat: 8 = logs only Guild messages // log_chat: 31 = logs everything log_chat: 0 // Disable chat logging when WoE is running? (Note 1) log_chat_woe_disable: no // Logging tables/files // Following settings specify where to log to. If 'sql_logs' is // enabled, SQL tables are assumed, otherwise flat files. // Dead Branch Log log_branch_db: log/branchlog.log //log_branch_db: branchlog // Drops & Pickups log_pick_db: log/picklog.log //log_pick_db: picklog // Zeny log_zeny_db: log/zenylog.log //log_zeny_db: zenylog // MVP Drops log_mvpdrop_db: log/mvplog.log //log_mvpdrop_db: mvplog // GM Log log_gm_db: ro_logdb/atcommandlog.log //log_gm_db: atcommandlog // NPC Log log_npc_db: log/npclog.log //log_npc_db: npclog // CHAT Log log_chat_db: log/chatlog.log //log_chat_db: chatlog import: conf/import/log_conf.txt about sa // Enable Logs? (Note 3) // 0x0000 - Don't log at all // 0x0001 - (T) Log trades // 0x0002 - (V) Log vending transactions // 0x0004 - (P) Log items drop/picked by players // 0x0008 - (L) Log items drop/looted by monsters // 0x0010 - (S) Log NPC transactions (buy/sell) // 0x0020 - (N) Log Script transactions (items deleted/acquired through quests) // 0x0040 - (D) Log items stolen from mobs (Steal/Gank) // 0x0080 - © Log player-used items // 0x0100 - (O) Log produced/ingredient items // 0x0200 - (U) Log MVP prize items // 0x0400 - (A) Log player created/deleted items (through @/# commands) // 0x0800 - ® Log items placed/retrieved from storage. // 0x1000 - (G) Log items placed/retrieved from guild storage. // 0x2000 - (E) Log mail system transactions. // 0x4000 - (I) Log auction system transactions. // 0x8000 - ( Log buying store transactions // Example: Log trades+vending+script items+created items: 1+2+32+1024 = 1059 enable_logs: 0x0400 naguguluhan kasi ako jan paano kung lahat ng logs gusto ko enable anung value ilalagay ko?? and also yung name ng db ko sa logs is ro_logdb not logs....anu ang eedit ko sa naka codebox???sql server kami not txt please edit it for me