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

[ROZWIĄZANE] Pobranie losowej wartości z tabeli


Najlepsza odpowiedź GT Team , 03.05.2013 10:55

/* Plugin generated by AMXX-Studio */

#include 
#include 
#include 
#include 

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


new Bronie[] =
{
	CSW_AK47, CSW_AUG, CSW_AWP, CSW_DEAGLE
}
new Nazwa[][] =
{
	"Ak47", "Bulplup", "AWP", "Deagle"
}
new WeaponStruct[][] =
{
	"weapon_ak47", "weapon_aug", "weapon_awp", "weapon_deagle"
}
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /losuj", "losuj")
}
public losuj(id)
{
	new losowa = random_num(0, sizeof Bronie - 1)
	
	losowa = random_num(0, sizeof Bronie - 1)

	new bron = Bronie[losowa]
	
	give_item(id, WeaponStruct[losowa]);
	cs_set_user_bpammo(id, bron, 250)
	client_print(id, 3,"ID broni: %d | Nazwa: %s | Ammo: 250 | Losowa: %d", bron, Nazwa[losowa], losowa)
}
0 błędów. sprawdź. Przejdź do postu


  • Zamknięty Temat jest zamknięty
18 odpowiedzi w tym temacie

#1 Raen

    Wszechwiedzący

  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 02.05.2013 22:33

Witam.
Mam tabelę o nazwie guns która zawiera nazwy broni i teraz moje pytanie brzmi jak pobrać tylko jedną z broni zapisanych w tablicy.
Z góry dzięki

Tutaj ta tablica:

new const guns[] = {

"CSW_AWP",

"CSW_M4A1",

"CSW_AK47"

};


  • +
  • -
  • 0

angel-little.png


#2 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

  • Postów:868
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 02.05.2013 23:54

guns[random(3)]

 

PS

Do tej tablicy potrzebujesz dwóch wymiarów.


  • +
  • -
  • 1

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#3 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 02.05.2013 23:58

guns[random(sizeof(guns))]

No i oczywiście to co zostało wyżej napisane pod kodem.
  • +
  • -
  • 1

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 09:12

Jeżeli chcesz użyć tej tablicy do ID broni to użyj tak:
new const guns[] = {

CSW_AWP,

CSW_M4A1,

CSW_AK47

}
client_print(0, 3,"Losowa wartosc: %d", guns[random(sizeof(guns))]

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#5 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 09:49

Dziękuję każdemu z panów, po plusie ;)



A jak przypisać wartość do tabeli bron?

robię coś takiego w plugin_init() ale wywala błąd

bron = Bronie[random(sizeof(Bronie))]

Błąd:

Error: Must be assigned to an array on line 100

 

PS. Linia 100 to ta bron = Bronie


  • +
  • -
  • 0

angel-little.png


#6 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 09:58

bron = Bronie[random( sizeof Bronie )]

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#7 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 10:03

Nadal ten sam błąd, dodam że tablica bron jest zapisana

new bron;
może tu leży problem?


  • +
  • -
  • 0

angel-little.png


#8 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 10:09

przecież to nie jest tablica ;P co chcesz dokładniej zrobić, powiedz.:)

edit
/* Plugin generated by AMXX-Studio */

#include 
#include 

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


new Bronie[] =
{
	CSW_AK47, CSW_AUG, CSW_AWP, CSW_DEAGLE
}
new Nazwa[][] =
{
	"Ak47", "Bulplup", "AWP", "Deagle"
}
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /losuj", "losuj")
}
public losuj(id)
{
	new losowa = random_num(0, sizeof Bronie - 1)
	
	client_print(id, 3, "Wylosowana bron to: %s", Nazwa[losowa])
	if(get_user_weapon(id) == Bronie[losowa])
		client_print(id, 3, "Trzymasz wylosowana bron!")
	else
		client_print(id, 3, "Nie trzymasz wylosowanej broni")
}
Masz tu na przykladzie

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#9 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 10:13

Chodzi mi o wylosowanie broni i przypisanie jej do tablicy bron, jak to zrobić? :D


Użytkownik Raen edytował ten post 03.05.2013 10:14

  • +
  • -
  • 0

angel-little.png


#10 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 10:17

Wylosowanie broni. Wylosowanie ID broni, nazwy broni, czy "weapon_" ?

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#11 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 10:21

Nazwy CSW_ tak też jest zapisane w tabeli. Np. wylosowanie CSW_AWP i zapisanie jej do tabeli bron


  • +
  • -
  • 0

angel-little.png


#12 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 10:29

To jest to co podałem. wartośc "losowa" zapisuje CSW_ czyli ID broni.

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#13 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 10:32

Czyli będzie to wyglądać tak:

new losowa = random_num(0, sizeof Bronie - 1)

bron = Bronie[losowa]

tak?


  • +
  • -
  • 0

angel-little.png


#14 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 10:35

Raczej tak ;)

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#15 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 10:47

Nadal to samo -.-

Error: Must be assigned to an array on line 101

 

Wygląda to tak:

losowa = random_num(0, sizeof Bronie - 1)
    bron = Bronie[losowa]
    get_weaponname(bron, weaponname, 21);

    give_item(i, weaponname);
    cs_set_user_bpammo(i, bron, 250)

 

Podmieniając bron na Bronie[losowa] w cs_set_user_bpammo wywala błąd...

 


  • +
  • -
  • 0

angel-little.png


#16 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 10:55   Najlepsza odpowiedź

/* Plugin generated by AMXX-Studio */

#include 
#include 
#include 
#include 

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"


new Bronie[] =
{
	CSW_AK47, CSW_AUG, CSW_AWP, CSW_DEAGLE
}
new Nazwa[][] =
{
	"Ak47", "Bulplup", "AWP", "Deagle"
}
new WeaponStruct[][] =
{
	"weapon_ak47", "weapon_aug", "weapon_awp", "weapon_deagle"
}
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /losuj", "losuj")
}
public losuj(id)
{
	new losowa = random_num(0, sizeof Bronie - 1)
	
	losowa = random_num(0, sizeof Bronie - 1)

	new bron = Bronie[losowa]
	
	give_item(id, WeaponStruct[losowa]);
	cs_set_user_bpammo(id, bron, 250)
	client_print(id, 3,"ID broni: %d | Nazwa: %s | Ammo: 250 | Losowa: %d", bron, Nazwa[losowa], losowa)
}
0 błędów. sprawdź.
sebul (03.05.2013 13:37):
public losuj(id)
{
new losowa = random_num(0, sizeof Bronie - 1)

losowa = random_num(0, sizeof Bronie - 1)

new bron = Bronie[losowa]

na
public losuj(id)
{
new bron = Bronie[random(sizeof(Bronie))]

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#17 Raen

    Wszechwiedzący

  • Autor tematu
  • Power User

Reputacja: 160
Profesjonalista

  • Postów:536
  • GG:
  • Imię:Paweł
  • Lokalizacja:......
Offline

Napisano 03.05.2013 11:12

Dzięki za pomoc lecz wina leżała gdzie indziej, tabela z broniami była dwu wymiarowa przez co wywalało taki błąd -.- Dałem jednowymiarową i kompiluje się bez problemu ;) Dzięki wielkie ;)


  • +
  • -
  • 0

angel-little.png


#18 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1 435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 03.05.2013 11:18

No widzisz :) Teraz sprawdź czy działa :D

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#19 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Online

Napisano 03.05.2013 11:22

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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