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

[Stocks] Wiadomości


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

#1 Fili:P

    Godlike

  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 18:52

Cześć, daje wam stock, który tworzy wiadomość BarTime:
DarkGL, dzięki za poprawki i kod ze zmiennymi statycznymi.
BarTime

stock CreateBartime(id, duration)
{
static get_msgid;
if( !get_msgid ) get_msgid = get_user_msgid( "BarTime" );

message_begin( !id ? MSG_ALL : MSG_ONE , get_msgid , {0,0,0} , id )
write_short(duration);
message_end();
}

Przykładowe użycie:

CreateBartime(id, 50)

Czas podajemy w sekundach (liczba int).

BarTime2

stock CreateBartime2(id, duration, startprogress)
{
if( startprogress >= 0 && startprogress <=100 )
{


static get_msgid;
if( !get_msgid ) get_msgid = get_user_msgid( "BarTime2" );

message_begin( !id ? MSG_ALL : MSG_ONE , get_msgid, {0,0,0} , id )
write_short(duration);
write_short(startprogress);
message_end();
}
}

Przykładowe użycie:

CreateBartime2(id, 50, 80)

Czas podajemy w sekundach (liczba int).
Trzeci argument to od ilu % ma zaczynać się BarTime2. Pamiętajmy, że nie istnieje w matematyce coś takiego jak 101% i więcej.

HideWeapon
Dzięki tej wiadomości możemy usuwać różne elementy HUD-a
stock SetDisplayHUD(id, flaga)
{
static get_msgid;
if( !get_msgid ) get_msgid = get_user_msgid( "HideWeapon" );

message_begin( !id ? MSG_ALL : MSG_ONE , get_msgid , {0,0,0} , id )
write_byte(flaga);
message_end();
}

Przykład użycia:

SetDisplayHUD(id, (1<<2))

Co do drugiego argumentu to:
  1   (1<<0)  -  crosshair, ammo, weapons list
  2   (1<<1)  -  flashlight, +
  4   (1<<2)  -  ALL
  8   (1<<3)  -  radar, health, armor, +
16   (1<<4)  -  timer, +
32   (1<<5)  -  money, +
64   (1<<6)  -  crosshair
128   (1<<7)  -  +

źródło: wiki.amxmodx.org
Według mnie na Speedruny/Deathruny przydaje się numer 4 czyli (1<<2).

ScoreAttrib
Wiadomość pozwala zmienić stan, DEAD, BOMB lub VIP.

stock SetStance(pid, flags)
{
static get_msgid;
if( !get_msgid ) get_msgid = get_user_msgid( "ScoreAttrib" );

message_begin(MSG_ALL, get_msgid,{0,0,0});
write_byte(pid);
write_byte(flags);
message_end();
}

Przykład użycia:

SetStance(id, (1<<0));

Co do drugiego parametru:
0 - brak statusu
(1<<0) - DEAD
(1<<1) - BOMB
(1<<2) - VIP

Zamierzam dodać jeszcze kilka stocków z różnymi wiadomościami
Jeżeli id w stoku ma stan false czyli id <= 0 to msg jest MSG_ALL, jeżeli true to MSG_ONE
  • +
  • -
  • 0

#2 QuahodronN

    Godlike

  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 26.01.2012 18:56

Bartime czyli? bo nie czaje :P
  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#3 ^Grzyboo

    Wszechobecny

  • Użytkownik

Reputacja: 246
Wszechwidzący

  • Postów:461
  • Imię:Grzyboo
  • Lokalizacja:Tak
Offline

Napisano 26.01.2012 18:57

Pasek postępu jak w diablo, gdy moc ładujesz na nożu.
  • +
  • -
  • 0

#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 26.01.2012 19:02

Tutaj podałeś trochę niepełny kod, tutaj http://amxx.pl/topic...asek-ladowania/ jest jeszcze drugi parametr, ale nie wiem czemu tam jest użyte "BarTime2", w ogóle tamten kod działa?

Dobra już wiem o co chodzi, ale nie widzę sensu, żeby robić oddzielny temat z wykorzystaniem samego "BarTime".
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#5 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 19:11

Tutaj podałeś trochę niepełny kod, tutaj Pasek ładowania - AMXX.pl: Support AMX Mod X jest jeszcze drugi parametr, ale nie wiem czym tam jest użyte "BarTime2", w ogóle tamten kod działa?

