[Stocks] Wiadomości
Fili:P
26.01.2012
Cześć, daje wam stock, który tworzy wiadomość BarTime:
DarkGL, dzięki za poprawki i kod ze zmiennymi statycznymi.
BarTime
Przykładowe użycie:
Czas podajemy w sekundach (liczba int).
BarTime2
Przykładowe użycie:
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
Przykład użycia:
Co do drugiego argumentu to:
ScoreAttrib
Wiadomość pozwala zmienić stan, DEAD, BOMB lub VIP.
Przykład użycia:
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
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.orgWedł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
sebul
26.01.2012
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".
Dobra już wiem o co chodzi, ale nie widzę sensu, żeby robić oddzielny temat z wykorzystaniem samego "BarTime".
Fili:P
26.01.2012
Ok, więc będę tutaj dodawał stocki na różne wiadomościTutaj 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".
DarkGL
26.01.2012
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
po drugie używasz za każdym użyciem get_user_msgid użyj zmiennej static
Fili:P
26.01.2012
Poprawiłem już czy mes ALL czy ONE, static dodam w najbliższym czasie.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
Jak się nazwać
26.01.2012
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
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
DarkGL
26.01.2012
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ć
Nakupenda.
26.01.2012
@edit dodawałem na szybko - poprawka
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
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
DarkGL
26.01.2012
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
Nakupenda.
27.01.2012
Ech.. jeszcze raz.
To:
na to
Użytkownik Nakupenda. edytował ten post 27.01.2012 09:31
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
Nakupenda.
27.01.2012
Fail. :F
Użytkownik Nakupenda. edytował ten post 27.01.2012 09:58
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