Dodatek: http://amxx.pl/topic...danego-poziomu/
Poradnik różni się tym, że po wejściu na serwer z wymaganym lvl'em nie trzeba pierw wchodzić na klasę z wbitym lvl'em tylko można od razu wybrać klasę od lvl'a i nią grać (takie małe ułatwienie).
Dodajemy zmienną:
new
ma_klase[33];
Szukamy:
public cod_class_enabled(id)
Pod tym dodajemy:
new dostepna = 101; /// od ktorego lvla ma byc dostepna klasa
if(cod_is_user_has_level(id, dostepna) != 1)
{
client_print(id, print_chat, "[%s] Klasa dostepna od %i poziomu.", nazwa, dostepna)
return COD_STOP;
}
ma_klase[id] = true;
return COD_CONTINUE;
Na końcu dodajemy stock:
stock cod_is_user_has_level(id, level)
{
static iPlugin, iFunction, bool:iChecked;
new szFunction[] = "WczytajDane";
if(!iChecked)
{
new szPlugin[] = "QTM_CodMod.amxx";
new iPlugins = get_pluginsnum();
new szPluginName[64];
for(new i=0;i<iPlugins;i++)
{
get_plugin(i, szPluginName, charsmax(szPluginName));
if(equal(szPlugin, szPluginName))
{
iPlugin = i;
break;
}
}
iFunction = get_func_id(szFunction, iPlugin);
iChecked = true;
}
if(iFunction == -1)
{
new szMessage[128];
formatex(szMessage, charsmax(szMessage), "Could not find %s function.", szFunction);
log_error(AMX_ERR_NOTFOUND, szMessage);
return -1;
}
new iClasses = cod_get_classes_num();
new iPlayerClass = cod_get_user_class(id);
new iValue;
for(new i=1;i<=iClasses;i++)
{
callfunc_begin_i(iFunction, iPlugin);
callfunc_push_int(id);
callfunc_push_int(i);
callfunc_end();
if(cod_get_user_level(id) >= level)
{
iValue = 1;
break;
}
}
callfunc_begin_i(iFunction, iPlugin);
callfunc_push_int(id);
callfunc_push_int(iPlayerClass);
callfunc_end();
return iValue;
}
Przykładowa klasa od lvl'a: