На мой взгляд намного более просто будет добавить новую зону (мапфлаг) и записать грибосажание в запрещенные скилы зоны.
Исходный файл restricted.txt:
Код
//===== eAthena Script =======================================
//= Map flags that disable certain items/skills configured in
//= item_noequip.txt and skill_nocast_db.txt
//===== By: ==================================================
//= eAthena Dev Team
//= 1.0 [Komurka]
//= 1.1 Added WoE:SE Map restrictions. [L0ne_W0lf]
//===== Current Version: =====================================
//Aldebaran Turbo Track
alde_tt02 mapflag restricted 1
turbo_n_1 mapflag restricted 1
turbo_n_4 mapflag restricted 1
turbo_n_8 mapflag restricted 1
turbo_n_16 mapflag restricted 1
turbo_e_4 mapflag restricted 1
turbo_e_8 mapflag restricted 1
turbo_e_16 mapflag restricted 1
//Jail
sec_pri mapflag restricted 2
//Izlude Battle Arena
force_1-1 mapflag restricted 3
force_2-1 mapflag restricted 3
force_3-1 mapflag restricted 3
force_4-1 mapflag restricted 3
force_5-1 mapflag restricted 3
force_1-2 mapflag restricted 3
force_1-3 mapflag restricted 3
prt_are_in mapflag restricted 3
//WoE:SE Maps
//schg_cas01 mapflag restricted 4
//schg_cas02 mapflag restricted 4
//schg_cas03 mapflag restricted 4
//schg_cas04 mapflag restricted 4
//schg_cas05 mapflag restricted 4
//arug_cas01 mapflag restricted 4
//arug_cas02 mapflag restricted 4
//arug_cas03 mapflag restricted 4
//arug_cas04 mapflag restricted 4
//arug_cas05 mapflag restricted 4
Добавление нового флага для пронтеры:
Код
//===== eAthena Script =======================================
//= Map flags that disable certain items/skills configured in
//= item_noequip.txt and skill_nocast_db.txt
//===== By: ==================================================
//= eAthena Dev Team
//= 1.0 [Komurka]
//= 1.1 Added WoE:SE Map restrictions. [L0ne_W0lf]
//===== Current Version: =====================================
//Aldebaran Turbo Track
alde_tt02 mapflag restricted 1
turbo_n_1 mapflag restricted 1
turbo_n_4 mapflag restricted 1
turbo_n_8 mapflag restricted 1
turbo_n_16 mapflag restricted 1
turbo_e_4 mapflag restricted 1
turbo_e_8 mapflag restricted 1
turbo_e_16 mapflag restricted 1
//Jail
sec_pri mapflag restricted 2
//Izlude Battle Arena
force_1-1 mapflag restricted 3
force_2-1 mapflag restricted 3
force_3-1 mapflag restricted 3
force_4-1 mapflag restricted 3
force_5-1 mapflag restricted 3
force_1-2 mapflag restricted 3
force_1-3 mapflag restricted 3
prt_are_in mapflag restricted 3
//WoE:SE Maps
//schg_cas01 mapflag restricted 4
//schg_cas02 mapflag restricted 4
//schg_cas03 mapflag restricted 4
//schg_cas04 mapflag restricted 4
//schg_cas05 mapflag restricted 4
//arug_cas01 mapflag restricted 4
//arug_cas02 mapflag restricted 4
//arug_cas03 mapflag restricted 4
//arug_cas04 mapflag restricted 4
//arug_cas05 mapflag restricted 4
//Prontera Without plant cultivation
prontera mapflag restricted 5
Исходный файл skill_nocast_db.txt:
Код
// Forbidden Skills Database
//
// Structure of Database:
// SkillID,Flag
//
// Legend for 'Flag' field (bitmask):
// 1 = Cannot be used in normal maps
// 2 = Cannot be used in PvP maps (use this instead of 1 for PK-mode servers)
// 4 = Cannot be used in GvG maps
// 8 = Cannot be used when WoE is on
// 16 = Cannot be cloned (clones will not copy this skill)
// Restricted zones - they're configured by 'restricted <number>' mapflag
// 32 = Cannot be used in zone 1 maps
// 64 = Cannot be used in zone 2 maps
// 128 = Cannot be used in zone 3 maps
// 256 = Cannot be used in zone 4 maps
// 512 = Cannot be used in zone 5 maps
// 1024 = Cannot be used in zone 6 maps
// 2048 = Cannot be used in zone 7 maps
//
// Example:
// 8,6 = Endure cannot be used in PvP and GvG maps (2+4)
//GVG
26,4 //AL_TELEPORT
27,4 //AL_WARP
87,4 //WZ_ICEWALL
150,4 //TF_BACKSLIDING
361,4 //HP_ASSUMPTIO
362,4 //HP_BASILICA
395,4 //CG_MOONLIT
491,4 //CR_CULTIVATION
//mixed
488,3 //CG_HERMODE
//Clone Forbidden/pointless skills
77,16 //PR_TURNUNDEAD
79,16 //PR_MAGNUS
//Zone 1 - Aldebaran Turbo Track
219,32 //Snatch
26,32 //Teleport
27,32 //Warp portal
51,32 //Hiding
135,32 //Cloaking
389,32 //Stealth
35,32 //Cure
87,32 //Ice Wall
359,32 //Berserk (Frenzy)
362,32 //Basilica
395,32 //Sheltering Bliss
357,32 //Spear Dynamo (Concentration)
264,32 //Snap (Body Relocation)
//Zone 2 - Jail
421,64 //TK_JUMPKICK#Flying Side Kick#
426,64 //TK_HIGHJUMP#Taekwon Jump#
//Zone 3 - Izlude Battle Arena
219,128 //Snatch
26,128 //Teleport
Изменный файл skill_nocast_db.txt
Код
// Forbidden Skills Database
//
// Structure of Database:
// SkillID,Flag
//
// Legend for 'Flag' field (bitmask):
// 1 = Cannot be used in normal maps
// 2 = Cannot be used in PvP maps (use this instead of 1 for PK-mode servers)
// 4 = Cannot be used in GvG maps
// 8 = Cannot be used when WoE is on
// 16 = Cannot be cloned (clones will not copy this skill)
// Restricted zones - they're configured by 'restricted <number>' mapflag
// 32 = Cannot be used in zone 1 maps
// 64 = Cannot be used in zone 2 maps
// 128 = Cannot be used in zone 3 maps
// 256 = Cannot be used in zone 4 maps
// 512 = Cannot be used in zone 5 maps
// 1024 = Cannot be used in zone 6 maps
// 2048 = Cannot be used in zone 7 maps
//
// Example:
// 8,6 = Endure cannot be used in PvP and GvG maps (2+4)
//GVG
26,4 //AL_TELEPORT
27,4 //AL_WARP
87,4 //WZ_ICEWALL
150,4 //TF_BACKSLIDING
361,4 //HP_ASSUMPTIO
362,4 //HP_BASILICA
395,4 //CG_MOONLIT
491,4 //CR_CULTIVATION
//mixed
488,3 //CG_HERMODE
//Clone Forbidden/pointless skills
77,16 //PR_TURNUNDEAD
79,16 //PR_MAGNUS
//Zone 1 - Aldebaran Turbo Track
219,32 //Snatch
26,32 //Teleport
27,32 //Warp portal
51,32 //Hiding
135,32 //Cloaking
389,32 //Stealth
35,32 //Cure
87,32 //Ice Wall
359,32 //Berserk (Frenzy)
362,32 //Basilica
395,32 //Sheltering Bliss
357,32 //Spear Dynamo (Concentration)
264,32 //Snap (Body Relocation)
//Zone 2 - Jail
421,64 //TK_JUMPKICK#Flying Side Kick#
426,64 //TK_HIGHJUMP#Taekwon Jump#
//Zone 3 - Izlude Battle Arena
219,128 //Snatch
26,128 //Teleport
//Zone 5 - Prontera City, Market of RusRo2
491,512 //CR_CULTIVATION
skill_nocast_db.txt (..\db\skill_nocast_db.txt)
restricted.txt (..\conf\mapflag\restricted.txt)
Как делать - решать конечно вам, ибо не программирую я уже довольно давно (не считая административных скриптов).