Page 1 of 1
read_argv
Posted: 2011 Oct 01 13:12
by shz
Sveiki visi. Turbūt pastebėjote, kad esu naujokas, tad nepykite, kas tingite paaiškinti, o tiesiog ignoruokite.

Mano prašymas yra toks: gal kas galite išsamiau paaiškinti, kaip veikia read_argv funkcija ir kokie argumentai jai yra perduodami, nes beskaitydamas šį vedlį (
http://wiki.amxmodx.org/Intro_to_AMX_Mod_X_Scripting) pastebėjau tą funkciją, o jos aprašymas čia (
http://www.amxmodx.org/funcwiki.php?go=func&id=175) yra neišsamus, todėl gan sunku suprasti. Tad gal kas paaiškins, ką reiškia visi trys argumentai?:)
Re: read_argv
Posted: 2011 Oct 01 17:01
by beast
id - argumento eilės numeris ( norėdamas gauti išsiųstą komandą, rašyk 0 )
output[] - masyvas, kuriame bus saugomas argumentas ( pvz.: new arg[32] )
len - masyvo dydis ( charsmax(arg) )
read_argv ( 1, arg, charsmax(arg) )
Jei išsiųsi komandą: help me
į masyvą arg bus išsaugojamas me
Re: read_argv
Posted: 2011 Oct 01 19:26
by shz
Daugmaž suprantu pačių argumentu reikšmes, bet man vis tiek neaišku kai kas. Kodėl apskritai tas id reikalingas? Ir tarkim šiame pavyzdyje (
http://wiki.amxmodx.org/Intro_to_AMX_Mod_X_Scripting) tai man viena vieta neaiški. Kodėl šioje vietoje rašomas masyvo dydis yra 3?
Juk jei administratorius parašys amx_hp @all 100 tai jau
Arg2 masyvas turės keturis simbolius, ar ne? Ar tuo 3-uoju argumentu nurodome iki kurio skaičiaus masyvas bus naudojamas (turiu omeny įskaičiuojama 0 masyvo vieta, tačiau neskaičiuojama 4) ?
P.S. ačiū už pastangas padedant.

Re: read_argv
Posted: 2011 Oct 01 19:32
by aurimasko
nes new Arg2[4] . jeigu bus daugiau negu 3 įrašyta, tai bus error.. bet aš visada darau daugiau masyvo dydžio, nu new kintamasis[10]
Re: read_argv
Posted: 2011 Oct 01 19:35
by shz
Dėkui, dabar jau supratau, tačiau vis dar neaišku, kam reikalingas id ir kur jį vėliau panaudojame?
EDIT: Ar teisingai supratau, kad id nurodo kelintą žodį iš parašytos komandos su nurodymais gausime? Pvz. jei amx_hp shz 100 tai parašę vietoj id 1 į masyvą bus perduotas shz, o parašius 2 100?

Re: read_argv
Posted: 2011 Oct 01 20:33
by aurimasko
lyg ir taip (nelabai stringuose gaudaus dar ;d)
Re: read_argv
Posted: 2011 Oct 03 01:26
by aaarnas
Na taip. Tad id yra kurio argumento tau reikia. 0 - gražina visą eilutę.
Jei yra komanda amx_heal player 100, tai šio atveju:
0: amx_heal player 10
1: player
2: 100
Tarpas yra argumentų atskyrimas. Jei reikia kažką sukišti į tą patį argumentą su tarpu, tada naudoji kabutes. amx_heal "Zaidejo nikas" 10.
Tik atmink, kad tai veikia tik konsolėje. Neveiks jei registruosi chate say, nes rašant į chatą, atitinka konsolės komandą : say "mano zinute".
Tad 0 gražintų visą komandą, o 1 - "mano zinute. 2 šiuo atveju nežinau ką gražintų. Tikriausiai nieko arba "mano zinute".