←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Moc Trzensienie

Zablokowany

  • +
  • -
Dezeret - zdjęcie Dezeret 04.02.2011

Witam jak zrobic moc do klasy ze jak strzela w dana osoba to jest 1/3 szansy ze mu sie ekran bedzie trzasl
Odpowiedz

GoldeN - zdjęcie GoldeN 04.02.2011

No to nie jest takie proste;P


Taaa...


@Topic

public trzes(ent)
{
message_begin(MSG_ONE , get_user_msgid("ScreenShake") , {0,0,0} ,ent)
write_short( 1<<14 );
write_short( 1<<12 );
write_short( 1<<14 );
message_end();
}


Wywołaj ją sobie w Damage(id)
Odpowiedz

  • +
  • -
false - zdjęcie false 04.02.2011

1/3 szansy


to może chyba dać :
if(random_num(1,3) == 1)

Użytkownik false edytował ten post 04.02.2011 11:53
Odpowiedz

GoldeN - zdjęcie GoldeN 04.02.2011

1/3 szansy


to może chyba dać :
if(random_num(1,3) == 1)


Tak, przy wywołaniu.
Odpowiedz

  • +
  • -
Dezeret - zdjęcie Dezeret 04.02.2011

public add_bonus_blind_trzesienie(id,attacker_id,weapon,damage) 
{
	if (player_class[attacker_id] == nowaklasa10 && weapon != 4)
	{
		new roll = random_num(1,player_b_blind_trzesienie[attacker_id])
		if (roll == 1)
		{
			message_begin(MSG_ONE , get_user_msgid("ScreenShake") , {0,0,0} ,id)
			write_short( -1<<1 );
			write_short( -1<<12 );
			write_short( -1<<14 );
			message_end();
		}
		
	}
}
cos takiego?
Odpowiedz

GoldeN - zdjęcie GoldeN 04.02.2011

Ja Ci już dałem funkcje. Wystarczy ją wywołać tak jak moc pistoletową np. Maga. ;x
Odpowiedz

  • +
  • -
false - zdjęcie false 05.02.2011

Dezeret


Zastosuj kod goldena, wywołaj ją tak w public Damage :

if(random_num(1,3) == 1)
set_task(0.5,"trzes",id)


a na koniec kodu dodaj :
public trzes(ent)
{
message_begin(MSG_ONE , get_user_msgid("ScreenShake") , {0,0,0} ,ent)
write_short( 1<<14 );
write_short( 1<<12 );
write_short( 1<<14 );
message_end();
}
Odpowiedz

Jagoda - zdjęcie Jagoda 17.02.2011

Masz tu item + moc klasy
znajdz

new player_b_illusionist[33] = 1

dodaj pod

new player_b_shake[33] = 1

znajdz

new player_dmg[33]

dodaj pod

new c_shake[33]

znajdz

add_bonus_redirect(id)

dodaj pod

add_bonus_shake(attacker_id,id)

znajdz

player_b_sniper[id] = 0

dodaj pod

player_b_shake[id] = 0

znajdz

if (player_b_explode[id] > 0)
{
num_to_str(player_b_explode[id],TempSkill,10)
add(itemEffect,199,"Gdy umierasz wybuchniesz w promieniu ")
add(itemEffect,199,TempSkill)
add(itemEffect,199," zadaje 75 obrazen wokol ciebie - im wiecej masz inteligencji tym wiekszy zasieg wybuchu<br>")
}

dodaj pod

if (player_b_shake[id] > 0)
{
num_to_str(player_b_shake[id],TempSkill,10)
add(itemEffect,199,"Masz 1/")
add(itemEffect,199,TempSkill)
add(itemEffect,199,"Ze przciwnikowi zacznie sie trzesc ekran<br>")
}

znajdz

case 68:
{
player_item_name[id] = "Ultra Armor"
player_item_id[id] = 68
player_ultra_armor[id]=random_num(7,11)
player_ultra_armor_left[id]=player_ultra_armor[id]
show_hudmessage (id, "Znalazles przedmiot : %s :: Twoj pancerz moze odbic do %i pociskow",player_item_name[id],player_ultra_armor[id])
}

dodaj pod

case 69:
{
player_item_name[id] = "Trzesienie"
player_item_id[id] = rannum
player_b_shake[id] = random_num(2,4)

show_hudmessage(id, "Znalazles przedmiot: %s :: Masz 1/%i ze przeciwnikowi zacznie sie trzesc ekran",player_item_name[id],player_b_shake[id])

}

znajdz

new rannum = random_num(1,68)

zamien na

new rannum = random_num(1,69)

znajdz

public add_bonus_darksteel(attacker,id,damage)
{
if (player_b_darksteel[attacker] > 0)
{
if (UTIL_In_FOV(attacker,id) && !UTIL_In_FOV(id,attacker))
{

new dam = floatround (15+player_strength[id]*2*player_b_darksteel[id]/10.0)

Effect_Bleed(id,248)
change_health(id,-dam,attacker,"world")
}
}
}

pod dodaj

public add_bonus_shake(attacker_id,id)
{
if(player_b_shake[attacker_id] > 0||c_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();
}
else if (random_num(1,c_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
}

w public select_class_menu(id, key) po g_haskit[id] = 0 dodaj

c_shake[id] = 0

a w klasie naprzyklad

case 5:
{
player_class[id] = Barbarzynca
LoadXP(id, player_class[id])
}

dodaj

case 5:
{
player_class[id] = Barbarzynca
c_shake[id] = 3 ///to wtedy bedzie 1/3 szans
}

Dziekuje za uwagę !!
Użytkownik Jagoda edytował ten post 17.02.2011 08:18
Odpowiedz

FreZZy - zdjęcie FreZZy 17.02.2011

wystarczyło dać linka do swojego tutka...
Odpowiedz
Zablokowany