←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
silnik jak dodać wszystko w staty

DiXoN123 - zdjęcie DiXoN123 28.07.2013

witam! tak jak w temacie w tym pisze dodalem o tam to zle 

new const co_ile[] = { 1, 10, 50, 100, 200, -1,wszystko} // Wlasnie tutaj zmieniamy co ile maja rosnac punkty.
new szybkosc_rozdania[33];

 

to mam tak

 

 

new const co_ile[] = { 1, 10, 50, 100, 200, -1} // Wlasnie tutaj zmieniamy co ile maja rosnac punkty.
new szybkosc_rozdania[33];
 to moge odac 1,10,50,100,20,-1  co zrobic aby doddać wszystko  w jedną statystyke robilem to z tego poradnika 

http://amxx.pl/topic...awanie-punktow/

Odpowiedz

DiXoN123 - zdjęcie DiXoN123 28.07.2013

tu silnik sma

Załączone pliki

Odpowiedz

DiXoN123 - zdjęcie DiXoN123 28.07.2013

@ ref

Odpowiedz

  • +
  • -
QuatZo - zdjęcie QuatZo 28.07.2013


A dla tych, którzy chcą dodawanie wszystkiego w daną statystykę: zmieniamy:
new const co_ile[] = { 1, 4, 8, 16, 24 }
Na:
new const co_ile[] = { 1, 4, 8, 16, 24, -1 }
Zmieniamy funkcję PrzydzielPunkty na:
public PrzydzielPunkty(id)

{

new szybkosc[60];

new inteligencja[65];

new zdrowie[60];

new wytrzymalosc[60];

new kondycja[60];

new tytul[25];



if(co_ile[szybkosc_rozdania[id]] == -1)

format(szybkosc, charsmax(szybkosc), "Ile dodawac: \rwszystko \y(Ile pkt dodac do statow)");

else format(szybkosc, charsmax(szybkosc), "Ile dodawac: \r%d \y(Ile pkt dodac do statow)", co_ile[szybkosc_rozdania[id]]);

format(inteligencja, charsmax(inteligencja), "Inteligencja: \r%i \y(Zwieksza sile perkow i umiejetnosci klasy)", PobierzInteligencje(id, 1, 1, 1));

format(zdrowie, charsmax(zdrowie), "Zdrowie: \r%i \y(Zwieksza zdrowie)", PobierzZdrowie(id, 1, 1, 1));

format(wytrzymalosc, charsmax(wytrzymalosc), "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", PobierzWytrzymalosc(id, 1, 1, 1));

format(kondycja, charsmax(kondycja), "Kondycja: \r%i \y(Zwieksza tempo chodu)", PobierzKondycje(id, 1, 1, 1));

format(tytul, charsmax(tytul), "Przydziel Punkty(%i):", punkty_gracza[id]);

new menu = menu_create(tytul, "PrzydzielPunkty_Handler");

menu_additem(menu, szybkosc);

menu_addblank(menu, 0);

menu_additem(menu, inteligencja);

menu_additem(menu, zdrowie);

menu_additem(menu, wytrzymalosc);

menu_additem(menu, kondycja);

menu_setprop(menu, MPROP_EXIT, 0);

menu_display(id, menu);

}
A funkcję PrzydzielPunkty_Handler na:
public PrzydzielPunkty_Handler(id, menu, item) {

client_cmd(id, "spk QTM_CodMod/select");



if(item == MENU_EXIT) {

menu_destroy(menu);

return PLUGIN_CONTINUE;

}



if(punkty_gracza[id] < 1)

return PLUGIN_CONTINUE;



new limit_poziomu = get_pcvar_num(cvar_limit_poziomu);

new ilosc;

if(co_ile[szybkosc_rozdania[id]] == -1)

ilosc = punkty_gracza[id];

else ilosc = (co_ile[szybkosc_rozdania[id]] > punkty_gracza[id]) ? punkty_gracza[id] : co_ile[szybkosc_rozdania[id]]



switch(item) {

case 0: {

if(szybkosc_rozdania[id] < charsmax(co_ile)) szybkosc_rozdania[id]++;

else szybkosc_rozdania[id] = 0;

}

case 1: {

if(inteligencja_gracza[id] < limit_poziomu/2) {

if(ilosc > limit_poziomu/2 - inteligencja_gracza[id])

ilosc = limit_poziomu/2 - inteligencja_gracza[id];

inteligencja_gracza[id]+=ilosc;

punkty_gracza[id]-=ilosc;

} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");

}

case 2: {

if(zdrowie_gracza[id] < limit_poziomu/2) {

if(ilosc > limit_poziomu/2 - zdrowie_gracza[id])

ilosc = limit_poziomu/2 - zdrowie_gracza[id];

zdrowie_gracza[id]+=ilosc;

punkty_gracza[id]-=ilosc;

} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");

}

case 3: {

if(wytrzymalosc_gracza[id] < limit_poziomu/2) {

if(ilosc > limit_poziomu/2 - wytrzymalosc_gracza[id])

ilosc = limit_poziomu/2 - wytrzymalosc_gracza[id];

wytrzymalosc_gracza[id]+=ilosc;

punkty_gracza[id]-=ilosc;

} else client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");

}

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");

}

}



if(punkty_gracza[id] > 0)

PrzydzielPunkty(id);



return PLUGIN_CONTINUE;

}
Powyższych kodów nie testowałem, ale myślę, że będą działać.

Użytkownik QuatZo edytował ten post 28.07.2013 15:19
Odpowiedz

DiXoN123 - zdjęcie DiXoN123 28.07.2013

jak nie widac to mam tak

Odpowiedz

  • +
  • -
QuatZo - zdjęcie QuatZo 28.07.2013

jak nie widac to mam tak

W Twoim drugie temacie zrobiłem, powinno działać, lecz nie jestem pewien.

Odpowiedz

  • +
  • -
Tamagotchi - zdjęcie Tamagotchi 28.07.2013

tu masz opisane wszystko jak http://amxx.pl/topic...anie-statystyk/  tylko kod trzeba połączyć z tym co masz u siebie

Odpowiedz

DiXoN123 - zdjęcie DiXoN123 28.07.2013

ale to jest ze bendziesz mial 10 stron i trzeba dodawac a tak 1 linijka co zrobic

Odpowiedz