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

[ROZWIĄZANE] Pomoc z dodaniem paru funkcji do pluginu



Najlepsza odpowiedź Gość_21977_* , 28.08.2013 00:55

1.

#include <amxmisc>

Zbędne. Nie używasz funkcji z tego zbioru.
 
2. Ad. 1. Skoro menu się nie zmienia, to warto je zcache`ować, choćby w plugin_cfg, niż za każdym razem tworzyć je na nowo.

public plugin_cfg(){
	gMyMenu=menu_create("Klasy Humana", "cbMyMenu");
	menu_additem(gMyMenu, "Pancernik (Pancerz +50)", "Pancerz +50");
	menu_additem(gMyMenu, "Skoczek (Grawitacja 0.50)", "Zwiekszona Grawitacja");
	menu_additem(gMyMenu, "Szybki (Zwiekszony Speed)", "Zwiekszony Speed");
	menu_additem(gMyMenu, "Ognisty (3x Napalm)", "3x Napalm");
	menu_additem(gMyMenu, "Mrozny (3x Frost)", "3x Frost");
	menu_additem(gMyMenu, "Swietlik (3x Flare)", "3x Flare");
}

3. Jeśli menu ma być tylko dla ludzi, to sprawdź, czy nie jest to zombie:

public klasy(id){
	if(!zp_get_user_zombie(id)){
		menu_display(id, gMyMenu,0);
	}
	return PLUGIN_HANDLED;
}

4. Zmiana prędkości gracza by Benio101 > przeczytaj i popraw. Obecnie bonus prędkości zresetuje się choćby po zmianie broni na inną, a chyba nie o to chodziło.

5. Domyślne ograniczenia granatów to 1 HE, 2 FB i 1 SG. Kod

give_item(id, "weapon_hegrenade");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_hegrenade");

Przydzieli i tak tylko jeden granat, gdyż jaki jest domyślny limit, tutaj powinieneś ręcznie ustalić liczbę granatów w plecaku na 3, itp. dla pozostałych granatów (użyj funkcji cs_set_user_bpammo).

 

6. Ad. 2. Byty, istotne zdarzenia i studium pluginu > Start_rundy by Benio101 + set_task - funkcje czasowe by Miczu

7. Ad. 3. Po wyborze drużyny, zablokuj graczowi zmianę do końca rundy (AM: (en) New Round / Player Spawn / Round Start / Round End - do Not mess it by VEN).

Po rozpoczęciu nowej rundy, zmień klasę gracza na wybraną w poprzedniej rundzie. Dane zapisuj w tablicy globalnej o 33 elementach.

Przejdź do postu


  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 Predator ;*

    Pomocny

  • Użytkownik

Reputacja: -2
Nowy

  • Postów:50
  • Imię:Wojciech
  • Lokalizacja:Koronowo
Offline

Napisano 26.08.2013 07:47

Siema . Wczoraj napisałem 1 taki swój plugin do zombie plague / mod . Potrzebuje waszej pomocy .

 

Chciałbym to dodać do pluginu

  • Aby był tylko dla Humana (klasy)
  • Aby wybór klas sam się pokazywał co rundę . 10 sekund po rozpoczęciu nowej rundzie
  • Jeżeli gracz chcę zmienić klasę na inną to aby  nowa wybrana klasa zmieniła się po rozpoczęciu nowej rundy .

 

Plugin:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <core>
#include <cstrike>


#define PLUGIN "zp_humna_klasy"
#define VERSION "1.0"
#define AUTHOR "Predator"

new gMyMenu;

public plugin_init() {
	register_plugin("zp_humna_klasy", "1.0", "Predator")
	register_clcmd("say /klasa","klasy")
}

	public klasy(id){
	gMyMenu=menu_create("Klasy Humana", "cbMyMenu");
	menu_additem(gMyMenu, "Pancernik (Pancerz +50)", "Pancerz +50");
	menu_additem(gMyMenu, "Skoczek (Grawitacja 0.50)", "Zwiekszona Grawitacja");
	menu_additem(gMyMenu, "Szybki (Zwiekszony Speed)", "Zwiekszony Speed");
	menu_additem(gMyMenu, "Ognisty (3x Napalm)", "3x Napalm");
	menu_additem(gMyMenu, "Mrozny (3x Frost)", "3x Frost");
	menu_additem(gMyMenu, "Swietlik (3x Flare)", "3x Flare");

	menu_display(id, gMyMenu,0);
	return PLUGIN_HANDLED;
}
public cbMyMenu(id, menu, item){
	switch(item){
		case 0:{
			set_user_armor(id, 50);
		}
		case 1:{
			set_user_gravity (id, 0.50 );
		}
	         case 2:{
		 	set_user_maxspeed (id, 300.0 );
		}
                  case 3:{
		  	give_item(id, "weapon_hegrenade");
			give_item(id, "weapon_hegrenade");
			give_item(id, "weapon_hegrenade");
		}
		case 4:{
			give_item(id, "weapon_flashbang");
			give_item(id, "weapon_flashbang");
			give_item(id, "weapon_flashbang");
		}
		case 5:{
			give_item(id, "weapon_smokegrenade");
			give_item(id, "weapon_smokegrenade");
			give_item(id, "weapon_smokegrenade");
			cs_set_user_nvg (id, 1);
		}
	}
}


Proszę o pomoc .


Użytkownik Predator ;* edytował ten post 26.08.2013 08:05

  • +
  • -
  • 0

b_350_20_FFFFFF_FFFFFF_000000_000000.png


#2 PaiN kiLLer

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:32
  • Imię:daniel
  • Lokalizacja:emilów
Offline

Napisano 26.08.2013 09:16

co do 2. Tworzysz event nowe rundy. Potem dajesz set_task 10 sekund i żeby tylko raz się powturszyło. Następnie w funkcji set_taska dajesz 

    menu_display(id, gMyMenu,0);
    return PLUGIN_HANDLED;

Napisał bym ci ten kod ale nie umiem robić set taska który powtarza się X razy, poprostu cos mi sie nigdy nie kompiluje :D


Użytkownik PaiN kiLLer edytował ten post 26.08.2013 09:17

  • +
  • -
  • 0

#3 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 26.08.2013 11:25

co do 2. Tworzysz event nowe rundy. Potem dajesz set_task 10 sekund i żeby tylko raz się powturszyło. Następnie w funkcji set_taska dajesz 

    menu_display(id, gMyMenu,0);
    return PLUGIN_HANDLED;

Napisał bym ci ten kod ale nie umiem robić set taska który powtarza się X razy, poprostu cos mi sie nigdy nie kompiluje :D

Nie musi się wcale powtarzać, a pokazywanie lepiej zastosować w pętli, tym bardziej że ma to być wysyłane dla ludzi (humanów).

Jakiej wersji zombie moda używasz?


  • +
  • -
  • 0

#4 Predator ;*

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:50
  • Imię:Wojciech
  • Lokalizacja:Koronowo
Offline

Napisano 26.08.2013 18:28

zombie plague 4.3


  • +
  • -
  • 0

b_350_20_FFFFFF_FFFFFF_000000_000000.png


#5 Predator ;*

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:50
  • Imię:Wojciech
  • Lokalizacja:Koronowo
Offline

Napisano 27.08.2013 08:06

 

co do 2. Tworzysz event nowe rundy. Potem dajesz set_task 10 sekund i żeby tylko raz się powturszyło. Następnie w funkcji set_taska dajesz 

    menu_display(id, gMyMenu,0);
    return PLUGIN_HANDLED;

Napisał bym ci ten kod ale nie umiem robić set taska który powtarza się X razy, poprostu cos mi sie nigdy nie kompiluje :D

Nie musi się wcale powtarzać, a pokazywanie lepiej zastosować w pętli, tym bardziej że ma to być wysyłane dla ludzi (humanów).

Jakiej wersji zombie moda używasz?

 

 

 

 

 

 

Odświeżam  .

 

 

Zombie Plague 4.3 używam .


Użytkownik Predator ;* edytował ten post 27.08.2013 08:21

  • +
  • -
  • 0

b_350_20_FFFFFF_FFFFFF_000000_000000.png


#6 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 27.08.2013 08:19

Automatyczna wiadomość


Ten temat został przeniesiony z forum

Scripting AMXXPytania

do

Scripting AMXXProblemy
  • +
  • -
  • 0

#7 Predator ;*

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:50
  • Imię:Wojciech
  • Lokalizacja:Koronowo
Offline

Napisano 27.08.2013 20:23

Odświeżam .

 

 

 

Pomoże ktoś to dokończyć ? Albo jakieś wskazówki co pomoże mi to zrobić ?


  • +
  • -
  • 0

b_350_20_FFFFFF_FFFFFF_000000_000000.png


#8 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 28.08.2013 00:55   Najlepsza odpowiedź

1.

#include <amxmisc>

Zbędne. Nie używasz funkcji z tego zbioru.
 
2. Ad. 1. Skoro menu się nie zmienia, to warto je zcache`ować, choćby w plugin_cfg, niż za każdym razem tworzyć je na nowo.

