Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Negalima prašyti ar platinti betkokių žaidimą (multiplayer) palengvinančių programų ir scriptų! Kitaip bus taikoma 1.21. taisyklė

[ PAWN BATTLE ] SanCio` vs Bičas


sancio_

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3610 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Ilgesni kintamūjų pavadinimai naudoja daugiau atminties? :blink:

Dėja taip. Nu blemba patys pagalvokit - didesnis daiktas, užima daugiau vietos, visgi kompas turi kažkur kintamojo pavadinimą saugot, o saugo tokiu dydžiu koks yra kintamojo ilgis, saugoja patį kintamojo pavadinimą ir jo vertę ( value ).

Redaguota , nario KarolisK
Nuoroda į komentarą
Dalintis per kitą puslapį

Dėja taip. Nu blemba patys pagalvokit - didesnis daiktas, užima daugiau vietos, visgi kompas turi kažkur kintamojo pavadinimą saugot, o saugo tokiu dydžiu koks yra kintamojo ilgis, saugoja patį kintamojo pavadinimą ir jo vertę ( value ).

You+Wrong+Youtube+False+Copyright+Claims

 

 

Kompiuteris pavadinimų nenaudoja tokių, jie paverčiami atminties adresais. Raidinius pavadinimus naudojame tik mes, žmonės, todėl šie abu kintamieji užims tuos pačius 32 bitus.

new LabaiLabaiLabaiLabaiIlgasKintamojoPavadinimas;
new A;
  • Teigiamai 1
Nuoroda į komentarą
Dalintis per kitą puslapį

Dėja taip. Nu blemba patys pagalvokit - didesnis daiktas, užima daugiau vietos, visgi kompas turi kažkur kintamojo pavadinimą saugot, o saugo tokiu dydžiu koks yra kintamojo ilgis, saugoja patį kintamojo pavadinimą ir jo vertę ( value ).

Tai kai saugo...... Bet sukompiliavus nemanau kad reikšmės turi.

Nuoroda į komentarą
Dalintis per kitą puslapį

 

You+Wrong+Youtube+False+Copyright+Claims

 

 

Kompiuteris pavadinimų nenaudoja tokių, jie paverčiami atminties adresais. Raidinius pavadinimus naudojame tik mes, žmonės, todėl šie abu kintamieji užims tuos pačius 32 bitus.

new LabaiLabaiLabaiLabaiIlgasKintamojoPavadinimas;
new A;

Okey, tada vistiek paversdamas memory adresais užima daugiau laiko su ilgu pavadinimu negu su trumpu, tada proco daugiau naudoja ^^

Nuoroda į komentarą
Dalintis per kitą puslapį

O dabar į temą! 

 

Pradėsiu nuo Bičo kodo.

 

Tai kam tas "GUN::" define jei jo niekada nenaudoji?

 format(masyvas, sizeof(masyvas), "\
                AK-47 - %dLT (liko %d vnt.)\n\
                Desert Eagle - %dLT (liko %d vnt.)\n\
                USP - %dLT (liko %d vnt.)\n\
                UZI - %dLT (liko %d vnt.)\n\
                MP5 - %dLT (liko %d vnt.)\n",
                AK_KAINA, AKsandelyje, DGL_KAINA, DGLsandelyje, USP_KAINA, USPsandelyje, UZI_KAINA, UZIsandelyje, MP5_KAINA, MP5sandelyje);

Tikriausiai žinai kad "format" yra lėta funkcija nes ji leidžia neribotą skaičių parametrų.... SA:MP serveriai naudoja redaguotą kompiliatoriaus versiją, kurioje galima define dėti į string be jokio formatavimo, tai padarys kompiliatorius(galima ir su oficialiu kompiliatorium, tik šiek tiek kitaip)

Po šios paskaitos tavo eilutė atrodytų taip: 

	format(masyvas, sizeof(masyvas), "AK-47 - " #AK_KAINA "LT (liko %d vnt.)\n\
		Desert Eagle - " #DGL_KAINA "LT (liko %d vnt.)\n\
		USP - " #USP_KAINA "LT (liko %d vnt.)\n\
		UZI - " #UZI_KAINA "LT (liko %d vnt.)\n\
		MP5 - " #MP5_KAINA "LT (liko %d vnt.) ",
		AKsandelyje, DGLsandelyje, USPsandelyje, UZIsandelyje, MP5sandelyje);

Toliau, ginklų ID irgi turi jiems sukurtus define, prasidedančius "WEAPON_"

 

OnDialogResponse pabaigoje, net jei ir neradai lentelės, grąžini "true", kas taps "1". O tai nėra gerai, jei OnDialogResponse grąžinsi 1, jis nebus kviečiamas kituose skriptuose(FS).

 

Bendrai, būčiau tikriausiai pasivarginęs rašyti tiek kartų viską OnDialogResponse.... Būčiau arba nepagailėjęs atminties ir sukėlęs viską į masyvą arba kainą ir ginklo pavadinimą išgavęs ir pagal jį rašęs tekstą tik vieną kartą.

 

Sancio kodas

 

 

 

Su OnDialogResponse pabaiga ir ginklų define nenaudojimu, tas pats kaip ir pas Bičą.

#if defined KREDITAI
 
 
 
                                        GUN SHOP SYSTEM 1.0
                                        Created by Alexander 'SanCio' P.
                                        All right reserved (C) 2014
 
 
#endif

Tai jeigu jeigu bus pas ką nors 

#define KREDITAI 

Jie gaus klaidą.... 

 

 

Kodėl "guns" masyvas ne "const" ? Ir kodėl jam nepanaudojai enum'o arba define? Juk geriau nei rašyti komentarą!

selectedGun     [ MAX_PLAYERS ] = 0

Kaip suprantu esi pripratęs prie kalbos kur pradinė reikšmė ne visada bus nulis... Čia ne problema, BET jei rašytum ne 0, jau būtų klaida. Taip nustatysi tik pirmąjį masyvo elementą, jei nori pakeisti viso masyvo elementus, reikės rašyti taip:

selectedGun     [ MAX_PLAYERS ] = {0, ... } ;
Redaguota , nario Justas Š.
Nuoroda į komentarą
Dalintis per kitą puslapį

 

O dabar į temą! 

 

Pradėsiu nuo Bičo kodo.

 

Tai kam tas "GUN::" define jei jo niekada nenaudoji?

 format(masyvas, sizeof(masyvas), "\
                AK-47 - %dLT (liko %d vnt.)\n\
                Desert Eagle - %dLT (liko %d vnt.)\n\
                USP - %dLT (liko %d vnt.)\n\
                UZI - %dLT (liko %d vnt.)\n\
                MP5 - %dLT (liko %d vnt.)\n",
                AK_KAINA, AKsandelyje, DGL_KAINA, DGLsandelyje, USP_KAINA, USPsandelyje, UZI_KAINA, UZIsandelyje, MP5_KAINA, MP5sandelyje);

Tikriausiai žinai kad "format" yra lėta funkcija nes ji leidžia neribotą skaičių parametrų.... SA:MP serveriai naudoja redaguotą kompiliatoriaus versiją, kurioje galima define dėti į string be jokio formatavimo, tai padarys kompiliatorius(galima ir su oficialiu kompiliatorium, tik šiek tiek kitaip)

Po šios paskaitos tavo eilutė atrodytų taip: 

	format(masyvas, sizeof(masyvas), "AK-47 - " #AK_KAINA "LT (liko %d vnt.)\n\
		Desert Eagle - " #DGL_KAINA "LT (liko %d vnt.)\n\
		USP - " #USP_KAINA "LT (liko %d vnt.)\n\
		UZI - " #UZI_KAINA "LT (liko %d vnt.)\n\
		MP5 - " #MP5_KAINA "LT (liko %d vnt.) ",
		AKsandelyje, DGLsandelyje, USPsandelyje, UZIsandelyje, MP5sandelyje);

Toliau, ginklų ID irgi turi jiems sukurtus define, prasidedančius "WEAPON_"

 

OnDialogResponse pabaigoje, net jei ir neradai lentelės, grąžini "true", kas taps "1". O tai nėra gerai, jei OnDialogResponse grąžinsi 1, jis nebus kviečiamas kituose skriptuose(FS).

 

Bendrai, būčiau tikriausiai pasivarginęs rašyti tiek kartų viską OnDialogResponse.... Būčiau arba nepagailėjęs atminties ir sukėlęs viską į masyvą arba kainą ir ginklo pavadinimą išgavęs ir pagal jį rašęs tekstą tik vieną kartą.

 

Sancio kodas

 

 

 

Su OnDialogResponse pabaiga ir ginklų define nenaudojimu, tas pats kaip ir pas Bičą.

#if defined KREDITAI
 
 
 
                                        GUN SHOP SYSTEM 1.0
                                        Created by Alexander 'SanCio' P.
                                        All right reserved (C) 2014
 
 
#endif

Tai jeigu jeigu bus pas ką nors 

#define KREDITAI 

Jie gaus klaidą.... 

 

 

Kodėl "guns" masyvas ne "const" ? Ir kodėl jam nepanaudojai enum'o arba define? Juk geriau nei rašyti komentarą!

selectedGun     [ MAX_PLAYERS ] = 0

Kaip suprantu esi pripratęs prie kalbos kur pradinė reikšmė ne visada bus nulis... Čia ne problema, BET jei rašytum ne 0, jau būtų klaida. Taip nustatysi tik pirmąjį masyvo elementą, jei nori pakeisti viso masyvo elementus, reikės rašyti taip:

selectedGun     [ MAX_PLAYERS ] = {0, ... } ;

Šią sistemą kūriau ne tam, kad kažkas dėtų sau į modą :) Kas norės ir gaus errorų tai čia jų problemos. Pas mane kiekvienam gm faile taip padaryta. O jei ir definina tai tegul pakeičia pav. ir viskas. 

" Ir kodėl jam nepanaudojai enum'o arba define" šito biški nesupratau, kam čia enumas ar define? Kai galima panaudotį ARRAY, ir su viena eilutė dadėtį ginklą į pardavimą. Pagal mane čia ARRAYus tinka geriausiai. Manau čia nei klaida nei kas kita, teisiog kiekvienas gali darytį pagal savę.

Dėl constantos. Nenaudojau nes šis skriptas yra simple ir skirtas battlui ne prieš mano lygio veikėjui, kam dar jį gruzintį constantais ar staticais ( kai jis to kiek žinau nelabai ir žino, o aiškinti aš tyngiu jam). Parašiau kodą kuris +- būtų Bičo lygio, jei kovočiau ten su savo lygio programeriu/skripteriu tai tada jau viska daryčiau kaip darau savo modifikacijoje ar kitose darbeliuose. 

Už kritiką ačiū. 

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3610 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai



×
×
  • Sukurti naują...