Akkor létrehozol egy globális változót
new bool:gBlockWeaponMenu
plugin_init-ben lekéred a pályanevet és megnézed, hogy egyenlő-e a tiltott pályaneveddel
new lMapName[64]
get_mapname(lMapName, charsmax(lMapName))
if(equal(lMapName, <Te pályaneved>))
gBlockWeaponMenu = true
else
gBlockWeaponMenu = false
Ha több pályát szeretnél, én trie-ket használnék, de mivel feltételezem nem vagy bennük otthon, ezt kövesd a felül emlitett dolgok helyett► Spoiler mutatása
Hozz létre egy globális változót
new bool:gBlockWeaponMenu
plugin_init-be hozz létre egy lokális tömböt, mely tartalmazza a pályaneveket:
lMapNameList[<Pályáid száma>][64] =
{
<1. pálya neve>,
<2. pálya neve>,
<3. pálya neve>
}
És így tovább. Az utolsónál ne hagyj vesszőt, mert az átalakító azt fogja feltételezni, hogy ott következik még egy és hibát dob.
Kérd le a pályanevet(még mindig plugin_initben)
new lMapName[64]
get_mapname(lMapName, charsmax(lMapName))
Majd hasonlítsd össze a listában lévőkket (plugin_init-ben még mindig)
gBlockWeaponMenu = false //Azért, hogy biztos ne legyen blokkolva, ha nem kell alapjáraton.
for(new i; i < sizeof(lMapNameList); i++)
{
if(!equal(lMapName, lMapNameList[i]))
continue
gBlockWeaponMenu = true
break
}
Ezután ami a spoiler alatt van, erre is igaz.
Innentől kezdve gBlockWeaponMenu igaz, ha az a pálya van, amelyiket blokkolni akartad.
Szóval fegyvermenü megnyitásához mehet ez:
if(gBlockWeaponMenu)
return PLUGIN_HANDLED
Esetleg valami szöveget a /guns vagy /fegyo parancshoz (bármit is használsz) írhatsz, hogy mikor megpróbálják manuálisan megnyitni, ne higyjék, hogy bugos.
if(gBlockWeaponMenu)
// Szöveg kiírásod
Edit: - lMapNameList-ről lemaradt az index
- Hozzáadtam 1-2kommentet