masyvas

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Spag
Gana aktyvus vartotojas
Posts: 269
Joined: 2012 Dec 31 15:39

Re: masyvas

Post by Spag »

Kad masyvas [10], tai nereiškia kad tiek yra išsaugotų reikšmių, tai yra max dydis kiek jų gali būti.

Man reikėjo viso šito tikrinimo, nes man reikia patikrinti kiek masyve yra išsaugota reikšmių. Nori pasakyt, kad tas beast kodas to neatliks?

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: masyvas

Post by hleV »

Image
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Spag
Gana aktyvus vartotojas
Posts: 269
Joined: 2012 Dec 31 15:39

Re: masyvas

Post by Spag »

hleV wrote:Image
Kad tu supranti, o aš nesuprantu, tai galima paaiškinti kol suprasiu, arba iš viso nepostink. Nepamastai tu...

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: masyvas

Post by hleV »

Kai sukuri masyvą, visi to masyvo elementai by default yra nustatomi į 0. 0 yra reikšmė.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

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

Re: masyvas

Post by beast »

Image

User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: masyvas

Post by MPD »

Beast metodas tinka, kai 0 nesiskaito kaip reikšmė. Jei tinka, naudok. Kadangi matau, jog masyvo vieta, kurioje saugai reikšmes priklauso nuo žaidėjo id, tai gali susikurti naują bool tipo masyvą (arba http://amxmodx.lt/viewtopic.php?f=15&t=1766) ir kai priskiia pirmą reikšmę į tam tikrą masyvo poziciją (mas[5]=2) bool tipo masyve toje pozicijoje priskiri reikšmę truemas2[5]=true. Kai reikės sužinoti kiek reikšmių yra masyve paprasčiausiai suskaičiuoji, kiek true reikšmių yra antrame masyve naudojant beast metodą.
pvz:

Code: Select all

#include <amxmodx>#include <amxmisc> #define PLUGIN "Old Plug-Out"#define VERSION "1.1.1"#define AUTHOR "vacys" new Masyvas[33], itemCount;new bool: KitasMasyvas[33]; public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)        register_clcmd("say bandau", "Bandymas");    register_clcmd("say atimsiu", "Atimsiu");} public Bandymas(id){    Masyvas[id]++;    if (!KitasMasyvas[id])        KitasMasyvas[id]=true;    itemCount = GetItemCount(KitasMasyvas, sizeof(KitasMasyvas));    client_print(id, print_chat, "Reiksmiu skaicius - %d, Masyvo dydis - %d", itemCount, sizeof(KitasMasyvas));} public Atimsiu(id){    Masyvas[id]--;    if (!KitasMasyvas[id])        KitasMasyvas[id]=true;    itemCount = GetItemCount(KitasMasyvas, sizeof(KitasMasyvas));    client_print(id, print_chat, "Reiksmiu skaicius - %d, Masyvo dydis - %d", itemCount, sizeof(KitasMasyvas));} GetItemCount(array[], size){    new count     for(new i = 0; i < size; i++)    {        if(array[i])            count++    }       return count}
Netestavau, bet turėtų veikti.
Image

Spag
Gana aktyvus vartotojas
Posts: 269
Joined: 2012 Dec 31 15:39

Re: masyvas

Post by Spag »

MPD wrote:Beast metodas tinka, kai 0 nesiskaito kaip reikšmė. Jei tinka, naudok. Kadangi matau, jog masyvo vieta, kurioje saugai reikšmes priklauso nuo žaidėjo id, tai gali susikurti naują bool tipo masyvą (arba http://amxmodx.lt/viewtopic.php?f=15&t=1766) ir kai priskiia pirmą reikšmę į tam tikrą masyvo poziciją (mas[5]=2) bool tipo masyve toje pozicijoje priskiri reikšmę truemas2[5]=true. Kai reikės sužinoti kiek reikšmių yra masyve paprasčiausiai suskaičiuoji, kiek true reikšmių yra antrame masyve naudojant beast metodą.
pvz:

Code: Select all

#include <amxmodx>#include <amxmisc> #define PLUGIN "Old Plug-Out"#define VERSION "1.1.1"#define AUTHOR "vacys" new Masyvas[33], itemCount;new bool: KitasMasyvas[33]; public plugin_init() {    register_plugin(PLUGIN, VERSION, AUTHOR)        register_clcmd("say bandau", "Bandymas");    register_clcmd("say atimsiu", "Atimsiu");} public Bandymas(id){    Masyvas[id]++;    if (!KitasMasyvas[id])        KitasMasyvas[id]=true;    itemCount = GetItemCount(KitasMasyvas, sizeof(KitasMasyvas));    client_print(id, print_chat, "Reiksmiu skaicius - %d, Masyvo dydis - %d", itemCount, sizeof(KitasMasyvas));} public Atimsiu(id){    Masyvas[id]--;    if (!KitasMasyvas[id])        KitasMasyvas[id]=true;    itemCount = GetItemCount(KitasMasyvas, sizeof(KitasMasyvas));    client_print(id, print_chat, "Reiksmiu skaicius - %d, Masyvo dydis - %d", itemCount, sizeof(KitasMasyvas));} GetItemCount(array[], size){    new count     for(new i = 0; i < size; i++)    {        if(array[i])            count++    }       return count}
Netestavau, bet turėtų veikti.
Dėkui MPD, +karma. Labai padėjai. Išmokau kažko naujo bent iš kažko.. Nes nesuprantančiam žmogui kažkokį dalyką išaiškinti ištikrųjų yra sudėtinga ir nevisi turi nervų ir kantrybės + nevisi sugeba išaiškinti.

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: masyvas

Post by hleV »

Klausimas tik tas, jog jei žinai kad nesupranti, nx ginčyjies?
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 1 guest