-
Posts
191 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by HappyMan
-
bonus bAtkRate and bonus bMatkRate dont work
HappyMan replied to bspace88's question in Database Support
bonus bBaseAtk,50; bonus bmatkrate,5; or bonus bMatk,5; -
how about limit the damage of specific skill than limit the max matk? or reduce the damage of specific skill
-
message me. i have this already in my server. and i can modify it if you want too.
-
Example. Make a npc that requires pods to buy an item and this is the item(rent item) 12935,Infiltrator_Box,Infiltrator Box,18,20,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ rentitem 1267,604800; },{},{} this is just a example
-
if you still need help just message me.
-
it works. thanks
-
just use all in one npc..
-
i want every 6 hours this event will start. how? thanks in advance. // --- ARTHistic's Property --- // --- Please visit http://thdesigns.co.nr --- // --- Scripted By: ARTHistic --- // --- Do Not Revomed the Credits --- vip,52,82,5 script Barricade Summoner 856,{ mes "[ Treasure Box Event ]"; mes "Hello, I'm a new mage here in Midgard. Every 6 hour, I tried to cast my summoning spells and there a chance that i can summon a Barricade that will give you items once you destroy it. I only cast my spell on main city and I immediately announce to everyone once I perfectly cast my spells. Anyways, I will give you a little hint..."; if( [email protected] == 0 ){ mes "I ^ff0000failed^000000 to summoned the Barricade Rare last time.^000000"; close; }else { mes "^I successfully summoned the Barricade last time."; close; } OnMinute00: set [email protected], rand(2); if ( [email protected] != 0 ){ announce "Barricade Summoner: I perfectly cast my summoning skills.",0; sleep2 5000; announce "A rare Barricade will be spawned in 30 seconds at abyss_03.",0; sleep2 30000; monster "abyss_03.gat",98,104,"Barricade",3000,1,"Barricade Summoner::OnTBoxKilled"; end; }else { end; } end; OnTBoxKilled: announce "The rare Barricade has been founded and destroyed by "+strcharinfo(0)+"!", bc_all; getitem 20561,1; end; } *every 6 hours event will start sorry...
-
do you mean you want a mvp announcer? when a player kill mvp monster it will broadcast player name,mvp name location? right?
-
input @bet_zeny; if( @bet_zeny > Zeny ) ibahin mo yan pati ung nasa baba mag declare ka ng variable na mag hhold ng id ng credit.
-
you need to get the mac address of your players instead IP but i think you need to use harmony/gepard or 3rd party programs to get the mac address of your players and upload it in to database..
-
prontera,129,192,5 script Fisher Man::Fisher 709,{ mes "Hello There!"; mes "Want to go Fishing?"; mes "You need 100 Butil ng Bigas for the Entrance Fee"; next; mes "You still need"; mes "15 Butil Ng Bigas"; mes "To catch a Fish"; next; mes "Still want to go?"; menu "Yeah",yes,"No",no; no: mes "okay"; close; yes: if( countitem( 7539 ) >= 100 ){ warp "lhz_dun05",209,133; delitem 7539,100; } else { mes "You Need 100 Butil Ng Bigas to get In."; close; } } lhz_dun05 mapflag nowarp lhz_dun05 mapflag noteleport lhz_dun05 mapflag nomemo lhz_dun05 mapflag nogo lhz_dun05 mapflag nodrop lhz_dun05 mapflag nosave lhz_dun05 mapflag nobranch lhz_dun05,213,130,4 script Fishing Spot::fishing 1158,{ if(countitem(7539) > 15){ delitem 7539,15; specialeffect2 EF_BUBBLE; if (rand(1,20) == 2) { getitem 7539,50; //Bnb specialeffect EF_BUBBLE; announce "" + strcharinfo(0) + " Ay Nakakuha ng Isang Kilong Bigas Sa Pangingisda!!!",bc_map,"0xff77ff"; end; } set [email protected]_ran,rand(1,70); if ([email protected]_ran < 20) { getitem 999,1; //steel } else if ([email protected]_ran == 20) { getitem 938,1; //Sticky_Mucus } else if ([email protected]_ran == 21) { getitem 909,2; //Jellopy } else if ([email protected]_ran == 22) { getitem 956,10; //Rotten Fish } else if ([email protected]_ran == 23) { getitem 956,1; //Gill } else if ([email protected]_ran == 24) { getitem 6049,1; //Marlin } else if ([email protected]_ran == 25) { getitem 7126,1; //large jellpy } else if ([email protected]_ran == 26) { getitem 938,1; //Sticky_Mucus } else if ([email protected]_ran == 27) { getitem 7539,10; //Rotten Fish } else if ([email protected]_ran == 28) { getitem 12214,1; //Convex } else if (([email protected]_ran > 28) && ([email protected]_ran < 40)) { getitem 12103,1; //bloody } else { close; } if (rand(1,200) == 3) { getitem 7539,50; //bnb } if (rand(1,500) == 3) { getitem 7828,50; //bnb mapannounce "prontera","" + strcharinfo(0) + " Has Caught 50 Badges From Fishing",bc_map,"0x00ffff"; } if (rand(1,3000) == 3) { getitem 12103,100; //bloody Branch mapannounce "prontera","" + strcharinfo(0) + " Has Caught an 100 Bloody Branch!!",bc_map,"0x44ff44"; } end; } else { mes "You Need 15 Butil ng bigaS."; close; } } lhz_dun05,206,137,1 duplicate(fishing) Fishing Spot#10 1158 lhz_dun05,213,123,1 duplicate(fishing) Fishing Spot#11 1158 lhz_dun05,206,116,1 duplicate(fishing) Fishing Spot#12 1158 lhz_dun05,208,116,1 duplicate(fishing) Fishing Spot#13 1158 lhz_dun05,210,116,1 duplicate(fishing) Fishing Spot#14 1158 lhz_dun05,208,123,1 duplicate(fishing) Fishing Spot#15 1158 lhz_dun05,210,123,1 duplicate(fishing) Fishing Spot#16 1158 lhz_dun05,212,139,1 duplicate(fishing) Fishing Spot#17 1158
-
theres no error in putty. i put the script and restart my server and i use knight soul link nothing happen.. bump Try this. - script sample_soullink_hp -1,{OnPCStatCalcEvent: if ( getstatus( SC_SPIRIT ) ) { bonus bMaxHPrate,20; } end; } still nothing happen. bump bump bump bump up
-
theres no error in putty. i put the script and restart my server and i use knight soul link nothing happen.. bump
-
bump anyone please? bump bump bump up
-
sir its not working... in my post sir i want to have 2 hour woe countdown same function in the 1 hour woe countdown as posted sir.. thanks in advance
-
//====================================================================================================== //= 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 [email protected]_strs$, ".woe_state_str_" + .woe_state[.woe_index] + "$"; for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { set [email protected]$, getd([email protected]_strs$ + "[" + [email protected] + "]"); if([email protected]$ != "") mes "^000000- ^0000DD" + [email protected]$; } 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 [email protected]_state_array$, ".woe_state_" + .woe_state[.woe_index]; for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { set [email protected], 0; set [email protected]$, ".castles_" + .regions$[[email protected]] + "$"; set [email protected]_check, getd([email protected]_state_array$ + "[" + [email protected] + "]"); while([email protected]_check && [email protected] < .num_castles[[email protected]]) { if([email protected]_check & (1 << [email protected])) { set [email protected]$, getd([email protected]$+"["[email protected]+"]"); if (GetCastleData([email protected]$,1)) { dispbottom "The [" + GetCastleName([email protected]$) + "] castle of the [" + .region_names$[[email protected]] + "] region is currently held by the [" + GetGuildName(GetCastleData([email protected]$,1)) + "] guild."; } else { dispbottom "The [" + GetCastleName([email protected]$) + "] castle of the [" + .region_names$[[email protected]] + "] region is currently unoccupied."; } set [email protected]_check, [email protected]_check - (1 << [email protected]); } set [email protected], [email protected] + 1; } } break; case 3: //woe times for(set [email protected], 0; [email protected] < .num_woes; set [email protected], [email protected] + 1) { dispbottom "- " + .daysOfWeek$[.woe_day[[email protected]]] + " " + .woe_0_str$[[email protected]] + "-" + .woe_1_str$[[email protected]]; set [email protected]_state_str_array$, ".woe_state_str_" + .woe_state[[email protected]] + "$"; for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { set [email protected]$, getd([email protected]_state_str_array$ + "[" + [email protected] + "]"); if([email protected]$ != "") dispbottom " " + [email protected]$; } } 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], 72000,72000,72000,72000,72000,72000,72000; setarray .woe_1[0], 75600,75600,75600,75600,75600,75600,75600; setarray .woe_state[0], 0, 1, 2, 3, 4, 0, 1; //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],1,0,0,0,0,0,0; setarray .woe_state_1[0],2,0,0,0,0,0,0; setarray .woe_state_2[0],4,0,0,0,0,0,0; setarray .woe_state_3[0],8,0,0,0,0,0,0; setarray .woe_state_4[0],16,0,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 [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { //count num castles per region set .num_castles[[email protected]], getarraysize(getd(".castles_" + .regions$[[email protected]] + "$")); } //convert timestamps to readable format for(set [email protected], 0; [email protected] < .num_woes; set [email protected], [email protected] + 1) { set [email protected], .woe_0[[email protected]] / 3600; set [email protected], .woe_0[[email protected]] % 3600 / 60; set [email protected]$, (([email protected] % 12)[email protected]%12:12) + ":" + (([email protected] < 10)?"0"[email protected]:[email protected]) + " " + (([email protected] > 12)?"PM":"AM"); set .woe_0_str$[[email protected]], [email protected]$; set [email protected], .woe_1[[email protected]] / 3600; set [email protected], .woe_1[[email protected]] % 3600 / 60; set [email protected]$, (([email protected] % 12)[email protected]%12:12) + ":" + (([email protected] < 10)?"0"[email protected]:[email protected]) + " " + (([email protected] > 12)?"PM":"AM"); set .woe_1_str$[[email protected]], [email protected]$; } //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 [email protected]$, ".woe_state_" + .num_states; set [email protected], 0; while([email protected] < getarraysize(getd([email protected]$))) { set .castleUsage[[email protected]], .castleUsage[[email protected]] | getd([email protected]$ + "[" + [email protected] + "]"); set [email protected], [email protected] + 1; } set .num_states, .num_states + 1; } for(set [email protected], 0; [email protected] < .num_states; set [email protected], [email protected] + 1) { set [email protected]_state_array$, ".woe_state_" + [email protected]; for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { if(.castleUsage[[email protected]] > 0) { set [email protected]$, ".castles_" + .regions$[[email protected]] + "$"; set [email protected]_check, getd([email protected]_state_array$ + "[" + [email protected] + "]"); if([email protected]_check == 0) { //region not in this state //region warp menu string set .region_warp$[[email protected]], .region_warp$[[email protected]] + "^DD0000" + .region_names$[[email protected]] + "^000000:"; continue; } else { if([email protected]_check >= ((1 << .num_castles[[email protected]]) - 1)) { //includes all castles...just list as region. setd(".woe_state_str_" + [email protected] + "$[" + [email protected] + "]", .region_names$[[email protected]]); //region warp menu string set .region_warp$[[email protected]], .region_warp$[[email protected]] + "^00DD00" + .region_names$[[email protected]] + "^000000:"; } else { set [email protected], 0; set [email protected]$, ""; while([email protected] < .num_castles[[email protected]]) { if([email protected]_check & (1 << [email protected])) { set [email protected]$, [email protected]$ + GetCastleName(getd([email protected]$+"["[email protected]+"]")); set [email protected]_check, [email protected]_check - (1 << [email protected]); if([email protected]_check) { if([email protected]$ != "") set [email protected]$, [email protected]$ + ", "; } else break; } set [email protected], [email protected] + 1; } setd(".woe_state_str_" + [email protected] + "$[" + [email protected] + "]", .region_names$[[email protected]] + " ("+ [email protected]$ + ")"); //region warp menu string set .region_warp$[[email protected]], .region_warp$[[email protected]] + "^00DD00" + .region_names$[[email protected]] + " ("+ [email protected]$ + ")^000000:"; } } } else { set .region_warp$[[email protected]], .region_warp$[[email protected]] + ":"; } } } donpcevent strnpcinfo(3)+"::OnFindCurIndex"; donpcevent strnpcinfo(3)+"::OnUpdateCountTick"; if(.active_woe) { if(.notify_woe) { //set mapflag for all castle maps for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { set [email protected]_array$, ".castles_" + .regions$[[email protected]] + "$"; for(set [email protected], 0; [email protected] < .num_castles[[email protected]]; set [email protected], [email protected] + 1) { setmapflag getd([email protected]_array$ + "[" + [email protected] + "]"), mf_loadevent; setd(".loadmap_region_" + getd([email protected]_array$ + "[" + [email protected] + "]"), [email protected] + 1); setd(".loadmap_castleIndex_" + getd([email protected]_array$ + "[" + [email protected] + "]"), [email protected]); } } } //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 [email protected]_day, gettime(4); set [email protected]_tick, gettimetick(1); set .woe_index, 0; set .state, 0; for(set [email protected], 0; [email protected] < .num_woes; set [email protected], [email protected] + 1) { if(.woe_day[[email protected]] < [email protected]_day) continue; if(.woe_day[[email protected]] == [email protected]_day) { if(.woe_0[[email protected]] >= [email protected]_tick) { set .woe_index, [email protected]; set .state, 0; break; } if(.woe_1[[email protected]] >= [email protected]_tick) { set .woe_index, [email protected]; set .state, 1; break; } } if(.woe_day[[email protected]] > [email protected]_day) { set .woe_index, [email protected]; 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([email protected]$, [email protected], [email protected], 0); set [email protected], getd(".loadmap_region_" + [email protected]$) - 1; if([email protected] >= 0) { set [email protected], getd(".loadmap_castleIndex_" + [email protected]$); if(getd(".woe_state_" + .woe_state[.woe_index] + "[" + [email protected] + "]") & 1 << [email protected]) dispbottom "The [" + GetCastleName([email protected]$) + "] castle is available for conquering during this WoE session"; else dispbottom "The [" + GetCastleName([email protected]$) + "] 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 [email protected]_state_array$, ".woe_state_" + .woe_state[.woe_index]; for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { set [email protected]$, ".castles_" + .regions$[[email protected]] + "$"; set [email protected]_check, getd([email protected]_state_array$ + "[" + [email protected] + "]"); for(set [email protected], 0; [email protected] < .num_castles[[email protected]]; set [email protected], [email protected] + 1) { set [email protected]$, getd([email protected]$+"["[email protected]+"]"); if(([email protected]_check & (1 << [email protected])) == 0) { donpcevent getd(".woe_kill_" + .regions$[[email protected]] + "$[" + [email protected] + "]"); } } } 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 [email protected]_state_array$, ".woe_state_" + .woe_state[.woe_index]; for(set [email protected], 0; [email protected] < .num_regions; set [email protected], [email protected] + 1) { set [email protected], 0; set [email protected]_check, getd([email protected]_state_array$ + "[" + [email protected] + "]"); set [email protected]$, ".castles_" + .regions$[[email protected]] + "$"; while([email protected]_check && [email protected] < .num_castles[[email protected]]) { if([email protected]_check & (1 << [email protected])) { set [email protected]$, getd([email protected]$+"["[email protected]+"]"); if (GetCastleData([email protected]$,1)) { announce "The [" + GetCastleName([email protected]$) + "] castle of the [" + .region_names$[[email protected]] + "] region is currently held by the [" + GetGuildName(GetCastleData([email protected]$,1)) + "] guild.",bc_all; } else { announce "The [" + GetCastleName([email protected]$) + "] castle of the [" + .region_names$[[email protected]] + "] region is currently unoccupied.",bc_all; } set [email protected]_check, [email protected]_check - (1 << [email protected]); } set [email protected], [email protected] + 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!! prontera,156,196,6 duplicate(WoE Info) WoE Info#2winfo 837 //--------------------------------------------------------------------------------------------------------------------- function script WoEToggler { //<state> = 0|1 if(getarg(0)) { AgitStart; } else { AgitEnd; } return; }
-
sir its not working
-
//For 1 hour WoE Only - script WoECountdown -1,{ OnAgitStart: initnpctimer; OnTimer1800000: announce "[WoE]: Last 30 minutes",0; end; OnTimer2400000: announce "[WoE]: Last 20 minutes",0; end; OnTimer3000000: announce "[WoE]: Last 10 minutes",0; end; OnTimer3300000: announce "[WoE]: Last 5 minutes",0; end; OnTimer3360000: announce "[WoE]: Last 4 minutes",0; end; OnTimer3420000: announce "[WoE]: Last 3 minutes",0; end; OnTimer3480000: announce "[WoE]: Last 2 minutes",0; end; OnTimer3540000: announce "[WoE]: Last 1 minute",0; end; OnTimer3570000: announce "[WoE]: Last 30 Seconds",0; end; OnTimer3571000: announce "[WoE]: Last 29 Seconds",0; end; OnTimer3572000: announce "[WoE]: Last 28 Seconds",0; end; OnTimer3573000: announce "[WoE]: Last 27 Seconds",0; end; OnTimer3574000: announce "[WoE]: Last 26 Seconds",0; end; OnTimer3575000: announce "[WoE]: Last 25 Seconds",0; end; OnTimer3576000: announce "[WoE]: Last 24 Seconds",0; end; OnTimer3577000: announce "[WoE]: Last 23 Seconds",0; end; OnTimer3578000: announce "[WoE]: Last 22 Seconds",0; end; OnTimer3579000: announce "[WoE]: Last 21 Seconds",0; end; OnTimer3580000: announce "[WoE]: Last 20 Seconds",0; end; OnTimer3581000: announce "[WoE]: Last 19 Seconds",0; end; OnTimer3582000: announce "[WoE]: Last 18 Seconds",0; end; OnTimer3583000: announce "[WoE]: Last 17 Seconds",0; end; OnTimer3584000: announce "[WoE]: Last 16 Seconds",0; end; OnTimer3585000: announce "[WoE]: Last 15 Seconds",0; end; OnTimer3586000: announce "[WoE]: Last 14 Seconds",0; end; OnTimer3587000: announce "[WoE]: Last 13 Seconds",0; end; OnTimer3588000: announce "[WoE]: Last 12 Seconds",0; end; OnTimer3589000: announce "[WoE]: Last 11 Seconds",0; end; OnTimer3590000: announce "[WoE]: Last 10 Seconds",0; end; OnTimer3591000: announce "[WoE]: Last 9 Seconds",0; end; OnTimer3592000: announce "[WoE]: Last 8 Seconds",0; end; OnTimer3593000: announce "[WoE]: Last 7 Seconds",0; end; OnTimer3594000: announce "[WoE]: Last 6 Seconds",0; end; OnTimer3595000: announce "[WoE]: Last 5 Seconds",0; end; OnTimer3596000: announce "[WoE]: Last 4 Seconds",0; end; OnTimer3597000: announce "[WoE]: Last 3 Seconds",0; end; OnTimer3598000: announce "[WoE]: Last 2 Seconds",0; end; OnTimer3599000: announce "[WoE]: Last 1 Second",0; stopnpctimer; end; } anyone can give me 2 hours countdown? thanks in advance
-
meron. try mo sa pony meron silang murang hosting na meron ng anti ddos
-
ung reflect hindi nppunta pally?
-
all soul link effects increase hp by 20% anyone?