public WybierzKlase(id)
{
if(polaczony_raz[id])
{
client_print(id, print_center, "Poczekaj na klase, a nie spamujesz!");
return PLUGIN_CONTINUE;
}
if(!wczytane_dane[id])
{
new szTemp[1024], data[1], Table[32];
new identyfikator[64], typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
get_cvar_string("cod_table", Table, 31);
data[0] = id;
switch(typ_zapisu)
{
case 1:{
copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
replace_all(identyfikator, charsmax(identyfikator), "'", "\'");
replace_all(identyfikator, charsmax(identyfikator), "`", "\`");
}
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
formatex(szTemp, charsmax(szTemp), "SELECT * FROM `%s` WHERE `nick` = '%s'", Table, identyfikator)
SQL_ThreadQuery(info, "KlasaHandle", szTemp, data, sizeof data)
polaczony_raz[id] = 1;
}
else
{
lvl_klasy_gracza[id][klasa_gracza[id]] = poziom_gracza[id];
xp_klasy_gracza[id][klasa_gracza[id]] = doswiadczenie_gracza[id];
int_klasy_gracza[id][klasa_gracza[id]] = inteligencja_gracza[id];
zdr_klasy_gracza[id][klasa_gracza[id]] = zdrowie_gracza[id];
wyt_klasy_gracza[id][klasa_gracza[id]] = wytrzymalosc_gracza[id];
kon_klasy_gracza[id][klasa_gracza[id]] = kondycja_gracza[id];
new klasa[50], menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
for(new i=1; i <= ilosc_klas; i++)
{
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], lvl_klasy_gracza[id][i]);
menu_additem(menu, klasa);
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
}
return PLUGIN_CONTINUE;
}
public KlasaHandle(failstate, Handle:query, error[], errnum, Data[], size){
if(failstate != TQUERY_SUCCESS){
log_amx("MySQL Select error: %s",error);
return;
}
new id = Data[0]
new szTemp[2028], klasa[50], menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
if(SQL_NumRows(query))
{
new daneklasy[6][32];
for(new i=1; i <= ilosc_klas; i++)
{
formatex(szTemp, charsmax(szTemp), "%i", i);
SQL_ReadResult(query, SQL_FieldNameToNum(query, szTemp), szTemp, charsmax(szTemp))
replace_all(szTemp, charsmax(szTemp), "#", " ");
parse(szTemp, daneklasy[0], 31, daneklasy[1], 31, daneklasy[2], 31, daneklasy[3], 31, daneklasy[4], 31, daneklasy[5], 31);
lvl_klasy_gracza[id][i] = str_to_num(daneklasy[0])
xp_klasy_gracza[id][i] = str_to_num(daneklasy[1])
int_klasy_gracza[id][i] = str_to_num(daneklasy[2])
zdr_klasy_gracza[id][i] = str_to_num(daneklasy[3])
wyt_klasy_gracza[id][i] = str_to_num(daneklasy[4])
kon_klasy_gracza[id][i] = str_to_num(daneklasy[5])
formatex(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], lvl_klasy_gracza[id][i]);
menu_additem(menu, klasa);
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
wczytane_dane[id] = 1;
}
else
{
new iLen = 0, Table[32];
new identyfikator[64], typ_zapisu = get_pcvar_num(cvar_typ_zapisu);
get_cvar_string("cod_table", Table, 31);
switch(typ_zapisu)
{
case 1:{
copy(identyfikator, charsmax(identyfikator), nazwa_gracza[id]);
replace_all(identyfikator, charsmax(identyfikator), "'", "\'");
replace_all(identyfikator, charsmax(identyfikator), "`", "\`");
}
case 2: get_user_authid(id, identyfikator, charsmax(identyfikator));
case 3: get_user_ip(id, identyfikator, charsmax(identyfikator));
}
iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "INSERT INTO `%s` (`nick`", Table);
for(new i=1; i <= ilosc_klas; i++)
iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, ", `%i`", i);
iLen += copy(szTemp[iLen], charsmax(szTemp)-iLen, ") VALUES (");
iLen += formatex(szTemp[iLen], charsmax(szTemp)-iLen, "'%s'", identyfikator);
for(new i=1; i <= ilosc_klas; i++)
iLen += copy(szTemp[iLen], charsmax(szTemp)-iLen, ", '1#0#0#0#0#0'");
iLen += copy(szTemp[iLen], charsmax(szTemp)-iLen, ")");
SQL_ThreadQuery(info, "IgnoreHandle", szTemp)
for(new i=1; i <= ilosc_klas; i++)
{
formatex(klasa, 49, "%s \yPoziom: 1", nazwy_klas[i]);
menu_additem(menu, klasa);
}
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk QTM_CodMod/select");
}
polaczony_raz[id] = 0;
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item++ == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id])
return PLUGIN_CONTINUE;
nowa_klasa_gracza[id] = item;
if(klasa_gracza[id])
client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie.");
else
{
UstawNowaKlase(id);
DajBronie(id);
ZastosujAtrybuty(id);
}
return PLUGIN_CONTINUE;
}
Niech ktoś pomoże proszę oczywiście plus poleci.
proszę niech ktoś pomoże albo powie jak w to włozyć te frakcje.


Dodatki SourceMod












