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

engclient_cmd() jak zrobic ustawienie losowej broni?


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

#1 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 22.08.2013 10:34

Witam.

Mam takie pytanie. Jak zrobic aby do engclient dodawalo randomowa bron z tej listy

 

weapon_knfie + weapon_shield

weapon_deagle

wpn_awp

it

    engclient_cmd(id, "%s")

tak?

    engclient_cmd(id, "%s", random_num[weapons(0,10)])

pomocy

 

 


  • +
  • -
  • 0

#2 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 22.08.2013 10:39

Prędzej tak

engclient_cmd(id, "%s", weapons[random(11)]);
1. Lepiej użyć random, jest wydajniejsze.
2. Dodaj tablicę weapons do stałych globalnych :)

 


Użytkownik d0naciak edytował ten post 22.08.2013 11:37

  • +
  • -
  • 1

#3 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 23.08.2013 07:49

dobra ale np chce cos takiego bo po przemysleniu nie bedzie tak.

 

Takie cos (psudo kod)

 

Tablica[]{

xx

xx

xx

xx}

 

Wylosowana bron = (random z tablicy)

Daj bron (Wyslosowana bron)

engclient_cmd(id, "%s", Wylosowana bron);

Wyrzuc bron (Wylosowana bron)

 

Jak to zrobic? bo juz mi sie troszeczke rozjasnilo


  • +
  • -
  • 0

#4 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 23.08.2013 17:56

Prędzej tak
 

engclient_cmd(id, "%s", weapons[random(11)]);
1. Lepiej użyć random, jest wydajniejsze.
2. Dodaj tablicę weapons do stałych globalnych :)

Z tego co wiem, to "engclient_cmd" nie przyjmuje parametrów do formatowania na 3 pozycji, to nie jest to samo co "client_cmd". A tak po za tym -> http://amxx.pl/topic...la-gracza-ammo/
  • +
  • -
  • 1

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


#5 ^KoZa

    Zaawansowany

  • Użytkownik

Reputacja: 48
Pomocny

  • Postów:130
  • Lokalizacja:Polska
Offline

Napisano 23.08.2013 18:42

new Tablica[][]={"xx", "yy", "zz"}

 

new wylosowana[64]

format(wylosowana, 63, "%s", Tablica[random(2)])

engclient_cmd(id, wylosowana)


  • +
  • -
  • 1

#6 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 23.08.2013 21:39

tak, tylko spokojnie możesz zmniejszyć wielkość tablicy wylosowana do 32 slotów


  • +
  • -
  • 1

#7 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.08.2013 12:33

Dobra podajcie mi tylko ten przykład i bd dobrze.

ma byc 5 broni do losowania

 

new TablicaBronie[4][ ] {weapon_awp,yy,zz,cc,vv} //po co jest ten drugi pogrubiony nawias
                                                                              //yy, zz, cc, vv to nazwy broni (weapon_nazwa)
 
new wybrana[64] // czemu 64 a nie np 4? (tyle ile broni)
 
format(wybrana, 63, "%s", TablicaBronie[random(4)])
 
give_item(id, wybrana)                    //daje graczowi bron tylko jak zrobic zeby dostal tez full ammo do niej
 
engclient_cmd(id, wylosowana)       // ustawia na wylosowana bron
 
client_cmd(id, "drop")                     //wyrzuca

 


  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 24.08.2013 12:46

new TablicaBronie[4][20] = {"yy", "zz", "cc", "yy"} //ten nawias to klamra, ta klamra zamyka tablicę, zapomniałeś jeszcze dodać znak '='
                                                                           //To nie jest stała, więc musisz podać maksymalną długość nazw broni (ile maksymalnie cyferek moze
                                                                           //posiadać np. 20 (to sie dodaje w drugim nawiasie kwadratowym po nazwaniu zmiennej
                                                                           //Bronie (jako ciągi znaków) muszą być w średnikach
 
