Page 1 of 2

isPlayer

Posted: 2011 Dec 10 19:50
by KamiN
Galit lietuviškai paaiškinti, ką šitas reiškia?

Code: Select all

#define IsPlayer(%1) (1<=%1<=g_max_clients) new g_max_clients public plugin_init() {g_max_clients = get_maxplayers()}

Re: isPlayer

Posted: 2011 Dec 10 19:55
by newb
Su IsPlayer galima bus patikrint ar cia tikrai zaidejas, o ne serveris ar dar koks entity.

Re: isPlayer

Posted: 2011 Dec 10 20:03
by KamiN
Įmanoma, kad dėl šito isPlayer tikrinoma kartais kaikuriems žaidėjams neduoda ginklų? Ar pvz nepadaro jų nematomais, nu čia jau ko negauna žaidėjai priklauso nuo pasirinktos dienos.
Nes aš blem žiūriu ir niekam nesuprantu kodėl kaip būna, kad nei iš šio nei iš to, kuris nors vienas ar 2 žaidėjai negaun aginklų, kai visi kiti viską gauna..

Code: Select all

public do_specialday(id){    new name[33]; get_user_name(id, name, charsmax(name))     for(new i = 0; i < g_max_clients; i++)    {        switch(specialday[20])        {            case DAY_CTSHLD:            {                   if(IsPlayer(i) && is_user_alive(i))                {                    switch(cs_get_user_team(i))                    {                        case CS_TEAM_T:                        {                            strip_weapons(i)                             give_item(i, "weapon_deagle")                            give_item(i, "weapon_m4a1")                                                        cs_set_user_bpammo(i, CSW_DEAGLE, 9999)                            cs_set_user_bpammo(i, CSW_M4A1, 9999)                             if(!(pev(i, pev_flags) & FL_FROZEN))                            {                                client_print(i, print_center, "Jus buvote sustingdytas 6 sekundems!");                                freeze = true                                set_pev(i, pev_flags, (pev(i, pev_flags) | FL_FROZEN));                                set_task(7.0, "unfreeze", TASK_unfreeze + id)                            }                        }                                                case CS_TEAM_CT:                        {                            strip_weapons(i)                                                        give_item(i, "weapon_deagle")                            give_item(i, "weapon_shield")                                                        cs_set_user_bpammo(i, CSW_DEAGLE, 35)                                         }                    }                }                 client_print(i, print_chat, "%s pradejo CT Shield diena! Priziuretojai turi 6s pabegimui! Siuo metu zudyti negalima!", name)                 set_task(2.0, "specdaytxtprad", id, "", 0, "b", TASK_specd)                set_task(6.0, "specdaytxtprad1", id)                jail_open()            }        }    }}

Re: isPlayer

Posted: 2011 Dec 10 20:47
by newb
Man atrodo geriau naudot get_players ir nereikes jokiu IsPlayer tikrinimu.
O cia manau turetu buti

Code: Select all

for(new i = 0; i < g_max_clients; i++)
>>

Code: Select all

for(new i = 1; i <= g_max_clients; i++)

Re: isPlayer

Posted: 2011 Dec 10 20:55
by KamiN
O koks skirtumas ar 0 ar 1 gali paaiškint gal?

Re: isPlayer

Posted: 2011 Dec 10 23:35
by psychical
jei rasysi 1 prades skaiciuot nuo 2 zmogaus kadangi bus 1+1 = 2, jei rasysi 0 prades skaiciuoti nuo 0 zmogaus, nes 0+1=1

Re: isPlayer

Posted: 2011 Dec 10 23:40
by newb
psychical wrote:jei rasysi 1 prades skaiciuot nuo 2 zmogaus kadangi bus 1+1 = 2, jei rasysi 0 prades skaiciuoti nuo 0 zmogaus, nes 0+1=1
Jei parasai 1 tai ir pradeda skaicuot nuo 1... Nebent parasysi ++i, o ne i++.

Re: isPlayer

Posted: 2011 Dec 11 00:49
by hleV
newb wrote:
psychical wrote:jei rasysi 1 prades skaiciuot nuo 2 zmogaus kadangi bus 1+1 = 2, jei rasysi 0 prades skaiciuoti nuo 0 zmogaus, nes 0+1=1
Jei parasai 1 tai ir pradeda skaicuot nuo 1... Nebent parasysi ++i, o ne i++.
for cikle betkuriuo atveju pradės skaičiuot nuo 1, nesvarbu ar ++i, ar i++.

Re: isPlayer

Posted: 2011 Dec 11 02:09
by newb
Niekados nenaudojau to ++i, bet galvojau kad jis veiks taip ><

Re: isPlayer

Posted: 2011 Dec 11 11:57
by KamiN
newb wrote:Man atrodo geriau naudot get_players ir nereikes jokiu IsPlayer tikrinimu.
O cia manau turetu buti

Code: Select all

for(new i = 0; i < g_max_clients; i++)
>>

Code: Select all

for(new i = 1; i <= g_max_clients; i++)

tai su 0 ar su 1 reikia šitam cikle rašyt? :D