Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Takedamage - ile zadałem obrażeń


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 Nenczoks

    Banned

  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 04.03.2012 15:34

Witam,

Chciałbym zrobić tak, że tyle ile zadałem obrażeń to tyle mi wpisuje się punktów. Działa to, ale nie tak jak trzeba.

public bacon_takedamage_player(victim, inflictor, attacker, Float:damage, damagetype)
{
if(damagetype & DMG_GENERIC || victim == attacker || !is_user_alive(victim) || !is_user_connected(attacker))
return HAM_IGNORED

if(!g_gamestarted || (!g_zombie[victim] && !g_zombie[attacker]) || ((damagetype & DMG_HEGRENADE) && g_zombie[attacker]))
return HAM_SUPERCEDE

if(!g_zombie[attacker])
{
static pclass
pclass = g_player_class[victim]
new origin[3]
get_user_origin(victim, origin)

damage *= (damagetype & DMG_HEGRENADE) ? g_class_data[pclass][DATA_HEDEFENCE] : g_class_data[pclass][DATA_DEFENCE]
SetHamParamFloat(4, damage)

if(damagetype & (1<<1))
{
point[attacker]+=floatround(damage)
set_hudmessage(0, 255,0, _, _, 0, 1.0, _)
show_hudmessage(attacker, "Punktow: %i",point[attacker]);
return HAM_HANDLED;
}
}


i niestety, problem polega na tym, że otrzymuję 2x mniej punktów niż je zadałem. Przykład, zadałem 10 obrażeń, to wlicza mi zamiast 10 to 5. Sądzę, że to wszystko przez:
damage *= (damagetype & DMG_HEGRENADE) ? g_class_data[pclass][DATA_HEDEFENCE] : g_class_data[pclass][DATA_DEFENCE]
  SetHamParamFloat(4, damage)

ale jak to naprawić? Może return HAM_HANDLED ma coś z tym też wspólnego ? Pomożecie mi naprawić, aby zadane obrażenia = punty?

2. Jak usunąć, aby nie pisało na serwerze gdy najedziemy na danego gracza Friend: nick jego w lewym dolnym rogu? Po prostu aby nic nie pisało. Jakiś cvar?

Użytkownik Nenczoks edytował ten post 04.03.2012 15:37


#2 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 04.03.2012 15:58

przenieś
if(damagetype & (1<<1))
  {
   point[attacker]+=floatround(damage)
   set_hudmessage(0, 255,0, _, _, 0, 1.0, _)
   show_hudmessage(attacker, "Punktow: %i",point[attacker]);
   return HAM_HANDLED;
  }
powyżej
damage *= (damagetype & DMG_HEGRENADE) ? g_class_data[pclass][DATA_HEDEFENCE] : g_class_data[pclass][DATA_DEFENCE]

  • +
  • -
  • 1

#3 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 04.03.2012 16:06

Niestety, teraz spowodowalo to, że zadawałem obrażenia z kosmosu.
Usunąłem return HAM_HANDLED i teraz zadałem powiedźmy 600 obrażeń, to mam 1700 punktów.
HAM_OVERRIDE spowodował, że zadawałem obrażenia również z kosmosu.
HAM_IGNORED zrobił też siekę, zadawałem dużo obrażeń, ale otrzymałem mało punktów. Dodam, że to event:

RegisterHam(Ham_TakeDamage, "player", "bacon_takedamage_player")

nie

RegisterHam(Ham_TraceAttack, "player"... - bo tutaj to dopiero maniana była. Chyba, że tutaj mi pomożecie zrobić w tym.

Użytkownik Nenczoks edytował ten post 04.03.2012 16:15


#4 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 05.03.2012 17:59

F5, minęło 24 h.

#5 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 07.03.2012 21:20

F5.




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych