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