[Tutorial] Szybsze rozdzielanie punktów (przydatne na diablo ze zwiększonymi levelami) - Nieoficjalny polski support AMX Mod X
Więc zaczynajmy...
Szukamy:
new inteligencja[65]; new zdrowie[60]; new wytrzymalosc[60]; new kondycja[60];Dodajemy pod:
new inteligencja_all[65]; new zdrowie_all[60]; new wytrzymalosc_all[60]; new kondycja_all[60];Szukamy niżej:
format(inteligencja, 64, "Inteligencja: \r%i \y(Zwieksza obrazenia zadawane przedmiotami)", inteligencja_gracza[id]); format(zdrowie, 59, "Zycie: \r%i \y(Zwieksza zycie)", zdrowie_gracza[id]); format(wytrzymalosc, 59, "Wytrzymalosc: \r%i \y(Zmniejsza obrazenia)", wytrzymalosc_gracza[id]); format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);Dodajemy pod:
format(inteligencja_all, 64, "Wszystko w Inteligencje(\r%i)",inteligencja_gracza[id]); format(zdrowie_all, 59, "Wszystko w Zycie(\r%i)",zdrowie_gracza[id]); format(wytrzymalosc_all, 59, "Wszystko w Wytrzymalosc(\r%i)",wytrzymalosc_gracza[id]); format(kondycja_all, 59, "Wszystko w Kondycje(\r%i)",kondycja_gracza[id]);Szukamy funkcji:
public PrzydzielPunkty_Handler(id, menu, item)I całą zmieniamy na:
public PrzydzielPunkty_Handler(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } new maksymalna_stat=X switch(item) { case 0: { if(inteligencja_gracza[id]<maksymalna_stat) inteligencja_gracza[id]++; else client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety"); } case 1: { if(zdrowie_gracza[id]<maksymalna_stat) zdrowie_gracza[id]++; else client_print(id, print_chat, "[COD:MW] Maxymalny poziom zycia osiagniety"); } case 2: { if(wytrzymalosc_gracza[id]<maksymalna_stat) wytrzymalosc_gracza[id]++; else client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety"); } case 3: { if(kondycja_gracza[id]<maksymalna_stat) kondycja_gracza[id]++; else client_print(id, print_chat, "[COD:MW] Maxymalny poziom zwinnosci osiagniety"); } case 4: { if (punkty_gracza[id]+inteligencja_gracza[id] <= maksymalna_stat) { inteligencja_gracza[id]+=punkty_gracza[id] punkty_gracza[id]=0 } else { punkty_gracza[id]-=maksymalna_stat-inteligencja_gracza[id] inteligencja_gracza[id]=maksymalna_stat client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety")<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/wink.gif' class='bbc_emoticon' alt=';)' /> } } case 5: { if (punkty_gracza[id]+zdrowie_gracza[id] <= maksymalna_stat) { zdrowie_gracza[id]+=punkty_gracza[id] punkty_gracza[id]=0 } else { punkty_gracza[id]-=maksymalna_stat-zdrowie_gracza[id] zdrowie_gracza[id]=maksymalna_stat client_print(id, print_chat, "[COD:MW] Maxymalny poziom zycia osiagniety"); } } case 6: { if (punkty_gracza[id]+wytrzymalosc_gracza[id] <= maksymalna_stat) { wytrzymalosc_gracza[id]+=punkty_gracza[id] punkty_gracza[id]=0 } else { punkty_gracza[id]-=maksymalna_stat-wytrzymalosc_gracza[id] wytrzymalosc_gracza[id]=maksymalna_stat client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety"); } } case 7: { if (punkty_gracza[id]+kondycja_gracza[id] <= maksymalna_stat) { kondycja_gracza[id]+=punkty_gracza[id] punkty_gracza[id]=0 } else { punkty_gracza[id]-=maksymalna_stat-kondycja_gracza[id] kondycja_gracza[id]=maksymalna_stat client_print(id, print_chat, "[COD:MW] Maxymalny poziom zwinnosci osiagniety"); } } } punkty_gracza[id]--; if(punkty_gracza[id]>0) PrzydzielPunkty(id); return PLUGIN_CONTINUE; }
X-maksymalna ilość statystyki np. masz 401 lvli to 401-1=400/2=200
Nietestowane.