glemor123
Members-
Content Count
287 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by glemor123
-
My client works perfect. but after I patch my client for new custom items using thor patcher. then I try to login in game. It tell Failed to authenticate then failed to connect the server. what could be the problem? i'm using 20120410
-
the npc won't give the prize to the winner. but only announce the team winner how to fix //////////////////////////////////////////////////////////////////////////endless_war mapflag battleground 2endless_war,218,86,0 script #BattleGroundwarpA2 100,{ end;OnInit: waitingroom "Join Team A(Click)",2,"#BattleGroundwarpA2::OnJoin",1; end;OnJoin: if(!$@bg_id_a) set $@bg_id_a,waitingroom2bg("endless_war",205,85,"",""); else waitingroom2bg_single($@bg_id_a,"endless_war",205,85,"#BattleGroundwarpA2"); warpwaitingpc "endless_war",205,85; end;}endless_war,40,86,0 script #BattleGroundwarpB2 100,{ end;OnInit: waitingroom "Join Team B(Click)",2,"#BattleGroundwarpB2::OnJoin",1; end;OnJoin: if(!$@bg_id_ set $@bg_id_b,waitingroom2bg("endless_war",53,85,"",""); else waitingroom2bg_single($@bg_id_b,"endless_war",53,85,"#BattleGroundwarpB2"); warpwaitingpc "endless_war",53,85; end;}endless_war,165,86,0 script #BattleGroundwarpA1 45,2,2,{changelook 407,1; warp "endless_war",161,86; end;}endless_war,90,86,0 script #BattleGroundwarpB1 45,2,2,{ changelook 374,1; warp "endless_war",94,86; end;}prontera,150,180,4 script Battle Ground 100,{ if(.status==2) { mes "Game is running."; close; } if(.status==1) { if(.playernm>=128) { mes "Sorry, full"; close; } select("Join"); if(!.playerid[1]) { //callsub OnEndd; initnpctimer; } set .playernm,.playernm+1; set .playerid[.playernm],getcharid(0); mes "Complete"; mes "Please Prepare Yourself"; mes "You Will be Warped Into the Battleground After a Few Minutes"; close; } end;OnClock0115:OnClock0315:OnClock0515:OnClock0715:OnClock0915:OnClock1115:OnClock1315:OnClock1515:OnClock1715:OnClock1915:OnClock2205:OnClock2315: callsub OnActive; end;OnActive: callsub OnEndd; set .status,1; Announce "[Battle Ground]:Someone active the game! Go to prontera,150,180 and join us!",0; end;OnTimer60000: if(.playernm<=1) { Announce "[Battle Ground]:Sorry, player amount isn't enough",0; callsub OnEndd; end; } Announce "[Battle Ground]:Event is ready!",0; for(set .@i,1;.@i<=.playernm;set .@i,.@i+1) { if(.@i%2==0) warpchar "endless_war",218,86,.playerid[.@i]; else warpchar "endless_war",40,86,.playerid[.@i]; } callsub OnEnab2; end;OnTimer90000: set .status,2; Announce "[Battle Ground]:Go!",0; bg_monster $@bg_id_a,"endless_war",128,120,"A",1907,"Battle Ground::OnAdestory"; bg_monster $@bg_id_b,"endless_war",127,46,"B",1907,"Battle Ground::OnBdestory"; callsub OnEnab1; end;OnTimer100000: if(.point[1]>.point[2]){ for( set .@i,1; .playerid[.@i]; set .@i,.@i+1 ) { if( attachrid(.playerid[.@i]) ) { if( getcharid(4) == $@bg_id_a ) getitem 7227,10; } } Announce "[Battle Ground]:Team A Win!",0;}else if(.point[2]>.point[1]) { for( set .@i,1; .playerid[.@i]; set .@i,.@i+1 ) { if( attachrid(.playerid[.@i]) ) { if( getcharid(4) == $@bg_id_b ) getitem 7227,10; } } Announce "[Battle Ground]:Team B Win!",0; }else { Announce "[Battle Ground]:Draw!",0; } sleep2 3000; callsub OnEndd; end;OnBdestory: set .point[1],.point[1]+5; set .point[2],.point[2]-3; bg_updatescore "endless_war",.point[1],.point[2]; detachrid; sleep2 10000; bg_monster $@bg_id_b,"endless_war",127,46,"B",1907,"Battle Ground::OnBdestory"; end;OnAdestory: set .point[2],.point[2]+5; set .point[1],.point[1]-3; bg_updatescore "endless_war",.point[1],.point[2]; detachrid; sleep2 10000; bg_monster $@bg_id_a,"endless_war",128,120,"A",1907,"Battle Ground::OnAdestory"; end;OnEndd: set .status,0; bg_destroy $@bg_id_a; bg_destroy $@bg_id_b; set $@bg_id_a,0; set $@bg_id_b,0; setarray .point[1],0,0; killmonsterall "endless_war"; bg_updatescore "endless_war",.point[1],.point[2]; deletearray .playerid[0],128; mapwarp "endless_war","prontera",150,180; callsub OnDisa; return;OnEnab1: enablenpc "#BattleGroundwarpA1"; enablenpc "#BattleGroundwarpB1"; return;OnEnab2: enablenpc "#BattleGroundwarpA2"; enablenpc "#BattleGroundwarpB2"; return;OnDisa: disablenpc "#BattleGroundwarpA1"; disablenpc "#BattleGroundwarpB1"; disablenpc "#BattleGroundwarpA2"; disablenpc "#BattleGroundwarpB2"; return;OnInit: sleep2 10000; setwall "endless_war",218,87,1,1,0,"BattleGroundwarpA21"; setwall "endless_war",219,87,1,1,0,"BattleGroundwarpA22"; setwall "endless_war",219,86,1,1,0,"BattleGroundwarpA23"; setwall "endless_war",219,85,1,1,0,"BattleGroundwarpA24"; setwall "endless_war",218,85,1,1,0,"BattleGroundwarpA25"; setwall "endless_war",217,85,1,1,0,"BattleGroundwarpA26"; setwall "endless_war",217,86,1,1,0,"BattleGroundwarpA27"; setwall "endless_war",217,87,1,1,0,"BattleGroundwarpA28"; setwall "endless_war",40,87,1,1,0,"BattleGroundwarpB21"; setwall "endless_war",41,87,1,1,0,"BattleGroundwarpB22"; setwall "endless_war",41,86,1,1,0,"BattleGroundwarpB23"; setwall "endless_war",41,85,1,1,0,"BattleGroundwarpB24"; setwall "endless_war",40,85,1,1,0,"BattleGroundwarpB25"; setwall "endless_war",39,85,1,1,0,"BattleGroundwarpB26"; setwall "endless_war",39,86,1,1,0,"BattleGroundwarpB27"; setwall "endless_war",39,87,1,1,0,"BattleGroundwarpB28"; callsub OnEndd; end;OnPCKillEvent: if(strcharinfo(3)=="endless_war" && $@bg_id_a && $@bg_id_ { if(getcharid(4) == $@bg_id_a) { set .point[1],.point[1]+1; }else set .point[2],.point[2]+1; bg_updatescore "endless_war",.point[1],.point[2]; } end;}
-
COOL!. Now it Works. thank you so much
-
invek,135,164,5 script Guild Package 734,{ .@req_online = 4; // how many players need to online to claim. Default: 11 .@req_lv = 255; // minimum level of .@online players that has to be. Default: MAX_LEVEL in mmo.h mes "^FF0000The Guild Level must be level 50^000000"; mes ""; mes "^FF0000You must have 11 players online^000000 in your guild including the guild master"; mes ""; mes "^FF0000All you the player in the guild must be level 255^000000"; mes ""; mes "^00FF00Bound items^0000FF that gained cannot be "; mes "traded it to other account,sold,"; mes "nor dropped"; next; mes "The Guild Master Will Receive The Following"; mes " ^FF0000 1x Ghostring Card ^000000"; mes " ^FF0000 1x Moonlight Card ^000000"; mes " ^FF0000 4x Turtle General Card ^000000"; mes " ^FF0000 1x Thara Frog Card ^000000"; mes " ^FF0000 1x Orc hero Card ^000000"; mes " ^FF0000 1x Evil Snake Lord Card ^000000"; mes " ^FF0000 1x Raydric Card ^000000"; mes " ^FF0000 1x General Egnigem Cenia Card ^000000"; mes " ^FF0000 1x Hollow Mask(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Helm(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Armor(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Mantue(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shoes(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shield(BOUND) ^000000"; mes " ^FF0000 1000x Super Fish Slice(BOUND) ^000000"; mes " ^FF0000 10x Emergency Level 3 Scroll(BOUND) ^000000"; mes "^00FF00 1x Wing of Choice ^000000"; mes " ^FF0000 Arch demon wing OR Deviling Wing OR Angeling Wing(BOUND) ^000000"; mes "^00FF00 Random Items(BOUND) ^000000"; mes " ^FF0000 1x Earth Headprotector ^000000"; mes " ^FF0000 1x Fire Headprotector ^000000"; mes " ^FF0000 1x Lightning Headprotector ^000000"; mes " ^FF0000 1x Sound Headprotector ^000000"; mes " ^FF0000 1x Water Headprotector ^000000"; next; mes "The Guild Member Will Receive The Following"; mes " ^FF0000 1x Ghostring Card ^000000"; mes " ^FF0000 1x Moonlight Card ^000000"; mes " ^FF0000 4x Turtle General Card ^000000"; mes " ^FF0000 1x Thara Frog Card ^000000"; mes " ^FF0000 1x Orc hero Card ^000000"; mes " ^FF0000 1x Evil Snake Lord Card ^000000"; mes " ^FF0000 1x Raydric Card ^000000"; mes " ^FF0000 1x General Egnigem Cenia Card ^000000"; mes " ^FF0000 1x Hollow Mask(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Helm(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Armor(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Mantue(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shoes(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shield(BOUND) ^000000"; mes " ^FF0000 500x Super Fish Slice(BOUND) ^000000"; mes "^00FF00 1x Wing of Choice ^000000"; mes " ^FF0000 Arch demon wing OR Deviling Wing OR Angeling Wing(BOUND) ^000000"; mes "^00FF00 Random Items(BOUND) ^000000"; mes " ^FF0000 1x Earth Headprotector ^000000"; mes " ^FF0000 1x Fire Headprotector ^000000"; mes " ^FF0000 1x Lightning Headprotector ^000000"; mes " ^FF0000 1x Sound Headprotector ^000000"; mes " ^FF0000 1x Water Headprotector ^000000"; next; if ( !getcharid(2) ) { mes "You must have a guild"; close; } if ( getguildmasterid( getcharid(2) ) != getcharid(0) ) { mes "You cannot request the Guild Package,"; mes "only the guild master can request for the package"; close; } query_sql "SELECT guild_lv FROM guild WHERE guild_id = "+getcharid(2), .@guild_lv; if ( .@guild_lv != 50 ) { mes "You're guild level must be level 50"; close; } getguildmember getcharid(2), 1; getguildmember getcharid(2), 2; for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) .@online++; if ( .@online < .@req_online ) { mes "Your guild must have "+ .@req_online +" guild members online including the guild master"; close; } .@origin = getcharid(3); for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) { if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) { attachrid $@guildmemberaid[.@i]; if ( BaseLevel < .@req_lv ) { .@deny_name$[.@c] = strcharinfo(0); .@c++; } } } attachrid .@origin; if ( .@c ) { mes "There are "+ .@c +" member does not meet the level requirement"; mes "All members must be level 255"; mes implode( .@deny_name$, "," ); close; } for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) { if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) { attachrid $@guildmemberaid[.@i]; if ( #guild_package_claimeddd1211111 ) { .@deny_name$[.@c] = strcharinfo(0); .@c++; } } } attachrid .@origin; if ( .@c ) { mes "There are "+ .@c +" members already claimed this package within their account"; mes implode( .@deny_name$, "," ); close; } if ( query_sql( "select account_id as aaa, ( select last_ip from login where account_id = aaa ) as last_ip from guild_member where guild_id = "+ getcharid(2) +" group by last_ip", .@aid, .@ip$ ) < .@req_online ) { mes "same ip detected"; .@nb = query_sql( "select name, account_id as aaa, ( select last_ip from login where account_id = aaa ) as last_ip from guild_member where guild_id = "+ getcharid(2), .@name$, .@aid, .@ip$ ); for ( .@i = 0; .@i < .@nb; .@i++ ) mes (.@i +1)+". "+ .@name$[.@i] +" ("+ .@ip$ +")"; next; } mes "pass"; for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) { if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) { attachrid $@guildmemberaid[.@i]; if ( getguildmasterid( getcharid(2) ) != $@guildmembercid[.@i] ){ getitem 4047,1; getitem 4058,1; getitem 4143,1; getitem 4330,1; getitem 4133,1; getitem 4352,1; getitem 4131,1; getitem 4305,4; getitembound 30021,1,1; getitembound 30032,1,1; getitembound 30033, 1,1; getitembound 30034, 1,1; getitembound 30035, 1,1; getitembound 30036, 1,1; getitembound 14524, 500,1; getitembound callfunc( "F_Rand", 30082, 30083, 30084, 30085, 30086, 30087 ), 1,1; }else if ( getguildmasterid( getcharid(2) ) == $@guildmembercid[.@i] ){ getitem 4047, 1; getitem 4058, 1; getitem 4143, 1; getitem 4330, 1; getitem 4133, 1; getitem 4352, 1; getitem 4131,1; getitem 4305,4; getitembound 30021, 1,1; getitembound 30032, 1,1; getitembound 30033, 1,1; getitembound 30034, 1,1; getitembound 30035, 1,1; getitembound 30036, 1,1; getitembound 14524, 1000,1; getitembound 12970, 10,1; getitembound callfunc( "F_Rand", 30082, 30083, 30084, 30085, 30086, 30087 ), 1,1;}if( getguildmasterid( getcharid(2) ) != $@guildmembercid[.@i] || getguildmasterid( getcharid(2) ) == $@guildmembercid[.@i]){doevent "validation_sys::OnValidate";} #guild_package_claimeddd1211111 = 1; } } attachrid .@origin; close;} - script validation_sys -1,{OnValidate: switch( select( "Arch demon wing:Deviling Wing:Angeling Wing" ) ) { case 1: //getitem <item id>,<amount> getitembound 30027,1,1;skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;skilleffect 34,0; sc_start SC_BLESSING,360000,10;skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; break; case 2: //getitem <item id>,<amount> getitembound 30028,1,1;skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;skilleffect 34,0; sc_start SC_BLESSING,360000,10;skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; break; case 3: //getitem <item id>,<amount> getitembound 30030,1,1;skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;skilleffect 34,0; sc_start SC_BLESSING,360000,10;skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; break; default: break; } close;} I tried your suggestion GMOcean.but doesn't work
-
Time Stamp: 0x4c52288f - Fri Jul 30 09:19:11 2010Exception Type: 0xc00000050x0041d863 Test Ragnarok Online.exe0x00532113 Test Ragnarok Online.exe0x005a6696 Test Ragnarok Online.exe0x005a4bb2 Test Ragnarok Online.exe0x005a4796 Test Ragnarok Online.exe0x007030f3 Test Ragnarok Online.exe0x0071762d Test Ragnarok Online.exeeax: 0x00000000 ebx: 0x242a9978ecx: 0x00000000 edx: 0x1e3125ccesi: 0x000000d2 edi: 0x0018fae0ebp: 0x0018faa8 esp: 0x0018faa8stack 0018faa8 - 0018fea80018FAA8 : 04 FB 18 00 13 21 53 00 00 00 00 00 00 00 00 000018FAB8 : 0B 02 00 00 00 00 00 00 00 00 00 00 00 00 00 000018FAC8 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000018FAD8 : 00 00 00 00 00 00 00 00 CE 4F 44 00 0B 00 00 000018FAE8 : 00 00 00 00 FF FF FF FF 00 00 00 00 A0 46 81 000018FAF8 : A0 46 81 00 07 00 00 00 E0 46 81 00 70 FB 18 000018FB08 : 96 66 5A 00 D2 00 00 00 0B 02 00 00 00 00 00 000018FB18 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F0018FB28 : 00 00 00 00 FF FF FF FA 01 00 00 00 78 99 2A 240018FB38 : F0 26 4A 74 80 01 00 00 11 0A 31 1E 0B 00 00 000018FB48 : 1F 00 00 00 80 26 4A 74 71 00 31 1E 0B 00 00 000018FB58 : 1F 00 00 00 71 00 31 1E 11 0A 31 1E BC FB 18 000018FB68 : A0 36 73 00 01 00 00 00 98 FB 18 00 B2 4B 5A 000018FB78 : 00 00 00 00 78 99 2A 24 EF 10 61 75 7C 2C 3E 750018FB88 : 20 35 3E 75 01 00 00 00 00 00 00 00 C8 FB 18 000018FB98 : C8 FB 18 00 96 47 5A 00 72 42 81 00 9A 42 81 00Launch Info018E 018D 016A 016A 013A 00A6 018E 018D0000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 0000Job : Mastersmithbasta yung na seselect langayanyanTime Stamp: 0x4c52288f - Fri Jul 30 09:19:11 2010Exception Type: 0xc00000050x0041d863 Test Ragnarok Online.exe0x00532113 Test Ragnarok Online.exe0x005a6696 Test Ragnarok Online.exe0x005a4bb2 Test Ragnarok Online.exe0x005a4796 Test Ragnarok Online.exe0x007030f3 Test Ragnarok Online.exe0x0071762d Test Ragnarok Online.exeeax: 0x00000000 ebx: 0x242a9978ecx: 0x00000000 edx: 0x1e3125ccesi: 0x000000d2 edi: 0x0018fae0ebp: 0x0018faa8 esp: 0x0018faa8stack 0018faa8 - 0018fea80018FAA8 : 04 FB 18 00 13 21 53 00 00 00 00 00 00 00 00 000018FAB8 : 0B 02 00 00 00 00 00 00 00 00 00 00 00 00 00 000018FAC8 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000018FAD8 : 00 00 00 00 00 00 00 00 CE 4F 44 00 0B 00 00 000018FAE8 : 00 00 00 00 FF FF FF FF 00 00 00 00 A0 46 81 000018FAF8 : A0 46 81 00 07 00 00 00 E0 46 81 00 70 FB 18 000018FB08 : 96 66 5A 00 D2 00 00 00 0B 02 00 00 00 00 00 000018FB18 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 3F0018FB28 : 00 00 00 00 FF FF FF FA 01 00 00 00 78 99 2A 240018FB38 : F0 26 4A 74 80 01 00 00 11 0A 31 1E 0B 00 00 000018FB48 : 1F 00 00 00 80 26 4A 74 71 00 31 1E 0B 00 00 000018FB58 : 1F 00 00 00 71 00 31 1E 11 0A 31 1E BC FB 18 000018FB68 : A0 36 73 00 01 00 00 00 98 FB 18 00 B2 4B 5A 000018FB78 : 00 00 00 00 78 99 2A 24 EF 10 61 75 7C 2C 3E 750018FB88 : 20 35 3E 75 01 00 00 00 00 00 00 00 C8 FB 18 000018FB98 : C8 FB 18 00 96 47 5A 00 72 42 81 00 9A 42 81 00Launch Info018E 018D 016A 016A 013A 00A6 018E 018D0000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0000 0000 0000 0000Job : Mastersmith I'm using 2010-07-30. when I use bulk vending skill using the market ticket item. i got this error
-
u I updated my thread. the problem is a menu popup first to the GM to choose the wing that the GM wants after choosing the wing. A menu pops up to 1 member then choose a wing after choosing a menu will popup to another player. what I want to be solve is that the menu will appear to all the players including the GM in a guild at once. not one at a time
-
invek,135,164,5 script Guild Package 734,{ .@req_online = 11; // how many players need to online to claim. Default: 11 .@req_lv = 255; // minimum level of .@online players that has to be. Default: MAX_LEVEL in mmo.h mes "^FF0000The Guild Level must be level 50^000000"; mes ""; mes "^FF0000You must have 11 players online^000000 in your guild including the guild master"; mes ""; mes "^FF0000All you the player in the guild must be level 255^000000"; mes ""; mes "^00FF00Bound items^0000FF that gained cannot be "; mes "traded it to other account,sold,"; mes "nor dropped"; next; mes "The Guild Master Will Receive The Following"; mes " ^FF0000 1x Ghostring Card ^000000"; mes " ^FF0000 1x Moonlight Card ^000000"; mes " ^FF0000 4x Turtle General Card ^000000"; mes " ^FF0000 1x Thara Frog Card ^000000"; mes " ^FF0000 1x Orc hero Card ^000000"; mes " ^FF0000 1x Evil Snake Lord Card ^000000"; mes " ^FF0000 1x Raydric Card ^000000"; mes " ^FF0000 1x General Egnigem Cenia Card ^000000"; mes " ^FF0000 1x Hollow Mask(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Helm(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Armor(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Mantue(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shoes(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shield(BOUND) ^000000"; mes " ^FF0000 1000x Super Fish Slice(BOUND) ^000000"; mes " ^FF0000 10x Emergency Level 3 Scroll(BOUND) ^000000"; mes "^00FF00 1x Wing of Choice ^000000"; mes " ^FF0000 Arch demon wing OR Deviling Wing OR Angeling Wing(BOUND) ^000000"; mes "^00FF00 Random Items(BOUND) ^000000"; mes " ^FF0000 1x Earth Headprotector ^000000"; mes " ^FF0000 1x Fire Headprotector ^000000"; mes " ^FF0000 1x Lightning Headprotector ^000000"; mes " ^FF0000 1x Sound Headprotector ^000000"; mes " ^FF0000 1x Water Headprotector ^000000"; next; mes "The Guild Member Will Receive The Following"; mes " ^FF0000 1x Ghostring Card ^000000"; mes " ^FF0000 1x Moonlight Card ^000000"; mes " ^FF0000 4x Turtle General Card ^000000"; mes " ^FF0000 1x Thara Frog Card ^000000"; mes " ^FF0000 1x Orc hero Card ^000000"; mes " ^FF0000 1x Evil Snake Lord Card ^000000"; mes " ^FF0000 1x Raydric Card ^000000"; mes " ^FF0000 1x General Egnigem Cenia Card ^000000"; mes " ^FF0000 1x Hollow Mask(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Helm(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Armor(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Mantue(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shoes(BOUND) ^000000"; mes " ^FF0000 1x Silver Valkyrie Shield(BOUND) ^000000"; mes " ^FF0000 500x Super Fish Slice(BOUND) ^000000"; mes "^00FF00 1x Wing of Choice ^000000"; mes " ^FF0000 Arch demon wing OR Deviling Wing OR Angeling Wing(BOUND) ^000000"; mes "^00FF00 Random Items(BOUND) ^000000"; mes " ^FF0000 1x Earth Headprotector ^000000"; mes " ^FF0000 1x Fire Headprotector ^000000"; mes " ^FF0000 1x Lightning Headprotector ^000000"; mes " ^FF0000 1x Sound Headprotector ^000000"; mes " ^FF0000 1x Water Headprotector ^000000"; next; if ( !getcharid(2) ) { mes "You must have a guild"; close; } if ( getguildmasterid( getcharid(2) ) != getcharid(0) ) { mes "You cannot request the Guild Package,"; mes "only the guild master can request for the package"; close; } query_sql "SELECT guild_lv FROM guild WHERE guild_id = "+getcharid(2), .@guild_lv; if ( .@guild_lv != 50 ) { mes "You're guild level must be level 50"; close; } getguildmember getcharid(2), 1; getguildmember getcharid(2), 2; for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) .@online++; if ( .@online < .@req_online ) { mes "Your guild must have "+ .@req_online +" guild members online including the guild master"; close; } .@origin = getcharid(3); for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) { if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) { attachrid $@guildmemberaid[.@i]; if ( BaseLevel < .@req_lv ) { .@deny_name$[.@c] = strcharinfo(0); .@c++; } } } attachrid .@origin; if ( .@c ) { mes "There are "+ .@c +" member does not meet the level requirement"; mes "All members must be level 255"; mes implode( .@deny_name$, "," ); close; } for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) { if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) { attachrid $@guildmemberaid[.@i]; if ( #guild_package_claimeddd ) { .@deny_name$[.@c] = strcharinfo(0); .@c++; } } } attachrid .@origin; if ( .@c ) { mes "There are "+ .@c +" members already claimed this package within their account"; mes implode( .@deny_name$, "," ); close; } if ( query_sql( "select account_id as aaa, ( select last_ip from login where account_id = aaa ) as last_ip from guild_member where guild_id = "+ getcharid(2) +" group by last_ip", .@aid, .@ip$ ) < .@req_online ) { mes "same ip detected"; .@nb = query_sql( "select name, account_id as aaa, ( select last_ip from login where account_id = aaa ) as last_ip from guild_member where guild_id = "+ getcharid(2), .@name$, .@aid, .@ip$ ); for ( .@i = 0; .@i < .@nb; .@i++ ) mes (.@i +1)+". "+ .@name$[.@i] +" ("+ .@ip$ +")"; next; } mes "pass"; for ( .@i = 0; .@i < $@guildmembercount; .@i++ ) { if ( isloggedin( $@guildmemberaid[.@i], $@guildmembercid[.@i] ) ) { attachrid $@guildmemberaid[.@i]; if ( getguildmasterid( getcharid(2) ) != $@guildmembercid[.@i] ){ getitem 4047,1; getitem 4058,1; getitem 4143,1; getitem 4330,1; getitem 4133,1; getitem 4352,1; getitem 4131,1; getitem 4305,4; getitembound 30021,1,1; getitembound 30032,1,1; getitembound 30033, 1,1; getitembound 30034, 1,1; getitembound 30035, 1,1; getitembound 30036, 1,1; getitembound 14524, 500,1; getitembound callfunc( "F_Rand", 30082, 30083, 30084, 30085, 30086, 30087 ), 1,1; }else if ( getguildmasterid( getcharid(2) ) == $@guildmembercid[.@i] ){ getitem 4047, 1; getitem 4058, 1; getitem 4143, 1; getitem 4330, 1; getitem 4133, 1; getitem 4352, 1; getitem 4131,1; getitem 4305,4; getitembound 30021, 1,1; getitembound 30032, 1,1; getitembound 30033, 1,1; getitembound 30034, 1,1; getitembound 30035, 1,1; getitembound 30036, 1,1; getitembound 14524, 1000,1; getitembound 12970, 10,1; getitembound callfunc( "F_Rand", 30082, 30083, 30084, 30085, 30086, 30087 ), 1,1;}if( getguildmasterid( getcharid(2) ) != $@guildmembercid[.@i] || getguildmasterid( getcharid(2) ) == $@guildmembercid[.@i]){switch( select( "Arch demon wing:Deviling Wing:Angeling Wing" ) ) { case 1: //getitem <item id>,<amount> getitembound 30027,1,1;skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;skilleffect 34,0; sc_start SC_BLESSING,360000,10;skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; break; case 2: //getitem <item id>,<amount> getitembound 30028,1,1;skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;skilleffect 34,0; sc_start SC_BLESSING,360000,10;skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; break; case 3: //getitem <item id>,<amount> getitembound 30030,1,1;skilleffect 361,0; sc_start SC_ASSUMPTIO,360000,5;skilleffect 34,0; sc_start SC_BLESSING,360000,10;skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10; break; default: break; }} #guild_package_claimeddd = 1; } } attachrid .@origin; close;} All the members must be given gpack. but out of 11 players. 2 players was only given. I think thr switch( select( function is the problem. Because after obtaining the freebies. each player including the guild master will choose there own choice of wing
-
My goldroom delay works. But if the players gets disconnected or leaved the gold room area he/she will need to wait 24 hours even though the player haven't finished the 1 hour. I want that eventhough the player gets disconnected or leaved the gold room. the player can still go back inside the room if the player didn't finish the 1 hour yet // monster spawn for gold droppingordeal_3-2,0,0,0,0 monster Dokebi 1110,700,0,0,"Gold Room::OnGetGold"invek,161,154,3 script Gold Room 745,{function Generatetor;mes "Do you want to go to Gold room ?";mes "It Will Cost You 1,000,000 Zeny";next;mes "If you get Disconnected While Inside the Gold ROOM you can't return to the gold room anymore.";mes "You have to wait for 24 hours to be able to enter the GOLD ROOM again";next;if( Zeny < .zeny_cost ){mes "You Don't have 1 million zeny come back next time";end;}if( select( "Yes","No" ) == 1 ){ next; mes "Bot Checking..."; mes "Enter the ^FF0000RED COLOR^000000 Code.."; .@string$ = Generatetor( 15,rand(5,10) ); mes " "; mes "^0055FF"+Generatetor( 15,rand(2,6) )+" ^FF0000"+.@string$+"^0055FF "+Generatetor( 15,rand(2,6) )+"^000000"; input .@input$; next; if( .@input$ != .@string$ ){ mes "You entered Wrong code."; mes "^777777You will be kicked out from game^000000"; sleep2 3000; atcommand "@kick "+strcharinfo(0); }else{ mes "Done,..you may proceed into Gold Room by paying ^FF0000"+.zeny_cost+" zeny."; if( Zeny >= .zeny_cost ){ if( select( "Pay and Enter Gold Room","Cancel" ) == 1 ){ Zeny -= .zeny_cost; function t;function s; if ( #cooldown_warp > gettimetick(2) ) { mes "you must wait "+ t( #cooldown_warp - gettimetick(2) ); close; } warp .map$,0,0; #cooldown_warp = gettimetick(2) + 86400;// 86400 secs = 1h addtimer ( 3 *60 *40000 ), strnpcinfo(3) +"::OnEvent";// 3 hours end;OnEvent: dispbottom "Gold Hunt is Over"; warp "invek",146,173; end;function t { if ( ( .@left = getarg(0) ) <= 0 ) return getarg(0); .@week = .@left / ( 86400 * 7 ); .@day = .@left / 86400; .@hour = .@left % 86400 / 3600; .@min = .@left % 3600 / 60; .@sec = .@left % 60; return ( ( .@week ? .@week +" week"+ s( .@week ) : "" ) + ( .@day ? .@day +" day"+ s( .@day ) : "" ) + ( .@hour ? .@hour +" hour"+ s( .@hour ) : "" ) + ( .@min ? .@min +" min"+ s( .@min ) : "" ) + ( .@sec ? .@sec +" sec"+ s( .@sec,1 ) : "" ) );function s { return ( ( getarg(0) > 1 ? "s" : "" ) + ( getarg(1,0) ? "" : " " ) ); }} } } }}close;OnGetGold: getitem 969,1; dispbottom "Gained a Gold."; end;OnInit:// map used for gold room.map$ = "ordeal_3-2";// entrance fee.zeny_cost = 1000000;// mapflag listsetarray .mapflag, mf_nomemo, mf_noteleport, mf_nosave, mf_nobranch, mf_notrade, mf_nowarp, mf_nomobloot, mf_nomvploot, mf_noreturn, mf_nowarpto, mf_nocommand, mf_nodrop, mf_novending, mf_nochat, mf_noskill, mf_monster_noteleport;.mapflag_size = getarraysize( .mapflag );for( .@i = 0; .@i < .mapflag_size; .@i++ ) setmapflag .map$,.mapflag[.@i];end;// Generatetor( <mode>,<length> );function Generatetor { .@mode = getarg(0); .@length = getarg(1); if( .@mode & 1 ) setarray .@word$[ getarraysize( .@word$ ) ],"1","2","3","4","5","6","7","8","9","0"; if( .@mode & 2 ) setarray .@word$[ getarraysize( .@word$ ) ],"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","U","X","Y","Z"; if( .@mode & 4 ) setarray .@word$[ getarraysize( .@word$ ) ],"a","b","c","d","e","f","g","h","j","k","m","n","o","p","q","r","s","t","u","x","y","z"; if( .@mode & 8 ) setarray .@word$[ getarraysize( .@word$ ) ],"!","@","#","$","%","^","&","*","(",")","-","=","/","+"; .@word_size = getarraysize( .@word$ ); while( getstrlen( .@string$ ) < .@length ) .@string$ = .@string$ + .@word$[ rand( .@word_size ) ]; return .@string$;}waitingroom "Gold Room",0;}// Warpsordeal_3-2.gat,130,193,0 warp testwrp#1 3,3,ordeal_3-2.gat,154,154ordeal_3-2.gat,106,154,0 warp testwrp#2 3,3,ordeal_3-2.gat,154,154ordeal_3-2.gat,201,129,0 warp testwrp#3 3,3,ordeal_3-2.gat,154,154ordeal_3-2.gat,177,193,0 warp testwrp#4 3,3,ordeal_3-2.gat,154,154ordeal_3-2.gat,289,129,0 warp testwrp#5 3,3,ordeal_3-2.gat,154,154
-
I'm requesting for the source on how to enable Star Gladiators to Use Parryling with Books
-
//=============Valkyrie Quest============== //===================== BTS ===================================================== function script epoch_time { .@time = getarg(0); .@hour = ( .@time / 3600 ); .@min = ( .@time % 3600 / 60 ); .@sec = ( .@time % 3600 % 60 ); return sprintf( "%02d hr %02d min %02d sec",.@hour,.@min,.@sec );} invek,177,166,2 script Break The Seal 811,{ mes "[ Break The Seal ]";if ( BaseLevel < .level[0] || JobLevel < .level[1] ) { mes"Only Base Level "+.level[0]+" and Job Level "+.level[1]+" Player can use my services.";}else if ( bry_bry >= 1 ) { mes "You've already surpassed this quest and there is no point in doing it again.";}else if ( hen_hen >= 1 ) { mes "Go out and search the Fields of Payon the Fields of Geffen and the Towns of Lighthalzen and Comodo for the Valkyrie Equipments";}else if ( gettimetick(2) < #delay_bst ) { mes "Break the Seal Quest Cooldown."; mes "Cool down: "+epoch_time( #delay_bst - gettimetick(2) );}else { mes "I will foretell you about Breaking the Seal Quest"; mes "I am the guardian of the seal, break it and recieve my treasure."; next; mes "[ Break The Seal ]"; mes "These are what I need"; for ( .@i = 0; .@i < .item_size; .@i += 2 ) { mes "^777777 ~ "+.item[.@i+1]+" x "+getitemname( .item[.@i] )+"^000000"; if ( countitem( .item[.@i] ) < .item[.@i+1] ) .@fail++; } next; mes "[ Break The Seal ]"; if ( .@fail ) { mes "*piff*"; mes "You lack some items."; mes "I do not accept cowardice, come back to me when you're brave enough."; } else { mes "So, are you up to my quest dear child?"; if ( select( "Yes!.","No, I'm Sorry.") == 2 ) { mes "[ Break The Seal ]"; mes "Well too bad"; mes "Child, I don't like to call you a coward, but you are."; } else { for ( .@i = 0; .@i < .item_size; .@i += 2 ) delitem .item[.@i],.item[.@i+1]; mes "Another brave one succeded."; next; .@gamble1 = rand( 500 ); if ( .@gamble1 > 200 && .@gamble1 < 205 ) { .@gamble2 = rand( 10 ); if ( .@gamble2 < 3 ) .@item = 7086; else if ( .@gamble2 < 5 ) .@item = 7090; else if ( .@gamble2 < 7 ) .@item = 7091; else if ( .@gamble2 < 9 ) .@item = 7077; else .@item = 7078; } else if ( .@gamble1 <= 200 ) .@item = 7086; // esg else if ( .@gamble1 <= 300 ) .@item = 7090; // ripple else if ( .@gamble1 <= 400 ) .@item = 7091; // billow else if ( .@gamble1 <= 480 ) .@item = 7077; // silver else .@item = 7078; // wov getitem .@item,1; set ron_ron,1; #delay_bst = gettimetick(2) + .delay; mes "[ Break The Seal ]"; mes "Ah, you have out done your self!"; mes "Thank you for your aid."; mes "Now start your journey to find my Nephews who hold the Valkyries"; announce "Wow! The Seal has been annihilated by "+strcharinfo(0)+" He has just broken the seal and will start the quest of Valkyrie!",0x33FF66; } }}close; OnInit: .delay = 604800; setarray .level,255,120; setarray .item, 1054,100, 7289,50, 7297,50, 7018,20, 7020,20, 7035,15, 1009,200, 7442,100, 7227,30, 4399,1; .item_size = getarraysize( .item ) - 1; end;} pay_fild10.gat,182,157,5 script Kimuel 900,{ mes "[ Kimuel ]";if ( bry_bry >= 1 ) { mes "This quest, once done there is no more repeating";}else if ( kim_kim >= 1) { mes "As I said, complete the Valkyrie Quest"; mes "And then speak to Bryan";}else if ( ron_ron < 1 ) { mes "Are you the delivery boy of Pizza Hut?"; mes "If not go away I don't need you!";}else if ( gettimetick(2) < #delay_bst ) { mes "Break the Seal Quest Cooldown."; mes "Cool down: "+epoch_time( #delay_bst - gettimetick(2) );}else { mes "Oh Grasya Santisimo!!"; mes "You have spoken to Uncle Break The Seal!?"; next; mes "[ Kimuel ]"; mes "By the way I am Kimuel of Payon the Crafter of the Valkyrie Armor"; mes "Would you like to possess it?"; next; mes "[ Kimuel ]"; if ( select( "Yes, I deserve it!","No, I'm not good enough." ) == 2 ) { mes "Wacha Wachi Wacho... Go! Shoooo"; mes "Just speak to me if you want it already"; } else { mes "This Great Armor is very complicated, it needs very rare materials to craft it. If you really want to possess it gather these items for me"; next; for ( .@i = 0; .@i < .item_size; .@i += 2 ) { mes "^777777 ~ "+.item[.@i+1]+" x "+getitemname( .item[.@i] )+"^000000"; if ( countitem( .item[.@i] ) < .item[.@i+1] ) .@fail++; } next; mes "[ Kimuel ]"; if ( .@fail ) { mes "As I said, one missing material and all the others go to waste"; } else { mes "[ Kimuel ]"; mes "Very well done my friend you have finished the quest and acquired the Valkyrie Armor."; for ( .@i = 0; .@i < .item_size; .@i += 2 ) delitem .item[.@i],.item[.@i+1]; mes "Another brave one succeded."; next; getitem 2357,1; set kim_kim,1; #delay_bst = gettimetick(2) + .delay; next; mes "[ Kimuel ]"; mes "Good Job! Enjoy your precious item."; mes "Now, go ahead and seek my Brothers and Cousins to finish the quest"; mes "And when you gain the Valkyrie Set speak to Bryan"; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow!"+strcharinfo(0)+" has just acquired the mystical Valkyrie Armor.",8; } }}close; OnInit: .delay = 604800; setarray .item, 7443,300, 7444,300, 2315,1,7227,30, 4330,1; .item_size = getarraysize( .item ) - 1; end;} gef_fild07.gat,185,249,5 script Jhep 899,{ mes "[ Jhep ]";if ( bry_bry >=1 ) { mes "Dude, you can only do this quest once!";}else if ( jhe_jhe >=1 ) { mes "Complete the Valkyrie Quest and speak to Bryan";}else if ( ron_ron < 1 ) { mes "I am sight seeing, don't disturb me"; mes "Go far far away from me!!";}else if ( gettimetick(2) < #delay_bst ) { mes "Break the Seal Quest Cooldown."; mes "Cool down: "+epoch_time( #delay_bst - gettimetick(2) );}else { mes "Oh, you know my Uncle?"; mes "Well, nice to meet you. I'm Jhep"; mes "I craft the Valkyrie Shield"; mes "Would you like me to craft the said shield for you?"; next; mes "[ Jhep ]"; if ( select( "Okay","Nope" ) == 2 ) { mes "Okay, talk to me later."; } else { mes "The Valkyrie Shield is a very difficult item to craft and the materials are rare. Well if you're sure you want to make it.."; mes "Then these are the items I need."; next; mes "[ Jhep ]"; for ( .@i = 0; .@i < .item_size; .@i += 2 ) { mes "^777777 ~ "+.item[.@i+1]+" x "+getitemname( .item[.@i] )+"^000000"; if ( countitem( .item[.@i] ) < .item[.@i+1] ) .@fail++; } if ( .@fail ) { mes "You don't have the items!"; } else { mes "Wow, thanks!"; for ( .@i = 0; .@i < .item_size; .@i += 2 ) delitem .item[.@i],.item[.@i+1]; mes "Nicely done isn't? Enjoy the shield"; mes "So now, continue to search for my friends."; mes "And when you gain the Valkyrie Set speak to Bryan"; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow! "+strcharinfo(0)+" has just acquired the mystical Valkyrie Shield.",8; set jhep_jhe,1; #delay_bst = gettimetick(2) + .delay; } }}close; OnInit: .delay = 604800; setarray .item, 7451,200, 2104,1, 7444,300,7227,30, 4441,1; .item_size = getarraysize( .item ) - 1; end;} lighthalzen.gat,189,297,5 script Frame 904,{ mes "[ Frame ]";if ( bry_bry >= 1 ) { mes "Nice to meet you again brave warrior. How is life treating you with your new godly equips?";}else if ( fra_fra >= 1 ) { mes "Search my cousins and after that, find Bryan!";}else if ( ron_ron < 1 ) { mes "I miss Donna"; mes "I wish I could see her again";}else if ( gettimetick(2) < #delay_bst ) { mes "Break the Seal Quest Cooldown."; mes "Cool down: "+epoch_time( #delay_bst - gettimetick(2) );}else { mes "You have spoken to my great Uncle Break The Seal?"; mes "I am Frame, the crafter of Valkyrie Shoes"; mes "Would you like me to craft you the shoes?"; next; if ( select( "Sure","Maybe Later" ) == 2 ) { mes "Talk to me when you want it already."; } else { mes "The shoe is quite brittle."; mes "So it needs some items to harness it."; mes "I require you to give me these items"; next; for ( .@i = 0; .@i < .item_size; .@i += 2 ) { mes "^777777 ~ "+.item[.@i+1]+" x "+getitemname( .item[.@i] )+"^000000"; if ( countitem( .item[.@i] ) < .item[.@i+1] ) .@fail++; } if ( .@fail ) { mes "Hurry up! I have something to do."; } else { mes "Oh thank you!"; for ( .@i = 0; .@i < .item_size; .@i += 2 ) delitem .item[.@i],.item[.@i+1]; set fra_fra,1; #delay_bst = gettimetick(2) + .delay; next; mes "[ Frame ]"; mes "Good one boy! Enjoy the shoes"; mes "And continue the holy Valkyrie Quest"; mes "And when you gain the Valkyrie Set speak to Bryan"; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow! "+strcharinfo(0)+" has just acquired the mystical Valkyrie Shoes.",8; } }}close; OnInit: .delay = 604800; setarray .item, 7450,100, 7444,300, 2405,1,7227,30, 4236,1; .item_size = getarraysize( .item ) - 1; end;} comodo.gat,172,229,5 script JmKhov 731,{ mes "[ JmKhov ]";if ( bry_bry >= 1 ) { mes "Wow, you're one of the Mega-Warrior! How is life treating you my friend?";}else if ( jmk_jmk >=1 ) { mes "Finish my Uncle's quest and speak to Bryan at the Valkyrie";}else if ( ron_ron < 1 ) { mes "Hi?."; mes "Now fly, you noob!";}else if ( gettimetick(2) < #delay_bst ) { mes "Break the Seal Quest Cooldown."; mes "Cool down: "+epoch_time( #delay_bst - gettimetick(2) );}else { mes "So you know my uncle Break The Seal? Wow that's great!"; mes "I can make the Valkyrie Manteau for you!"; mes "You surely want it noob?"; next; mes "[ JmKhov ]"; if ( select( "Yeye","Newvermind,thanks" ) == 2 ) { mes "Huhu *sob*! You've wasted my time! Get lost noob!"; } else { mes "Oh, holy! Give me these items right away!"; next; for ( .@i = 0; .@i < .item_size; .@i += 2 ) { mes "^777777 ~ "+.item[.@i+1]+" x "+getitemname( .item[.@i] )+"^000000"; if ( countitem( .item[.@i] ) < .item[.@i+1] ) .@fail++; } if ( .@fail ) { mes "Incomplete items, noob!"; } else { mes "I see, you're a trustworthy one."; for ( .@i = 0; .@i < .item_size; .@i += 2 ) delitem .item[.@i],.item[.@i+1]; getitem 2524,1; set jmk_jmk,1; #delay_bst = gettimetick(2) + .delay; mes "[ JmKhov ]"; mes "Rawr! Take this robe and continue the Valkyrie Quest,"; mes "And when you gain the Valkyrie Set speak to Bryan."; mes "If you have no clue about their location, my brothers and cousins are scattered around Rune-Midgard and Bryan is in Valkyrie"; announce "Wow! "+strcharinfo(0)+" has just acquired the mystical Valkyrie Manteau.",8; } }}close; OnInit: .delay = 604800; setarray .item, 7450,100, 7444,300, 2405,1,7227,30, 4236,1; .item_size = getarraysize( .item ) - 1; end;} valkyrie.gat,49,49,5 script Bryan 733,{ mes "[ Bryan ]";mes "Hello there child, I am Bryan.";next;mes "[ Bryan ]";if ( bry_bry >= 1 ) { mes "You have already gained 100 Credit"; mes "How dare you speak to me again!? Now, I order you to go back to Prontera!"; next; percentheal -100,0; warp "prontera.gat",0,0;}else if ( countitem(2524) < 1 || countitem(2421) < 1 || countitem(2357) < 1 || countitem(2115) < 1 ) { mes "Oh my bad, I see you are just another newbie."; mes "Go fly away";}else if ( jmk_jmk < 1 ) { mes "Oh my bad, I see you are just another newbie."; mes "Go fly away"; close;}else if ( gettimetick(2) < #delay_bst ) { mes "Break the Seal Quest Cooldown."; mes "Cool down: "+epoch_time( #delay_bst - gettimetick(2) );}else { mes "Good you have the Valkyrie Set if you must know I am the crafter of the 100 Credit."; next; mes "[ Bryan ]"; mes "I see, You really have spoken to my brothers."; mes "Very well then!"; next; mes "[ Bryan ]"; mes "By the way I am Bryan of the Valkyries and you already know what I make."; mes "Do you desire to have the 100 Credits?"; next; if ( select( "Yes","No") == 2 ) { mes "Go away! If you don't want it. You're wasting my time already."; mes "Just speak to me if you're ready."; } else { mes "[ Bryan ]"; mes "The Great Sleipnir named after Odin's trustee"; mes "Steed, is the most powerful shoe in the land"; mes "Gather these items so I may craft it"; next; for ( .@i = 0; .@i < .item_size; .@i += 2 ) { mes "^777777 ~ "+.item[.@i+1]+" x "+getitemname( .item[.@i] )+"^000000"; if ( countitem( .item[.@i] ) < .item[.@i+1] ) .@fail++; } if ( .@fail ) { mes "You lack of items, complete it!"; mes "I will be waiting for you great one."; } else { mes "Very well done child."; mes "You are very good!"; for ( .@i = 0; .@i < .item_size; .@i += 2 ) delitem .item[.@i],.item[.@i+1]; getitem 30005,100; set bry_bry,1; #delay_bst = gettimetick(2) + .delay; mes "You are now a Mega-Warrior of Innovative Ragnarok Online"; mes "Go wild and free, you noble man"; announce "Raise the Roof! "+strcharinfo(0)+" has just become the Mega-Warrior and gained 100 Credits.",8; } }}close; OnInit: .delay = 604800; setarray .item,7435,300, 7035,300, 969,300,7227,30, 7227,100; .item_size = getarraysize( .item ) - 1; end;} I set it to 7 days. then I finished the first requirements then waited for 7 days. after 7 days. the npc require me again to give all the quest requirements from the beginning. I only reach the first step. I keep in repeating it. how to fix it
-
Internalguard also is dead or dying.
-
if there is a trading house. how about a pub house. As we can see to other RO that there are tons of pub in 1 place. how about creating an npc where a player can post his pub there. then another player can reply to a pub then a one who posted the pub will be notified.
-
I'm using 20100730 client when i try to click the pub of the player that has a buying store. my client will stop responding how to fix? Also How to fix the price limit
-
It's seems that i had found the problem. i'm using 2010-07-30 and the weapon type is 4 and should be 5 because of the latest GIT i'm using. I changed all my weapon type to 4. because if it is weapon type 5. when i put it in my storage it goes to armor tab.how to fix the problem for 2010 client users? help!
-
when i refine using the weapon refine skill of the whitesmith nothing happens. what could be the problem? i tried any kind of weapon. i have the right requirement but still it doesnt work. when i press ok nothing happens
-
when A Gm right click a player. a spam about account info will occur i tried already this fix but didn't work 2010-07-30 here http://rathena.org/board/tracker/issue-9186-infinite-account-info-spam-for-2010-07-30/ http://rathena.org/board/topic/94135-infinite-accinfo-on-charcters/
-
got it but how to randomize the rewards. so that 1 reward only will be given randomly.
-
//===== rAthena Script =======================================//= Euphy's WOE Controller//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.5//===== Compatible With: =====================================//= rAthena Project//===== Description: =========================================//= A controller for War of Emperium designed for//= simplicity and ease of use.//= Many concepts taken from ToastOfDoom's script,//= and "rewards" function originally by Goddameit.//===== Additional Comments: =================================//= Be sure to disable the default agit controllers!//== npcguildagit_controller.txt//== npcguild2agit_start_se.txt//============================================================// Information NPC//============================================================invek,138,149,5 script WOE Information 835,{ doevent "WOE_CONTROL::OnMenu"; end;OnAgitStart: while(agitcheck()) { specialeffect EF_BEGINSPELL6; sleep 425; } end; OnInit: waitingroom "Woe Information",0; end;}// Script Core//============================================================- script WOE_CONTROL -1,{function Disp_Owner; function Add_Zero;OnInit: // -----------------------------------------------------------// Configuration settings.// ----------------------------------------------------------- set .CastleWarp,0; // 1: Always enable all castle warps. | 0: Warp only to active castles. set .AutoKick,1; // Automatically kick players from inactive castles during WOE? (1:yes / 0:no) set .NoOwner,1; // Automatically kick players from unconquered castles outside of WOE? (1:yes / 0:no) set .ExitWarp,0; // Warp all players from castles when WOE ends? (1:yes / 0:no) set .GMAccess,99; // GM level required to access Session Manager.// -----------------------------------------------------------// Reward options.// -----------------------------------------------------------// [1] Enable rewards.// [2] Mail all rewards.// - If not set, players receive items in their inventory.// - Only ONE item can be sent via mail, plus Zeny.// - Note that offline players do NOT receive rewards.// [4] Only reward Guild Masters.// - If not set, all guild members are rewarded.// - If mailing is enabled (option 2), offline Guild Masters WILL receive rewards.// [8] Duplicate IP check.// - Members in a guild with the same IP address are not rewarded.// - If Guild Masters is enabled (option 4), this feature is not used.// ----------------------------------------------------------- // Combine values as needed (e.g. 1|8 = 1+8 = 9). set .Options, 1|8; // Rewards per castle. // -- when given directly: <itemID>,<amount>{,<itemID>,<amount>,...} // -- via mail (option 2): <itemID>,<amount>,<Zeny> setarray .Reward[0],607,100;// -----------------------------------------------------------// Constants (leave this section alone).// ----------------------------------------------------------- setarray .Castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; setarray .EndLabel$[0],"ar01","ar02","ar03","ar04","ar05","sc01","sc02","sc03","sc04","sc05"; setarray .Days$[0],"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"; setarray .Regions$[0],"Prontera","Payon","Geffen","Aldebaran","Arunafeltz","Schwaltzvalt"; setarray .Map$[0],"prt_gld","pay_gld","gef_fild13","alde_gld","aru_gld","sch_gld"; setarray .MapX[0],134,240,153,111,208,121,295,317,140,204,214,308,143,193,305,48, 95,142,239,264,158,83, 68,299,292,293,288, 97,137, 71; setarray .MapY[0], 65,128,137,240,240,233,116,293,160,266, 75,240,240,278, 87,83,249, 85,242, 90,272,47,155,345,107,100,252,196, 90,315;// ----------------------------------------------------------- set .Size, getarraysize($WOE_CONTROL); if (.AutoKick || .NoOwner) for(set .@i,0; .@i<30; set .@i,.@i+1) { setmapflag .Castles$[.@i], mf_loadevent; setd "."+.Castles$[.@i], .@i; } if (!agitcheck() && !agitcheck2()) sleep 4000; set .Init,1;OnMinute00: freeloop(1); if (agitcheck() || agitcheck2()) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) == $WOE_CONTROL[.@i+2]) { OnWOEEnd: announce "The War Of Emperium is over!",bc_all|bc_woe; AgitEnd; AgitEnd2; sleep 1000; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1); if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; } if (.Options&1 && .Active[0] && .ForceEnd != 2) callsub OnReward, .Active[0]; deletearray .Active[0],2; if (.ForceEnd) { set .ForceEnd,0; end; } break; } } if ((!agitcheck() && !agitcheck2()) || .Init) { if (!agitcheck() && !agitcheck2()) set .Init,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) { deletearray .Active[0],2; set .Active[0], $WOE_CONTROL[.@i+3]; if (.Init) { AgitEnd; AgitEnd2; } else announce "The War Of Emperium has begun!",bc_all|bc_woe; sleep 1000; AgitStart; AgitStart2; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) { if (!.Init) Disp_Owner(.Castles$[.@j],0); set .Active[1], .Active[1] | (1<<((.@j/5)+1)); } else { if (.@j<20) { donpcevent "Agit#"+.Castles$[.@j]+"::OnAgitEnd"; killmonster .Castles$[.@j], "Agit#"+.Castles$[.@j]+"::OnAgitBreak"; } else { donpcevent "Manager#"+.Castles$[.@j]+"::OnAgitEnd2"; killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; } } } break; } } set .Init,0; end;function Disp_Owner { set .@o, getcastledata(getarg(0),1); if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe; else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe; return;}function Add_Zero { return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00";}OnReward: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); if (.Options&2) set .@str$,gettimestr("%B %d, %Y",21); freeloop(1); for(set .@i,0; .@i<30; set .@i,.@i+1) if (getarg(0)&(1<<.@i)) { set .@gid, getcastledata(.Castles$[.@i],1); if (!.@gid) continue; set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if (.Options&8 && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (.Options&2) { query_sql("INSERT INTO `mail` (send_name,dest_id,title,message,nameid,amount,identify,zeny,time) VALUES ("+ "'no-reply',"+.@cid[.@j]+",'** Siege Reward: "+getcastlename(.Castles$[.@i])+" **',"+ "'Brave one,% % Congratulations!% Your guild has successfully occupied% territory in the War of Emperium on% "+.@str$+".% % % % % [ Your reward is attached. ]',"+ .Reward[0]+","+.Reward[1]+",0,"+.Reward[2]+",UNIX_TIMESTAMP(NOW()))"); if (!getd(".@str_"+.@cid[.@j]) && isloggedin(.@aid[.@j],.@cid[.@j])) { setd ".@str_"+.@cid[.@j],1; message rid2name(.@aid[.@j]),"You've got mail! Please re-login to update your mailing list."; } } else if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.Reward); set .@k,.@k+2) getitem .Reward[.@k], .Reward[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; } } } if (.Options&2) query_sql("UPDATE `mail` SET message = REPLACE(message,'%',CHAR(13)) WHERE send_name = 'no-reply'"); return;OnPCLoadMapEvent: if (!compare(strcharinfo(3),"g_cas")) end; if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) { if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end; sleep2 1000; message strcharinfo(0), getcastlename(strcharinfo(3))+" is currently inactive."; sleep2 5000; if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0; } end;OnMenu:while(1) { mes "[WOE Information]"; if (agitcheck() || agitcheck2()) { if (.Active[0]) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) { set .@i, $WOE_CONTROL[.@i+2]; break; } mes "The War of Emperium is ^0055FFactive^000000 until ^FF0000"+Add_Zero(.@i)+"^000000 in the following regions:"; mes " "; for(set .@i,0; .@i<6; set .@i,.@i+1) if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; } else mes "The War of Emperium is ^0055FFactive^000000."; } else { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((gettime(4) == $WOE_CONTROL[.@i] && gettime(3) <= $WOE_CONTROL[.@i+1]) || gettime(4) < $WOE_CONTROL[.@i]) { setarray .@time[0],$WOE_CONTROL[.@i],$WOE_CONTROL[.@i+1]; break; } if (!getarraysize(.@time)) setarray .@time[0],$WOE_CONTROL[0],$WOE_CONTROL[1]; mes "The War of Emperium is ^777777inactive^000000."; if (.Size) { mes " "; mes "The next session will begin"; mes "on ^0055FF"+.Days$[.@time[0]]+"^000000 at "+Add_Zero(.@time[1])+"^000000."; } } next; switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) { case 1: if (.CastleWarp) set .@clr$,"^0055FF"; set .@menu$,""; for(set .@i,0; .@i<6; set .@i,.@i+1) { if (.CastleWarp || .Active[1]&(1<<(.@i+1))) set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?.@clr$:"^777777")+.Regions$[.@i]+" Castles^000000"; set .@menu$, .@menu$+":"; } set .@i, select(.@menu$)-1; set .@menu$,""; for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) { if (.CastleWarp || .Active[0]&(1<<.@j)) set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?.@clr$:"^777777")+getcastlename(.Castles$[.@j])+"^000000"; set .@menu$, .@menu$+":"; } set .@j, select(.@menu$)-1; warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j]; close; case 2: mes "[Schedule]"; if (.Size) { freeloop(1); for(set .@i,0; .@i<.Size; set .@i,.@i+4) { mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000"; for(set .@j,0; .@j<30; set .@j,.@j+1) if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes " ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000"; if (.@i+4 < .Size) mes " "; } freeloop(0); } else mes "No times are configured."; next; break; case 3: mes "[Castle Ownership]"; for(set .@i,0; .@i<6; set .@i,.@i+1) { set .@k, .@i*5; mes "> ^FF0000"+.Regions$[.@i]+"^000000"; for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { set .@t, getcastledata(.Castles$[.@j],1); mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; } if (.@i < 5) mes " "; } next; break; case 4: while(1) { mes "[Session Manager]"; mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured."; mes "What would you like to do?"; next; switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) { case 1: mes "[New Session]"; if (.Size > 127) { mes "You have already reached the maximum of 32 sessions."; next; break; } mes "Select a day."; next; set .@Day, select(" ~ "+implode(.Days$,": ~ "))-1; mes "[New Session]"; mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,0; .@i<23; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@Start, select(.@menu$)-1; mes "[New Session]"; mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@End, select(.@menu$)+.@Start; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (.@Day == $WOE_CONTROL[.@i] && ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) || (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) || (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) { mes "[New Session]"; mes "The chosen times overlap with an existing session."; next; set .@d,1; break; } if (.@d) { set .@d,0; break; } set .@Castle,0; while(1) { mes "[New Session]"; mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000"; mes " > Castles:"; if (!.@Castle) mes " ~ ^777777(none selected)^000000"; else for(set .@i,0; .@i<30; set .@i,.@i+1) if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")"; next; set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":"; for(set .@i,0; .@i<30; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:"; set .@i, select(.@menu$)-1; if (.@i) set .@Castle, .@Castle^(1<<(.@i-1)); else { mes "[New Session]"; mes "Are you sure?"; next; switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) { case 1: for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((.@Day == $WOE_CONTROL[.@i] && .@End <= $WOE_CONTROL[.@i+1]) || .@Day < $WOE_CONTROL[.@i]) { set .@d,1; break; } if (!.@d) { set .@d,1; set .@i,.Size; } copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i; setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle; set .Size, getarraysize($WOE_CONTROL); case 3: mes "[New Session]"; mes ((.@d)?"Session added.":"Cancelled."); next; set .@d,1; case 2: break; } if (.@d) { set .@d,0; break; } } } break; case 2: mes "[Remove Session]"; if (!.Size) { mes "There are no sessions configured."; next; break; } mes "Select a session to remove."; next; set .@menu$,""; for(set .@i,0; .@i<.Size; set .@i,.@i+4) set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; set .@i, select(.@menu$)-1; if (.@i == (.Size/4)) break; mes "[Remove Session]"; mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?"; mes "This action cannot be undone."; next; set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000"); mes "[Remove Session]"; if (.@j == 2) mes "Cancelled."; else { deletearray $WOE_CONTROL[.@i*4],4; set .Size, getarraysize($WOE_CONTROL); mes "Session deleted."; } next; break; case 3: mes "[Reload Settings]"; mes "This will trigger all events related to new session configurations, if any."; if (agitcheck() || agitcheck2()) { mes " "; mes "Be aware that this will disrupt the current WOE session."; } next; set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000"); mes "[Reload Settings]"; if (.@i == 2) mes "Cancelled."; else { set .Init,1; donpcevent "WOE_CONTROL::OnMinute00"; mes "Variables have been re-initialized."; } next; break; case 4: mes "[Force Agit End]"; if (!agitcheck() && !agitcheck2()) { mes "WOE has already ended."; next; break; } mes "This command will safely execute all AgitEnd events."; mes " "; mes "Kill the current WOE session?"; next; set .@i, select(" ~ ^FF0000End session...^000000:"+((.Options&1)?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000"); mes "[Force Agit End]"; if (.@i == 3) mes "Cancelled."; else { set .ForceEnd, .@i; donpcevent "WOE_CONTROL::OnWOEEnd"; mes "WOE session terminated."; } next; break; case 5: set .@d,1; break; } if (.@d) { set .@d,0; break; } } break; case 5: close; } }} how to enable this so that the rewards will be given to all the guild members including the guild master?
-
sorry about that. edited. you can now see a bigger image You should have SQL table named mob_db_re <- If Using RE or mob_db <- If Using Pre-re You can find those tables on "sql-files/" folder ohh. I forgot to import my mob.sql thank you
-
sorry about that. edited. you can now see a bigger image
-
attached the image of the problem how to fix it? //===== rAthena Script =======================================//= Hunting Missions//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.4//===== Compatible With: ===================================== //= rAthena Project//===== Description: =========================================//= Random hunting missions.//= Rewards are based on quest difficulty.//= //= NOTE: Requires SQL mob database.//===== Additional Comments: =================================//= 1.0 Initial script.//= 1.1 Small improvements and fixes.//= 1.2 Added party support and replaced blacklists with an//= SQL query, both thanks to AnnieRuru.//= 1.3 Re-added a blacklist adapted for the SQL query.//= 1.3a Added mission reset options.//= 1.3b Function updates.//= 1.4 Check for deleted characters, thanks to AnnieRuru.//= Syntax updates and style cleaning.//============================================================invek,187,193,3 script Hunting Missions 951,{function Chk; mes "[Hunting Missions]"; mes "Hello, " + strcharinfo(0) + "!"; if (!#Mission_Delay) { next; mes "[Hunting Missions]"; mes "I can't find any records..."; mes "You must be new here!"; emotion e_omg; next; callsub Mission_Info; emotion e_go; #Mission_Delay = 1; close; } mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes " "; mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000"; next; switch(select( ((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") + ": ~ Information: ~ View Top Hunters: ~ ^777777Cancel^000000" )) { case 1: mes "[Hunting Missions]"; if (#Mission_Count) { mes "You've started a mission"; mes "on another character."; if (!@hm_char_del_check) { // check for deleted character query_sql("SELECT 1 FROM `global_reg_value` WHERE `str` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i); if (!.@i) { next; mes "[Hunting Missions]"; mes "I can't seem to find any records"; mes "for that character, though..."; mes "One moment, please."; emotion e_hmm; #Mission_Count = 0; } @hm_char_del_check = 1; } close; } if (#Mission_Delay > gettimetick(2) && .Delay) { mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission."; close; } mes "You must hunt:"; query_sql("SELECT ID FROM `" + .mob_db$ + "` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT " + .Quests, .@mob); for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, .@mob[.@i]; setd "Mission" + .@i +"_", 0; } #Mission_Count = rand(.Count[0], .Count[1]); callsub Mission_Status; next; mes "[Hunting Missions]"; mes "Report back when"; mes "you've finished."; mes "Good luck!"; close; case 2: mes "[Hunting Missions]"; mes "Mission status:"; callsub Mission_Status; close; case 3: mes "[Hunting Missions]"; mes "Do you really want to"; mes "abandon your mission?"; if (.Reset < 0 && .Delay) mes "Your delay time will not be reset."; else if (.Reset > 0) mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: if (.Reset > 0) { if (Zeny < .Reset) { mes "[Hunting Missions]"; mes "You don't have enough"; mes "Zeny to drop this mission."; emotion e_sry; close; } Zeny -= .Reset; emotion e_cash; } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect2 EF_STORMKICK4; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission"+.@i, 0; setd "Mission"+.@i+"_", 0; } #Mission_Count = 0; if (.Reset < 0 && .Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); close; case 2: mes "[Hunting Missions]"; mes "I knew you were kidding!"; mes "Keep up the good work."; emotion e_heh; close; } case 4: callsub Mission_Info; close; case 5: mes "[Hunting Missions]"; mes "The top hunters are:"; query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `global_reg_value` WHERE str = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val); for (.@i = 0; .@i < 5; .@i++) mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000"; close; case 6: mes "[Hunting Missions]"; mes "Nothing? Okay..."; emotion e_hmm; close; } end;Mission_Status: @f = 0; deletearray .@j[0], getarraysize(.@j); for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count) + strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")^000000"; } // Reward formulas: .@Mission_Points = 3 + (.@j[.Quests] / .Quests / 6); .@Base_Exp = #Mission_Count * .@j[.Quests+1] / 5; .@Job_Exp = #Mission_Count * .@j[.Quests+2] / 5; .@Zeny = #Mission_Count * .Quests * .@j[.@i] * .Modifier[2]; next; mes "[Hunting Missions]"; mes "Mission rewards:"; mes " > TCG CARD: ^0055FF5 ^000000"; mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000"; mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000"; mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000"; if (@f) { @f = 0; return; } next; mes "[Hunting Missions]"; mes "Oh, you're done!"; mes "Good work."; mes "Here's your reward."; emotion e_no1; specialeffect2 EF_ANGEL; specialeffect2 EF_TRUESIGHT; getitem 7227,5; BaseExp += .@Base_Exp; JobExp += .@Job_Exp; Zeny += .@Zeny; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, 0; setd "Mission" + .@i+"_", 0; } #Mission_Count = 0; if (.Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); Mission_Total++; if (Mission_Total == 1) query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES (" + getcharid(0) + ",'Mission_Total','1',3,0)"); else query_sql("UPDATE `global_reg_value` SET `value` = " + Mission_Total + " WHERE char_id = " + getcharid(0) + " AND `str` = 'Mission_Total'"); close;Mission_Info: mes "[Hunting Missions]"; mes "If you so choose, I can assign"; mes "you a random hunting quest."; mes "Some are easier than others, but"; mes "the rewards increase with difficulty."; next; mes "[Hunting Missions]"; mes "Missions points are shared"; mes "amongst all your characters."; if (.Delay) mes "Delay time is, too."; mes "You can't take missions on"; mes "multiple characters at once."; next; mes "[Hunting Missions]"; mes "You can start a quest"; mes (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "whenever you want."); mes "That's everything~"; return;function Chk { if (getarg(0) < getarg(1)) { @f = 1; return "^FF0000"; } else return "^00FF00";}OnNPCKillEvent: if (!getcharid(1) || !.Party) { if (!#Mission_Count || !Mission0) end; for (.@i = 0; .@i < .Quests; .@i++) { if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission" + .@i))) { if (getd("Mission" + .@i + "_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@i + "_"),getd("Mission" + .@i + "_") + 1)) + " of " + #Mission_Count + " " + strmobinfo(1,killedrid) + "."; end; } } } } else if (.Party) { .@mob = killedrid; getmapxy(.@map1$,.@x1,.@y1,0); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for (.@i = 0; .@i < $@partymembercount; .@i++) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { attachrid $@partymemberaid[.@i]; if (#Mission_Count && Mission0 && HP > 0) { getmapxy(.@map2$,.@x2,.@y2,0); if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { for (.@j = 0; .@j < .Quests; .@j++) { if (strmobinfo(1,.@mob) == strmobinfo(1,getd("Mission"+.@j))) { if (getd("Mission"+.@j+"_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@j + "_"),getd("Mission" + .@j + "_") + 1)) + " of " + #Mission_Count + " " + strmobinfo(1,.@mob) + "."; break; } } } } } } } } end;OnInit: .Delay = 12; // Quest delay, in hours (0 to disable). .Quests = 4; // Number of subquests per mission (increases rewards). .Party = 3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) .Reset = -1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 40,70; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; .mob_db$ = // Table name of SQL mob database (checkre(0))?"mob_db_re":"mob_db"; setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). 512,1,513,1,514,1,538,5,539,5,558,10,561,10; .Blacklist$ = // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ "1975,1976,1977,1978,1979"; npcshopdelitem "mission_shop",512; for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2) npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; end;}- shop mission_shop -1,512:-1
-
got it fixed. just updated my jobname.lua
-
whats the link for the script for AFAIK auction system? AFAIK = As Far As I Know GMOcean is Referring to Ragnarok's Original Auction System. sorry about that T_T. the auction system doesn't allow usable items
-
whats the link for the script for AFAIK auction system?