←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Kusza nalicza do ranku?

  • +
  • -
KadrO's Photo KadrO 11.11.2011

Witam wszystkich.

Otóż widziałem juz wiele takich tematow ale w zadnym nie znalazlem rozwiazania swojego problemu. W czym klopot? Na moim Diablo sa questy, oraz klasa Lowca posiadajaca kusze. Niestety zabicia z kuszy nalicza rywalowi jako 2 Dead (tak jak by się sam zabił, fragi nie zaliczaja sie do ranku ani tym bardziej questow.

Mod ten jest w sumie przerobka 5.9, wiec kodu wyciagac chyba nie musze bo jest standardowy, w razie czego moge podpiac jezeli to wazne.

Pozdrawiam.
Quote

Chackuu's Photo Chackuu 11.11.2011

Chcesz naprawić aby zabicia z kuszy naliczały rank czy zlikwidowanie błedy z podwójnym zabiciem przeciwnika? Bo dokłądnie nie rozumiem o co ci chodzi ?
Quote

  • +
  • -
KadrO's Photo KadrO 11.11.2011

Zalezy mi na tym by zabicia z kuszy zaliczaly sie jak zabicia z normalnej broni, czyli :

- zaliczaly sie do ranku (w tym wypadku tez do postepu questa)
- zeby ewentualnie pokazywalo obrazenia
- i ewentualnie nie naliczalo 2 dead osobie zabitej tak jakby sie sam zabil
Quote

  • +
  • -
Stachuu :D ??'s Photo Stachuu :D ?? 11.11.2011

aby naliczało do questa zależy jakie tam questy masz tzn silnik

co do /rank to da sie zrobic

szukałem pluginu co dodaje zabójstwa do /rank ale jakoś tam niejasne to przedstawione.

w diablo można by bylo robić stok co otwierał by plik z rankingiem statsx.dat podajże

i dodawał odpowiednia liczbę
Mozna by bylo wtedy zrobić to do każdej broni mocy (np 1/x z m4)

ale ja dzis nad tym nei mam czasu . być może ktos sie podejmie tego .
Quote

  • +
  • -
KadrO's Photo KadrO 11.11.2011

System questow wlasciwie opiera się nad tym od DarkGla.
Quote

  • +
  • -
!cex!'s Photo !cex! 12.11.2011

Załącz SMA to postaram się zrobić.
Quote

  • +
  • -
KadrO's Photo KadrO 15.11.2011

Nadawanie klasie :

 if(player_class[id]==Lowca || player_b_kusza[id] == 1)
{
new clip,ammo
new weapon = get_user_weapon(id,clip,ammo)

if(bow[id] == 1)
{
if((bowdelay[id] + 4.5 - float(player_intelligence[id]/50))< get_gametime() && button2 & IN_ATTACK)
{
bowdelay[id] = get_gametime()
command_arrow(id)
}
entity_set_int(id, EV_INT_button, (button2 & ~IN_ATTACK) & ~IN_ATTACK2)
}


I źródło bow, czyli cos istotniejszego :

public command_bow(id)
{
if(!is_user_alive(id)) return PLUGIN_HANDLED

if(bow[id] == 1){
entity_set_string(id,EV_SZ_viewmodel,cbow_VIEW)
entity_set_string(id,EV_SZ_weaponmodel,cvow_PLAYER)
bowdelay[id] = get_gametime()
}else if(player_sword[id] == 1)
{
entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)
entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER)
bow[id]=0
}
else
{
entity_set_string(id,EV_SZ_viewmodel,KNIFE_VIEW)
entity_set_string(id,EV_SZ_weaponmodel,KNIFE_PLAYER)
bow[id]=0
}
return PLUGIN_CONTINUE
}
public toucharrow(arrow, id)
{
new kid = entity_get_edict(arrow, EV_ENT_owner)
new lid = entity_get_edict(arrow, EV_ENT_enemy)

if(is_user_alive(id))
{
if(kid == id || lid == id) return

entity_set_edict(arrow, EV_ENT_enemy,id)

new Float:dmg = entity_get_float(arrow,EV_FL_dmg)
entity_set_float(arrow,EV_FL_dmg,(dmg*3.0)/5.0)

if(get_cvar_num("mp_friendlyfire") == 0 && get_user_team(id) == get_user_team(kid)) return

Effect_Bleed(id,248)
bowdelay[kid] -= 0.5 - floatround(player_intelligence[kid]/5.0)

change_health(id,floatround(-dmg),kid,"knife")

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();
if(get_user_team(id) == get_user_team(kid))
{
new name[33]
get_user_name(kid,name,32)
client_print(0,print_chat,"%s attacked a teammate",name)
}
emit_sound(id, CHAN_ITEM, "weapons/knife_hit4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
if(dmg<30) remove_entity(arrow)
}
}
public touchWorld2(arrow, world)
{
remove_entity(arrow)
}


Bylbym wdzieczny za kazda pomoc.

Podbijam
Quote

  • +
  • -
KariiO's Photo KariiO 15.11.2011

Próbowałeś zadawać DMG przez ham take damage?
Edited by KariiO, 15.11.2011 22:04.
Quote

Kukol's Photo Kukol 16.11.2011

Przez Hama działa, o ile idinflictor (czy tam byt) = id.
Edited by Kukol, 16.11.2011 00:51.
Quote

  • +
  • -
KadrO's Photo KadrO 20.11.2011

Prawdę mówiąc nie bawiłem się jeszcze opcjami hamsandwich. Gdyby ktoś mógłby pokazać albo gotowy kod z którego mógłbym czerpać naukę, lub wzór według którego na początku powinienem się stosować byłbym bardzo wdzięczny.

Podbijam
Quote

  • +
  • -
sebul's Photo sebul 20.11.2011

http://amxx.pl/topic...age-jak-uzywac/
Tutaj masz sporo na ten temat, coś tam może Ci się przyda.
Quote

  • +
  • -
DarkGL's Photo DarkGL 20.11.2011

public toucharrow(arrow, id)

{

	new kid = entity_get_edict(arrow, EV_ENT_owner)

	new lid = entity_get_edict(arrow, EV_ENT_enemy)

	

	if(is_user_alive(id))

	{

		if(kid == id || lid == id) return

		

		entity_set_edict(arrow, EV_ENT_enemy,id)

		

		new Float:dmg = entity_get_float(arrow,EV_FL_dmg)

		entity_set_float(arrow,EV_FL_dmg,(dmg*3.0)/5.0)

		

		if(get_cvar_num("mp_friendlyfire") == 0 && get_user_team(id) == get_user_team(kid)) return

		

		Effect_Bleed(id,248)

		bowdelay[kid] -=  0.5 - floatround(player_intelligence[kid]/5.0)

		

		ExecuteHam(Ham_TakeDamage,id,kid,kid,dmg,(1<<1) | (1<<12))

		

		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();

		

		emit_sound(id, CHAN_ITEM, "weapons/knife_hit4.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)

		if(dmg<30) remove_entity(arrow)

	}

}
Quote