←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Szybkie rozdawanie statystyk

Locked

  • +
  • -
Mateusz666PL's Photo Mateusz666PL 19.03.2012

Hej.. Mógłby mi ktoś dodać szybkie rozdawanie statystyk do nowego cod moda bo mi coś nie wychodzi :((
http://amxx.pl/topic...d-stary-i-nowy/

Attached Files

Quote

  • +
  • -
Goliath's Photo Goliath 19.03.2012

Automatyczna wiadomość


Ten temat został przeniesiony z forum:
AMX Mod X > Problemy
do
Mody > Call of Duty Mod > Pytania

Quote

  • +
  • -
Mateusz666PL's Photo Mateusz666PL 20.03.2012

Pomoże ktoś?:))
Quote

  • +
  • -
Mateusz666PL's Photo Mateusz666PL 08.04.2012

F5
Quote

  • +
  • -
Pietras11's Photo Pietras11 08.04.2012

Tu masz szybkie rozdawanie statystyk:
public PrzydzielPunkty(id)
{
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];
new allkondycja[60];
new allinteligencja[60];
new allwytrzymalosc[60];
new allzdrowie[60];
new kondycjaa[60];
new wytrzymalosca[60];
new zdrowiea[60];
new inteligencjaa[60];
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]);
format(allinteligencja, charsmax(allinteligencja), "Dodaj wszystko w inteligencje");
format(allkondycja, charsmax(allkondycja), "Dodaj wszystko w kondycje");
format(allzdrowie, charsmax(allzdrowie), "Dodaj wszystko w zdrowie");
format(allwytrzymalosc, charsmax(allwytrzymalosc), "Dodaj wszystko w wytrzymalosc");
format(kondycjaa, charsmax(kondycjaa), "Dodaj 10 punktow w kondycje");
format(zdrowiea, charsmax(zdrowiea), "Dodaj 10 punktow w zdrowie");
format(inteligencjaa, charsmax(inteligencjaa), "Dodaj 10 punktow w inteligencje");
format(wytrzymalosca, charsmax(wytrzymalosca), "Dodaj 10 punktow w wytrzymalosc");
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, inteligencjaa);
menu_additem(menu, zdrowiea);
menu_additem(menu, wytrzymalosca);
menu_additem(menu, kondycjaa);
menu_additem(menu, allinteligencja);
menu_additem(menu, allzdrowie);
menu_additem(menu, allwytrzymalosc);
menu_additem(menu, allkondycja);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
}

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 limit_int, limit_zdr, limit_kon, limit_wyt;
limit_int = limit_poziomu/2;
limit_zdr = limit_poziomu/2;
limit_kon = limit_poziomu/2;
limit_wyt = limit_poziomu/2;

