←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Pomoc z dodaniem paru funkcji...


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
Zablokowany

  • +
  • -
Predator ;* - zdjęcie Predator ;* 26.08.2013

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
Odpowiedz

  • +
  • -
PaiN kiLLer - zdjęcie PaiN kiLLer 26.08.2013

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
Odpowiedz

  • +
  • -
d0naciak - zdjęcie d0naciak 26.08.2013

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?

Odpowiedz

  • +
  • -
Predator ;* - zdjęcie Predator ;* 26.08.2013

zombie plague 4.3

Odpowiedz

  • +
  • -
Predator ;* - zdjęcie Predator ;* 27.08.2013

 

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
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 27.08.2013

Automatyczna wiadomość


Ten temat został przeniesiony z forum

Scripting AMXXPytania

do

Scripting AMXXProblemy
Odpowiedz

  • +
  • -
Predator ;* - zdjęcie Predator ;* 27.08.2013

Odświeżam .

 

 

 

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

Odpowiedz

Najlepsza odpowiedź Gość_21977_* 28.08.2013

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.

Odpowiedz
Zablokowany