Hey there everyone! I can't seem to find any script regarding this request, but I know it exists for I've seen it in a couple servers that I've played recently.
I'm looking for a script that Limits a job class' specific count per guild inside WOE castles.
In example, Only 5 Knight class are allowed inside the castle per guild, If a guild has 6 online knights inside the castle from ECALL, OR a 6th knight enters the castle the whole guild will be warped out to their savepoint.
As long as they go pass the 5 limit for whatever job that has it, the whole guild should be warped out of the castle. Thank you! Any information will be helpful.
Edit:
Okay I found this piece of script in herc forums which is basically almost identical to what I need. But the script is incomplete, and I can't make it to work properly.
So far I've managed it to check for Knight Classes in a guild, when inside WOE castle. But the script is kicking out every one of them even before hitting the target limit. Can someone help me fix this script? Please.
- script ckeckguildjob -1,{
{
OnPCLoadMapEvent:
getguildmember(getcharid(0),2);
set .@guildids[0],$@guildmembercid[0],$@guildmembercount;
set .@count, $@guildmembercount;
for (set .@a, 0; .@a < .@count;
set .@a, .@a + 1)
attachrid .@partyids[.@a];
set .@jobs[.@a], 4008;// Check Job from other current jobs
for (set .@b, 0; .@b < getarraysize(.@jobs);
set .@b, .@b + 1)
if (Class == .@jobs[.@b]) {
set .@matches, .@matches + 1;
if (.@matches > 1) // Too many knights made it limit of 1 for testing purposes but will be 8
dispbottom "There can only be 8 Knight per guild members inside a castle during woe.";
warp "SavePoint",0,0;
set .@matches, 0;
}
}
OnInit:
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";
for ( .@i = 0; .@i < 30; .@i++ )
setmapflag .castles$[.@i], mf_loadevent;
end;
}
Question
Yami
Hey there everyone! I can't seem to find any script regarding this request, but I know it exists for I've seen it in a couple servers that I've played recently.
I'm looking for a script that Limits a job class' specific count per guild inside WOE castles.
In example, Only 5 Knight class are allowed inside the castle per guild, If a guild has 6 online knights inside the castle from ECALL, OR a 6th knight enters the castle the whole guild will be warped out to their savepoint.
As long as they go pass the 5 limit for whatever job that has it, the whole guild should be warped out of the castle. Thank you! Any information will be helpful.
Edit:
Okay I found this piece of script in herc forums which is basically almost identical to what I need. But the script is incomplete, and I can't make it to work properly.
So far I've managed it to check for Knight Classes in a guild, when inside WOE castle. But the script is kicking out every one of them even before hitting the target limit. Can someone help me fix this script? Please.
- script ckeckguildjob -1,{ { OnPCLoadMapEvent: getguildmember(getcharid(0),2); set .@guildids[0],$@guildmembercid[0],$@guildmembercount; set .@count, $@guildmembercount; for (set .@a, 0; .@a < .@count; set .@a, .@a + 1) attachrid .@partyids[.@a]; set .@jobs[.@a], 4008;// Check Job from other current jobs for (set .@b, 0; .@b < getarraysize(.@jobs); set .@b, .@b + 1) if (Class == .@jobs[.@b]) { set .@matches, .@matches + 1; if (.@matches > 1) // Too many knights made it limit of 1 for testing purposes but will be 8 dispbottom "There can only be 8 Knight per guild members inside a castle during woe."; warp "SavePoint",0,0; set .@matches, 0; } } OnInit: 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"; for ( .@i = 0; .@i < 30; .@i++ ) setmapflag .castles$[.@i], mf_loadevent; end; }
Link to comment
Share on other sites
6 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.