masyvas
Re: masyvas
Code: Select all
itemCount = GetItemCount(mass, sizeof mass) GetItemCount(array[], size){ new count for(new i = 0; i < size; i++) { if(array[i]) count++ } return count}
Re: masyvas
Koks masyvo dydis tiek ir reikšmių (10).
Re: masyvas
Hlev, ne taip supratai.
Yra masyvas, o jame max eina išsaugoti 10 reikšmių, bet jame išsaugota reikšmių yra tik penkios, tai kaip gauti tą išsaugotą reikšmių skaičių jame?
Su beast masyvo ilgio skaičiavimu, kai išsaugota 1 reikšmė, rodo kad išsaugota 77.
Mano kodas:
Yra masyvas, o jame max eina išsaugoti 10 reikšmių, bet jame išsaugota reikšmių yra tik penkios, tai kaip gauti tą išsaugotą reikšmių skaičių jame?
Su beast masyvo ilgio skaičiavimu, kai išsaugota 1 reikšmė, rodo kad išsaugota 77.
Mano kodas:
Code: Select all
#include <amxmodx> new masyvas[10];new itemCount = GetItemCount(masyvas, sizeof(masyvas)) public plugin_init(){ register_plugin("Masyvu testavimai", "1.0", "Spag"); register_clcmd("say /array", "funkcija"); register_clcmd("say_team /array", "funkcija"); register_clcmd("say /arraym", "funkcija2"); register_clcmd("say_team /arraym", "funkcija2");} public funkcija(id){ masyvas[id]++ client_printc(id, "Masyvo dydis: %d | Is viso yra masyvo reiksmiu: %d", sizeof(masyvas), itemCount);} public funkcija2(id){ masyvas[id]-- client_printc(id, "Masyvo dydis: %d | Is viso yra masyvo reiksmiu: %d", sizeof(masyvas), itemCount);} stock GetItemCount(array[], size){ new count; for (new i = 0; i < size; i++) { if(array[i]) count++ } return count;} stock client_printc(const id, const input[], any:...){ new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^x04"); // Green Color replace_all(msg, 190, "!n", "^x01"); // Default Color replace_all(msg, 190, "!t", "^x03"); // Team Color if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } }}
Re: masyvas
Kad naudoji nesąmoningai... kaip tau išviso susikompiliavo...
Pirma reikia sukurti masyvą ar priskirti jo elementui reikšmę, o tik po to naudoti GetItemCount...
Pirma reikia sukurti masyvą ar priskirti jo elementui reikšmę, o tik po to naudoti GetItemCount...
Re: masyvas
nesupratau... Masyvas tai sukurtas, iskvietus komanda masyvas igauna +1.. paaiškink konkrečiau arba su komentaraisbeast wrote:Kad naudoji nesąmoningai... kaip tau išviso susikompiliavo...
Pirma reikia sukurti masyvą ar priskirti jo elementui reikšmę, o tik po to naudoti GetItemCount...
Re: masyvas
Code: Select all
#include <amxmodx> new masyvas[10];new itemCount public plugin_init(){ register_plugin("Masyvu testavimai", "1.0", "Spag"); register_clcmd("say /array", "funkcija"); register_clcmd("say_team /array", "funkcija"); register_clcmd("say /arraym", "funkcija2"); register_clcmd("say_team /arraym", "funkcija2");} public funkcija(id){ masyvas[id]++ itemCount = GetItemCount(masyvas, sizeof(masyvas)) client_printc(id, "Masyvo dydis: %d | Is viso yra masyvo reiksmiu: %d", sizeof(masyvas), itemCount);} public funkcija2(id){ masyvas[id]-- itemCount = GetItemCount(masyvas, sizeof(masyvas)) client_printc(id, "Masyvo dydis: %d | Is viso yra masyvo reiksmiu: %d", sizeof(masyvas), itemCount);} stock GetItemCount(array[], size){ new count; for (new i = 0; i < size; i++) { if(array[i]) count++ } return count;} stock client_printc(const id, const input[], any:...){ new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^x04"); // Green Color replace_all(msg, 190, "!n", "^x01"); // Default Color replace_all(msg, 190, "!t", "^x03"); // Team Color if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } }}
Re: masyvas
Dabar supratau kame problema, o pvz. dabar su tuo ItemCount galėsiu tikrinti kitoje funkcijoje?
Code: Select all
public lalala(id){ if (ItemCount == 2) ........}
Re: masyvas
Ką aš ne taip supratau? Masyvo dydis - 10, reiškia reikšmių - 10.Spag wrote:Hlev, ne taip supratai.
Yra masyvas, o jame max eina išsaugoti 10 reikšmių, bet jame išsaugota reikšmių yra tik penkios, tai kaip gauti tą išsaugotą reikšmių skaičių jame?
new masyvas[10];
- masyvas turi 10 reikšmių, visos jos lygios 0. Jeigu tu nustatysi masyvas[0] = 1
, tai nereiškia kad kituose masyvo elementuose nėra reikšmių.Problema ne mano supratime, o tavo išsireiškime.
Jei tu pvz. ieškai kiek reikšmių masyve yra nelygios 0, tai beast'o parašyta funkcija tai padarys.
Who is online
Users browsing this forum: No registered users and 1 guest