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?
masyvas
Re: masyvas
Kad tu supranti, o aš nesuprantu, tai galima paaiškinti kol suprasiu, arba iš viso nepostink. Nepamastai tu...hleV wrote:
Re: masyvas
Kai sukuri masyvą, visi to masyvo elementai by default yra nustatomi į 0. 0 yra reikšmė.
Re: masyvas
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ą (
pvz:
Netestavau, bet turėtų veikti.
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}

Re: masyvas
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.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:Netestavau, bet turėtų veikti.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}
Re: masyvas
Klausimas tik tas, jog jei žinai kad nesupranti, nx ginčyjies?
Who is online
Users browsing this forum: Ahrefs [Bot] and 1 guest