←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Coś za zabicie i zawiecha przy mocy.

Zablokowany

Drewno. - zdjęcie Drewno. 25.12.2010

Mam problem z klasą Radament w moim diablo.Chciałem dodać taką moc,że za zabójstwo dostaje pełny magazynek,granaty i 100 kamizelki.Moc jak najbardziej działa,ale coś najprawdopodobniej z DeathMsg,bo jak zabijesz jednego gościa to wyświetla się,że zabiłeś ze 20 razy tego samego gościa w tym samym czasie,i dostajesz ze 20x HE i jest po tym niesamowite zawieszenie... Możecie mi naprawić tą funkcję?Tak żeby nie było wiele zabić naraz i żeby nie było zawiechy i żebym tyle he naraz nie dostawał??

public add_radament_bonus(id)
{
if (player_class[id] == Radament)
{
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_smokegrenade")
set_user_armor(id,100)
}


w public DeathMsg(id)

if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid))
{
show_deadmessage(kid,vid,headshot,weaponname)
award_item(kid,0)
award_kill(kid,vid)
add_respawn_bonus(vid)
add_bonus_explode(vid)
add_barbarian_bonus(kid)
if (player_class[kid] == Barbarzynca || player_class[kid] == Najemnik)
refill_ammo(kid)
set_renderchange(kid)
savexpcom(vid)
if (player_class[kid] == Radament)
add_radament_bonus(kid)
refill_ammo(kid)
set_renderchange(kid)
savexpcom(vid)
}


i w DoDamage(iTargetID, iShooterID, iDamage/*, iDamageCause, bIsWeaponID = false, iHeadShot = 0*/)

	}

//AddXP(iShooterID, BM_XP_KILL, iTargetID); // bmxphandler.inc
award_item(iShooterID,0)
award_kill(iShooterID,iTargetID)
add_respawn_bonus(iTargetID)
add_bonus_explode(iTargetID)
add_barbarian_bonus(iShooterID)
if (player_class[iShooterID] == Radament)
add_radament_bonus(iShooterID)
refill_ammo(iShooterID)
if (player_class[iShooterID] == Barbarzynca || player_class[iShooterID] == Najemnik )
refill_ammo(iShooterID)
}
Odpowiedz

  • +
  • -
Muzzi - zdjęcie Muzzi 25.12.2010

Mógłbym wiedzieć skąd masz diablo? Sam robiłeś od podstaw wszystko czy od kogoś kupiłeś?
Odpowiedz

Drewno. - zdjęcie Drewno. 25.12.2010

znaczy sie robiłem dla pewnej sieci serwerów,tak,od podstaw

Dodano 25 grudzień 2010 - 20:08:
Odświeżam:)

Dodano 25 grudzień 2010 - 21:33:
Odświezam
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 25.12.2010

public add_radament_bonus(id)
{
if (player_class[id] == Radament)
{
fm_give_item(id, "weapon_flashbang")
fm_give_item(id, "weapon_hegrenade")
fm_give_item(id, "weapon_smokegrenade")
set_user_armor(id,100)
}
}

Chyba powinno być tak.
Odpowiedz

  • +
  • -
Muzzi - zdjęcie Muzzi 25.12.2010

Postaw ifa czy żyje, i czy jest połączony i powiedz czy działa.
Odpowiedz

Drewno. - zdjęcie Drewno. 26.12.2010

nadal jest zawiecha,ale pierwszym zabiciu,przy nastepnych jedno zabicie wyświetla mi się z 4 raazy,ale he,granaty dostaje normalnie i zawieszenia nie ma

Najlepiej dam wam moje .sma żebyście naprawili;)

Dodano 27 grudzień 2010 - 20:23:
Odświeżam:)

Załączone pliki


Użytkownik Master'eX edytował ten post 28.12.2010 13:33
Odpowiedz

  • +
  • -
Dimni - zdjęcie Dimni 28.12.2010

Myk jest w tym, że próbujesz dać granat który już gracz ma a to zawsze skończy się overflowem.
Spróbuj tak:


public add_radament_bonus(id)
{
if (player_class[id] == Radament)
{
if (cs_get_user_bpammo(id, CSW_HEGRENADE) < 1) fm_give_item(id, "weapon_hegrenade")
if (cs_get_user_bpammo(id, CSW_FLASHBANG) < 2) fm_give_item(id, "weapon_flashbang")
if (cs_get_user_bpammo(id, CSW_SMOKEGRENADE) < 1) fm_give_item(id, "weapon_smokegrenade")
set_user_armor(id,100)
}
}

Użytkownik Dimni edytował ten post 28.12.2010 11:58
Odpowiedz

Drewno. - zdjęcie Drewno. 28.12.2010

nie ma już zawieszenia,ale wielokrotne zabicia jednoczesnie są,na szczęście nie ze 20x razy,tylko 4 razy zabija jednocześnie,a ja nie chce,żeby tak spamowało,co naprawić?? bo to jest najprawdobodobniej robota public DeathMsg

Dodano 28 grudzień 2010 - 19:32:
Odświeżam:)
Użytkownik Master'eX edytował ten post 28.12.2010 19:32
Odpowiedz
Zablokowany