←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Item nie dodaje obrażeń ;/

Zablokowany

  • +
  • -
kuab91 - zdjęcie kuab91 11.02.2010

Siema

przerobiłem item :

case 1:
		{
			player_item_name[id] = "Bronze Amplifier"
			player_item_id[id] = rannum
			player_b_damage[id] = random_num(1,3)
			show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])
		}

Na :

case 1:
		{
			player_item_name[id] = "Ostatni Oddech"
			player_item_id[id] = rannum
			player_b_damage[id] = random_num(30,50)
			show_hudmessage(id, "Znalazles przedmiot: %s :: dodaje obrazenia +%i",player_item_name[id],player_b_damage[id])
		}

I nie dodaje obrażeń np. wylosował mi 45 i strzelam do przeciwnika (bota , na new game testuje przeróbki) z glocka czyli teoretycznie powinien paść po góra 3 strzałach ale nie pada widać tą dodatkową krew ale dmg nie dochodzi :/

Proszę o pomoc
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 11.02.2010

Jakbys wylosował 999 to i bys zabil bota w 2 strzalach - dmg dodany z tego nie zabija (by uniknac zabijania plugiem).
Odpowiedz

  • +
  • -
kuab91 - zdjęcie kuab91 11.02.2010

Dobra nie zabija. Ale nawet jak nie zabija to i tak powinien mu zabrać 45+20 (obrażenia z glocka) = 65 czyli po pierwszym strzale zostaje mu 35 hp. Kolejny nie może zabić ze skilla wiec odbiera 20 hp , zostaje mu 15 hp i powinien zginąć. A muszę w niego tłuc jak bym nic nie miał
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 11.02.2010

Kiedys bugowalem item na fy_poolday i robilem upgrade itemu, wiec wiem ze to dziala :F mialem bodaj +100 do dmg :D
Odpowiedz

  • +
  • -
Nosek - zdjęcie Nosek 11.02.2010

Jezeli sie nie myle to standardowo jest:

public add_damage_bonus(id,damage,attacker_id)
{
	if (player_b_damage[attacker_id] > 0 && get_user_health(id)>player_b_damage[attacker_id])
	{
		change_health(id,player_b_damage[attacker_id],attacker_id,"")
			
		if (random_num(0,2) == 1) Effect_Bleed(id,248)
	}
}

A powinno byc:

public add_damage_bonus(id,damage,attacker_id)
{
	if (player_b_damage[attacker_id] > 0 && get_user_health(id)>player_b_damage[attacker_id])
	{
		change_health(id,-player_b_damage[attacker_id],attacker_id,"")
			
		if (random_num(0,2) == 1) Effect_Bleed(id,248)
	}
}


Brakuje minusika.
Odpowiedz

  • +
  • -
Miczu - zdjęcie Miczu 11.02.2010

O ładnie wychwycone, patrzyłem w 5.8d (akurat kod mialem otwarty) i tam bylo bez change_health xD

Dobra poprawie sma na forum gdy nikt nie patrzy :F
Odpowiedz

  • +
  • -
kuab91 - zdjęcie kuab91 11.02.2010

Niestety mi coś dalej nie działa ;/ Może to przez to że testuje na bocie. Poczekam na tą aktualizjację sma :)
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 11.02.2010

sprawdz hp na poczatku funkcji potem sprawdz zadany dmg jesli dmg wiekszy niz hp wykonaj UTIL_kill a jesli mniejszy to change_health
Odpowiedz

  • +
  • -
kuab91 - zdjęcie kuab91 11.02.2010

Nie wiem dokładnie goq o co Ci chodzi jestem jeszcze w tym słaby.

Wygląda mi to na tłumaczenie funkcj :

public add_damage_bonus(id,damage,attacker_id)
{
	if (player_b_damage[attacker_id] > 0 && get_user_health(id)>player_b_damage[attacker_id])
	{
		change_health(id,-player_b_damage[attacker_id],attacker_id,"")
			
		if (random_num(0,2) == 1) Effect_Bleed(id,248)
	}
}

Jeśli dodatkowe obrażenia są większe od 0 i zycie gracza jest większe od dodatkowych obrażeń . To zmień hp gracza odejmując dodatkowe obrażenia.

Czyli wszytko jest ok bo ja nie chce żeby mi za pomocą amx ten item zabijał bo do rankingu się nie liczy.

Ale mi i tak nie chodzi :P Przetestuje jutro na normalnym graczu a nie bocie :P
Odpowiedz

  • +
  • -
Nosek - zdjęcie Nosek 11.02.2010

A skompilowales?
Odpowiedz

  • +
  • -
kuab91 - zdjęcie kuab91 12.02.2010

tak zawsze kompiluje

@Edit

Wszytko już jest ok :)
Użytkownik kuab91 edytował ten post 12.02.2010 19:36
Odpowiedz
Zablokowany