←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Szanse procentowe, wpływanie n DMG.

Zablokowany

GoldeN - zdjęcie GoldeN 07.01.2011

Witam Was. Mam do Was pytanie. Jeżeli chcę zrobić losowanie, to jak podam random_num(1,2) == 1 to będzie to 50%. A jak np. określić 85%, 15%, 40%, 60%? Itd.

Czy coś takiego:

public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(is_user_connected(idattacker))
{
new weapon = get_user_weapon(idattacker, _, _)
if(zmianna[idattacker] > 0 && obrywam[this] > 0)
// Reszta kodu
}
}


Będzie znaczyć: Jeżeli gracz atakujący[idattacker] atakuje innego gracza[this]? Czyli jeżeli tutaj zwiększę dmg graczowi atakującemu [idattacker], to obrażenia zwiększone zostaną wykonane na graczu obrywającym [this]?
Użytkownik GoldeNx3 edytował ten post 07.01.2011 01:04
Odpowiedz

  • +
  • -
R3X - zdjęcie R3X 07.01.2011

z definicji procenta

1 procent = 1/100


x% więc w x przypadkach na 100 masz mieć prawdę

if(random_num(1, 100) <= x){
    //udało się mimo x% szans!
}
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 07.01.2011

if(random_num(1,100)<=35) // 35 %
if(random_num(1,100)<= 50) // 50 %
if(random_num(1,100)<= 82) // 82 %

jeśli jest to pre to ustawiasz damage na swoje i tyle zostanie zadane
Odpowiedz

GoldeN - zdjęcie GoldeN 07.01.2011

if(random_num(1,100)<=35) // 35 %
if(random_num(1,100)<= 50) // 50 %
if(random_num(1,100)<= 82) // 82 %

jeśli jest to pre to ustawiasz damage na swoje i tyle zostanie zadane



Pre? Możesz jaśniej?

init:

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 08.01.2011

pre - przed obliczeniami
post - po obliczeniach
chodzi o wywołanie funkcji
jest ok
Odpowiedz

GoldeN - zdjęcie GoldeN 08.01.2011

Okej, dzięki.

A co z tym wyłapanie przeładowania? Bo chcę zwiększyć ilość naboi w clip'ie...
Odpowiedz
Zablokowany