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

Pokazywanie wroga na radarze


  • Zamknięty Temat jest zamknięty
12 odpowiedzi w tym temacie

#1 slowly

    Wszechwidzący

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 09.09.2010 18:25

Witam.
Mam pytanko jak zrobić item. Dokładniej chodzi mi o to, aby miał on funkcję, że pokazuje na radarze zarówno ludzi z mojego teamu jak i przeciwników. Za all odpowiedzi bardzo dziękuję.

#2 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 09.09.2010 18:42

kod wziąłem z killstrike CoD
sprawdź to ^^
new laser[33]


plugint_init{
for (new i = 1; i<=g_maxplayers;i++) radar[i] = false;
set_task (2.0,"radar_scan",_,_,_,"b");
}


//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);
}

Użytkownik Frajer edytował ten post 09.09.2010 18:43

  • +
  • -
  • 0

#3 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 09.09.2010 18:49

Nie działa... Proszę o inny kod...


PS. Napisales:
emit_sound(id, CHAN_ITEM, sound_radar, 1.0, ATTN_NORM, 0, PITCH_NORM);
A gdzie jest zarejestrowana muzyka?

Użytkownik slowly edytował ten post 09.09.2010 18:54


#4 false

    Wszechmogący

  • Użytkownik

Reputacja: 53
Pomocny

  • Postów:652
  • Lokalizacja:z Polski
Offline

Napisano 09.09.2010 18:55

Zrobiłeś do tego kodu zmienną ? PRzypisałeś klasie ? Dales nowa moc za klamrą ?
  • +
  • -
  • 0

#5 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 09.09.2010 18:57

Fuuuu...
Popratrz tylko wyraźniej na kod...
Zrobiłeś do tego kodu zmienną ?
W kodzie jest:
new laser[33]
Czyli jak widać zrobiłem...
Aaa... Ta moc nie miała być do klasy tylko do itemka... Ale zrobiłem to..

#6 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 09.09.2010 19:05

aa sorki źle mi się napisało xD
zrób tak

new player_b_radar[33]



}

//tutaj dopisujesz
public reset_item_skills(id)
player_b_radar[id] = 0
}//na koncu oczywiscie

//potem w
public iteminfo(id){
if (player_b_radar[id] > 0)
{
num_to_str(player_b_radar[id],TempSkill,10)
add(itemEffect,199,"Pokazuje")
add(itemEffect,199,TempSkill)
add(itemEffect,199," TT i CT na radarze<br>")
}
////Set durability, make this item dependant?
// item_durability[id] = 250
// switch(rannum)
//potem szukasz tego wyzej i dodajesz case np.
case twoj_numerek:
{
player_item_name[id] = "Reaktor radarowy"
player_item_id[id] = rannum
player_b_radar[id] = random_num(100,100)
item_durability[id] = 250
show_hudmessage(id, "Znalazles przedmiot: %s :: pokazuje TT i CT na radarze",player_item_name[id])
}
// potem funckcja
public radar_scan(id){
if (player_b_radar[id] > 0)
{
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()
}


}

P.S. nie wiem czy dobrze xD

Użytkownik Frajer edytował ten post 09.09.2010 19:07

  • +
  • -
  • 0

#7 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 09.09.2010 19:28

Nie działa :/ Prosiłbym o inny kodzik :P

#8 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 09.09.2010 19:29

ale co nie działa !!!
jakiś błąd w kompilatorze czy co??

new player_b_radar[33] = 1;

  • +
  • -
  • 0

#9 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 09.09.2010 19:33

Błędy w kompilatorze, a po ich naprawieniu nie pokazuje wrogów...

#10 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 09.09.2010 19:47




new player_b_radar[33] = 1



set_task (2.0,"radar_scan",_,_,_,"b");
// to do plugin_init spróbj dać

//tutaj dopisujesz
public reset_item_skills(id)
player_b_radar[id] = 0
}//na koncu oczywiscie

//potem w
public iteminfo(id){
if (player_b_radar[id] > 0)
{
num_to_str(player_b_radar[id],TempSkill,10)
add(itemEffect,199,"Pokazuje")
add(itemEffect,199,TempSkill)
add(itemEffect,199," TT i CT na radarze<br>")
}
////Set durability, make this item dependant?
// item_durability[id] = 250
// switch(rannum)
//potem szukasz tego wyzej i dodajesz case np.
case twoj_numerek:
{
player_item_name[id] = "Reaktor radarowy"
player_item_id[id] = rannum
player_b_radar[id] = random_num(100,100)
item_durability[id] = 250
show_hudmessage(id, "Znalazles przedmiot: %s :: pokazuje TT i CT na radarze",player_item_name[id], player_b_radar[id])
}
// potem funckcja
public radar_scan(id){
if (player_b_radar[id] > 0)
{
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))||(!player_b_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()
}

}

spróbuj tak, nie wiem czy będzie działać
lub spróbuj dodać któryś z tych include
#include <hamsandwich>
#include <fakemeta>

Użytkownik Frajer edytował ten post 09.09.2010 19:47

  • +
  • -
  • 1

#11 Ortega

    mów mi Orti

  • Power User

Reputacja: 363
Wszechpomocny

  • Postów:640
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Sosnowiec
Offline

Napisano 09.09.2010 20:03

g_msgHostageAdd, g_msgHostageDel To są jakieś nowe define indexów wiadomości ? ... Ciekawe jak ma zadziałać skoro plugin nie wie jaką wiadomość wysłać do silnika?
  • +
  • -
  • 1

#12 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 09.09.2010 20:11

czyli trzeba dodać jeszcze
new g_msgHostageAdd, g_msgHostageDel
no tak przeoczyłem to thx :)
i do plugin_init
	g_msgHostageAdd = get_user_msgid("HostagePos");
g_msgHostageDel = get_user_msgid("HostageK");

Użytkownik Frajer edytował ten post 09.09.2010 20:12

  • +
  • -
  • 0

#13 CeLeS

    Profesjonalista

  • Użytkownik

Reputacja: 83
Zaawansowany

  • Postów:219
  • Steam:steam
  • Lokalizacja:Ak
Offline

Napisano 10.09.2010 16:46

new const sound_radar[] = "radar.wav";
new g_msgHostageAdd, g_msgHostageDel, g_maxplayers;
new radar[33];

public plugin_init()
{
	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");
}

public plugin_precache() 
{ 
	precache_sound(sound_radar);
} 

//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);
	}
}

wywolanie
radar[id] = true;

  • +
  • -
  • 2




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

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