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

FF miedzy 2 osobami z całego serwera


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

#1 Ripposta

    Banned

  • Zbanowany

Reputacja: 4
Nowy

  • Postów:56
  • Lokalizacja:Polska
Offline

Napisano 02.11.2014 16:27

Mam pytanie , odnośnie jak zrobić , że np. w TT jest 10 osób i 2 z nich może ze sobą walczyć a reszta nie może nikogo bić i wogóle. :D

Jaka jest to funkcja w kodzie :P

Z góry dzięki.


Zapraszam na Najlepsze Serwery

EliteBaseBuilder+Exp | Max 100 LvL | Grupy | Nowy Silnik v7.5 | Nowe Klasy Zombie | Bronie od LvL'a | IP: 79.133.192.40:27063 |

b_350_20_000000_000000_FFFFFF_FFFFFF.png

 

EliteJailBreak | Gangi bez UM | Sklep za Fajki | Ruletka | Dużo Adminów | I wiele wiele więcej! | IP: 80.72.41.98:27032 |

b_350_20_000000_000000_FFFFFF_FFFFFF.png


#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 02.11.2014 16:40

Używasz Ham_takedamage i pobierasz ID dwóch osób, które mają ze sobą walczyć.


  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 03.11.2014 02:52

reszte blokujesz.

Precyzując:

new plr1,plr2//gracze mogący zadawać/odbierać obrażenia
public pligin_init()
{
RegisterHam(Ham_TakeDamage, "player", "TakeDamage",1);
}
public TakeDamage(victim,inflictor,attacker)
{
if(!is_user_alive(attacker))//upewniamy się czy obrażenia powoduje gracz, jeśli nie to kończymy działanie funkcji
return HAM_IGNORED

if(victim==plr1 && (attacker!=plr1 && attacker!=plr2))
return HAM_SUPERCEDE//ofiarą jest jeden z dopuszczalnych graczy, ale atakującym już nie jest ten drugi albo on sam(np suicide granatem)
if(victim==plr2 && (attacker!=plr1 && attacker!=plr2))
return HAM_SUPERCEDE//to co wyżej tylko w drugą stronę tj drugi z graczy
if(victim!=plr1 && attacker!=plr1 && victim!=plr2 && attacker!=plr2)
return HAM_SUPERCEDE//jeśli attackerem ani ofiarą nie jest żaden z dwóch wybrańców to blokada
return HAM_IGNODER
}

oczywiście w zmiennych globalnych plr1 i plr2 musisz na bieżąco przechowywać id graczy, którzy mogą ranić/być ranieni.

Jeśli nie chcesz aby to działało ciągle to zrób zmienną globalną o nazwie włącznik i sprawdzaj ją na początku funkcji.


Użytkownik grankee edytował ten post 03.11.2014 03:15

  • +
  • -
  • 1




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

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