Dodanie statystyki obrażenia zapis SQL od...
Arbitralny 16.08.2014
*Szukamy kondycja_gracza[33]; zmieniamy ; na , i dodajemy za obrazenia1_gracza[33]; *Szukamy bonusowa_kondycja_gracza[33]; zamieniamy ; na , i dodajemy za bonusowe_obrazenia1_gracza[33]; *Szukamy wytrzymalosc_klas[MAX_ILOSC_KLAS+1], dodajemy za obrazenia1_klas[MAX_ILOSC_KLAS+1], *Szukamy new kon_klasy_gracza[33][MAX_ILOSC_KLAS]; dodajemy za new obr_klasy_gracza[33][MAX_ILOSC_KLAS]; *Szukamy i zamienamy na *Szukamy dodajemy za *Szukamy dodajemy za *Szukamy public ZarejestrujKlase zamieniamy if(params != 7) na if(params != 8) *W tym samym publicu szukamy wytrzymalosc_klas[ilosc_klas] = get_param(7); dodajemy za obrazenia1_klas[ilosc_klas] = get_param(8);
add(szTemp, charsmax(szTemp), "intelligence INT UNSIGNED NOT NULL DEFAULT 0, health INT UNSIGNED NOT NULL DEFAULT 0, strength INT UNSIGNED NOT NULL DEFAULT 0, stamina INT UNSIGNED NOT NULL DEFAULT 0)");
add(szTemp, charsmax(szTemp), "intelligence INT UNSIGNED NOT NULL DEFAULT 0, health INT UNSIGNED NOT NULL DEFAULT 0, strength INT UNSIGNED NOT NULL DEFAULT 0, stamina INT UNSIGNED NOT NULL DEFAULT 0, damage1 INT UNSIGNED NOT NULL DEFAULT 0)");
kon_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "stamina"));
dodajemy
obr_klasy_gracza[id][int] = SQL_ReadResult(query, SQL_FieldNameToNum(query, "damage1"));
formatex(szTemp, 1023, "UPDATE `%s` SET xp=(`xp` + %d), level=(`level` + %d), intelligence='%d', health='%d', strength='%d', stamina='%d' WHERE name='%s' AND klasa='%s'", Tabela,
na
formatex(szTemp, 1023, "UPDATE `%s` SET xp=(`xp` + %d), level=(`level` + %d), intelligence='%d', health='%d', strength='%d', stamina='%d', damage1='%d' WHERE name='%s' AND klasa='%s'", Tabela,
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
na
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia1_gracza[id];
format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
na
format(opis, charsmax(opis), "\yKlasa: \w%s^n\yInteligencja: \w%i^n\yZdrowie: \w%i^n\yWytrzymalosc: \w%i^n\yKondycja: \w%i^nObrazenia: \w%i^n\yBronie:\w%s^n\yDodatkowy opis: \w%s^n%s", nazwy_klas[item], inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item], obrazenia1_klas[item], bronie, opisy_klas[item], opisy_klas[item][79]);
format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));
dodajemy
format(obrazenia1, charsmax(obrazenia1), "Obrazenia: \r%i \y(Zwieksza obrazenia)", PobierzObrazenia1(id, 1, 1, 1));
case 4: {
if(kondycja_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - kondycja_gracza[id])
ilosc = limit_poziomu/2 - kondycja_gracza[id];
kondycja_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
}
case 5:
{
if(obrazenia1_gracza[id] < limit_poziomu/2) {
if(ilosc > limit_poziomu/2 - obrazenia1_gracza[id])
ilosc = limit_poziomu/2 - obrazenia1_gracza[id];
obrazenia1_gracza[id]+=ilosc;
punkty_gracza[id]-=ilosc;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom obrazen osiagniety");
}
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id];
na
punkty_gracza[id] = (poziom_gracza[id]-1)*2-inteligencja_gracza[id]-zdrowie_gracza[id]-wytrzymalosc_gracza[id]-kondycja_gracza[id]-obrazenia1_gracza[id];
public UstawBonusoweObrazenia1 (id, wartosc)
bonusowe_obrazenia1_gracza[id] = wartosc;
public PobierzWytrzymalosc(id, wytrzymalosc_zdobyta, wytrzymalosc_klasy, wytrzymalosc_bonusowa)
{
new wytrzymalosc;
if(wytrzymalosc_zdobyta)
wytrzymalosc += wytrzymalosc_gracza[id];
if(wytrzymalosc_bonusowa)
wytrzymalosc += bonusowa_wytrzymalosc_gracza[id];
if(wytrzymalosc_klasy)
wytrzymalosc += wytrzymalosc_klas[klasa_gracza[id]];
return wytrzymalosc;
}
public PobierzObrazenia1(id, obrazenia1_zdobyte, obrazenia1_klasy, obrazenia1_bonusowe)
{
new obrazenia1;
if(obrazenia1_zdobyte)
obrazenia1 += obrazenia1_gracza[id];
if(obrazenia1_bonusowe)
obrazenia1 += bonusowe_obrazenia1_gracza[id];
if(obrazenia1_klasy)
obrazenia1 += obrazenia1_klas[klasa_gracza[id]];
return obrazenia1;
}
public PobierzWytrzymaloscKlasy(klasa)
{
if(klasa <= ilosc_klas)
return wytrzymalosc_klas[klasa];
return -1;
}
public PobierzObrazenia1Klasy(klasa)
{
if(klasa <= ilosc_klas)
return obrazenia1_klas[klasa];
return -1;
}
Arbitralny 16.08.2014
Przykładowa klasa z tą statystyką
#include <amxmodx> #include <amxmisc> #include <codmod> #include <fun> new const nazwa[] = "Przykład"; new const opis[] = ""; new const bronie = (1<<CSW_P228)|(1<<CSW_HEGRENADE)|(1<<CSW_M3); new const zdrowie = 0; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new const obrazenia = 0; //<= A TU TO xD public plugin_init() { register_plugin(nazwa, "1.0", "amxx.pl"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, obrazenia); //<= ROBIMY PRZECINEK I DODAJEMY obrazenia } public cod_class_enabled(id) { give_item(id, "weapon_hegrenade"); }
Jeżeli chcecie dodać klasę z tą statystyką na serwer to musicie wrzucić do include codmoc.inc. To samo robicie z kompilatorem.
codmod.inc 8,1 KB 54 Ilość pobrań
Gotowy silnik ze statystyką
codmodsql_bez_frakcji.sma 52,16 KB 68 Ilość pobrań