switch(item)
{
  case 0:
  {
   if(inteligencja_gracza[id] < limit_int)
   {
	inteligencja_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom inteligencji osiagniety");


  }
  case 1:
  {
   if(zdrowie_gracza[id] < limit_zdr)
   {
	zdrowie_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom zdrowia osiagniety");
  }
  case 2:
  {
   if(wytrzymalosc_gracza[id] < limit_wyt)
   {
	wytrzymalosc_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom wytrzymalosci osiagniety");

  }
  case 3:
  {
   if(kondycja_gracza[id] < limit_kon)
   {
	kondycja_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom kondycji osiagniety");
  }
  case 4:
  {
   if(inteligencja_gracza[id] < limit_int)
   {
	if(punkty_gracza[id] < 10)
	{
	 client_print(id, print_chat, "[COD:MW] Masz za malo punktow do rozdania");
	}
	else
	{
	 if(inteligencja_gracza[id] + 10 <= limit_int)
	 {
	  inteligencja_gracza[id] += 10;
	  punkty_gracza[id] -= 10;
	 }
	 else
	 {
	  new punktydododania;
	  punktydododania = limit_int - inteligencja_gracza[id];
	  inteligencja_gracza[id] += punktydododania;
	  punkty_gracza[id] -= punktydododania;
	 }
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom inteligencji osiagniety");


  }
  case 5:
  {
   if(zdrowie_gracza[id] < limit_zdr)
   {
	if(punkty_gracza[id] < 10)
	{
	 client_print(id, print_chat, "[COD:MW] Masz za malo punktow do rozdania");
	}
	else
	{
	 if(zdrowie_gracza[id] + 10 <= limit_zdr)
	 {
	  zdrowie_gracza[id] += 10;
	  punkty_gracza[id] -= 10;
	 }
	 else
	 {
	  new punktydododania;
	  punktydododania = limit_zdr - zdrowie_gracza[id];
	  zdrowie_gracza[id] += punktydododania;
	  punkty_gracza[id] -= punktydododania;
	 }
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom zdrowia osiagniety");
  }
  case 6:
  {
   if(wytrzymalosc_gracza[id] < limit_wyt)
   {
	if(punkty_gracza[id] < 10)
	{
	 client_print(id, print_chat, "[COD:MW] Masz za malo punktow do rozdania");
	}
	else
	{
	 if(wytrzymalosc_gracza[id] + 10 <= limit_wyt)
	 {
	  wytrzymalosc_gracza[id] += 10;
	  punkty_gracza[id] -= 10;
	 }
	 else
	 {
	  new punktydododania;
	  punktydododania = limit_wyt - wytrzymalosc_gracza[id];
	  wytrzymalosc_gracza[id] += punktydododania;
	  punkty_gracza[id] -= punktydododania;
	 }
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom wytrzymalosci osiagniety");

  }
  case 7:
  {
   if(kondycja_gracza[id] < limit_kon)
   {
	if(punkty_gracza[id] < 10)
	{
	 client_print(id, print_chat, "[COD:MW] Masz za malo punktow do rozdania");
	}
	else
	{
	 if(kondycja_gracza[id] + 10 <= limit_kon)
	 {
	  kondycja_gracza[id] += 10;
	  punkty_gracza[id] -= 10;
	 }
	 else
	 {
	  new punktydododania;
	  punktydododania = limit_kon - kondycja_gracza[id];
	  kondycja_gracza[id] += punktydododania;
	  punkty_gracza[id] -= punktydododania;
	 }
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom kondycji osiagniety");
  }
  case 8:
  {
   if(inteligencja_gracza[id] < limit_int)
   {
	if(punkty_gracza[id] > limit_int - inteligencja_gracza[id])
	{
	 punkty_gracza[id] = punkty_gracza[id] + inteligencja_gracza[id] - limit_int;
	 inteligencja_gracza[id] = limit_int;
	}
	else
	{
	 inteligencja_gracza[id] = inteligencja_gracza[id] + punkty_gracza[id];
	 punkty_gracza[id] = 0;
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom inteligencji osiagniety");


  }
  case 9:
  {
   if(zdrowie_gracza[id] < limit_zdr)
   {
	if(punkty_gracza[id] > limit_zdr - zdrowie_gracza[id])
	{
	 punkty_gracza[id] = punkty_gracza[id] + zdrowie_gracza[id] - limit_zdr;
	 zdrowie_gracza[id] = limit_zdr;
	}
	else
	{
	 zdrowie_gracza[id] = zdrowie_gracza[id] + punkty_gracza[id];
	 punkty_gracza[id] = 0;
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom zdrowia osiagniety");
  }
  case 10:
  {
   if(wytrzymalosc_gracza[id] < limit_wyt)
   {
	if(punkty_gracza[id] > limit_wyt - wytrzymalosc_gracza[id])
	{
	 punkty_gracza[id] = punkty_gracza[id] + wytrzymalosc_gracza[id] - limit_wyt;
	 wytrzymalosc_gracza[id] = limit_wyt;
	}
	else
	{
	 wytrzymalosc_gracza[id] = wytrzymalosc_gracza[id] + punkty_gracza[id];
	 punkty_gracza[id] = 0;
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom wytrzymalosci osiagniety");

  }
  case 11:
  {
   if(kondycja_gracza[id] < limit_kon)
   {
	if(punkty_gracza[id] > limit_kon - kondycja_gracza[id])
	{
	 punkty_gracza[id] = punkty_gracza[id] + kondycja_gracza[id] - limit_kon;
	 kondycja_gracza[id] = limit_kon;
	}
	else
	{
	 kondycja_gracza[id] = kondycja_gracza[id] + punkty_gracza[id];
	 punkty_gracza[id] = 0;
	}
   }
   else
	client_print(id, print_chat, "[COD:MW] Maksymalny poziom kondycji osiagniety");
  }
}

if(punkty_gracza[id] > 0)
  PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}
Poszukaj u siebie wygląda to tak:
public PrzydzielPunkty(id)
{
new inteligencja[65];
new zdrowie[60];
new wytrzymalosc[60];
new kondycja[60];
new tytul[25];
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, inteligencja);
menu_additem(menu, zdrowie);
menu_additem(menu, wytrzymalosc);
menu_additem(menu, kondycja);
menu_setprop(menu, MPROP_EXIT, 0);
menu_display(id, menu);
}
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);

switch(item)
{
  case 0:
  {
   if(inteligencja_gracza[id] < limit_poziomu/2)
   {
	inteligencja_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
  
  }
  case 1:
  {
   if(zdrowie_gracza[id] < limit_poziomu/2)
   {
	zdrowie_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maxymalny poziom sily osiagniety");
  }
  case 2:
  {
   if(wytrzymalosc_gracza[id] < limit_poziomu/2)
   {
	wytrzymalosc_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maxymalny poziom zrecznosci osiagniety");
  
  }
  case 3:
  {
   if(kondycja_gracza[id] < limit_poziomu/2)
   {
	kondycja_gracza[id]++;
	punkty_gracza[id]--;
   }
   else
	client_print(id, print_chat, "[COD:MW] Maxymalny poziom kondycji osiagniety");
  }
}

if(punkty_gracza[id] > 0)
  PrzydzielPunkty(id);

return PLUGIN_CONTINUE;
}
public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[COD:MW] Umiejetnosci zostana zresetowane.");
client_cmd(id, "spk QTM_CodMod/select");

ResetujPunkty(id);
}
usuwasz to ze swojego silnika kopiujesz to co Ci podałem i wklejasz na miejsce swojego,kompilujesz w kompilatorze.
P.S. sory za kod powyżej 200 linijek ale autor tematu będzie miał czarne na białym jak co ma zrobić.
Edited by Pietras11, 08.04.2012 15:39.
Quote

  • +
  • -
Mateusz666PL's Photo Mateusz666PL 09.04.2012

dzięki działa +
Quote

  • +
  • -
Ojciec Dyrektor's Photo Ojciec Dyrektor 11.04.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Quote
Locked