Page 2 of 2
Re: masyvas
Posted: 2014 Feb 01 14:59
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?
Re: masyvas
Posted: 2014 Feb 01 15:27
by hleV
Re: masyvas
Posted: 2014 Feb 01 15:30
by Spag
hleV wrote:
Kad tu supranti, o aš nesuprantu, tai galima paaiškinti kol suprasiu, arba iš viso nepostink. Nepamastai tu...
Re: masyvas
Posted: 2014 Feb 01 15:31
by hleV
Kai sukuri masyvą, visi to masyvo elementai by default yra nustatomi į 0. 0 yra reikšmė.
Re: masyvas
Posted: 2014 Feb 01 15:36
by beast
Re: masyvas
Posted: 2014 Feb 01 17:40
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ę true
mas2[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.
Re: masyvas
Posted: 2014 Feb 03 21:35
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ę true
mas2[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.
Re: masyvas
Posted: 2014 Feb 04 19:06
by hleV
Klausimas tik tas, jog jei žinai kad nesupranti, nx ginčyjies?