new wybrana[20] //mówiłem żebyś zmniejszył wielkość tej tablicy, nie ma potrzeby aby przechowywała tak dużo znaków
                           //nie ma 4 bo tylko jedną broń się losuje
 
format(wybrana, 19, "%s", TablicaBronie[random(4)]) //Tu jest okej
 
give_item(id, wybrana)                    //aby dodać full ammo proponuje wykorzystać tablice maxAmmo wykorzystywaną jeszcze w starym Codzie
                                                       //pobierz ID broni używając ciągu znaków z tablica wybrana, przy użyciu funkcji get_weaponid
engclient_cmd(id, wylosowana)       // ustawia na wylosowana bron
client_cmd(id, "drop")                     //wyrzuca

 

Tylko nie wiem jaki ma sens dać broń i tak szybko wyrzucić że graczowi zdąży się tylko pokazać sprite na górze


  • +
  • -
  • 1

#9 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.08.2013 13:00

new TablicaBronie[4][20] = {"yy", "zz", "cc", "yy"} //ten nawias to klamra, ta klamra zamyka tablicę, zapomniałeś jeszcze dodać znak '='
                                                                           //To nie jest stała, więc musisz podać maksymalną długość nazw broni (ile maksymalnie cyferek (literek chyba) moze
                                                                           //posiadać np. 20 (to sie dodaje w drugim nawiasie kwadratowym po nazwaniu zmiennej
                                                                           //Bronie (jako ciągi znaków) muszą być w średnikach (jakich srednikach)
 
new wybrana[20] //mówiłem żebyś zmniejszył wielkość tej tablicy, nie ma potrzeby aby przechowywała tak dużo znaków
                           //nie ma 4 bo tylko jedną broń się losuje
 
format(wybrana, 19, "%s", TablicaBronie[random(4)]) //Tu jest okej
 
give_item(id, wybrana)                    //aby dodać full ammo proponuje wykorzystać tablice maxAmmo wykorzystywaną jeszcze w starym Codzie
                                                       //pobierz ID broni używając ciągu znaków z tablica wybrana, przy użyciu funkcji get_weaponid
engclient_cmd(id, wylosowana)       // ustawia na wylosowana bron
client_cmd(id, "drop")                     //wyrzuca

Tylko nie wiem jaki ma sens dać broń i tak szybko wyrzucić że graczowi zdąży się tylko pokazać sprite na górze

 

 

 

popatrz na pogrubione fragmenty.

 

 

1. Jaka jest max długosc nazwy broni?

2. To wyrzucanie bedzie pozniej w kodzie także sie nie martw na zapas ;)


  • +
  • -
  • 0

#10 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.08.2013 13:32

Sory za 2 posty ale nie moge edytowac a w kodzie .sma nie mozna dawac pogrubienia (moj blad)

 

Edited @up

 

popatrz na fragmenty:

Bronie (jako ciągi znaków) muszą być w średnikach (jakich srednikach)

ile maksymalnie cyferek (literek chyba)

give_item(id, wybrana)                    //aby dodać full ammo proponuje wykorzystać tablice maxAmmo wykorzystywaną jeszcze w starym Codzie
                                                       //pobierz ID broni używając ciągu znaków z tablica wybrana, przy użyciu funkcji get_weaponid

1. Jaka jest max długosc nazwy broni?

2. To wyrzucanie bedzie pozniej w kodzie także sie nie martw na zapas ;)


  • +
  • -
  • 0

#11 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 24.08.2013 13:44

Nie musisz wyliczać xD jak dasz 2-3 więcej, to się nic nie stanie.

Ale jak chcesz wiedzieć, to najdłuższą nazwę ma weapon_fiveseven, a ma 16 znaków, tylko nie wiem czy nie będziesz musiał dać 17, gdyż (nie jestem pewien), jedno miejsce rezerwuje się na koniec ciągu ;)


  • +
  • -
  • 0

#12 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 24.08.2013 13:57

dobra a co z give item?


  • +
  • -
  • 0

#13 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 24.08.2013 20:50

