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

zmiana tablicy na false w nowej rundzie nie działa, dlaczego?


Najlepsza odpowiedź GwynBleidD , 25.11.2014 18:46

event HLTV oraz logevent round_start nie podają ID gracza.

 

Rozwiązania widze 2:

1. użyj np eventu spawnu gracza (jeśli posiadasz plugin na respawny, musisz pomyśleć o tym, aby sprawdzać, czy to jest 1 spawn w rundzie

2. użyj pętli, którą przejedziesz po wszystkich elementach tablicy.

Przejdź do postu


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

#1 v139

    Zaawansowany

  • Użytkownik

Reputacja: 4
Nowy

  • Postów:92
  • Lokalizacja:Ziemia
Offline

Napisano 25.11.2014 17:22

Cześć, napisałem taki plugin:

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Bartosz"

new bool:uzycie[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("lecz", "komenda_leczenie");
	register_clcmd("say /lecz", "komenda_leczenie");
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
}

public client_connect(id){
	uzycie[id] = false;
}

public komenda_leczenie(id){
	if(!is_user_alive(id)){
		client_cmd(id, "spk misc/zakaz.wav");  // dzwiek kiedy uslyszy niezywy gracz po uzyciu komendy
		return;
	}
	if(!uzycie[id]){
		set_user_health(id, get_user_health(id)+15);
		emit_sound(id, CHAN_STATIC, "misc/mktoasty.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM); // dzwiek uslyszy gracz i osoby blisko kiedy zywy gracz uzyje komendy
		client_print(id, print_center, "Apteczka dodala ci 15HP!");
		uzycie[id] = true;
	}
	else
	{
		client_cmd(id, "spk misc/zakaz.wav");
		client_print(id, print_center, "Uzyles apteczki w tej rundzie!");
	}
}

public Nowa_Runda(id){
	uzycie[id] = false;
}

public plugin_precache(){
	precache_sound("misc/mktoasty.wav");
	precache_sound("misc/zakaz.wav");
}

Plugin działa, ale nie w pełni. Funkcję komendy "lecz" można użyć raz na mapę, ja natomiast chcę raz na rundę.

Próbowałem również z eventem register_logevent("Poczatek_Rundy", 2, "1=Round_Start"), ale też nie działa. Kompiluje się, ale nie działa.

Może ja źle używam eventów, czy ktoś pomoże? :)

 


  • +
  • -
  • 0

#2 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 25.11.2014 18:46   Najlepsza odpowiedź

event HLTV oraz logevent round_start nie podają ID gracza.

 

Rozwiązania widze 2:

1. użyj np eventu spawnu gracza (jeśli posiadasz plugin na respawny, musisz pomyśleć o tym, aby sprawdzać, czy to jest 1 spawn w rundzie

2. użyj pętli, którą przejedziesz po wszystkich elementach tablicy.


  • +
  • -
  • 1

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#3 v139

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 4
Nowy

  • Postów:92
  • Lokalizacja:Ziemia
Offline

Napisano 25.11.2014 19:18

Dzięki, użyłem kanapki. Działa poprawnie :)

new bool:uzycie[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("lecz", "komenda_leczenie");
	register_clcmd("say /lecz", "komenda_leczenie");
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}

public client_connect(id){
	uzycie[id] = false;
}

public komenda_leczenie(id){
	if(!is_user_alive(id)){
		//client_cmd(id, "spk misc/zakaz.wav");  // dzwiek kiedy uslyszy niezywy gracz po uzyciu komendy
		return;
	}
	if(!uzycie[id]){
		set_user_health(id, get_user_health(id)+15);
		emit_sound(id, CHAN_STATIC, "misc/mktoasty.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM); // dzwiek uslyszy gracz i osoby blisko kiedy zywy gracz uzyje komendy
		client_print(id, print_center, "Apteczka dodala ci 15HP!");
		uzycie[id] = true;
	}
	else
	{
		client_cmd(id, "spk misc/zakaz.wav");
		client_print(id, print_center, "Uzyles apteczki w tej rundzie!");
	}
}

public fwHamPlayerSpawnPost(id) {
        if (is_user_alive(id)) {
                uzycie[id] = false;
        }
} 


public plugin_precache(){
	precache_sound("misc/mktoasty.wav");
	precache_sound("misc/zakaz.wav");
}

  • +
  • -
  • 0

#4 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 26.11.2014 01:02

Event HLTV podaje id, ale nie w przypadku jeśli przy rejestracji damy warunek, że ma się równać 0.


  • +
  • -
  • 0




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

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