←  Dodatki

AMXX.pl: Support AMX Mod X i SourceMod

»
Wklejka 132855636611471 dodana przez matti9410, 06.02.2012 20:26
Typ:


132855636611471
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
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;
}