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
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.
|
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
Napisano 22.08.2013 10:39
Prędzej tak
engclient_cmd(id, "%s", weapons[random(11)]);1. Lepiej użyć random, jest wydajniejsze.
Użytkownik d0naciak edytował ten post 22.08.2013 11:37
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
Napisano 23.08.2013 17:56
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/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
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
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)
Napisano 23.08.2013 21:39
tak, tylko spokojnie możesz zmniejszyć wielkość tablicy wylosowana do 32 slotów
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
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
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") //wyrzucaTylko 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
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
Napisano 24.08.2013 13:44
Nie musisz wyliczać 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
Napisano 24.08.2013 13:57
dobra a co z give item?
Napisano 24.08.2013 20:50
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
Napisano 24.08.2013 22:11
A "weapon_smokegrenade"?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
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
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]]);
Napisano 25.08.2013 12:19
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
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
Napisano 26.08.2013 12:46
pokombinuje jeszcze . Jak by co to będę pisał.
ZAMKNAC
Napisano 26.08.2013 13:36
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
0 użytkowników, 0 gości, 0 anonimowych