←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Trzęsienie Ekranem

Zablokowany

  • +
  • -
Złotówka - zdjęcie Złotówka 17.10.2010

w public Damage[id]
dodałem
add_bonus_shake(attacker_id,id)


w dowolnym miejscu dodałem
public add_bonus_shake(attacker_id,id)
{
    if(player_class[attacker_id] == MojaKlasa && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id)) 
    {
        if (random_num(1,player_class[attacker_id]) == MojaKlasa)
        {
        message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id); 
        write_short(7<<14); 
        write_short(1<<24); 
        write_short(1<<14); 
        message_end();
        }
    }
    return PLUGIN_HANDLED
}

Efekt ma być, że gdy gram klasą "MojaKlasa" i gdy strzelam w przeciwnika to nie trzęsie mu ekranem... Pomoże ktoś naprawić?
Użytkownik Złotówka edytował ten post 17.10.2010 09:51
Odpowiedz

  • +
  • -
Owner123 - zdjęcie Owner123 17.10.2010

public add_bonus_shake(attacker_id,id)
{
if(player_class[attacker_id] == MojaKlasa && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<24);
write_short(1<<14);
message_end();
}
return PLUGIN_HANDLED
}

Spróbuj tak.
Odpowiedz

  • +
  • -
Złotówka - zdjęcie Złotówka 17.10.2010

Próbowałem tak jak mówisz i nie działa.
Odpowiedz

dRewNoo - zdjęcie dRewNoo 17.10.2010

To:

public add_bonus_shake(attacker_id,id)
{
if(player_class[attacker_id] == MojaKlasa && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_class[attacker_id]) == MojaKlasa)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<24);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}


Zamien na:

public add_bonus_shake(attacker_id,id)
{
if(player_class[id] == MojaKlasa && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id))
{
if (random_num(1,player_class[attacker_id]) == MojaKlasa)
{
message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id);
write_short(7<<14);
write_short(1<<24);
write_short(1<<14);
message_end();
}
}
return PLUGIN_HANDLED
}


W razie czego jak niezadziała to:

if (random_num(1,player_class[attacker_id]) == MojaKlasa)


tam gdzie masz [attacker_id] zamien tez na [id]
Użytkownik dRewNoo edytował ten post 17.10.2010 12:12
Odpowiedz

  • +
  • -
Złotówka - zdjęcie Złotówka 17.10.2010

Drewno nie działa tak jak mówisz.
Odpowiedz

dRewNoo - zdjęcie dRewNoo 17.10.2010

Już wiem!:

Podam ci nową moc klasy,za pomocą tworzenia przedmiotu:

1. Deklarujesz moc w tablicy,tam gdzie są moce przedmiotowe,dopisujesz na końcu

new player_b_shake[33]

2.Później w public reset_item_skills(id) na końcu dodajesz:

player_b_shake[id] = 0

3.Na końcu .sma podajesz

public add_bonus_shake(attacker_id,id)
{
	if(player_b_shake[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && is_user_alive(id)) 
	{
		if (random_num(1,player_b_shake[attacker_id]) == 1)
		{
			message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id); 
			write_short(7<<14); 
			write_short(1<<13); 
			write_short(1<<14); 
			message_end();
		}
	}
	return PLUGIN_HANDLED
}

Tutaj masz trzęsienie z kuszy,ale jak chcesz je podkręcić to zmień wartości

w public select class przy mocach pod:
g_haskit[id] = 0

dodajesz:

player_b_shake[id] = 0

w menu klas switch(key) pod daną klasa

player_b_shake[id] = 1

Użytkownik dRewNoo edytował ten post 17.10.2010 12:39
Odpowiedz

  • +
  • -
Złotówka - zdjęcie Złotówka 17.10.2010

Zrobiłem jak mówisz, nawet próbowałem zamiast player_b_shake[attacker_id] dać player_b_shake[id] i nie działa.
Odpowiedz

dRewNoo - zdjęcie dRewNoo 17.10.2010

player_b_shake[attacker_id] w public add_shake_bonus ma zostać
Odpowiedz

  • +
  • -
Złotówka - zdjęcie Złotówka 17.10.2010

No to tak mam player_b_shake[attacker_id] i też nie działa...
Odpowiedz

  • +
  • -
diablix - zdjęcie diablix 17.10.2010

message_begin(MSG_ONE, get_user_msgid("ScreenShake"), {0,0,0},id);
write_short(255<<14);
write_short(10<<14);
write_short(255<<14);
message_end();


Mi działa ;P
Odpowiedz

  • +
  • -
Złotówka - zdjęcie Złotówka 17.10.2010

Dzięki dostajesz +, do zamknięcia
Odpowiedz

dRewNoo - zdjęcie dRewNoo 17.10.2010

przynajmniej starałem sie pomóc;d
Odpowiedz

  • +
  • -
Magnetix - zdjęcie Magnetix 17.10.2010

A czy tego kodu można użyć jako moc dla klasy dzięki której gdy strzelimy do przeciwnika mamy 32%, że zatrzęsie się mu ekran?
Moc ma być ciągle aktywna a nie gdy naładuje się nam pasek. Prosiłbym abyście podali mi kod który mam wstawić.

Z góry dziękuje.
Odpowiedz

dRewNoo - zdjęcie dRewNoo 17.10.2010

to jest moc aktywna,bez ładowania paska

a żeby dodać to do jakiejś klasy to w public select class w switch(key) tam gdzie masz pod nia moce np. g_haskit[id] = 0 dodajesz player_b_shake[id] = 0 a potem przy case Jakas Klasa tam gdzie jest LoadXP pisze to pod tym dodaj player_b_shake[id] = 1
Odpowiedz

Adminek AMXX.PL - zdjęcie Adminek AMXX.PL 17.10.2010

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Problem autora tematu rozwiązany

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany