←  Poradniki, Łatki oraz Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

[QTM COD:MW Mod] Dodanie 1/x z x broni

Starozytny - zdjęcie Starozytny 16.08.2010

Witam :)
a więc chciał bym wam pokazać jak zrobić 1/x z x broni
1.Szukamy:
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) == 1) || klasa_gracza[idattacker] == Komandos && !(get_user_button(idattacker) & IN_ATTACK) || klasa_gracza[idattacker] == Starszy && !(get_user_button(idattacker) & IN_ATTACK) || (klasa_gracza[idattacker] == Stalker && random(3) == 3) || (klasa_gracza[idattacker] == Nozownik && random(3) == 1) || (klasa_gracza[idattacker] == Mafiozo && random(2) == 1))
			damage = float(health);
	}
2.Jeśli chcemy 1/x to:
if(weapon == CSW_AWP) // zamiast AWP wpisujemy swoją broń
	{
		if((klasa_gracza[idattacker] == Snajper && random(2) == 1)) // to będzie np. 1/2 z AWP
			damage = float(health);
	}
3.A jeśli 1/1 to:
if(weapon == CSW_AWP) // zamiast AWP wpisujemy swoją broń
	{
		if(klasa_gracza[idattacker] == Snajper ) // to będzie 1/1 z AWP
			damage = float(health);
	}

A jeśli chcemy dodać do itemu to w :
if(weapon == CSW_AWP) // zamiast AWP wpisujemy swoją broń
	{
		if(klasa_gracza[idattacker] == Snajper ) // to będzie 1/1 z AWP
			damage = float(health);
	}
Dodajemy :
if(weapon == CSW_AWP) // zamiast AWP wpisujemy swoją broń
	{
		if(klasa_gracza[idattacker] == Snajper || informacje_przedmiotu_gracza[0] == numer_przedmiotu ) // to będzie 1/1 z AWP u Snajpera i 1/1 z AWP w jakimś itemie :)
			damage = float(health);
	}

mam nadzieję że poradnik się Przyda :)
Użytkownik Starozytny edytował ten post 19.08.2010 10:21
Odpowiedz

  • +
  • -
NiRVAnA - zdjęcie NiRVAnA 18.08.2010

A dałoby radę zrobić taki item?:)
Odpowiedz

Starozytny - zdjęcie Starozytny 19.08.2010

jasne :)
Odpowiedz

  • +
  • -
Szyfrant - zdjęcie Szyfrant 19.08.2010

jasne


Zamiast pomagać licznikowi rozwinął byś bardziej swoją wypowiedź.
Odpowiedz

Starozytny - zdjęcie Starozytny 19.08.2010

Edytowałem 1 post i jest tam :)
Odpowiedz

  • +
  • -
NiRVAnA - zdjęcie NiRVAnA 19.08.2010

if(weapon == CSW_AWP) // zamiast AWP wpisujemy swoją broń
{
if(klasa_gracza[idattacker] == Snajper || informacje_przedmiotu_gracza[0] == numer_przedmiotu ) // to będzie 1/1 z AWP u Snajpera i 1/1 z AWP w jakimś itemie :)
damage = float(health);
}


Tam gdzie Numer_przedmiotu mam dać np. case 1 czy samo 1?

Jak chcę 1/2 na scouta to ma to tak wyglądać? :

	if(weapon == CSW_SCOUT)
{
if(klasa_gracza[idattacker] == informacje_przedmiotu_gracza[0] == 31 && random(2) == 1))
damage = float(health);
}


19 sierpień 2010 - 11:23:
Tak jak wyżej nie kompiluje się.

A tak:
	if(weapon == CSW_SCOUT)
{
if(informacje_przedmiotu_gracza[this][0] == 31 && random(2) == 1)
damage = float(health);
}


Czy to będzie działać? Bo ładnie się skompilowało.

Aha i jak dodać do itemu żeby dodał mu scouta?

case 31:
{
give_item(id, "weapon_scout");
}

Wystarczy tak?
Użytkownik NiRVAnA edytował ten post 19.08.2010 11:29
Odpowiedz

Starozytny - zdjęcie Starozytny 19.08.2010

if(weapon == CSW_AWP) // zamiast AWP wpisujemy swoją broń
{
if(klasa_gracza[idattacker] == Snajper || informacje_przedmiotu_gracza[0] == numer_przedmiotu ) // to będzie 1/1 z AWP u Snajpera i 1/1 z AWP w jakimś itemie :)
damage = float(health);
}


Tam gdzie Numer_przedmiotu mam dać np. case 1 czy samo 1?

Jak chcę 1/2 na scouta to ma to tak wyglądać? :

	if(weapon == CSW_SCOUT)
{
if(klasa_gracza[idattacker] == informacje_przedmiotu_gracza[0] == 31 && random(2) == 1))
damage = float(health);
}


19 sierpień 2010 - 11:23:
Tak jak wyżej nie kompiluje się.

A tak:
	if(weapon == CSW_SCOUT)
{
if(informacje_przedmiotu_gracza[this][0] == 31 && random(2) == 1)
damage = float(health);
}


Czy to będzie działać? Bo ładnie się skompilowało.

Aha i jak dodać do itemu żeby dodał mu scouta?

case 31:
{
give_item(id, "weapon_scout");
}

Wystarczy tak?


tak
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 20.08.2010

Starożytny bzdety gadasz ^^
if(weapon == CSW_SCOUT)
        {
                if(informacje_przedmiotu_gracza[idattacker][0] == 31 && random(2) == 1)
                        damage = float(health);
        }

this (ten co obrywa) idattacker (atakujący). Więc mu będzie tak jak wyżej dobrze działać. ; ]
Odpowiedz

  • +
  • -
Night90 - zdjęcie Night90 20.08.2010

Dodam jeszcze , że jeżeli robimy item który daje 1/3 np i chcemy aby dawał broń jak zginiemy to trzeba znaleźć

if(informacje_przedmiotu_gracza[id][0] == 27)
		informacje_przedmiotu_gracza[id][1] = 3;

I dodać za tym:

if(informacje_przedmiotu_gracza[id][0] == XX)
	        give_item(id, "weapon_xxx");

gdzie za:

XX- wstawiamy numer itemu
a za
xxx-bron która ma dawać

Jeśli tego nie dodamy to ten item będzie dawał nam tylko broń jeśli go dostaniemy , a jak zginiemy to już tej broni nie dostaniemy i item jest na marne.
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 20.08.2010

A tak apropo inf..przed..gracza[id][1] daje się w case NRITEMU (Funkcja DajPrzedmiot(id,...)

20 sierpień 2010 - 22:40:
W public DajPrzedmiot(id, przedmiot)

case NR.ITEMU:
		{
			informacje_przedmiotu_gracza[id][1] = random_num(2, 3);
		 	// lub to ponizej (Jesli chcemy tylko 1 liczbe a nie od X do X
			// informacje_przedmiotu_gracza[id][1] = 3
		}

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

if(weapon == CSW_BRON && informacje_przedmiotu_gracza[idattacker][0] == NR.ITEMU && random_num(1, informacje_przedmiotu_gracza[idattacker][1]) == 1)
			damage = float(health);

O to cała filozofia. I wtedy jak damy LW w opisie itemu będzie poprawnie wyświetlać informacje_przedmiotu_gracza[id][1] jakie nam wylosowało : P
Odpowiedz

  • +
  • -
OnlyDiabloMod - zdjęcie OnlyDiabloMod 03.09.2010

A jak dodać odporność dla klasy na 1/x z broni?
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 03.09.2010

Zastosuj
w ifie zamiast idattacker - this, sprawdz czy losowa liczba to X
i w ifie: return HAM_IGNORED; : )
Odpowiedz

  • +
  • -
Scoti - zdjęcie Scoti 07.09.2010

Mam takie pytanie. Nie wiem czy jest to możliwe. Że jeżeli dam 1/1 flesh'owi to nawet przez ściane flesh będzie oślepiał. Dobry pomysł na klase/item.
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 08.09.2010

Up Przez sciane ci raczej nie oslepi ;O
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 09.09.2010

Pawex, bo? Pobierasz odległość od rzuconego flags(Tam gdzie wybuchł) dajesz na ten obszar wszystkim/only przeciwnikowi kolor(Display_Fade np.) i jest efekt FG ; p

@EDIT And oczywiście usuwasz standardowe oslepienie po wybuchu ;P
Użytkownik camilost edytował ten post 09.09.2010 14:35
Odpowiedz

  • +
  • -
Scoti - zdjęcie Scoti 12.09.2010

Dałem flashowi 1/1 dla danej klasy. Zobacze jutro czy wszystko działa :) Aby tak :)
Odpowiedz

  • +
  • -
Intex - zdjęcie Intex 14.10.2010

Jak dać 1/1 z HE?
Odpowiedz

  • +
  • -
camilost - zdjęcie camilost 14.10.2010

Ile można to samo pisać? ...
if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
		damage = float(health);

Jak nie masz zablokowanych armorow to w dokumentacji masz jak usunąć kevlary itd.
Użytkownik camilost edytował ten post 14.10.2010 13:11
Odpowiedz

  • +
  • -
Intex - zdjęcie Intex 14.10.2010

Ile można to samo pisać? ...

if(idinflictor != idattacker && entity_get_int(idinflictor, EV_INT_movetype) != 5)
		damage = float(health);



ale klasie... jak dać żeby klasa miała 1/1 zHE
Odpowiedz

  • +
  • -
Pawex - zdjęcie Pawex 14.10.2010

Try.
Spoiler

Użytkownik Pawex edytował ten post 14.10.2010 13:12
Odpowiedz