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
 

sokojoko - zdjęcie

sokojoko

Rejestracja: 09.03.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 26.07.2011 17:43
-----

#183527 dwa pluginy dotyczące "śmieri"

Napisane przez ;(( w 26.10.2010 17:43

yyyy 1 to standard, że pokazuje.
2. Frag Counter - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 1


#183562 dwa pluginy dotyczące "śmieri"

Napisane przez Waski w 26.10.2010 18:32

Ten drugi plugin to Kill Assist :)


#160640 Footstep off Cod:)

Napisane przez QTM. Peyote w 16.08.2010 23:30

Chyba byłem niewyspany jak robiłem tą część cod'a.
W Odrodzenie znajdź:
if(informacje_przedmiotu_gracza[id][0] == 1)
set_user_footsteps(id, 1);
else
set_user_footsteps(id, 0);

i zmień na:
if(informacje_przedmiotu_gracza[id][0] == 1)
set_user_footsteps(id, 1);

nad:
switch(klasa_gracza[id])

dodaj:
set_user_footsteps(id, 0)

  • +
  • -
  • 2


#169833 Radar

Napisane przez CeLeS w 10.09.2010 17:53

Witam w tym tutku pokaze wam jak dodac radar pokazujacy wszystkich zywych graczy ;)

Zaczynamy
najpier dodajemy stale nad plugin_init

new const sound_radar[] = "radar.wav";
new g_msgHostageAdd, g_msgHostageDel, g_maxplayers;
new radar[33];

teraz w plugin_init na samym koncu dodajemy
g_msgHostageAdd = get_user_msgid("HostagePos");
	g_msgHostageDel = get_user_msgid("HostageK");
	g_maxplayers = get_maxplayers();
	for (new i = 1; i<=g_maxplayers;i++) radar[i] = false;	
	set_task (2.0,"radar_scan",_,_,_,"b");

w plugin_precache na koncu
precache_sound(sound_radar);

teraz funkcja odpowiedzialna za radar. Najlepiej na samym koncu pluginu dac
//Radar
public radar_scan()
{
	new PlayerCoords[3];
	new id;
	new Players[32];
	new i;
	new playerCount = 0;

	for (id=1; id<=g_maxplayers; id++)
	{
		if((!is_user_alive(id))||(!radar[id])) continue;
		
		if(get_players(Players, playerCount, "a") &&is_user_alive(id))
		{
		playerCount++; 
		}
		
		for (i=1;i<=playerCount;i++)
		{	
			get_user_origin(i, PlayerCoords)
		
			message_begin(MSG_ONE_UNRELIABLE, g_msgHostageAdd, {0,0,0}, id)
			write_byte(id)
			write_byte(i)		
			write_coord(PlayerCoords[0])
			write_coord(PlayerCoords[1])
			write_coord(PlayerCoords[2])
			message_end()
		
			message_begin(MSG_ONE_UNRELIABLE, g_msgHostageDel, {0,0,0}, id)
			write_byte(i)
			message_end()
		}
		emit_sound(id, CHAN_ITEM, sound_radar, 1.0, ATTN_NORM, 0, PITCH_NORM);
	}
}

Ok mamy radar to teraz wybieramy jak go ustawiamy ;)

Mozemy dac go jako przedmiot
wiec w nazwy_przedmiotow dopisujemy
"Radar"//29
i zapamietujemy na jakiej jest pozycji ( u mnie na 29 )

nastepnie opisy_przedmiotow
"Radar pokazuje wszystkich zywych graczy"

teraz musimy wywolac radar w przedmiocie

w public DajPrzedmiot dodajemy nowy case z numerem przedmiotu i
radar[id] = true;

np.
case 29:
			radar[id] = true;

teraz trzeba ustawic aby radar sie wylaczal po wyrzuceniu itemu

w public UsunPrzedmiot na koncu dodajemy
radar[id] = false;

mozemy takze zrobic postac np telegrafista
majaca radar

tworzymy klase wedlug innego tutka xD
nastepnie

w public Odrodzenie(id) po
case Rambo:
		{
			give_item(id, "weapon_famas");
			give_item(id, "weapon_elite");
			ilosc_skokow_gracza[id]++;
		}

tworzymy nowy case zatytulowany Telegrafista i wstawiamy radarek
case Telegrafista:
		{
			give_item(id, "weapon_deagle");
			radar[id] = true;
		}

teraz trzeba zrobic warunek w UsunPrzedmiot
przed
radar[id] = false;
dodajemy
if(klasa_gracza[id] == Telegrafista)
		radar[id] = true;
	else

pod
public Odrodzenie(id)
{
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;
	
	if(nowa_klasa_gracza[id])
	{
		klasa_gracza[id] = nowa_klasa_gracza[id];
		nowa_klasa_gracza[id] = 0;
		strip_user_weapons(id);

dodajemy
radar[id] = false;

i to koniec ;)

Załączone pliki

  • Załączony plik  radar.wav   22,17 KB  542 Ilość pobrań

  • +
  • -
  • 11


#162362 Jaka jest różnica między eventami

Napisane przez G[o]Q w 21.08.2010 14:34

pozatym mozesz w hamsandwichu zlapac moment bezposrednio przed jak i po smierci przez co masz wiecej mozliwosci :D nigdy tego nie sprawdzalem ale zapewne mozna za pomoca ktorejs z SetHam... zmienic np zabojce :D
  • +
  • -
  • 1


#162342 Jaka jest różnica między eventami

Napisane przez R3X w 21.08.2010 13:25

Ham_Killed jest zdarzeniem bezpośrednim - zawsze kiedy ktoś ginie jest wywoływany; funkcja
Death(ofiara){
	new zabojca = get_user_attacker(id); // nie zawsze się zgadza :/
}

"DeathMsg" jest wywoływany przy pokazaniu w prawym górnym rogu komunikatu śmierci; funkcja
Death(){
	new ofiara = read_data(2);
	new zabojca = read_data(1); // zasze się zgadza
}
jeśli gracz zginie bez globalnej informacji (np. user_silentkill() czy wybuch bomby) to śmierć gracza nie jest odnotowywana; nie jest także łapana w przypadku message_begin(MSG_ALL, get_user_msgid("DeathMsg")) -> trzeba użyć emessage_*


BTW flagi "de" i nie mają sensu dla globalnego eventu "a"
  • +
  • -
  • 2