←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Jak przenieść "szybkie pr...


Najlepsza odpowiedź Rivit 28.04.2014 16:34

    menu_additem(menu, inteligencja);
    menu_additem(menu, zdrowie);
    menu_additem(menu, wytrzymalosc);
    menu_additem(menu, kondycja);
    menu_addblank(menu, 0);
    menu_additem(menu, szybkosc);
switch(item) { 
		case 0: {       
			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 1: {       
			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 2: {       
			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 3: {       

			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 4: {

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

			else szybkosc_rozdania[id] = 0;

		}       

	}

Jakis kod rozjechany dałeś.

Przejdź do postu
Zablokowany

james2001 - zdjęcie james2001 28.04.2014

Witam !!

 

Mam taki kod:

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

}

oraz

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

		}

	}


I jak przenieść to: Przydziel 100/200/500/1000  z pozycji "1" na pozycję "5" ?

 

Bo gdy zamienię case to nie działa :(

 

Daję potrzebny kawałek .sma:

Spoiler

 

Będą plusy +++ !! :D

 

Pozdrawiam :P

Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 28.04.2014

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod XPytania

do

Scripting AMXXProblemy
Odpowiedz

  • +
  • -
Najlepsza odpowiedź Rivit - zdjęcie Rivit 28.04.2014

    menu_additem(menu, inteligencja);
    menu_additem(menu, zdrowie);
    menu_additem(menu, wytrzymalosc);
    menu_additem(menu, kondycja);
    menu_addblank(menu, 0);
    menu_additem(menu, szybkosc);
switch(item) { 
		case 0: {       
			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 1: {       
			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 2: {       
			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 3: {       

			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 4: {

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

			else szybkosc_rozdania[id] = 0;

		}       

	}

Jakis kod rozjechany dałeś.

Odpowiedz

james2001 - zdjęcie james2001 28.04.2014

Przeniosło się na 5 miejsce ale NIE mogę zmieniać między 100/200/500/1000 :facepalm:

Jak klikam na "5" to NIC się NIE dzieje.

Pomóż mi :(

Odpowiedz

james2001 - zdjęcie james2001 28.04.2014

TibacK mym NAJLEPSZYM kolegą :D

 

A jeszcze mam pytanie dlaczego tu jest "650 max" a tu "660"  ??

48408350464703214093.jpg

Odpowiedz

james2001 - zdjęcie james2001 28.04.2014

Staty na innej klasie wyglądają podobnie ...

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 28.04.2014

Być może że klasa ma swoje bazowe statystyki.

Limit poziomu masz 1201, więc limit statystyk powinien być 600.

Pokaż opis klasy generał

Odpowiedz

james2001 - zdjęcie james2001 28.04.2014

dzięki !! Ale ja głupi jestem, oczywiście że ma bazowe :D
Reputka leci ++ !

//close
Odpowiedz
Zablokowany