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
CoD Nowy

Dodawanie itemu z losową wartością (Stary i Nowy)

CoD Nowy

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

#1 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 04.05.2011 19:18

*
Popularny

Z racji tego, że dużo osób ma z tym problemy, postanowiłem napisać poradnik. Wbrew pozorom nie jest to takie trudne.

CoD Stary
1. Otwieramy plik QTM_CodMod.sma.
2. Szukamy publica DajPrzedmiot.
3. W switch(przedmiot) dodajemy:
case nr. itemu:
{
informacje_przedmiotu_gracza[id][1] = random_num(20, 40); //tutaj ustalamy z jakiego zakresu ma losować wartość itemu
}

4. W opisie itemu zmieniamy wartość jaką chcemy losować na LW np.:
"Zadajesz LW obrazen wiecej"


I teraz możemy użyć tej wartości w naszym itemie np. tak:
	if(informacje_przedmiotu_gracza[idattacker][0] == numer itemu)
damage += float(informacje_przedmiotu_gracza[idattacker][1]);


CoD Nowy
1. Otwieramy .sma perku, jaki chcemy edytować.
2. Zmieniamy:
cod_register_perk(nazwa, opis)

Na:
cod_register_perk(nazwa, opis, 20, 40) //tutaj ustalamy z jakiego zakresu ma losować wartość itemu

(Pamiętaj, że argumenty "nazwa" i "opis", mogą nazywać się inaczej niż w przykładzie.)
3. W opisie perku zmieniamy wartość jaką chcemy losować na LW np.:
"Zadajesz LW obrazen wiecej"

4. Teraz dodajemy nową zmienną:
new wartosc_perku[33];

5. Zmieniamy:
public cod_perk_enabled(id)

Na:
public cod_perk_enabled(id, wartosc)

6. Wewnątrz w/w publicu dodajemy:
wartosc_perku[id] = wartosc;


Przykładowe zastosowanie tej metody:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;

if(ma_perk[idattacker])
SetHamParamFloat(4, damage+float(wartosc_perku[idattacker]))

return HAM_IGNORED;
}


Mam nadzieję, że coś zrozumieliście ;)
  • +
  • -
  • 5

#2 Kronzu

    Jestem Koks'em i tyle :D

  • Zbanowany

Reputacja: 28
Życzliwy

  • Postów:275
  • GG:
  • Imię:Eryk
  • Lokalizacja:Częstochowa
Offline

Napisano 16.09.2012 12:57

Da się to przerobić na 1/lw na zabicie 1/3 do 1/8 czyli zmieniam (Cod Stary):

To:
informacje_przedmiotu_gracza[id][1] = random_num(20, 40);

Na to:
informacje_przedmiotu_gracza[id][1] = random_num(3, 8);


i


To:
damage += float(informacje_przedmiotu_gracza[idattacker][1]);

Na to:
damage = float(health);


I to bezie działać?

Użytkownik Kronzu edytował ten post 16.09.2012 12:59






Również z jednym lub większą ilością słów kluczowych: CoD Nowy

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

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