read_argv

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
shz
Naujokas apylinkėse
Posts: 3
Joined: 2011 Sep 18 16:38
Skype: giggly24

read_argv

Post 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?:)

User avatar
beast
AMX Mod X ekspertai
Posts: 509
Joined: 2011 Jan 08 18:44
Skype: thefurious4
Contact:

Re: read_argv

Post 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
Last edited by beast on 2011 Oct 01 17:03, edited 1 time in total.

shz
Naujokas apylinkėse
Posts: 3
Joined: 2011 Sep 18 16:38
Skype: giggly24

Re: read_argv

Post 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?

Code: Select all

read_argv(2, Arg2, 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. :)
Last edited by shz on 2011 Oct 01 19:33, edited 1 time in total.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: read_argv

Post 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]
Last edited by aurimasko on 2011 Oct 01 19:32, edited 1 time in total.

shz
Naujokas apylinkėse
Posts: 3
Joined: 2011 Sep 18 16:38
Skype: giggly24

Re: read_argv

Post 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? :)
Last edited by shz on 2011 Oct 01 19:40, edited 2 times in total.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: read_argv

Post by aurimasko »

lyg ir taip (nelabai stringuose gaudaus dar ;d)

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: read_argv

Post 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".
Palikau CS pasaulį ;/ . Nebepasiekiamas.

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests