Jump to content
  • 0

Request Class Restriction in town


Question

8 answers to this question

Recommended Posts

Posted

i want to restrict it because for some reason....

sprite error every go to izlude thats why i will restricted all players to go there

or that town is for GM only

all class / job is restricted to go in izlude.. then it will warp in prontera

Nobody is allowed to go Izlude?

yah

Posted (edited) · Hidden by dize11, April 9, 2012 - nothing
Hidden by dize11, April 9, 2012 - nothing

Try this is already prepared for you just enable it in your server:

Thanks you Emistry for this script.

// 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.

- script ClassRestriction -1,{
function RestrictJob;
OnPCLoadMapEvent:
if( getgmlevel() < .LowGMLvl )
for( set .@i,0; .@i < getarraysize( .Map$ ); set .@i,.@i + 2 )
 if( strcharinfo(3) == .Map$[.@i] ) RestrictJob( atoi( .Map$[.@i+1] ) );
end;

function RestrictJob {
// 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,4055,4056,4057,4058,4059,4066,4067,4068,4069,4070,4071,4072,4080,4082,4084,4086,4190,4211,4212;
// Adv 3rd Jobs
if( getarg(0) & 16 ) setarray .@Restrict[getarraysize(.@Restrict)],4060,4061,4062,4063,4064,4065,4073,4074,4075,4076,4077,4078,4079,4081,4083,4085,4087;
// Baby 3rd Jobs
if( getarg(0) & 32 ) setarray .@Restrict[getarraysize(.@Restrict)],4096,4097,4098,4099,4100,4101,4102,4103,4104,4105,4106,4107,4108,4109,4110,4111,4112;
// Certain Jobs ( Specific Your Own Class Restriction )
if( getarg(0) & 64 ) setarray .@Restrict[getarraysize(.@Restrict)],4046,4002,4004,4013,4011;
for( set .@i,0; .@i < getarraysize(.@Restrict); set .@i,.@i + 1 )
 if( Class == .@Restrict[.@i] ){
  mes "[   ^FF0000Job Restriction System^000000   ]";
  mes "^0000FFMap^000000 : ^FF0000"+strcharinfo(3)+"^000000";
  mes "^FFFFFF________________________________^000000";
if( getarg(0) & 1 ) mes " -- ^0000FFNormal Jobs^000000";
if( getarg(0) & 2 ) mes " -- ^0000FFAdvanced Jobs^000000";
if( getarg(0) & 4 ) mes " -- ^0000FFNormal Baby Jobs^000000";
if( getarg(0) & 8 ) mes " -- ^0000FFNormal Third Jobs^000000";
if( getarg(0) & 16 ) mes " -- ^0000FFAdvanced Third Jobs^000000";
if( getarg(0) & 32 ) mes " -- ^0000FFBaby Third Jobs^000000";
if( getarg(0) & 64 )
 for( set .@i,0; .@i < getarraysize(.@Restrict); set .@i,.@i + 1 )
  mes " -- ^0000FF"+jobname( .@Restrict[.@i] )+"^000000";
  mes "^FFFFFF________________________________^000000";
  mes "You will be warped out within "+.Sec+" Seconds.";
  sleep2 ( .Sec * 1000 );
  warp "prontera",156,191;
 }
return;
}

OnInit:
// Wait X Seconds before warped out.
set .Sec,4;
// Lowest GM Level to Bypass
set .LowGMLvl,99;
setarray .Map$, // <Mapname>,<Mode>.... ( Mode = Bitwise Value )  Max of ~64 Map Settings.
  "izlude","63";

// Assign a LoadEvent Mapflag to each map you listed.
for( set .map,0; .map < getarraysize( .Map$ ); set .map,.map + 2 )
setmapflag .Map$[.map],mf_loadevent;
end;
}

Edited by dize11
Posted

you want to restrict izlude cause of errors instead of finding the error and fixing it ? strange..

you could take the map out of your conf if you really want to not use it.

Posted

Here..

- script Restrict -1,{
OnPCLoadMapEvent:
if ( strcharinfo(3) == "izlude" && getgroupid() == 0 ) warp "Prontera",151,191;
end;
OnInit:
setmapflag "izlude",mf_loadevent;
end;
}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...