do zmiennych globalnych (na samej górze pluginu już po #include ale przed pierwszym public)
#define MAX_PKT 100
enum umiejetnosci{
eInteligencja,
eZdrowie,
eWytrzymalosc,
eKondycja
}
new umiejetnosci:iModePrzydziel[33];#define MAX_PKT 100 - tutaj ustawiamy maksymalny level umiejętności
do plugin_init
register_clcmd("wprowadz_ilosc_pkt","iDodaj")w dowolne miejsce
public iDodaj(id)
{
new szDodaj[196];
read_args(szDodaj,charsmax(szDodaj))
remove_quotes(szDodaj)
if(is_str_num(szDodaj))
{
new iIle = str_to_num(szDodaj)
if(iIle > punkty_gracza[id]){
ColorChat(id, GREEN, "[COD:MW]^x01 Masz za malo punktow");
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
switch(iModePrzydziel){
case eInteligencja:{
if(inteligencja_gracza[id] + iIle > MAX_PKT){
iIle = MAX_PKT - inteligencja_gracza[id];
}
inteligencja_gracza[id] += iIle;
punkty_gracza[id] -= iIle;
ColorChat(id, GREEN, "[COD:MW]^x01 Dodales %d punktow w inteligencje. %s", iIle,inteligencja_gracza[id] >= 100 ? "Maksymalny poziom osiagniety":"");
}
case eZdrowie:{
if(zdrowie_gracza[id] + iIle > MAX_PKT){
iIle = MAX_PKT - zdrowie_gracza[id];
}
zdrowie_gracza[id] += iIle;
punkty_gracza[id] -= iIle;
ColorChat(id, GREEN, "[COD:MW]^x01 Dodales %d punktow w zycie. %s", iIle,zdrowie_gracza[id] >= 100 ? "Maksymalny poziom osiagniety":"");
}
case eWytrzymalosc:{
if(wytrzymalosc_gracza[id] + iIle > MAX_PKT){
iIle = MAX_PKT - wytrzymalosc_gracza[id]
}
wytrzymalosc_gracza[id] += iIle;
punkty_gracza[id] -= iIle;
ColorChat(id, GREEN, "[COD:MW]^x01 Dodales %d punktow w wytrzymalosc %s", iIle,wytrzymalosc_gracza[id] >= 100 ? "Maksymalny poziom osiagniety":"");
}
case eKondycja:{
if(kondycja_gracza[id] + iIle > MAX_PKT){
iIle = MAX_PKT - kondycja_gracza[id];
}
kondycja_gracza[id] += iIle;
punkty_gracza[id] -= iIle;
ColorChat(id, GREEN, "[COD:MW]^x01 Dodales %d punktow w kondycje. %s", iIle,kondycja_gracza[id] >= 100 ? "Maksymalny poziom osiagniety":"");
}
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
}
else{
ColorChat(id, GREEN, "[COD:MW]^x01 Tylko cyfry!");
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
Standardowe funkcje PrzydzielPunkty i PrzydzielPunkty_Handler podmieniamy na
public PrzydzielPunkty(id)
{
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];
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]);
format(tytul, 24, "Przydziel Punkty(\r%i):", punkty_gracza[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_additem(menu,"Dodaj X punktow w Inteligencje");
menu_additem(menu,"Dodaj X punktow w Zycie");
menu_additem(menu,"Dodaj X punktow w Wytrzymalosc");
menu_additem(menu,"Dodaj X punktow w Kondycje");
menu_display(id, menu);
#if defined BOTY
if(is_user_bot2(id))
PrzydzielPunkty_Handler(id, menu, random(4));
#endif
}
public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk QTM_CodMod/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(inteligencja_gracza[id]<MAX_PKT)
inteligencja_gracza[id]++;
else
ColorChat(id, GREEN, "[COD:MW]^x01 Maxymalny poziom inteligencji osiagniety");
}
case 1:
{
if(zdrowie_gracza[id]<MAX_PKT)
zdrowie_gracza[id]++;
else
ColorChat(id, GREEN, "[COD:MW]^x01 Maxymalny poziom sily osiagniety");
}
case 2:
{
if(wytrzymalosc_gracza[id]<MAX_PKT)
wytrzymalosc_gracza[id]++;
else
ColorChat(id, GREEN, "[COD:MW]^x01 Maxymalny poziom zrecznosci osiagniety");
}
case 3:
{
if(kondycja_gracza[id]<MAX_PKT)
kondycja_gracza[id]++;
else
ColorChat(id, GREEN, "[COD:MW]^x01 Maxymalny poziom zwinnosci osiagniety");
}
case 4:
{
if(inteligencja_gracza[id]<MAX_PKT){
client_cmd(id, "messagemode wprowadz_ilosc_pkt");
iModePrzydziel[id] = eInteligencja;
return PLUGIN_HANDLED;
}
}
case 5:
{
if(punkty_gracza[id]){
client_cmd(id, "messagemode wprowadz_ilosc_pkt");
iModePrzydziel[id] = eZdrowie;
return PLUGIN_HANDLED;
}
}
case 6:
{
if(punkty_gracza[id]){
client_cmd(id, "messagemode wprowadz_ilosc_pkt");
iModePrzydziel[id] = eWytrzymalosc;
return PLUGIN_HANDLED;
}
}
case 7:
{
if(punkty_gracza[id]){
client_cmd(id, "messagemode wprowadz_ilosc_pkt");
iModePrzydziel[id] = eKondycja;
return PLUGIN_HANDLED;
}
}
}
punkty_gracza[id]--;
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
} to wszystko zostałem o to poproszony pomysł należy do Frajer'a [CoD Stary] Pewna funkcja - AMXX.pl: Support AMX Mod X


Dodatki SourceMod















