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. ![]()
Jaka jest to funkcja w kodzie ![]()
Z góry dzięki.
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.
|
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. ![]()
Jaka jest to funkcja w kodzie ![]()
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 |
EliteJailBreak | Gangi bez UM | Sklep za Fajki | Ruletka | Dużo Adminów | I wiele wiele więcej! | IP: 80.72.41.98:27032 |
Napisano 02.11.2014 16:40
Używasz Ham_takedamage i pobierasz ID dwóch osób, które mają ze sobą walczyć.
"Ż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.
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
0 użytkowników, 1 gości, 0 anonimowych