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

Bonusy wypadające z graczy. Losowe modele.

cod nowy

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

#1 WeBsteR

    Wszechwidzący

  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 09.09.2015 16:40

Witam.

 

Jak zrobić, losowo wypadające modele paczek, które wypadają po zginięciu gracza. W oryginalnym pluginie jest wypadanie tylko 1 podstawowego modelu, a ja chciałbym aby modele paczek były losowe (5).

 

Myślałem nad czymś takim:

new const modelitem[][] = {"models/cod_paczka.mdl",

    "models/cod_paczka1.mdl",

    "models/cod_paczka2.mdl",

    "models/cod_paczka3.mdl",

    "models/cod_paczka4.mdl"

};

Tylko co dalej dodać w kodzie?

Podstawowe .sma:

Spoiler

 

Pozdrawiam.


  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#2 Mi@po

    Życzliwy

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:39
  • GG:
  • Imię:Miłosz
  • Lokalizacja:Rynek
Offline

Napisano 09.09.2015 18:49

Moim zdaniem można spróbować zastosować instrukcji if (w miejscu kodu niżej) i stworzyć pięć zmiennych, każda odpowiadająca jednemu modelowi i użyć funkcji random_num.

    entity_set_model(entit,modelitem)

Przykład:

    new rand = random_num(1, 5);
    
	if(rand == 1)
	{
		entity_set_model(entit, one_modelitem)
	}
	
	if(rand == 2)
	{
		entity_set_model(entit, two_modelitem)
	}
	
	if(rand == 3)
	{
		entity_set_model(entit, three_modelitem)
	}
	
	if(rand == 4)
	{
		entity_set_model(entit, four_modelitem)
	}
	if(rand == 5)
	{
		entity_set_model(entit, five_modelitem)
	}

Taka propozycja :D

 


  • +
  • -
  • 0

#3 WeBsteR

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 57
Pomocny

  • Postów:297
  • Imię:dawid
  • Lokalizacja:Rzeszów
Offline

Napisano 09.09.2015 19:16

Nie wiem, czy to co podałeś wyżej w ogóle zadziała. Ale jedno wiem, że to na pewno nie będzie optymalne, do tego jak używam kilka if to pewnie trzeba dać i else. Czekam na jakąś inną propozycję.


  • +
  • -
  • 0
Zabijaka Gryps to mój autorytet!

#4 vanillah

    nie wiem

  • Użytkownik

Reputacja: 125
Zaawansowany

  • Postów:324
  • GG:
  • Lokalizacja:Polska
Offline

Napisano 09.09.2015 19:22

else mozna zastapic ifem, w tej sytuacji else jest niepotrzebne


Użytkownik Trikolos edytował ten post 09.09.2015 19:23

  • +
  • -
  • 0

Wykonam pluginy, paczki (amxx) kontakt GG: 32263742, Steam: https://steamcommuni...om/id/vankillah

Multi-Head.pl


#5 Oddaj Wiertarke

    Profesjonalista

  • Użytkownik

Reputacja: 74
Pomocny

  • Postów:164
  • Imię:Matico
  • Lokalizacja:Wieś
Offline

Napisano 09.09.2015 19:33

@Up gdy się nie da else if to każdy if sie będzie "próbował" wykonać..

 


Myślałem nad czymś takim:
new const modelitem[][] = {"models/cod_paczka.mdl",
 
    "models/cod_paczka1.mdl",
 
    "models/cod_paczka2.mdl",
 
    "models/cod_paczka3.mdl",
 
    "models/cod_paczka4.mdl"
 
};

 

Z tym dobrze myślałeś i zostaw to tak :)

 

teraz w plugin_precache zrob petle for od 0 do * ilosc modeli od 0.

 

i dodaj 

precache_model(modelitem[i]);

a podczas zmiany modelu przy tworzeniu ent'a zrob cos takiego

new rand=random_num(0,*-ilosc)
entity_set_model(entit, modelitem[rand])

  • +
  • -
  • 1

#6 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 09.09.2015 20:57

 

@Up gdy się nie da else if to każdy if sie będzie "próbował" wykonać..

 

 

 


Myślałem nad czymś takim:
new const modelitem[][] = {"models/cod_paczka.mdl",
 
    "models/cod_paczka1.mdl",
 
    "models/cod_paczka2.mdl",
 
    "models/cod_paczka3.mdl",
 
    "models/cod_paczka4.mdl"
 
};

 

Z tym dobrze myślałeś i zostaw to tak :)

 

teraz w plugin_precache zrob petle for od 0 do * ilosc modeli od 0.

 

i dodaj 

precache_model(modelitem[i]);

a podczas zmiany modelu przy tworzeniu ent'a zrob cos takiego

new rand=random_num(0,*-ilosc)
entity_set_model(entit, modelitem[rand])

 

We wszystkim tutaj sie zgodze, ale losowanie modelu sprawdzi sie tylko gdy model mialby byc niezalezny od bonusu. Jezeli bonus mialby byc przypisany do modelu to wystarczy zamienic

entity_set_model(entit, modelitem[rand])

na np

entity_set_model(entit, modelitem[bonus_gracza[id]])

i teraz jak dodajesz bonus to wystarczy uwzglednic odpowiedni numer z tablicy w zmiennej bonus_gracza.


  • +
  • -
  • 2

b35020692_qesnxqa.png






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