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"//29i 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
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
Użytkownik CeLeS edytował ten post 11.09.2010 09:44


Dodatki SourceMod

















