Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Bullet damage - sam sobie


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

#1 Nenczoks

    Banned

  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 07.06.2012 00:30

Witam,

Jak zrobić tutaj:


// Comment out this define to show only damage done, otherwise this will show damage recieved also.
#define DAMAGE_RECIEVED

#include <amxmodx>

new g_MsgSync

#if defined DAMAGE_RECIEVED
new g_MsgSync2
#endif

public plugin_init()
{
register_plugin("Damage Done", "0.4", "Manip")

register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")

g_MsgSync = CreateHudSyncObj()

#if defined DAMAGE_RECIEVED
g_MsgSync2 = CreateHudSyncObj()
#endif
}

public on_damage(id)
{
new attacker = get_user_attacker(id)

#if defined DAMAGE_RECIEVED
// id should be connected if this message is sent, but lets check anyway
if ( is_user_connected(id) && is_user_connected(attacker) )
{
new damage = read_data(2)

set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
if ( is_user_connected(attacker) )
{
new damage = read_data(2)
#endif
set_hudmessage(0, 255, 0, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
}
}














że jeżeli ja sobie sam zadam obrażenia, np. granatem to pojawi się ile zadałem sobie obrażeń w innym kolorze? Próbowałem if(attacker == id) i nie dziala. Tak samo is...conn....(id) == is....conn...(attacker) też nie.

#2 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 07.06.2012 01:03

Założę się, że zmieniałeś to w tutaj:
#else 
if ( is_user_connected(attacker) )
{
new damage = read_data(2)
#endif


BTW. if(attacker == id) w zupełności wystarczy, tylko musi być w kodzie osiągalnym przez preprocesor.
Usuń sobie dyrektywy preprocesora, to się nie pogubisz.

Teraz kod, który zapewne sam byś napisał po usunięciu warunków preprocesora:

// Comment out this define to show only damage done, otherwise this will show damage recieved also. 

#include <amxmodx>

new g_MsgSync
new g_MsgSync2

public plugin_init()
{
register_plugin("Damage Done", "0.4", "Manip")
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")

g_MsgSync = CreateHudSyncObj()
g_MsgSync2 = CreateHudSyncObj()
}

public on_damage(id)
{
new attacker = get_user_attacker(id)

// id should be connected if this message is sent, but lets check anyway
if ( is_user_connected(id) && is_user_connected(attacker) )
{
new damage = read_data(2)

if(attacker==id){
set_hudmessage(255, 165, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync, "%i^n", damage)
} else {
set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
set_hudmessage(0, 255, 0, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
}
}
}


#3 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 13.06.2012 13:12

Chciałbym zauważyć, że obrażenia zadane przez nieistniejącego gracza (czyli przez jakiś ent albo ogólnie grę) też mogą być obrażeniami zadanymi samemu sobie. Proponuję coś takiego:
// Comment out this define to show only damage done, otherwise this will show damage recieved also.

#include <amxmodx>

new g_MsgSync
new g_MsgSync2

public plugin_init()
{
register_plugin("Damage Done", "0.4", "Manip")
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")

g_MsgSync = CreateHudSyncObj()
g_MsgSync2 = CreateHudSyncObj()
}

public on_damage(id)
{
new attacker = get_user_attacker(id)

// id should be connected if this message is sent, but lets check anyway
if ( is_user_connected(id) )
{
new damage = read_data(2)

if(attacker==id || attacker>32 || attacker<=0){
set_hudmessage(255, 165, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
} else if( is_user_connected(attacker)) {
set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
set_hudmessage(0, 255, 0, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
}
}
}

Użytkownik GwynBleidD edytował ten post 13.06.2012 13:14

  • +
  • -
  • 1
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#4 Nenczoks

    Banned

  • Autor tematu
  • Zbanowany

Reputacja: 50
Pomocny

  • Postów:358
  • Lokalizacja:Warszawa
Offline

Napisano 13.06.2012 14:37

Co na to inni? Przetestuję tę wersję.




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

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