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

[ROZWIĄZANE] Atakowanie swoich - blokada zabierania hp


  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 Filip1512

    Wszechmogący

  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 15:12

Cześć,
chciałem wrzucić do siebie na serwer plugin, który będzie blokował zadawanie obrażeń osobie z tej samej drużyny, ale żeby temu atakującemu zabierał po 5hp za każde uderzenie w swojego i wypisywało mu na czacie info, żeby nie atakował swoich.
Obecnie plugin jest trochę pokręcony, bo raz działa, a raz nie. Raz bierze hp tylko atakującemu, a raz i ofierze i atakującemu razem.
Czasami jak ktoś chce zabić swojego a ma końcówkę hp, to zostaje temu atakującemu 0hp i ekran się obraca i nic nie można zrobić, a postać wygląda jak by miała laga.

#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <ColorChat>

#define PLUGIN "Damage"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

#define OFFSET_TEAM 114
#define fm_get_user_team(%1) get_pdata_int(%1, OFFSET_TEAM, 5)

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHam(Ham_TakeDamage,"player", "client_damage");
}

public client_damage(id, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(id) || !is_user_connected(idattacker))
return HAM_IGNORED;

if(fm_get_user_team(id) == fm_get_user_team(idattacker))
{
static Float:health, Float:newhealth;
pev(idattacker, pev_health, health);

newhealth = health - 5;

(newhealth < 0.0) ? ExecuteHam(Ham_Killed, idattacker, idattacker, 0) : set_pev(idattacker, pev_health, newhealth);

new tkiller[33];
get_user_name(idattacker, tkiller, 32)

ColorChat(idattacker, RED, "^%d, nie strzelaj do swoich!")

return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#2 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 08.12.2012 15:27

Sprawdzaj czy id nie jest równe idattacker ;)
  • +
  • -
  • 1

If you can dream it, you can do it.


#3 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 15:28

Gdybym wiedział jak :P To co mogłem to zrobiłem / zaedytowałem :P

Użytkownik `NN edytował ten post 08.12.2012 15:29

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#4 AztekHQS

    Banned

  • Zbanowany

Reputacja: 98
Zaawansowany

  • Postów:279
  • Lokalizacja:Polska
Offline

Napisano 08.12.2012 15:31

Nie lepiej tak:
#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "AztekHQS"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

RegisterHam(Ham_TakeDamage, "player", "player_damage")
}

public player_damage(this, idinflictor, idattacker, Float:damage, damagebits) {
if(!is_user_connected(this) || !is_user_connected(idattacker)) return 1

new zycie = get_user_health(idattacker)
if(get_user_team(this) == get_user_team(idattacker)) {
if(zycie < 5) {
user_silentkill(idattacker)
client_print(idattacker, 3, "Atakujesz swojego, giniesz!")
return 4
} else {
set_user_health(idattacker, zycie - 5)
new nick[32]; get_user_name(idattacker, nick, 31)
client_print(idattacker, 3, "%s, nie atakuj swoich. Odejmuje Ci teraz 5 HP!", nick)
return 4
}
}
return 1
}

Najlepszy serwer JailBreak!
IP: 31.186.83.208:27043
Dołączona grafika

#5 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 08.12.2012 16:11

pod tym:


 if(!is_user_connected(id) || !is_user_connected(idattacker))
                return HAM_IGNORED;
        


daj
if(id == idattacker)
return HAM_IGNORED;

  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#6 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 17:08

Aztek sprawdzę jak będę miał serwer.

HubertTM - to wyeliminuje wszystkie bugi, które wypisałem?


#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <fakemeta>
#include <ColorChat>

#define PLUGIN "Damage"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

#define OFFSET_TEAM 114
#define fm_get_user_team(%1) get_pdata_int(%1, OFFSET_TEAM, 5)

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
RegisterHam(Ham_TakeDamage,"player", "client_damage");
}

public client_damage(id, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(id) || !is_user_connected(idattacker))
return HAM_IGNORED;

if(id == idattacker)
return HAM_IGNORED;

if(fm_get_user_team(id) == fm_get_user_team(idattacker))
{
static Float:health, Float:newhealth;
pev(idattacker, pev_health, health);

newhealth = health - 5;

(newhealth < 0.0) ? ExecuteHam(Ham_Killed, idattacker, idattacker, 0) : set_pev(idattacker, pev_health, newhealth);

new tkiller[33];
get_user_name(idattacker, tkiller, 32)

ColorChat(idattacker, RED, "^%d, nie strzelaj do swoich!")

return HAM_SUPERCEDE;
}
return HAM_IGNORED;
}

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#7 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 08.12.2012 17:23

(newhealth < 0.0) ? ExecuteHam(Ham_Killed, idattacker, idattacker, 0) : set_pev(idattacker, pev_health, newhealth);
->
(newhealth <= 0.0) ? ExecuteHam(Ham_Killed, idattacker, idattacker, 0) : set_pev(idattacker, pev_health, newhealth);

  • +
  • -
  • 2

If you can dream it, you can do it.


#8 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 137
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 08.12.2012 22:37

Aztek, działa, + :) Do zamknięcia
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#9 Gość_21977_*

  • Gość

Reputacja: 0

Offline

Napisano 09.12.2012 03:34

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL




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

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