Dobra już wiem o co chodzi, ale nie widzę sensu, żeby robić oddzielny temat z wykorzystaniem samego "BarTime".

Ok, więc będę tutaj dodawał stocki na różne wiadomości
  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 19:54

te stocki są do poprawy po pierwsze nie ma opcji wysyłania do wszystkich / jednego gracza
po drugie używasz za każdym użyciem get_user_msgid użyj zmiennej static
  • +
  • -
  • 0

#7 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 20:16

te stocki są do poprawy po pierwsze nie ma opcji wysyłania do wszystkich / jednego gracza
po drugie używasz za każdym użyciem get_user_msgid użyj zmiennej static

Poprawiłem już czy mes ALL czy ONE, static dodam w najbliższym czasie.
  • +
  • -
  • 0

#8 Jak się nazwać

    Wszechmogący

  • Power User

Reputacja: 169
Profesjonalista

  • Postów:617
  • Imię:a
  • Lokalizacja:a
Offline

Napisano 26.01.2012 20:17

CreateBartime(0, 5)
i masz crasha bez info w logach tylko w konsoli@@Up już jest

Użytkownik Jak się nazwać edytował ten post 26.01.2012 20:18

  • +
  • -
  • 0
Pisze na zamówienie statystyki pod nvault. GG: 15600964

#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 20:39

zamiast
if(id)
		message_begin(MSG_ONE, get_user_msgid("BarTime"),{0,0,0}, id);
	if(!id)
		message_begin(MSG_ALL, get_user_msgid("BarTime"),{0,0,0})
to możesz

message_begin( !id ? MSG_ALL : MSG_ONE , get_user_msgid("BarTime") , .player = id )
z tym get_user_msgid("BarTime") to ci mówiłem co masz zrobić :P
  • +
  • -
  • 1

#10 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 22:40

@edit dodawałem na szybko - poprawka



stock CreateBartime(id, duration)
{
if( duration >= 0 && duration <=100 )
{
message_begin( !id ? MSG_ALL : MSG_ONE , get_user_msgid("BarTime") , player = id )
write_short(duration);
message_end();
}
}


jeszcze to by się przydało

Dark, o kropkę przed "players" za dużo ;)

Użytkownik Nakupenda. edytował ten post 26.01.2012 23:33

  • +
  • -
  • 0

#11 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 981
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 26.01.2012 22:55

message_begin(id ? MSG_ONE, get_user_msgid("HideWeapon"),{0,0,0}, id : MSG_ALL,get_user_msgid("HideWeapon"),{0,0,0} );
przecież to się nawet nie kompiluje to co podałem wyżej jest dobre
  • +
  • -
  • 1

#12 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 09:10

Poprawione na Darkowy kod :]
  • +
  • -
  • 0

#13 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 09:30

Ech.. jeszcze raz.

To:

stock CreateBartime(id, duration)
{
static get_msgid;
if( !get_msgid ) msgid = get_user_msgid( "BarTime" );

message_begin( !id ? MSG_ALL : MSG_ONE , get_msgid , player = id )
write_short(duration);
message_end();
}


na to


stock CreateBartime(id, duration)
{
if( duration >= 0 && duration <=100 )
{
static get_msgid;
if( !get_msgid ) msgid = get_user_msgid( "BarTime" );

message_begin( !id ? MSG_ALL : MSG_ONE , get_user_msgid("BarTime") , player = id )
write_short(duration);
message_end();
}
}

Użytkownik Nakupenda. edytował ten post 27.01.2012 09:31

  • +
  • -
  • 0

#14 Fili:P

    Godlike

  • Autor tematu
  • Power User

Reputacja: 754
Guru

  • Postów:1 679
  • Imię:Darek
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 09:52

A nie chodzi ci czasem o BarTime2 i jego 3 argument ?
  • +
  • -
  • 0

#15 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 27.01.2012 09:57

Fail. :F

stock CreateBartime2(id, duration, startprogress)
{
if(startprogress >= 0 && startprogress <= 100)
{
static get_msgid;
if( !get_msgid ) msgid = get_user_msgid( "BarTime2" );
message_begin( !id ? MSG_ALL : MSG_ONE , get_msgid) , player = id )
write_short(duration);
write_short(startprogress);
message_end();
}
}

Użytkownik Nakupenda. edytował ten post 27.01.2012 09:58

  • +
  • -
  • 1




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

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