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

EngFunc_FindEntityByString nie znajduje paki


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

#21 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 05.09.2014 19:09

Dziwne że nie działało z ShowSyncHudMsg, ale spróbuj mojej rady.

Nic się nie zmieniło.
 

Sprawdzałeś logi? Może pev z jakiegoś powodu wywołuje błąd i przerywa działanie funkcji.

Logi czyste. Myślę, że wynika to z tego, że czasami między końcem, a początkiem rundy mija 3 sekundy, a czasami niecała jedna.
  • +
  • -
  • 0

#22 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

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

Napisano 05.09.2014 19:12

Sposób na poprawne


Ale niepoprawnych się kilka znajdzie :)
  • +
  • -
  • 0

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


#23 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 05.09.2014 19:15

Ale niepoprawnych się kilka znajdzie smile.png

Już nie przesadzaj, nie jestem początkującym, aby robić błędy w rejestrowaniu eventów :P


  • +
  • -
  • 0

#24 Puchate

    Wszechobecny

  • Użytkownik

Reputacja: 204
Profesjonalista

  • Postów:433
  • Lokalizacja:Polska
Offline

Napisano 05.09.2014 19:23

Poza tym musisz sprawdzać czy gracz który jest ownerem jest podłączony za pomocą is_user_connected. Z tego co pamiętam to aby sprawdzić czy bomba jest upuszczona to znajduje się weapon_c4 i sprawdza ownera, jeżeli jest większy od maxplayers to znaczy ze jest upuszczona.

 

EDIT:

// Is bomb dropped?
    new bomb = fm_find_ent_by_class(-1, "weapon_c4")
    if (bomb && pev(bomb, pev_owner) > get_maxplayers())

EDIT2: Gdy bomba jest upuszczona to pod pev_owner jest id entity "weaponbox", który przechowuje paczkę.

 

PS. Proponuję administracji na dodanie do funkcji cenzury zamiany wyrazów nazw funkcji na linki do nich w dokumentacji, wzmocni to SEO i walory użytkowe. ;)


Użytkownik Puchate edytował ten post 05.09.2014 19:33

  • +
  • -
  • 0

#25 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 05.09.2014 19:30

OK, warunek dodam, lecz działanie funkcji sprawdzałem z bombą w ekwipunku.


  • +
  • -
  • 0

#26 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 05.09.2014 22:58

a próbowałes ustawić współrzędne wiadomości tak żeby były na ekranie a nie poza nim?


  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#27 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 06.09.2014 10:43

Tak, zmieniłem je na środek ekranu i nadal raz się pojawiało, raz nie. Pisałem o tym gdzieś wyżej.


  • +
  • -
  • 0

#28 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 06.09.2014 23:02

spróbuj takiego czegoś i powiedz czy się wyświetla czy nie:

#define TASKID 555
public showMessage(tID,data[]){
    new id=data[0];
    
    set_hudmessage(0, 255, 100, -1.0, -1.0, 2, 3.0, 7.0);
    show_hudmessage(0, "%s zostal przegranym!", dane_gracza[id][NICK]);
    if(tID>TASKID)
        set_task(0.1,"showMessage",tID--,id,1);
}

tam gdzie wyswietlasz huda daj

set_task(0.1,"showMessage",TASKID+20,owner,1)

pisane tak z ręki więc mogą być błedy jak sie nie skompiluje/ nie zadziala to zrob tablice jedno elementowa i tam wrzuć id i przesylaj taskiem tą tablice

 

 

EDIT
pisałem ze to kod poglądowy a w sumie ownera mozna wrzucic do zmiennej globalnej i usunać data co do dekrementacji to po to zeby wywołać funkcje określoną liczbe razy (wiem ze jest flaga od powtarzania)


GwynBleidD (06.09.2014 23:40):
Nie zadziała, poza tym po co dekrementować taskid?
GwynBleidD (06.09.2014 23:40):
i przy przekazywaniu data do taska, nie otrzymujemy w tasku jego ID, ale tablicę data i jej wielkość.
sebul (07.09.2014 13:26):
"i przy przekazywaniu data do taska, nie otrzymujemy w tasku jego ID, ale tablicę data i jej wielkość."
No chyba jednak nie, pierwszy parametr to tablica, a drugi id taska.

Użytkownik G[o]Q edytował ten post 07.09.2014 11:55

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#29 szelbi

    Hero

  • Autor tematu
  • Power User

Reputacja: 373
Wszechpomocny

  • Postów:1 032
  • Steam:steam
  • Imię:Norbert
  • Lokalizacja:Częstochowa
Offline

Napisano 13.09.2014 20:29

Nie zadziała

W takim wypadku nawet nie sprawdzam. Jakieś pomysły jak uniknąć tego resetowania HUD'a podczas zakończenia/startu (bo w końcu sam nie wiem) rundy?


  • +
  • -
  • 0

#30 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

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

Napisano 14.09.2014 05:27

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"

new sync
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_logevent("koniec_rundy", 2, "1=Round_End");
	// Add your code here...
	sync = CreateHudSyncObj()
}
public koniec_rundy()
{
	new c4 = engfunc(EngFunc_FindEntityByString, -1, "classname", "weapon_c4");

	if(c4)
	{
		new owner = pev(c4, pev_owner);
		
		set_hudmessage(0, 255, 100, -1.0, -1.0, 2, 3.0, 7.0,0.1,0.3,3);
		ShowSyncHudMsg(0,sync, "%s zostal przegranym!", "test");
	}

}

Zamieniłem sobie nick na "test" jako, że nie mam potrzeby wyświetlać tam nicku. U mnie działa 15 rund pod rząd, ale gaśnie przy nowej rundzie. Jeśli chcesz utrzymać napis musisz go wywołać jeszcze raz w evencie newround(tym razem bez efektu wypisywania literka po literce a za to mozesz dodac efekt powolnego zanikania), zapisując w zmiennej globalnej/statycznej id gracza oraz zerując je po odnowieniu napisu(zeby przez pomylke nie wywalalo w jeszcze kolejnej rundzie).


  • +
  • -
  • 1




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

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