Pagalbos [Logikos]

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Pagalbos [Logikos]

Post by InvIs »

Sveiki, reikėtų šiokios tokios pagalbos su kodo logiškumu, galbūt kažkokį lengvesnį variantą, nes kartais ilgokai ieško ir nepataiko niekaip :D


Tarkim yra:

Code: Select all

new zinute[33][30]
Vidury, parodžius žinutę

Code: Select all

zinute[id][rnd] = true;
Toliau, prieš parodant žinutę, tokiu būdu tikrinu ar tą žinutę jau rodė:

Code: Select all

while(zinute[id][rnd] == true)  rnd = random(29)
Kartais veikia, bet kartais gana ilgai užtrunka, kol suranda, nes jei parodytos 29 žinutės, ilgokai ieško to paskutinio.

Galbūt yra koks lengvesnis variantas tikrinti kintamuosius, kurie jau kartojos? Ačiū
ISVYKES

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

Re: Pagalbos [Logikos]

Post by hleV »

Code: Select all

rnd = GetRandomAvailableRound(id);

Code: Select all

GetRandomAvailableRound(id){    new availableRounds[sizeof(zinute[])], roundCount;        for (new i; i < sizeof(availableRounds); i++)    {        if (!zinute[id][i])            availableRounds[roundCount++] = i;    }        switch (roundCount)    {        case 0: return -1;        case 1: return availableRounds[0];    }        return availableRounds[random(roundCount)];}
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

InvIs
Gana aktyvus vartotojas
Posts: 421
Joined: 2011 Aug 13 11:12
Skype: pksoldierlt
Location: ATOSTOGOSE

Re: Pagalbos [Logikos]

Post by InvIs »

Na, sakau, neveltui HleV! AČIŪ :)
ISVYKES

Post Reply

Who is online

Users browsing this forum: Ahrefs [Bot] and 5 guests