←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
2 opcje

Zablokowany

  • +
  • -
Barto_12_SAS - zdjęcie Barto_12_SAS 29.07.2011

Witam - Czy jest możliwość zrobienia opcji , że zaatakowany moze upuscić bron ?
Np. Item xxx - masz 1/x sznasy ze zaatakowany wyrzuci bron .
I na odwrót : Np. Item xx - masz 1/x szansy ze atakujacy wyrzuci bron .

I 2 opcja - to co jest w Bf2 - jak sie ma odznake z pistoletu , to jest tzw. szansa na unieruchomienie przeciwnika - chciłbym wgrać sobie to szansę do swojego COD'a , oczywiscie bez odznak .
Odpowiedz

  • +
  • -
SpiewaK - zdjęcie SpiewaK 29.07.2011

if(informacje_przedmiotu_gracza[idattacker][0] == 13 && random(3) == 1)
client_cmd(this, "drop");


if(informacje_przedmiotu_gracza[this][0] == 13 && random(3) == 1)
client_cmd(idattacker, "drop");


1. Dostający ma dropa
2. Atakujacy ma dropa
Szanse 1/3

Do funkcji TakeDamage :)
Odpowiedz

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 29.07.2011

Jak chcesz 1/LW ( LW=Losowa Wartość" ) to:

W:
public DajPrzedmiot(id, przedmiot)

dajesz:

case NR ITEMU:
		{
			informacje_przedmiotu_gracza[id][1] = random_num(1, LW);
                        giwe_item(id, "weapon_Nazwa broni");
		}

w

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)

dajesz za:

if(weapon == CSW_KNIFE)
	{
		if(informacje_przedmiotu_gracza[this][0] == 4)
			damage=damage*1.4+inteligencja_gracza[idattacker];
		if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
			damage = float(health);
	}

To:

if(weapon == CSW_Twoja bron)
	{
		if((informacje_przedmiotu_gracza[idattacker][0] == 38 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
			damage = float(health);	
	}

I jeszcze w:

public Odrodzenie(id)

Dajesz bron do itemu tam gdzie jest np do AWP SNAJPER:

if(informacje_przedmiotu_gracza[id][0] == NR Itemu)
		give_item(id, "weapon_TWOJA BRON");
Odpowiedz

  • +
  • -
Barto_12_SAS - zdjęcie Barto_12_SAS 29.07.2011

Jak chcesz 1/LW ( LW=Losowa Wartość" ) to:

W:

public DajPrzedmiot(id, przedmiot)

dajesz:

case NR ITEMU:
		{
			informacje_przedmiotu_gracza[id][1] = random_num(1, LW);
                        giwe_item(id, "weapon_Nazwa broni");
		}

w

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)

dajesz za:

if(weapon == CSW_KNIFE)
	{
		if(informacje_przedmiotu_gracza[this][0] == 4)
			damage=damage*1.4+inteligencja_gracza[idattacker];
		if(informacje_przedmiotu_gracza[idattacker][0] == 8 || (klasa_gracza[idattacker] == Snajper && random(2) == 2) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK))
			damage = float(health);
	}

To:

if(weapon == CSW_Twoja bron)
	{
		if((informacje_przedmiotu_gracza[idattacker][0] == 38 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
			damage = float(health);	
	}

I jeszcze w:

public Odrodzenie(id)

Dajesz bron do itemu tam gdzie jest np do AWP SNAJPER:

if(informacje_przedmiotu_gracza[id][0] == NR Itemu)
		give_item(id, "weapon_TWOJA BRON");


I to jest na zamrażanie ? A jeżeli nie na 1/LW tylko na losową ?
Odpowiedz

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 29.07.2011

Chyba ci o to chodzi:

case NR ITEMU:
		{
			informacje_przedmiotu_gracza[id][1] = random_num(1, LW);
                        giwe_item(id, "weapon_Nazwa broni");
		}

Tam gdzie ja wpisałem LW ( Losowa Wartość ) ty dajesz np : 5
I jest do wylosowania 1/1, 1/2, 1/3, 1/4, 1/5

Możesz tez podmienić 1 np na 3 i lw na 5 to wtedy jest: 1/3, 1/4, 1/5
Moim zdaniem ten sposób jest lepszy niż zamrożona wartość
Spoiler

ponieważ nie maja takiej łatwizny że item od razu 1/3, jeśli chcesz 1/3 w wzwyż to dajesz tak:

case NR ITEMU:
		{
			informacje_przedmiotu_gracza[id][1] = random_num(3, 6);
                        giwe_item(id, "weapon_Nazwa broni");
		}

I wyjdzie ci tak: 1/3, 1/4, 1/5, 1/6 :)


A żeby wywalało broń to w:

public CurWeapon(id)

pod:

if(weapon == 1 && ma_klasa[id])
	{
		entity_set_string(id, EV_SZ_viewmodel, "models/v_law.mdl");
		entity_set_string(id, EV_SZ_weaponmodel, "models/p_law.mdl");
	}

dajesz:

if((informacje_przedmiotu_gracza[idattacker][0] == 38 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
			client_cmd(this, "drop");	
	}

Użytkownik Czaso Umilacz edytował ten post 29.07.2011 20:07
Odpowiedz

  • +
  • -
Barto_12_SAS - zdjęcie Barto_12_SAS 30.07.2011

Nie chodzi mi o zamrożoną wartość tylko żeby przeciwnika "zamrażało" - unieruchamiało ( sorki za niesprecyzowanie )
Odpowiedz

  • +
  • -
Czaso Umilacz - zdjęcie Czaso Umilacz 30.07.2011

W public TakeDemaga, daj pod:

if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
	{
		if((informacje_przedmiotu_gracza[idattacker][0] == 9 && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1) || informacje_przedmiotu_gracza[idattacker][0] == 10)
			damage = float(health);	
	}

To:

{
if(informacje_przedmiotu_gracza[idattacker][0] == TwojNumerItemu && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1))
	client_cmd(this, "drop");
}

Użytkownik Czaso Umilacz edytował ten post 30.07.2011 13:23
Odpowiedz

  • +
  • -
Barto_12_SAS - zdjęcie Barto_12_SAS 31.07.2011

COD_B12SAS.sma(1323) : error 029: invalid expression, assumed zero

Top się wyswietla podczas kompilacji gdy dodam ten kod
Odpowiedz
Zablokowany