[ Update ] : Added a Class Restriction Script :
Description :
This Script allow certain Maps to Block / Restrict certain Job Class. Configurations can be varies across the Maps settings. If the Class that are Blocked entering the Map, the Characters will be warped out from the Map within few seconds after they enter the Map.
This Script will be able to answer / solve those below problems.
Configuration :
Bitwise Table and Usage :
// -------- BitMasks --------
// 1 - Normal jobs,
// 2 - Adv jobs.
// 4 - Baby jobs,
// 8 - Normal 3rd jobs.
// 16 - Adv. 3rd jobs.
// 32 - Baby 3rd jobs.
// 64 - Certain Jobs ( Specific )
// ----- Mode Example : ( Blocked Class ) ------
// 63 - All Class that has been defined
// 64 - Only the Specific Job you defined
// 7 - Normal + Advanced + Baby Jobs
// 56 - Normal 3rd + Advanced 3rd + Baby 3rd Jobs
Notes :
Just add in the Value for the Bitmask.
Aware of the Usage of Certain Jobs.
--- If you using Bitmask Above , aware of the Limit Reach. ( ~128 Total Class )
--- If your Bitmask = ( 63 + 64 ) , Your "Certain Jobs" have only about 20 Slots.
--- Anyway, i dont think you will do so since Bitmask 63 will block most of the Class already.
* Common Sense : Make sure the Array ".@Restrict" didnt exceed limit of 128 element.
You may edit these below parts... but by default, i have list down most of the Job Class accordingly...
// Normal Jobs
if( getarg(0) & 1 ) setarray .@Restrict[getarraysize(.@Restrict)],0,1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,23,24,25,4046,4047,4049;
// Adv Jobs
if( getarg(0) & 2 ) setarray .@Restrict[getarraysize(.@Restrict)],4001,4002,4003,4004,4005,4006,4007,4008,4009,4010,4011,4012,4013,4015,4016,4017,4018,4019,4020,4021;
// Baby Jobs
if( getarg(0) & 4 ) setarray .@Restrict[getarraysize(.@Restrict)],4023,4024,4025,4026,4027,4028,4029,4030,4031,4032,4033,4034,4035,4037,4038,4039,4040,4041,4042,4043,4045;
// Normal 3rd Jobs
if( getarg(0) & 8 ) setarray .@Restrict[getarraysize(.@Restrict)],4054,5055,4056,4057,4058,4059,4066,4067,4068,4069,4070,4071,4072;
// Adv 3rd Jobs
if( getarg(0) & 16 ) setarray .@Restrict[getarraysize(.@Restrict)],4060,4061,4062,4063,4064,4065,4073,4074,4075,4076,4077,4078,4079;
// Baby 3rd Jobs
if( getarg(0) & 32 ) setarray .@Restrict[getarraysize(.@Restrict)],4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108;
However,.....this is a special case .......
// Certain Jobs ( Specific Your Own Class Restriction )
if( getarg(0) & 64 ) setarray .@Restrict[getarraysize(.@Restrict)],4046,4002,4004,4013,4011;
It would be better to Not using Bitwise 64 if your script already block all of the job class above ( Bitwise : 63 )
This is because, the limit might be exceed if you add too much Job Class in the Array for Bitwise ( 64 + 63 )
Anyway, i think it is still Okay to use Bitwise ( 64 + some of the other Bitwise ) ...but not All Bitwise combined.
Settings :
I guess you should be able to understand this part right ? so, i will skip this parts.
// Wait X Seconds before warped out.
set .Sec,5;
// Lowest GM Level to Bypass
set .LowGMLvl,80;
Here come the Maps Settings Parts.
setarray .Map$, // <Mapname>,<Mode>.... ( Mode = Bitwise Value ) Max of ~64 Map Settings.
"prtg_cas01","63",
"prtg_cas02","64",
"prtg_cas03","3",
"prtg_cas04","2",
"prtg_cas05","1";
You should be able to realize that....the setting are done in this Format..
<MapName>, <Mode>,
.........
<MapName>, <Mode>;
the Mode refer to the Bitwise Value ( Blocked Class for the Map ) and the Mode are write within Quotation Mark ( " " ) as a string.
refer to above Bitwise Table for how to configure the Bitwise Value for Restrict those Job Class.
You may add up to ~64 Maps.
Example :
"prtg_cas01","63", // --------> Restrict "All" the Job Class ( Except "Certain Jobs" )
"prtg_cas02","64", // --------> Restrict "Certain Jobs" ( Specified by Yourself )
"prtg_cas03","3", // --------> Restrict "Normal & Advanced Job" Class
"prtg_cas04","2", // --------> Restrict "Advance" Jobs
"prtg_cas05","1"; // --------> Restrict "Normal" Jobs
Class Restriction [ Version 2 ]
Changelog :
Scripts : View ♥ Download
Please spend your time to read all the things i have write / mentioned in the post before you asking any questions.
if got bug / problems please do report to me.