Item - radar i teleport
sebul
29.12.2010
Bo według tego kodu radar będzie działać tylko wtedy jeśli gracz będzie miał item radar i będzie miał klasę diablo. Najlepiej zrób nowy public do tej mocy dla klasy, bo nie bardzo wiem jak to ze sobą połączyć, aby działało jako item i moc.Gdy mam tak:
//RADAR
public radar_scan() {
for(new id=0; id<MAX; id++) {
if(!is_user_alive(id) || !player_b_radar[id] || player_class[id] != Diablo) continue;
for(new i=0; i<MAX; i++) {
if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue;
new PlayerCoords[3];
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();
}
}
}
To nie działa ani radar dla klasy diablo ani przedmiot radar.
Albo spróbuj tak
public radar_scan() {
for(new id=0; id<MAX; ++id) {
if(is_user_alive(id) && (player_b_radar[id] || player_class[id] == Diablo)) {
for(new i=0; i<MAX; ++i) {
if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue;
new PlayerCoords[3];
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();
}
}
}
}
Użytkownik sebul edytował ten post 29.12.2010 16:15
Kaleka
29.12.2010
Up. Twój kod powoduje że wszystko co jest poniżej tego kodu nie działa.
@@Edit. Chodziło mi o post szczepaneto
Użytkownik Zielony Smerf edytował ten post 29.12.2010 19:09
@@Edit. Chodziło mi o post szczepaneto
Użytkownik Zielony Smerf edytował ten post 29.12.2010 19:09
sebul
29.12.2010
Nie działa to jest pojęcie bardzo ogólne... Możesz bardziej szczegółowo opisać co nie działa?
Kaleka
29.12.2010
Nie chodzi mi o twój kod, tylko o kod szczepaneto nie zauważyłem drugiej strony, moja wina.Nie działa to jest pojęcie bardzo ogólne... Możesz bardziej szczegółowo opisać co nie działa?
Nie działa pojecie bardzo ogólne? Przecież napisałem że nie działa wszystko poniżej podanego kodu, czyli wszystko co jest po public radar_scan nie jest wogóle czytane, jakby tego wogóle nie było.
sebul
29.12.2010
Aha ^ ^
On tam nie zamknął przynajmniej jednej klamry, więc pewnie dlatego nie działa, spróbuj z tym kodem co ja napisałem.
On tam nie zamknął przynajmniej jednej klamry, więc pewnie dlatego nie działa, spróbuj z tym kodem co ja napisałem.
Kaleka
29.12.2010
Aha ^ ^
On tam nie zamknął przynajmniej jednej klamry, więc pewnie dlatego nie działa, spróbuj z tym kodem co ja napisałem.
Sprawdziłem... wynik:
Klasa Diablo = Nie ma radaru
Klasa Diablo + Radar item = Nie ma radaru
Klasa inna = Nie ma radaru
Klasa Inna + radar = Nie ma radaru
Klasa Inna + /drop itemku radaru = Radar na 3sekundy.. przez chwile po wywaleniu przedmiotu
cesik
16.02.2011
i pamiętaj o zmianie
new rannum = random_num(1,X)
X - wartość ostatniego itemu
czyli ze co? chodzi o numer itemu? czy jak
new rannum = random_num(1,X)
X - wartość ostatniego itemu
czyli ze co? chodzi o numer itemu? czy jak
sebul
07.03.2011
Kod teleportu poprawiłem. Od teraz gdy się ktoś gdzieś zaklinuje w ścianie to cofa go w miejsce skąd się teleportował.
^^^Deed
28.03.2011
Sorki za odkop...
sebul, twoja ostatnia funkcja działa dla wszystkich, nie ważne czy masz item czy klasę (nie wiem czemu tak jest).
To działa w 100%
PS: Tak ostatni przeglądając sma diablo, zauważyłem że jest w nim wiele funkcji które w ogóle nie są aktywne, a działają bez problemu. Ciekawe czemu.
sebul, twoja ostatnia funkcja działa dla wszystkich, nie ważne czy masz item czy klasę (nie wiem czemu tak jest).
To działa w 100%
public radar_scan() { for(new id=1; id<=MAX; id++) { if(!is_user_alive(id)) continue; if(player_b_radar[id] != 1) continue; if(player_class[id] != CLASS_NAME) continue; for(new i=1; i<=MAX; i++) { if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue; new PlayerCoords[3]; 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(); } } }
PS: Tak ostatni przeglądając sma diablo, zauważyłem że jest w nim wiele funkcji które w ogóle nie są aktywne, a działają bez problemu. Ciekawe czemu.
FreZZy
28.03.2011
if(player_b_radar[id] != 1) continue;
if(player_class[id] != CLASS_NAME) continue;
czyli ma mieć i itemek i klase?
pzdr
sebul
28.03.2011
Mój kod działa i tutaj jestem tego pewny na 100% (sam mam tak samo), więc po prostu coś źle dodałeś sam, może nie zerujesz gdzieś "player_b_radar[id]"?Sorki za odkop...
sebul, twoja ostatnia funkcja działa dla wszystkich, nie ważne czy masz item czy klasę (nie wiem czemu tak jest).
To działa w 100%public radar_scan() { for(new id=1; id<=MAX; id++) { if(!is_user_alive(id)) continue; if(player_b_radar[id] != 1) continue; if(player_class[id] != CLASS_NAME) continue; for(new i=1; i<=MAX; i++) { if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue; new PlayerCoords[3]; 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(); } } }
PS: Tak ostatni przeglądając sma diablo, zauważyłem że jest w nim wiele funkcji które w ogóle nie są aktywne, a działają bez problemu. Ciekawe czemu.
I jeszcze coś, "!player_b_radar[id]" oznacza w tym przepadku praktycznie to samo co "player_b_radar[id] != 1" i nie potrzebnie dajesz tak wszystko oddzielnie, skoro tutaj lepiej zastosować jest "||".
Chyba że chodzi Ci o ten kod kilka postów wyżej, na item i klasę, to nie wiem, nie dam sobie uciąć ręki, choć raczej powinno działać.
Użytkownik sebul edytował ten post 28.03.2011 15:18
sebul
05.04.2011
Tylko dla klasy? To będzie takie coś
lub też można dodać nową tablicę i przypisywać ją dla danej klasy przy wyborze klasy.
public radar_scan() {
for(new id=1; id<=MAX; id++) {
if(!is_user_alive(id) || player_class[id] != Twoja_Klasa) continue;
for(new i=1; i<=MAX; i++) {
if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue;
new PlayerCoords[3];
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();
}
}
}
lub też można dodać nową tablicę i przypisywać ją dla danej klasy przy wyborze klasy.
ogieR8
05.04.2011
sebul, a umiałbyś zrobić i zrobiłbyś mi coś ?...
Moc z itemu na moc klasy umiem zrobić, ale zależy mi na teleporcie, ale.. na "DUCK && JUMP" ?.
Chodzi o to :
Z tego poradnika : Kliknięcie guzika w prethinku - AMXX.pl: Support AMX Mod X .
Przykład działania - gram, gram, gram (
), kliknę SPACJĘ I CTRL i teleportuje mnie tam, gdzie mam zaznaczone miejsce celownikiem.
Z góry wielkie dzięki i pozdrawiam
~ ogieR-
@@EDIT:
Będzie to tak ?
zmienna - np. c_tp
Użytkownik ogieR- edytował ten post 05.04.2011 18:00
Moc z itemu na moc klasy umiem zrobić, ale zależy mi na teleporcie, ale.. na "DUCK && JUMP" ?.
Chodzi o to :
#define IN_JUMP (1<<1)
#define IN_DUCK (1<<2)
Z tego poradnika : Kliknięcie guzika w prethinku - AMXX.pl: Support AMX Mod X .
Przykład działania - gram, gram, gram (

Z góry wielkie dzięki i pozdrawiam
~ ogieR-
@@EDIT:
Będzie to tak ?
Spoiler
zmienna - np. c_tp
Użytkownik ogieR- edytował ten post 05.04.2011 18:00
sebul
05.04.2011
Zamiast
znajdź
dodaj pod
Użytkownik sebul edytował ten post 05.04.2011 20:02
zrób takznajdź w "public check_magic"
if(player_b_heal[id] > 0) item_totemheal(id);
dodaj podif(player_b_teleport[id] > 0) item_teleport(id);
znajdź
if (pev(id,pev_button) & IN_USE && !casting[id])
Use_Spell(id)
dodaj pod
if(player_b_teleport[id] > 0 && (button2 & IN_JUMP) && (button2 & IN_DUCK)) item_teleport(id);
Użytkownik sebul edytował ten post 05.04.2011 20:02
^^^Deed
12.04.2011
Sebul, nie pamiętam już, ja wkleiłem coś innego niż chciałem.
Poprawka.
Death_Player, to:
Użytkownik ^^^Deed edytował ten post 12.04.2011 15:55
Poprawka.
public radar_scan() { for(new id=1; id<=MAX; id++) { if(is_user_alive(id) && (player_b_radar[id] > 0 || player_class[id] == KLASA)) { for(new i=1; i<=MAX; i++) { if(!is_user_alive(i) || id == i || get_user_team(id) == get_user_team(i)) continue; new PlayerCoords[3]; 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(); } } } }
Death_Player, to:
if(player_b_teleport[id] > 0 && (button2 & IN_JUMP) && (button2 & IN_DUCK)) item_teleport(id);zamień na:
if(player_class[id] == KLASA && (button2 & IN_JUMP) && (button2 & IN_DUCK)) item_teleport(id);
Użytkownik ^^^Deed edytował ten post 12.04.2011 15:55
Death_Player
15.06.2011
wszystko fajnie, niby mi działa ale jak się teleportować ? 
Jeżeli tym bind "klawisz" +teleport to coś mi nie działa...
Dobra pobawie się tym później. Bo chyba tego nie ogarnąłem "if(player_class[id] == KLASA && (button2 & IN_JUMP) && (button2 & IN_DUCK)) item_teleport(id);"
Dodano 16 czerwiec 2011 - 21:37:
Ehh, nie ogarniam tego, jakby ktoś mógł, to bym prosił o zrobienie instrukcji wgrywanie mocy teleport.
Użytkownik Death_Player edytował ten post 15.06.2011 06:52

Jeżeli tym bind "klawisz" +teleport to coś mi nie działa...
Dobra pobawie się tym później. Bo chyba tego nie ogarnąłem "if(player_class[id] == KLASA && (button2 & IN_JUMP) && (button2 & IN_DUCK)) item_teleport(id);"
Dodano 16 czerwiec 2011 - 21:37:
Ehh, nie ogarniam tego, jakby ktoś mógł, to bym prosił o zrobienie instrukcji wgrywanie mocy teleport.
Użytkownik Death_Player edytował ten post 15.06.2011 06:52
Death_Player
27.06.2011
bawiłem się trochę, ale lipa... Teleportować się teleportuje nawet jak jestem non class, i nie ma ogranicznika, mogę teleportować sie co 0 sekund, pomóżcie...
Dodano 27 czerwiec 2011 - 17:34:
już se sam naprawiłem -.-
Użytkownik Death_Player edytował ten post 27.06.2011 17:34
Dodano 27 czerwiec 2011 - 17:34:
już se sam naprawiłem -.-
Użytkownik Death_Player edytował ten post 27.06.2011 17:34