A co ma być? Na drugi parametr podajesz nazwe broni z tablicy (indeks pierwszego wymiaru sobie losuj) i jazda, czego chcieć więcej?
  • +
  • -
  • 0

DarkGL to mój autorytet.

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


#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 24.08.2013 22:11

Ale jak chcesz wiedzieć, to najdłuższą nazwę ma weapon_fiveseven, a ma 16 znaków, tylko nie wiem czy nie będziesz musiał dać 17, gdyż (nie jestem pewien), jedno miejsce rezerwuje się na koniec ciągu ;)

A "weapon_smokegrenade"?

Zresztą nie trzeba podawać maksymalnej ilości znaków przy tworzeniu tablicy, można tam nic nie stawiać i to się samo wyliczy.
  • +
  • -
  • 1

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


#15 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.08.2013 11:27

"weapon_smogegranade" nie ma u mnie jak by co

 

no z give item jak zrobic?

give_item (id, wylosowana, xx , yy) //co tu dac przeciez bronie maja rozne ammo

Tu jest takie cos z cod moda (OLD)

      new weapons[32];
    new weaponsnum;
    get_user_weapons(id, weapons, weaponsnum);
    for(new i=0; i<weaponsnum; i++)
        if(is_user_alive(id))
            if(maxAmmo[weapons[i]] > 0)
                cs_set_user_bpammo(id, weapons[i], maxAmmo[weapons[i]]);

  • +
  • -
  • 0

#16 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 25.08.2013 12:19

give_weapon(id, tablica_broni[random(5)]) ?
  • +
  • -
  • 0

DarkGL to mój autorytet.

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


#17 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 25.08.2013 12:21

@up

Ale to mam tylko trzeba dodać full ammo do tej broni

 

 

 

Dobra zrobiłem coś takiego. Tadamm... (nie bić za błędy)

new g_ZestawyBroni[][] = {"weapon_p228", "weapon_scout", "weapon_xm1014", "weapon_mac10", "weapon_aug",
                                          "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_shield",
                                          "weapon_galil", "weapon_famas", "weapon_usp", "weapon_glock18", "weapon_awp",
                                          "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1", "weapon_tmp",
                                          "weapon_g3sg1", "weapon_deagle", "weapon_sg552","weapon_ak47", "weapon_knife", "weapon_p90"};
                                          
new g_ZestawyBroniZTarcza[][] = {"weapon_p228", "weapon_fiveseven", "weapon_usp", "weapon_glock18", "weapon_deagle", "weapon_knife"};
    
new const maxAmmo[31]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100};
    new Wylosowana[20]
    format(Wylosowana, 19, "%s", g_ZestawyBroni[random(25)])
    if (Wylosowana = "weapon_shield")
    {
        new WylosowanaDoTarczy[20];
        format(WylosowanaDoTarczy, 20, "%s", g_ZestawyBroniDoTarczy[random(6)]);
        
        give_item(g_challenger, "weapon_shield");
        give_item(g_challenger, WylosowanaDoTarczy);//dodac full ammo
        give_item(g_challenged, "weapon_shield");
        give_item(g_challenged, WylosowanaDoTarczy); //dodac full ammo
        
        engclient_cmd(g_challenger, WylosowanaDoTarczy)
        engclient_cmd(g_challenged, WylosowanaDoTarczy)
    }
    else
    {
        give_item(g_challenger, Wylosowana) //dodac full ammo
        give_item(g_challenged, Wylosowana) //dodac full ammo
        engclient_cmd(g_challenger, Wylosowana)
        engclient_cmd(g_challenged, Wylosowana)
    }

co tu moze byc zle albo nie tak?


Użytkownik Lolunio edytował ten post 25.08.2013 12:24

  • +
  • -
  • 0

#18 Rivit

    Godlike

  • Autor tematu
  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 380
Offline

Napisano 26.08.2013 12:46

pokombinuje jeszcze . Jak by co to będę pisał.

 

 

ZAMKNAC


  • +
  • -
  • 0

#19 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

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

Napisano 26.08.2013 13:36

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


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

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





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

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