Zeke Posted March 12, 2014 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 21 Reputation: 0 Joined: 12/05/13 Last Seen: March 9, 2016 Share Posted March 12, 2014 Hi, Im looking for a Monster Invasion script as follows 1. Should trigger every odd hour i.e 1,3,5,7,9,11,13 2. 100 Monsters should spawn which will drop only items set in script 3. 5 MVP should spawn again with drops specified in script. 4. Should take place in any 4 random city specified in the script 5. On Start Should Display a Message with the invaded city name 6. Should not start when WOE On. Thank You Quote Link to comment Share on other sites More sharing options...
sandbox Posted March 15, 2014 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 949 Reputation: 174 Joined: 06/12/12 Last Seen: Friday at 12:25 PM Share Posted March 15, 2014 - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns .Town_Invade$ = .Town$[rand(getarraysize(.Town$))]; announce .Town_Invade$+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town_Invade$,0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town_Invade$,0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: .@RandMvP = rand(getarraysize(.Prize)); getitem .Prize[.@RandMvP],.PAmt[.@RandMvP]; end; OnMobsDeath: .@RandMob = rand(getarraysize(.Prize2)); getitem .Prize2[.@RandMob],.PAmt2[.@RandMob]; end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; //MvPs to summon setarray .MvP[0],1583,1832,1312; //Prize to give MVP setarray .Prize[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; //Prize to give Mobs setarray .Prize2[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt2[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; end; } make sure .Prize, .PAmt, .Prize2, .PAmt2 has the same length of elements in their array. Just change their values to the Item ID of your prize Quote Link to comment Share on other sites More sharing options...
1 sandbox Posted March 25, 2014 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 949 Reputation: 174 Joined: 06/12/12 Last Seen: Friday at 12:25 PM Share Posted March 25, 2014 - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns do { .@index = rand(.num_towns); } while (.@temp_check[.@index]); .@temp_check[.@index] = 1; announce .Town$[.@index]+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town$[.@index],0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town$[.@index],0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: .@RandMvP = rand(getarraysize(.Prize)); getitem .Prize[.@RandMvP],.PAmt[.@RandMvP]; goto CheckWipe; end; OnMobsDeath: .@RandMob = rand(getarraysize(.Prize2)); getitem .Prize2[.@RandMob],.PAmt2[.@RandMob]; goto CheckWipe; end; CheckWipe: if(mobcount(strcharinfo(3),"OnInvadeDeath") < 1 && mobcount(strcharinfo(3),"OnMobsDeath") < 1) Saved++; if(Saved >= 4) { announce "Thank you! All the cities have been saved!",bc_blue|bc_all; Saved = 0; } end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; set .num_towns, getarraysize(.Town$); //MvPs to summon setarray .MvP[0],1583,1832,1312; //Prize to give MVP setarray .Prize[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; //Prize to give Mobs setarray .Prize2[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt2[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; end; } 2 Quote Link to comment Share on other sites More sharing options...
0 iSnowFlakes Posted December 18, 2020 Group: Members Topic Count: 11 Topics Per Day: 0.01 Content Count: 35 Reputation: 1 Joined: 10/22/20 Last Seen: November 11, 2023 Share Posted December 18, 2020 On 3/25/2014 at 12:18 PM, sandbox said: - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns do { .@index = rand(.num_towns); } while (.@temp_check[.@index]); .@temp_check[.@index] = 1; announce .Town$[.@index]+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town$[.@index],0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town$[.@index],0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: .@RandMvP = rand(getarraysize(.Prize)); getitem .Prize[.@RandMvP],.PAmt[.@RandMvP]; goto CheckWipe; end; OnMobsDeath: .@RandMob = rand(getarraysize(.Prize2)); getitem .Prize2[.@RandMob],.PAmt2[.@RandMob]; goto CheckWipe; end; CheckWipe: if(mobcount(strcharinfo(3),"OnInvadeDeath") < 1 && mobcount(strcharinfo(3),"OnMobsDeath") < 1) Saved++; if(Saved >= 4) { announce "Thank you! All the cities have been saved!",bc_blue|bc_all; Saved = 0; } end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; set .num_towns, getarraysize(.Town$); //MvPs to summon setarray .MvP[0],1583,1832,1312; //Prize to give MVP setarray .Prize[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; //Prize to give Mobs setarray .Prize2[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt2[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; end; } what if i need it to be set on OnClock eg. 19:00 server time 10:00 server time? Quote Link to comment Share on other sites More sharing options...
-1 skymia Posted September 24, 2017 Group: Members Topic Count: 63 Topics Per Day: 0.02 Content Count: 298 Reputation: 4 Joined: 02/19/17 Last Seen: May 26, 2024 Share Posted September 24, 2017 how to make this a NPC trigger? Quote Link to comment Share on other sites More sharing options...
sandbox Posted March 13, 2014 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 949 Reputation: 174 Joined: 06/12/12 Last Seen: Friday at 12:25 PM Share Posted March 13, 2014 Lucky for you i'm currently rewriting my invasion script! Though this is not exactly how I wrote it, I modified it based on your request. Kindly test! - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns .Town_Invade$ = .Town$[rand(getarraysize(.Town$))]; announce .Town_Invade$+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town_Invade$,0,0,"--ja--",-3,1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town_Invade$,0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: getitem .Prize[0],.Prize[1]; end; OnMobsDeath: getitem .Prize2[0],.Prize2[1]; end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; //Prize to give, followed by amount setarray .Prize[0],7227,2; setarray .Prize2[0],607,5; end; } Quote Link to comment Share on other sites More sharing options...
Zeke Posted March 13, 2014 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 21 Reputation: 0 Joined: 12/05/13 Last Seen: March 9, 2016 Author Share Posted March 13, 2014 Sandbox I loved the script. Though need few small changes. I need to set the MVP's, which i want to get spawned ? Quote Link to comment Share on other sites More sharing options...
sandbox Posted March 14, 2014 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 949 Reputation: 174 Joined: 06/12/12 Last Seen: Friday at 12:25 PM Share Posted March 14, 2014 Here you go - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns .Town_Invade$ = .Town$[rand(getarraysize(.Town$))]; announce .Town_Invade$+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town_Invade$,0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town_Invade$,0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: getitem .Prize[0],.Prize[1]; end; OnMobsDeath: getitem .Prize2[0],.Prize2[1]; end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; //MvPs to summon setarray .MvP[0],1583,1832,1312; //Prize to give, followed by amount setarray .Prize[0],7227,2; setarray .Prize2[0],607,5; end; } Quote Link to comment Share on other sites More sharing options...
Zeke Posted March 15, 2014 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 21 Reputation: 0 Joined: 12/05/13 Last Seen: March 9, 2016 Author Share Posted March 15, 2014 Thank You Bro. Its perfect. Anyways just for knowledge. If i want the monsters to drop items randomly from 15 different items. Is that possible? Quote Link to comment Share on other sites More sharing options...
Zeke Posted March 16, 2014 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 21 Reputation: 0 Joined: 12/05/13 Last Seen: March 9, 2016 Author Share Posted March 16, 2014 Perfect. ! I guess you can give both of em best ans. As both work differently.. Quote Link to comment Share on other sites More sharing options...
Zeke Posted March 18, 2014 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 21 Reputation: 0 Joined: 12/05/13 Last Seen: March 9, 2016 Author Share Posted March 18, 2014 Buddy, Need a few changes. 1. If a city is chosen it should not be repeated. 2. Can we make it announce in each of those city which are trigerred by the event, after the monsters are over. Quote Link to comment Share on other sites More sharing options...
sandbox Posted March 18, 2014 Group: Members Topic Count: 38 Topics Per Day: 0.01 Content Count: 949 Reputation: 174 Joined: 06/12/12 Last Seen: Friday at 12:25 PM Share Posted March 18, 2014 Kindly test.. All credits goes to @ToastOfDoom for this one.. I went through all the pain when he lectured me about your two requests.. Thank you sensei toasty - script TownInvasion -1,{ OnMinute00: if(gettime(3) % 2 == 1 && !agitcheck() && !agitcheck2()) { for(.@i = 0; .@i < 4; .@i++) { //Spawn on 4 towns do { .@index = rand(.num_towns); } while (.@temp_check[.@index]); .@temp_check[.@index] = 1; announce .Town$[.@index]+" Guard: Help us! Our town is being invaded!",bc_blue|bc_all; for(.@ix = 0; .@ix < 5; .@ix++) { //MvP spawner monster .Town$[.@index],0,0,"--ja--",.MvP[rand(getarraysize(.MvP))],1,strnpcinfo(1)+"::OnInvadeDeath"; } for(.@iy = 0; .@iy < 100; .@iy++) { //Mob spawner monster .Town$[.@index],0,0,"--ja--",-1,1,strnpcinfo(1)+"::OnMobsDeath"; } } } end; OnInvadeDeath: .@RandMvP = rand(getarraysize(.Prize)); getitem .Prize[.@RandMvP],.PAmt[.@RandMvP]; goto CheckWipe; end; OnMobsDeath: .@RandMob = rand(getarraysize(.Prize2)); getitem .Prize2[.@RandMob],.PAmt2[.@RandMob]; goto CheckWipe; end; CheckWipe: if(mobcount(strcharinfo(3),"OnInvadeDeath") < 1 && mobcount(strcharinfo(3),"OnMobsDeath") < 1) announce "Thank you, "+strcharinfo(3)+" has been saved!",bc_blue|bc_all; end; OnInit: //Towns to Invade setarray .Town$[0],"prontera","izlude","geffen","payon","alberta","aldebaran","yuno","lighthalzen","einbroch","einbech","comodo","umbala","amatsu","gonryun","ayothaya","louyang","hugel","rachel","veins"; set .num_towns, getarraysize(.Town$); //MvPs to summon setarray .MvP[0],1583,1832,1312; //Prize to give MVP setarray .Prize[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; //Prize to give Mobs setarray .Prize2[0],7227,607,608,501,502,503,504,505,506,507,508,509,510,511,512; setarray .PAmt2[0],1,1,1,1,1,1,1,1,1,1,1,1,1,1,1; end; } 1 Quote Link to comment Share on other sites More sharing options...
Zeke Posted March 24, 2014 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 21 Reputation: 0 Joined: 12/05/13 Last Seen: March 9, 2016 Author Share Posted March 24, 2014 Sir, There is one more small problem. It is giving the message "City has been saved after every monster killed". Can we make it to after all the monsters in a city are killed. Quote Link to comment Share on other sites More sharing options...
newsubzero Posted January 23, 2015 Group: Members Topic Count: 2 Topics Per Day: 0.00 Content Count: 13 Reputation: 2 Joined: 05/15/12 Last Seen: July 23, 2016 Share Posted January 23, 2015 thanx 4 share but i found error like this, what should i do ? [Debug]: Source (NPC): TownInvasion (invisible/not on a map) [Warning]: NPC event parameter deprecated! Please use 'NPCNAME::OnEVENT' instead of 'OnMobsDeath'. Quote Link to comment Share on other sites More sharing options...
Question
Zeke
Hi, Im looking for a Monster Invasion script as follows
1. Should trigger every odd hour i.e 1,3,5,7,9,11,13
2. 100 Monsters should spawn which will drop only items set in script
3. 5 MVP should spawn again with drops specified in script.
4. Should take place in any 4 random city specified in the script
5. On Start Should Display a Message with the invaded city name
6. Should not start when WOE On.
Thank You
Link to comment
Share on other sites
13 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.