Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Stary

Dodawanie X punktow w statystykeby DarkGL

CoD Stary

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
20 odpowiedzi w tym temacie

#1 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 03.07.2011 13:50

*
Popularny

Gracz może napisać ile chce dodać punktów
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 :)
  • +
  • -
  • 5

#2 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 03.07.2011 13:54

dziękuję Dark :)
proszę o sprawdzenie kodu, jeśli ktoś może oczywiście ^^
  • +
  • -
  • 0

#3 ExTaza?!

    Wszechobecny

  • Użytkownik

Reputacja: 106
Zaawansowany

  • Postów:424
  • GG:
  • Imię:Piotr
  • Lokalizacja:Leszno
Offline

Napisano 04.07.2011 21:43

Tzn gracza ma np. 200 pkt i moze je przydzielic np od razu 50 do HP 50 do Kondycji itp jedna komenda? Bez klikania 1,2,3 ?
  • +
  • -
  • 0

http://www.Cs-Kurnik.pl - Zapraszam!

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: awp.cs-kurnik.pl:27017 / 155.133.43.190:27017

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: ts3.cs-kurnik.pl - Darmowe kanały                     


#4 Jambi

    Profesjonalista

  • Użytkownik

Reputacja: 18
Początkujący

  • Postów:188
  • Lokalizacja:Nysa
Offline

Napisano 04.07.2011 21:53

a jak w inteligencji mam wiecej i innych tez tzn sa ruzne pkt to jak ustawic
  • +
  • -
  • 0

#5 stasiu

    Zaawansowany

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:95
  • Imię:szymon
  • Lokalizacja:torun
Offline

Napisano 04.07.2011 22:32

no fajne nie powiem c(: przyda sie

#6 ExTaza?!

    Wszechobecny

  • Użytkownik

Reputacja: 106
Zaawansowany

  • Postów:424
  • GG:
  • Imię:Piotr
  • Lokalizacja:Leszno
Offline

Napisano 05.07.2011 15:29

Tzn gracza ma np. 200 pkt i moze je przydzielic np od razu 50 do HP 50 do Kondycji itp jedna komenda? Bez klikania 1,2,3 ?

No to odpowiesz Autorze ? :]
  • +
  • -
  • 0

http://www.Cs-Kurnik.pl - Zapraszam!

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: awp.cs-kurnik.pl:27017 / 155.133.43.190:27017

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: ts3.cs-kurnik.pl - Darmowe kanały                     


#7 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 05.07.2011 17:09

klika 5 wpisuje 50 i enter klika 6 znow 50 i enter i tak jeszcze dwa razy i dał po 50 w każdy skill zresztą możesz sprawdzić to w grze

Użytkownik DarkGL edytował ten post 05.07.2011 17:11

  • +
  • -
  • 0

#8 ExTaza?!

    Wszechobecny

  • Użytkownik

Reputacja: 106
Zaawansowany

  • Postów:424
  • GG:
  • Imię:Piotr
  • Lokalizacja:Leszno
Offline

Napisano 05.07.2011 19:43

Czyli beda opcje ze po 1 pkt mozna dodawac i opcja ze od razu 50 ? Jak tak to jutro to tam do swojego przetestuje jak fajne bedzie plusik ;] Ale i tak bedzie ;]
  • +
  • -
  • 0

http://www.Cs-Kurnik.pl - Zapraszam!

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: awp.cs-kurnik.pl:27017 / 155.133.43.190:27017

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: ts3.cs-kurnik.pl - Darmowe kanały                     


#9 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 07.07.2011 14:34

po prostu wpisujesz ile chcesz sobie dodać w statystykę, masz np. 100pkt to zamiast klikać cały czas do 100 to wpisujesz i masz
  • +
  • -
  • 0

#10 ExTaza?!

    Wszechobecny

  • Użytkownik

Reputacja: 106
Zaawansowany

  • Postów:424
  • GG:
  • Imię:Piotr
  • Lokalizacja:Leszno
Offline

Napisano 07.07.2011 15:45

No i o to pytalem. Plusik idzie.

Dodano 08 lipiec 2011 - 02:30:
Zrob wersje z TYM bo cos nie moge :) a mam to
  • +
  • -
  • 0