public plugin_cfg(){
	gMyMenu=menu_create("Klasy Humana", "cbMyMenu");
	menu_additem(gMyMenu, "Pancernik (Pancerz +50)", "Pancerz +50");
	menu_additem(gMyMenu, "Skoczek (Grawitacja 0.50)", "Zwiekszona Grawitacja");
	menu_additem(gMyMenu, "Szybki (Zwiekszony Speed)", "Zwiekszony Speed");
	menu_additem(gMyMenu, "Ognisty (3x Napalm)", "3x Napalm");
	menu_additem(gMyMenu, "Mrozny (3x Frost)", "3x Frost");
	menu_additem(gMyMenu, "Swietlik (3x Flare)", "3x Flare");
}

3. Jeśli menu ma być tylko dla ludzi, to sprawdź, czy nie jest to zombie:

public klasy(id){
	if(!zp_get_user_zombie(id)){
		menu_display(id, gMyMenu,0);
	}
	return PLUGIN_HANDLED;
}

4. Zmiana prędkości gracza by Benio101 > przeczytaj i popraw. Obecnie bonus prędkości zresetuje się choćby po zmianie broni na inną, a chyba nie o to chodziło.

5. Domyślne ograniczenia granatów to 1 HE, 2 FB i 1 SG. Kod

give_item(id, "weapon_hegrenade");
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_hegrenade");

Przydzieli i tak tylko jeden granat, gdyż jaki jest domyślny limit, tutaj powinieneś ręcznie ustalić liczbę granatów w plecaku na 3, itp. dla pozostałych granatów (użyj funkcji cs_set_user_bpammo).

 

6. Ad. 2. Byty, istotne zdarzenia i studium pluginu > Start_rundy by Benio101 + set_task - funkcje czasowe by Miczu

7. Ad. 3. Po wyborze drużyny, zablokuj graczowi zmianę do końca rundy (AM: (en) New Round / Player Spawn / Round Start / Round End - do Not mess it by VEN).

Po rozpoczęciu nowej rundy, zmień klasę gracza na wybraną w poprzedniej rundzie. Dane zapisuj w tablicy globalnej o 33 elementach.







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

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

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