http://www.Cs-Kurnik.pl - Zapraszam!

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: awp.cs-kurnik.pl:27017 / 155.133.43.190:27017

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: ts3.cs-kurnik.pl - Darmowe kanały                     


#11 ric0

    Wszechwiedzący

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:558
  • Imię:Łukasz
  • Lokalizacja:Ostrołęka
Offline

Napisano 10.07.2011 11:44

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

kopia.sma(1783) : error 033: array must be indexed (variable "-unknown-")

1 Error.
Could not locate output file kopia.amxx (compile failed)


Wywala mi błąd taki i to jest gdy wklejam to na koniec :

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;
}


Dodano 11 lipiec 2011 - 14:33:
Poradziłem sobie z wyżej wymienionym problemem ale nadal to nie działa.. likam daj x pkt w kondycje wpisuje i to nic nie daje i w czacie nei ma info..

Użytkownik Squady edytował ten post 10.07.2011 11:46

  • +
  • -
  • 0

To co piszę się nie liczy...

 


#12 Gość_deLL_*

  • Gość

Reputacja: 0

Offline

Napisano 12.07.2011 13:32

Na moje oko nie dodałeś do plugin_init tego :
register_clcmd("wprowadz_ilosc_pkt","iDodaj")


#13 ric0

    Wszechwiedzący

  • Power User

Reputacja: 176
Profesjonalista

  • Postów:558
  • Imię:Łukasz
  • Lokalizacja:Ostrołęka
Offline

Napisano 12.07.2011 18:14

Nie wiem jak to się mogło stać że tego nie wpisałem ;/
+4you
  • +
  • -
  • 0

To co piszę się nie liczy...

 


#14 Bratt

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3
  • Imię:Maciej
  • Lokalizacja:Miechow
Offline

Napisano 09.08.2011 00:33

eey

a dokladnie to gdzie to wpisac ?

register_clcmd("wprowadz_ilosc_pkt","iDodaj")

#15 DarkGL

    Nie oddam ciasteczka !

  • Autor tematu
  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 09.08.2011 10:20

do plugin_init
  • +
  • -
  • 0

#16 Kolar`.

    Guru

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 04.09.2011 20:12

#define MAX_WIELKOSC_FRAKCJA 64
#define MAX_PKT 100

enum umiejetnosci{
eInteligencja,
eZdrowie,
eWytrzymalosc,
eKondycja
}

new umiejetnosci:iModePrzydziel[33];

new const maxAmmo[31] = {0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120,
90, 2, 35, 90, 90,0, 100};

new MsgScreenfade;


Errory:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Array must be indexed (variable "-unknown-") on line 1684
1 Error.
Could not locate output file C:\Users\Kamil\Desktop\CoD dmg\QTM_CodMod.amx (compile failed).

To tutaj:
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){ ///////////////////////////// TUTAJ
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",


Co jest nie tak ?

Wszystko raczej dodałem dobrze ...

Użytkownik Kolar`. edytował ten post 04.09.2011 20:00


#17 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 04.09.2011 20:14

Zmień:
switch(iModePrzydziel)

Na:
switch(iModePrzydziel[id])

  • +
  • -
  • 0

#18 Kolar`.

    Guru

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 04.09.2011 20:16

 }

switch(iModePrzydziel[id])
case eInteligencja:{ <<<<<<<<<<<<<<<<<<<<<<< TUTAJ
if(inteligencja_gracza[id] + iIle > MAX_PKT){
iIle = MAX_PKT - inteligencja_gracza[id];
}


Errory
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Expected token: "{", but found "case" on line 1685
1 Error.
Could not locate output file C:\Users\Kamil\Desktop\CoD dmg\QTM_CodMod.amx (compile failed).

Użytkownik Kolar`. edytował ten post 04.09.2011 20:16


#19 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 04.09.2011 20:17

Nie mówiłem, żebyś usuwał klamrę otwierającą:
switch(iModePrzydziel[id]){

  • +
  • -
  • 1

#20 Kolar`.

    Guru

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:704
  • GG:
  • Imię:Kamil
  • Lokalizacja:Jastrzębie Zdrój
Offline

Napisano 04.09.2011 20:27

Zmień:

switch(iModePrzydziel)

Na:
switch(iModePrzydziel[id])



To Twój błąd. ;P

Teraz działa.

+





Również z jednym lub większą ilością słów kluczowych: CoD Stary

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych